للمطوّرين
التغييرات
ما لا تفعله /v1 عمدًا حتى الآن، والوعد المتعلق بما قد يتغيّر من تحتك.
What /v1 does not do (yet)
- No webhooks. Nothing is pushed to you. Poll
GET /v1/saleswith afromtimestamp for anything you need to follow, and pollGET /v1/stockon the interval your storefront can tolerate being wrong by. - No reservations. Stock is not held between reading it and ordering. Place the order and handle
v1_insufficient_stock, which rolls the whole order back, so there is never a half-written bill. - No order status beyond the sale lifecycle. An order you place is
paidand moves topartially_refunded,refundedorvoided. (A sale list can also containopen: a parked ticket at the counter. Nothing you create is everopen: a partner order is settled at the moment it is written.) There is no picking, packing, shipping or delivery state: that belongs to your system, and PointLit will not pretend to own it. - No loyalty, and no account credit. Those are stored-value ledgers, and settling an order against one through a partner integration is deliberately deferred. Settle with
manual_cardorcash. - No bank transfer or cheque settlement. A sale paid at the counter by bank transfer or cheque reads back with
methodbank_transferorcheque, but an order you place settles withmanual_cardorcashonly: a cheque can bounce and reopen a customer’s debt, which is not something a partner integration may start. - No published SDK. The OpenAPI document is complete enough to generate a typed client in any language, which is why we generate it from the code rather than writing it.
- No sandbox. Test against a Business you control, on a Location you are willing to move stock at.
Compatibility
Compatibility: once a /v1 response shape is published, a field may be ADDED but is never renamed, removed or changed in kind. Ignore fields you do not recognise, and never assume the set of fields is closed.
In practice: parse permissively, ignore unknown fields, and do not assert that a response has exactly the keys you saw the day you built the integration. The current contract version is 1.0.0, published in the OpenAPI document’s info.version. A change that could break you would arrive as /v2, never as a quiet edit to this one.