Lectures
Les commandes de lecture
| Commande | Capacité | Charge | Réponse |
|---|---|---|---|
ping | toujours | { pong, version, time } | |
catalog.export | catalog.read | { cursor?, pageSize, since? } | { events, nextCursor, total? } |
product.fetch | catalog.read | { productId } | { description, descriptionShort, images[] } |
stock.digest | stock.read | { items: [{ productId }] } | { items: [{ productId, quantity, at }] } |
customer.export | customers.read | { cursor?, pageSize, scope } | { events, nextCursor, total? } |
order.export | orders.history | { before, since?, cursor?, pageSize } | { events, nextCursor, total? } |
loyalty.export | loyalty.read | { cursor?, pageSize } | { balances: [{ customerId, points, at }], nextCursor, total? } |
loyalty.digest | loyalty.read | { customerIds } | { balances: [{ customerId, points, at }] } |
disconnect | toujours | {} |
Les exports : une commande, une page
Un export est une commande qui rend une page. Votre application ne garde aucun état et ne diffuse
rien : c'est Kult Lab qui parcourt, page après page, en renvoyant le nextCursor reçu.
eventssont des événements ordinaires, validés comme ceux que vous postez.nextCursor: nulltermine le parcours. Un curseur doit rester stable : le même curseur rend la même page.total, quand vous l'envoyez, est contrôlé à la fin du parcours.- Une page a cinq secondes.
pageSizecommence à 50 ; sur un dépassement, Kult Lab divise la page par deux, jusqu'à 10, et redemande la même page.
catalog.export
since n'arrive que si vous avez déclaré facts.deltaExport: true : rendez alors seulement ce qui a
changé depuis cet instant.
customer.export
scope vaut all (tous les clients) ou with_balance (ceux qui ont un solde de points), selon le
choix du commerçant à l'import.
order.export
Les commandes arrivent de la plus récente à la plus ancienne.
beforeest une borne haute stricte (placedAt < before) à la milliseconde près : c'est la date d'activation des ventes, et ce qui la suit arrive déjà parorder.upserted.since, quand il est là, est une borne basse (placedAt >= since) : la date choisie par le commerçant. Respectez-la ; Kult Lab l'applique de son côté aussi.- Chaque commande porte ses remboursements dans
refunds[], sous la forme deorder.refunded.
stock.digest
Les quantités de plusieurs produits d'un coup, chacune avec l'instant at où elle était vraie.
Kult Lab s'en sert pour vérifier vos lectures et pour se recaler.
disconnect
Le commerçant a déconnecté votre application. Arrêtez la file d'envoi pour ce commerce ; la clé est révoquée avec la connexion.