Commandes

Lectures

Les commandes qui lisent chez vous, et les exports page par page que Kult Lab parcourt.

Les commandes de lecture

CommandeCapacitéChargeRéponse
pingtoujours{ pong, version, time }
catalog.exportcatalog.read{ cursor?, pageSize, since? }{ events, nextCursor, total? }
product.fetchcatalog.read{ productId }{ description, descriptionShort, images[] }
stock.digeststock.read{ items: [{ productId }] }{ items: [{ productId, quantity, at }] }
customer.exportcustomers.read{ cursor?, pageSize, scope }{ events, nextCursor, total? }
order.exportorders.history{ before, since?, cursor?, pageSize }{ events, nextCursor, total? }
loyalty.exportloyalty.read{ cursor?, pageSize }{ balances: [{ customerId, points, at }], nextCursor, total? }
loyalty.digestloyalty.read{ customerIds }{ balances: [{ customerId, points, at }] }
disconnecttoujours{}

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.

  • events sont des événements ordinaires, validés comme ceux que vous postez.
  • nextCursor: null termine 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. pageSize commence à 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.

  • before est 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à par order.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 de order.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.

Copyright © 2026