POST /plugin-api/packets/update ✓ CanlıBir paketin sınırlı alanlarını güncelleyen yazma ucudur (allowlist). Yalnız izinli alanlar değişir; tanımsız alan gönderirsen reddedilir (success:false — kütle-atama engeli). Tutar/kalem/ödeme bu uçla DEĞİL — packets/update-orders ve packets/update-payments ile değişir.
← API Uçları · Yazma ailesi: create · update-orders · update-payments.
| Method / yol | POST /plugin-api/packets/update |
| Scope | orders:write |
| Model | Allowlist alan güncelleme — tanımsız alan → reddedilir (success:false) |
POST {RESTOMENUM_BASE}/plugin-api/packets/update
Authorization: Bearer <apiKey>
Content-Type: application/json{
"packetId": "a72d70cd-...", // ZORUNLU
"status": "OnDelivery", // ops — yalnız LABEL (aşağı ⚠️)
"note": "Kapıda nakit", // ops — "" gönderirsen TEMİZLER
"paymentNote": "...", // ops — "" temizler
"invoiceUrl": "https://.../fatura.pdf", // ops — https; "" temizler
"invoiceNumber": "FT-2026-000123", // ops — "" temizler
"customer": { "address": "Yeni adres", "phone": "0532..." } // ops — KISMİ (yalnız bu alt-alanlar)
}| Alan | Tip | Not |
|---|---|---|
| status | enum | none · Approved · Ready · OnDelivery · Delivered · Rejected — yalnız label (⚠️ aşağı) |
| note | string ≤1000 | "" temizler |
| paymentNote | string ≤500 | "" temizler |
| invoiceUrl | https ≤1000 | "" temizler |
| invoiceNumber | string ≤100 | "" temizler |
| customer.address | string ≤500 | { customer: { address } } — kısmi |
| customer.phone | string ≤40 | kısmi; diğer customer alanları korunur |
Yanıt data.updated = gerçekten değişen alanların listesi.
{ "success": true, "data": { "packetId": "a72d70cd-...", "updated": ["status","note","customer"] } }status'ü yalnız yazar; paket yaşam döngüsünü tetiklemez.none/Approved/Ready/OnDelivery/Delivered: sadece etiketi set eder. Delivered teslim statüsüdür, finansal kapanış DEĞİL → paket "açık" kalır (kapanış ödeme tamamlanınca işletme akışında yapılır).Rejected: yalnız label yazar. (Sistemin entegrasyon-Rejected akışı paketi closedTables'a taşıyıp iptalle işaretler — bu uç bunu yapmaz.)Tutarlılık-kritik alanlar — total · paid · orders · payments · docNo · uuid · pluginStatusCallback — bu uçla değiştirilemez. Kalem için update-orders, ödeme için update-payments kullan.
Doğrulama/iş-kuralı hataları HTTP 200 + { success:false, message } döner (auth 401, rate limit 429 hariç). Gerçek mesajlar (teyitli):
| message | Anlam |
|---|---|
| "<alan>" is not allowed | Allowlist dışı/tanımsız alan (kütle-atama engeli) — örn. "total" is not allowed |
| Packet not found | Paket bulunamadı (geçersiz packetId) |
| plugin.scope.denied | orders:write onaylı değil (HTTP 401/403'e yakın — auth hattı) |
| plugin.rateLimited | Write kovası aşıldı (HTTP 429) |