☰ Меню · Заказы
Справочник API
Заказы
Корзины, которые гости отправляют из QR-меню за столом.
Объект заказа
- numberinteger
- Короткий номер, чтобы назвать его вслух и напечатать на кухонном тикете.
- statusstring
new,accepted,preparing,ready,served,completed,rejected,cancelled.- tablestring или null
- Из ссылки стола
?table=или введён гостем. - notestring или null
- Комментарий гостя.
- subtotal, currency, item_count
- Рассчитываются нами по меню на момент заказа.
- items[]array
item_id,external_id(ваш артикул),name,quantity,unit_price,total,options[]со своимиexternal_idиprice_delta.- external_idstring или null
- Ваш id заказа, задаётся при принятии.
- guest_languagestring
- Язык меню, которым пользовался гость.
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/ordersПраво: orders:read
Сначала новые. Фильтр по статусу: ?status=new (параметр можно повторять или перечислять значения через запятую). Поддерживает пагинацию.
curl
curl "https://loyaltyfy.io/api/v1/orders?status=new" \
-H "Authorization: Bearer sk_test_..."GET
/v1/orders/{order}Право: orders:read
Один заказ.
POST
/v1/orders/{order}/acceptПраво: orders:write
Переводит заказ из new в accepted. Передайте свой id заказа в external_id, он должен быть уникальным в пределах заведения.
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}/rejectПраво: orders:write
Отклоняет заказ в статусе new. reason необязателен и сохраняется в заказе.
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}Право: orders:write
Задаёт status (только вперёд, шаги можно пропускать; любой открытый заказ можно перевести в cancelled с указанием reason). Повторная отправка текущего статуса ничего не меняет. Отправляет order.updated с 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" }'