☰ Meniu · Comenzi
Referință API
Comenzi
Coșuri trimise de oaspeți din meniul QR, de la masă.
Obiectul order
- numberinteger
- Număr scurt, de strigat cu voce tare și de tipărit pe bonul pentru bucătărie.
- statusstring
new,accepted,preparing,ready,served,completed,rejected,cancelled.- tablestring sau null
- Din linkul mesei
?table=sau introdus de oaspete. - notestring sau null
- Comentariul oaspetelui.
- subtotal, currency, item_count
- Calculate de noi din meniu, la momentul comenzii.
- items[]array
item_id,external_id(SKU-ul tău),name,quantity,unit_price,total,options[]cu propriileexternal_idșiprice_delta.- external_idstring sau null
- Id-ul tău de comandă, setat la acceptare.
- guest_languagestring
- Limba meniului folosită de oaspete.
JSON
{
"object": "order",
"id": "0c69a81c-0fbc-4333-b26c-789566b9bea4",
"number": 10,
"status": "new",
"table": "7",
"note": "No onions, please",
"currency": "MDL",
"subtotal": 14000,
"item_count": 2,
"items": [
{
"item_id": "a48343bd-9f6e-424a-b003-fe790617f4d6",
"external_id": "2040",
"name": "Zeamă",
"quantity": 2,
"unit_price": 7000,
"total": 14000,
"options": []
}
],
"external_id": null,
"reject_reason": null,
"guest_language": "en",
"source": "qr_menu",
"livemode": true,
"created_at": "2026-10-06T18:14:48.233+00:00",
"accepted_at": null,
"completed_at": null,
"updated_at": "2026-10-06T18:14:48.233+00:00"
}GET
/v1/ordersPermisiune: orders:read
Cele mai noi primele. Filtrează după ?status=new (repetă parametrul sau separă valorile prin virgulă). Cu paginare.
curl
curl "https://loyaltyfy.io/api/v1/orders?status=new" \
-H "Authorization: Bearer sk_test_..."GET
/v1/orders/{order}Permisiune: orders:read
O comandă.
POST
/v1/orders/{order}/acceptPermisiune: orders:write
Trece o comandă din new în accepted. Trimite id-ul tău de comandă în external_id; trebuie să fie unic per local.
curl
curl -X POST https://loyaltyfy.io/api/v1/orders/0c69a81c-0fbc-4333-b26c-789566b9bea4/accept \
-H "Authorization: Bearer sk_test_..." \
-H "Content-Type: application/json" \
-d '{ "external_id": "POS-ORDER-55821" }'POST
/v1/orders/{order}/rejectPermisiune: orders:write
Respinge o comandă new. reason este opțional și se păstrează în comandă.
curl
curl -X POST https://loyaltyfy.io/api/v1/orders/0c69a81c-0fbc-4333-b26c-789566b9bea4/reject \
-H "Authorization: Bearer sk_test_..." \
-H "Content-Type: application/json" \
-d '{ "reason": "Kitchen closes at 22:00" }'PATCH
/v1/orders/{order}Permisiune: orders:write
Setează status (doar înainte, pașii pot fi săriți; orice comandă deschisă poate deveni cancelled, cu un reason). Retrimiterea statusului curent nu are niciun efect. Trimite order.updated cu previous_status.
curl
curl -X PATCH https://loyaltyfy.io/api/v1/orders/0c69a81c-0fbc-4333-b26c-789566b9bea4 \
-H "Authorization: Bearer sk_test_..." \
-H "Content-Type: application/json" \
-d '{ "status": "ready" }'