☰ Меню · Замовлення
Довідник 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" }'
Питання щодо інтеграції: api@loyaltyfy.io. Відповідаємо протягом одного робочого дня.