Masa Kalemleri — POST /plugin-api/tables/update-orders ⏳ Yakında

Dine-in masanın TÜM kalemlerini değiştirir — FULL REPLACE (packets/update-orders'ın masa karşılığı). total kuver dahil yeniden hesaplanır; fiyatlar Restomenum ürün kaydından (normal satış fiyatı). Hiçbir uç masayı KAPATMAZ.

← API Uçları · Masa ödemeleri: tables/update-payments · Paket karşılığı: packets/update-orders.

YAKINDA — henüz canlı değil. Sözleşme yayına hazır; uç runtime'a henüz deploy edilmedi (sandbox'ta 404). Yayınlanınca bu not kaldırılacak.

İstek

POST {RESTOMENUM_BASE}/plugin-api/tables/update-orders
Authorization: Bearer <apiKey>

{
  "tableId": "tbl-7a3f...",                       // ZORUNLU — açık masanın doc id'si
  "cart": [                                        // ZORUNLU — masanın YENİ kalem listesi (FULL REPLACE)
    { "product": "<productId>", "quantity": 2, "options": ["Acılı"], "discount": 0, "note": "" }
  ]
}
  • Scope: orders:write · write rate-limit.
  • cart masanın tüm kalemlerini değiştirir (merge değil). Kalem: { product(id), quantity, options?(adlar), discount?, note? }.
  • tableId: açık masanın doc id'si — tables/open veya tables/get?id='ten al; table.close gate'inde gelen target.id de budur.

Yanıt

{ "success": true, "data": { "tableId": "tbl-7a3f...", "total": 268 } }   // total kuver DAHİL

Masa-özgü davranışlar (ZORUNLU bilgi)

  • Fiyat otoritesi: kalem fiyatları Restomenum ürün kaydından; gönderilen fiyat yok sayılır. Dine-in'de normal satış fiyatı kullanılır (web/delivery fiyatı DEĞİL).
  • Kuver: masanın kuver oranı + kişi sayısına göre kuver satırı otomatik eklenir; total bunu içerir. Plugin kuver göndermez/hesaplamaz.
  • Timer (süre-bazlı) ürünler desteklenmez: açık-büfe/saat-bazlı ürünü olan masada kalem değişimi reddedilir (full-replace süre sayacını sıfırlardı).

Kurallar & hatalar

Durummessage
cart'ta var olmayan ürünProduct not found: <id,...> (400)
Gelen cart timer ürünü içeriyorTimer-priced products are not supported via plugin (time-dependent total) (400)
Mevcut masada timer ürünü varTable has timer-priced items; plugin order edit not allowed (400)
Yeni total mevcut ödemenin altındaPaid (X) exceeds new total (Y). Update payments first. (400)
Hesaplanan total negatifComputed total is negative — check discounts (400)
Masa yok / kapanmışTable not found (404)
tables koleksiyonu yalnız açık masaları tutar — kapanan masa silinir,tables/update-* 404 döner. Ödemeleri önce düşürmek için tables/update-payments.