Skip to navigation

Track an order

Returns an order by its publicToken: status, lines, totals, times and payment status. No API key is needed, because the token is the secret. Share it only with the customer.

If an online order is still waiting for payment, the server checks with the payment provider before it responds. Polling this endpoint after the customer returns to your successUrl therefore gives you a reliable payment status.

order.status follows this path:

  • Online payment: AWAITING_PAYMENT → PAID → CONFIRMED → PREPARING → READY_FOR_PICKUP (pickup) or OUT_FOR_DELIVERY (delivery) → COMPLETED.
  • Cash: starts at CONFIRMED.
  • CANCELLED if the restaurant cancels the order. FAILED if the online payment failed.
  • Reservation tokens from POST /reservations work here too: PENDING_APPROVAL, then CONFIRMED or CANCELLED.

order.restaurant.address is the pickup location: the restaurant’s visiting address, or null. If you render a map, check both order.restaurant.trackingShowMap and address.latitude: the owner can turn the map off, and a restaurant without a map point has no coordinates.

The response is private, no-store. Rate limits: 60 requests per 60 seconds per IP, and 30 per 60 seconds per token.

Path parameters

tokenstringRequired

The publicToken from POST /orders or POST /reservations.

Response

The order.
orderobjectOptional

Errors

400
Bad Request Error
404
Not Found Error
429
Too Many Requests Error