Skip to content

Going live

When your sandbox integration works, send your GoOrder contact the completed checklist below. We review it with you and issue a live key.

  • Orders are created with an Idempotency-Key that is stable across retries
  • You show the delivery fee and total from our response (pricing), never your own arithmetic
  • You check accepting_orders before offering a store, and handle store_closed, out_of_zone, below_minimum_order, item_unavailable and address_incomplete with clear customer messages
  • Delivery addresses include floor, apartment and area, and a precise map pin (location)
  • Modifier groups are enforced in your UI (required, min_select, max_select)
  • You store our id alongside your own order id
  • Card orders send the customer to payment_url and treat the webhook as the source of truth, not the browser return
  • You request a fresh payment link if the customer comes back later
  • Cash orders are only offered if cash is enabled for your account
  • Signatures are verified on the raw body with a constant-time comparison, and old timestamps are rejected
  • Handlers are idempotent and tolerate out-of-order events
  • The endpoint answers 2xx within a couple of seconds and processes work asynchronously
  • You tested every status transition in the sandbox, including cancelled and a failed card payment
  • Retries use exponential back-off and honour Retry-After
  • You log error.request_id for every non-2xx response
  • Keys live in a secret manager, one key per environment
  • You show the status timeline and, for delivery, the rider from /tracking
  • Cancellation is only offered while the order is placed or confirmed
  • Support contact details for order problems are visible to your customers
  1. We review the checklist and run a supervised test order with you against a real restaurant.
  2. We issue a live key with the scopes you need and set your rate limit.
  3. You deploy the key. Start with a small share of traffic and watch your webhook deliveries.
  • The Partner API is versioned (/v1). Additive changes (new fields, new endpoints) happen without notice — ignore fields you do not recognise. Breaking changes ship in a new version with at least 6 months’ overlap. See Versioning.
  • Subscribe to the Changelog or ask to be added to our partner announcements list.