Aller au contenu

Online ordering

Directory, online menu and order tracking

The endpoints behind ordering from your own site: the public directory, the restaurant profile, the online menu, order placement and post-checkout tracking. Unauthenticated and addressed by restaurant slug.

Restaurant directory

GET /public/directory Portée: public (no key)

Lists the restaurants that have opted into public discovery. Use it to build your own directory page; the same data drives the diner-facing discovery surface on tablezio.com.

Paramètres de requête

qstringFacultatif

Free-text search over the listing.

citystringFacultatif

Filter by city.

cuisinestringFacultatif

Filter by cuisine.

limitintegerFacultatif

Maximum results to return.

Requête

curl 'https://api.tablezio.com/public/directory?city=Madrid&limit=20'

Public restaurant profile

GET /public/restaurants/{slug}/info Portée: public (no key)

Returns the public profile of one restaurant: the details a guest needs before ordering. Everything here is what the restaurant chose to publish — this endpoint never exposes operational records.

Paramètres de chemin

slugstringObligatoire

Restaurant slug.

Requête

curl 'https://api.tablezio.com/public/restaurants/casa-pepe/info'

Online ordering menu

GET /public/restaurants/{slug}/online-menu Portée: public (no key)

The menu as the online ordering flow needs it — the items and prices that apply to the online channel. It reads the same catalogue as the POS, so an 86’d item disappears from here without a second edit.

Paramètres de chemin

slugstringObligatoire

Restaurant slug.

Requête

curl 'https://api.tablezio.com/public/restaurants/casa-pepe/online-menu'

Public menu page payload

GET /public/restaurants/{slug}/public-menu Portée: public (no key)

The read-only menu payload behind the hosted menu page at tablezio.com/r/{slug}/menu. Use this one when you want to display a menu without an ordering flow attached.

Paramètres de chemin

slugstringObligatoire

Restaurant slug.

Requête

curl 'https://api.tablezio.com/public/restaurants/casa-pepe/public-menu'

Place an online order

POST /public/restaurants/{slug}/online-orders Portée: public (no key)

Creates an order on the online channel — pickup or delivery — for the restaurant identified by slug. This is the endpoint behind ordering from your own site, which is what keeps the order (and the guest record) yours rather than a marketplace’s.

Paramètres de chemin

slugstringObligatoire

Restaurant slug.

Requête

curl -X POST 'https://api.tablezio.com/public/restaurants/casa-pepe/online-orders' \
  -H 'Content-Type: application/json' \
  -d '{"type":"takeout","customer":{"name":"Ana","phone":"+34600000000"},"items":[{"menuItemId":"5a1b2c3d4e5f6a7b8c9d0e1f","quantity":1}]}'

Track an online order

GET /public/restaurants/{slug}/orders/{orderId}/track Portée: public (no key)

Returns the tracking state of an online order so the guest can follow it after checkout. It is scoped to the restaurant in the path, so an order id alone is not enough to read an order from a different restaurant.

Paramètres de chemin

slugstringObligatoire

Restaurant slug.

orderIdstringObligatoire

Order id returned when the order was placed.

Requête

curl 'https://api.tablezio.com/public/restaurants/casa-pepe/orders/507f1f77bcf86cd799439011/track'