API баримт

API түлхүүрээр цэс, ширээ уншиж, захиалга үүсгэж, захиалгын төлөв шинэчилнэ. Түлхүүрийг «API түлхүүр» хэсэгт үүсгэнэ. Нууц үгийг нэг удаа харуулах бөгөөд kq_live_ гэж эхэлнэ.

Баталгаажуулалт

Доорх хүсэлт бүрт түлхүүрээ явуулна. Нэг захиалгыг id-аар унших үед түлхүүр шаардлагагүй.

Authorization: Bearer kq_live_YOUR_KEY

Түлхүүр зөвхөн үүссэн ресторандаа ажиллана. Хүчингүй болгоход хандалт шууд хаагдана.

Үндсэн хаяг

https://qrtable.store/api/restaurants/{restaurantId}

Алдаа

Амжилтгүй хүсэлт { "error": "…" } JSON буцаана. 400 нь буруу өгөгдөл. 401 нь түлхүүр байхгүй, буруу, эсвэл хүчингүй. 404 нь ширээ, хоол, захиалга энэ ресторанд байхгүй гэсэн үг.

Ширээ

GETШирээ

Захиалга үүсгэхдээ id-г tableId болгоно. number нь гал тогоонд харагдах дугаар.

curl -s \
  -H "Authorization: Bearer kq_live_YOUR_KEY" \
  "https://qrtable.store/api/restaurants/{restaurantId}/tables"
{
  "tables": [
    { "id": "table_123", "number": "1", "label": "Window", "active": true }
  ]
}

Захиалга

GETЗахиалга унших

Сүүлийн 100 захиалгыг шинээс хуучин руу буцаана. ?status= нэмж шүүнэ. Төлөв: pending, confirmed, preparing, ready, delivered.

curl -s \
  -H "Authorization: Bearer kq_live_YOUR_KEY" \
  "https://qrtable.store/api/restaurants/{restaurantId}/orders?status=pending"
{
  "orders": [
    {
      "id": "order_123",
      "tableId": "table_123",
      "tableNumber": "1",
      "status": "pending",
      "total": 32000,
      "items": [
        {
          "itemId": "item_123",
          "name": "Sundae gukbap",
          "nameEn": "Sundae gukbap",
          "nameMn": "СҮНДЭ ГҮГБАБ",
          "price": 32000,
          "quantity": 1
        }
      ],
      "createdAt": "2026-10-17T12:00:00.000Z",
      "updatedAt": "2026-10-17T12:00:00.000Z"
    }
  ]
}

POSTЗахиалга үүсгэх

tableId болон items явуулна. Мөр бүрт itemId болон 1-ээс их бүхэл тоо quantity хэрэгтэй. notes нь сонголттой. Нэр, үнийг сервер цэснээс авна. Биед явуулсан үнийг тооцохгүй. Байхгүй эсвэл дууссан хоол 400 буцаана.

curl -s -X POST \
  -H "Authorization: Bearer kq_live_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"tableId":"table_123","items":[{"itemId":"item_123","quantity":1,"notes":"no onion"}]}' \
  "https://qrtable.store/api/restaurants/{restaurantId}/orders"
{ "orderId": "order_123" }

GETНэг захиалга унших

Зочид захиалгаа дагахад ашигладаг тул API түлхүүр шаардлагагүй. Захиалгын id-г мэддэг хүн уншиж болно.

curl -s "https://qrtable.store/api/restaurants/{restaurantId}/orders/order_123"
{ "order": { "id": "order_123", "status": "pending", "total": 32000 } }

PATCHТөлөв шинэчлэх

status-д pending, confirmed, preparing, ready, delivered өгнө. Ердийн дараалал нь pending → confirmed → preparing → ready → delivered. Эдгээр утгын алийг ч хүлээн авна.

curl -s -X PATCH \
  -H "Authorization: Bearer kq_live_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"status":"confirmed"}' \
  "https://qrtable.store/api/restaurants/{restaurantId}/orders/order_123"
{ "success": true }

API түлхүүрээр болохгүй

Түлхүүр үүсгэх, цэс засах, ширээ удирдах, ажилтан урих, захиалга устгах нь нэвтэрсэн рестораны сесс шаардана. API түлхүүр эдгээр замаар дуудаж чадахгүй.