Commerce
The merchant's catalogue and the order lookup — the pull half of the commerce sync.
Two reads for a consumer application working on a connected merchant's behalf:
the product catalogue, and the "where is my order" lookup. Both require
commerce:read.
Products
GET /api/v1/commerce/productsThe catalogue with each product's variants nested, keyset-paginated on
(updated_at, product_id) ascending.
A webhook is a tickle, not the data
catalog.updated tells you a pull is worth making; it never carries the
catalogue. Pass the newest updated_at you have seen as updated_since and
walk forward — the ascending order is what keeps a cursor valid no matter how
many products change while you page.
Orders
GET /api/v1/commerce/ordersAt least one of order_ref, email or phone is required. A call with
none answers 400: this is a lookup on a named shopper's behalf, not a dump of
the merchant's order history.
No customer identity comes back. You already hold whichever contact you searched with, so echoing it would tell you nothing — and not returning it is what keeps the route from becoming an enumeration tool.
| Method | Path | What it does |
|---|---|---|
GET | /api/v1/commerce/orders | Look an order up |
GET | /api/v1/commerce/products | List commerce products |
Generated from openapi.json. The full request and response schema for every operation is in the OpenAPI document.