↑↓select↵openescclose

Help

Go-live checklist

The steps to test before you go live.

  1. The restaurant creates the connection and hands you the base URL and API key.
  2. GET /ping → 200 with the connection's name and the restaurant's name.
  3. PUT /webhook with your https URL → store the webhookSecret. If the restaurant has synced its menu, menu.updated arrives at once.
  4. Verify signatures, download the file from url, and check its SHA-256 against hash.
  5. The restaurant changes and syncs its menu → a new menu.updated with the same url and a new hash. A sync without a change → the same hash.
  6. Send test orders: pickup and delivery, courier store and partner, asap and scheduled, cash and online, with a discount and a quantity above 1. Each rings in the till under the connection's name.
  7. The restaurant accepts with a time, sets the order ready and completes it → order.accepted (with pickupAt), order.ready and order.completed, with rising version. A rejection → order.rejected with a reason.
  8. Cancel an order → 200; the till shows it cancelled, and GET /orders/{externalId} says cancelled.
  9. With your own courier: send picked_up, then delivered → the till shows the status, and the order can be completed.
  10. The restaurant switches an item off → menu.updated (same url, new hash, the item has available: false). An order with that item anyway → 201.
  11. The restaurant goes offline → store.status_changed; a new order → 409 STORE_OFFLINE.
  12. Error paths: wrong sums, the same order twice, a lost answer retried with the same body.
  13. Your endpoint answers 500 for a while → events stay queued and arrive after you recover.
  14. The restaurant rotates the key → the old key keeps working for 24 hours. The restaurant deletes the connection → connection.revoked, then 403 for every call.