POST /plugin-api/packets/update-orders ✓ CanlıBir paketin TÜM kalemlerini (cart) değiştirir — merge değil, FULL REPLACE. total Restomenum ürün fiyatlarından yeniden hesaplanır (gönderdiğin fiyat yok sayılır). Transaction'lı (paket oku → doğrula → yaz, atomik).
← API Uçları · Yazma ailesi: create · update · update-payments.
POST {RESTOMENUM_BASE}/plugin-api/packets/update-orders
Authorization: Bearer <apiKey>
{
"packetId": "a72d70cd-...", // ZORUNLU
"cart": [ // ZORUNLU (en az 1) — paketin YENİ kalem listesi (FULL REPLACE)
{ "product": "<productId>", "quantity": 2, "options": ["Acılı"], "discount": 0, "note": "" }
]
}orders:write.cart paketin tüm kalemlerini değiştirir (merge değil). Kalem: { product(id), quantity, options?(adlar), discount?, note? }.total Restomenum kaydından yeniden hesaplanır.{ "success": true, "data": { "packetId": "a72d70cd-...", "total": 240 } }Hepsi HTTP 200 + { success:false, message } (rate limit 429 hariç). Gerçek mesajlar:
| Kural | message (teyitli) |
|---|---|
quantity en az 0.001 (tartılı ürün ondalık); 0 reddedilir | "cart[0].quantity" must be greater than or equal to 0.001 |
| Olmayan ürün | Product not found: <id> |
Mevcut paid yeni total'ı aşıyor | reddedilir — önce ödemeleri düşür (update-payments) |
Timer/süre-bazlı ürün (perMin+perPrice) | reddedilir — total zamana bağlı, snapshot yanlış olur |
Hesaplanan total negatif (aşırı indirim) | reddedilir |
total'i düşürürken diğeri paid'i yükseltirse paid ≤ total invariantı geçici bozulabilir (farklı alanlar yazıldığından çakışma yakalanmaz). Sıralı çağır (önce kalem, sonra ödeme — ya da tersi).