Developer docs contents
Batches and delivery
Follow a write from accepted to on the shelf.
Writes are asynchronous. A PUT or DELETE answers 202 Accepted with a batchId once the request is validated and queued, usually in a few milliseconds.
{
"batchId": "bat_kGaeQlGocbLIl-TAu7OVgA",
"accepted": 2,
"dryRun": false,
"status": "/v1/batches/bat_kGaeQlGocbLIl-TAu7OVgA"
}Writes to the same store within a fraction of a second are merged, so only the latest price for each product is applied, then sent to the labels. Follow a batch with GET /v1/batches/{batchId}:
| State | Meaning |
|---|---|
accepted | Queued. |
written | Applied to the store’s product list. results counts what was created, updated, unchanged, stale, superseded or rejected. |
complete | Every changed product is on the label platform and every label showing one has redrawn. |
failed | The batch could not be applied at all. Rare; contact support with its id. |
A price usually reaches the shelf within a few seconds. Batches are kept for 24 hours. Test-key batches stop at written, because nothing is sent to the labels.
Polling or webhooks
Polling a batch every few seconds is fine for a handful of writes. For a busy POS, register a webhook instead and receive products.delivered as prices reach the shelf, without spending your rate limit.
Checking one product
GET /v1/stores/{store}/products?barcode=4011 returns the product as stored, its sync status and every label showing it, with labelsConfirmedAt once they have all redrawn.