Açık Paketler — GET /plugin-api/packets/open ✓ Canlı

O an AÇIK olan tüm paket/delivery hesaplarının özetini verir. Paket (telefon siparişi, Yemeksepeti/Getir/Trendyol…) oluşunca listeye düşer, teslim edilip kapanınca düşer — dönen liste anlık açık paketlerdir. Canlı dashboard / kurye-POS ekranı için.

← API Uçları · ortak kurallar (base, auth, hata zarfı) orada.

İstek

GET {RESTOMENUM_BASE}/plugin-api/packets/open
Authorization: Bearer {serverId}.{pluginId}.{secret}     // install API key (token exchange)
  • Base: Sandbox https://sandbox.plugins.restomenum.app, Production https://plugins.restomenum.app (API Uçları).
  • Parametre yok. Önbellek yok — her çağrı canlı veri döner.
  • Auth: Authorization: Bearer <apiKey>token exchange'teki install API key (serverId.pluginId.secret).
  • Scope: orders:read.

Liste = özet, detay ayrı

Bu bir liste ucudur ve özet döner. Adisyon satırları, müşteri/adres burada DÖNMEZ. Bir paketin tam detayı için listedeki packetId ile: packets/get?packetId={packetId}.

Yanıt

Gerçek 200 örneği (manuel telefon paketi)
{
  "success": true,
  "data": [
    {
      "packetId": "1780875081224",
      "docNo": 3,
      "entegrasyon": "packet",
      "itemCount": 2,
      "total": 17,
      "paid": 0,
      "totalDiscount": 0
    }
  ]
}

Açık paket yoksa: { "success": true, "data": [] }

Yukarıdaki manuel bir telefon paketidir (entegrasyon: "packet"). Bir entegrasyon siparişinde entegrasyon "yemeksepeti"/"getir"/"trendyol"olur ve orderCode (platform sipariş kodu) dolu gelir. İleri tarihli siparişte isScheduled: true + scheduledDate dolu olur. Bu alanlar boş/undefined ise yanıtta yer almaz.

Alanlar

AlanTipAçıklama
packetIdstringPaket id'si — detay için packets/get?packetId=
docNonumberAdisyon/belge no
orderCodestring?Opsiyonel — platform sipariş kodu (entegrasyon siparişlerinde; manuel pakette dönmez)
entegrasyonstringSipariş kanalı: packet (manuel/telefon), yemeksepeti, getir, trendyol, …
isScheduledboolean?Opsiyonel — ileri tarihli (scheduled) sipariş mi (manuel pakette dönmez)
scheduledDatenumber?Opsiyonel — planlanan teslim zamanı (epoch ms; yalnız isScheduled ile)
itemCountnumberPaketteki toplam ürün adedi
totalnumberToplam tutar
paidnumberÖdenen tutar (0 → henüz ödenmemiş)
totalDiscountnumberToplam indirim
Açık bakiye = total − paid (istemci hesaplar). paid > 0 ise kısmi ödeme alınmıştır.

Sıklık / polling

Açık paketler sürekli değişir ve uç önbeklenmez → her çağrı tazedir. Canlı görünüm için makul aralıkla (ör. 10–30 sn) polle; install başına 120 istek/dk sınırını aşma (429 plugin.rateLimited; bkz. Limitler).

Hatalar

messageHTTPAnlam
plugin.scope.denied200orders:read onaylı değil ({ success:false })
unauthorized401Geçersiz/eksik install key