GET /plugin-api/tables/open ✓ CanlıO an AÇIK olan tüm dine-in (masa) hesaplarının özetini verir. Masa adisyonu açılınca listeye düşer, kapatılınca (ödeme alınıp adisyon kapanınca) düşer — ekstra durum filtresine gerek yoktur. Canlı dashboard / POS-garson ekranı / açık bakiye tespiti için.
← API Uçları · ortak kurallar (base, auth, hata zarfı) orada.
GET {RESTOMENUM_BASE}/plugin-api/tables/open
Authorization: Bearer {serverId}.{pluginId}.{secret} // install API key (token exchange)https://sandbox.plugins.restomenum.app, Production https://plugins.restomenum.app (API Uçları).Authorization: Bearer <apiKey> — token exchange'teki install API key (serverId.pluginId.secret).orders:read.Bu bir liste ucudur ve özet döner: her masanın kimliği + tutar bilgisi + ürün adedi. Adisyon satırları (hangi ürünler), müşteri bilgisi vb. burada DÖNMEZ.
Bir masanın tam detayını (ürün satırları, opsiyonlar, müşteri…) istiyorsan listedeki tableId ile ayrı uca git: tables/get?id={tableId}. Standart REST list → detail deseni: liste hafif kalır, ağır detayı yalnız gerektiğinde çekersin.
{
"success": true,
"data": [
{
"tableId": "masa-1",
"tableName": "Masa 1",
"docNo": 1,
"desing": "Bahçe",
"personCount": 0,
"itemCount": 7,
"total": 66.51,
"paid": 50,
"totalDiscount": 0
}
]
}Açık masa yoksa: { "success": true, "data": [] }
| Alan | Tip | Açıklama |
|---|---|---|
| tableId | string | Masa doküman id'si — detay için tables/get?id={tableId} |
| tableName | string | Masanın görünen adı (ör. "Masa 1") |
| docNo | number | Adisyon/belge numarası |
| desing | string | Masanın bulunduğu bölüm/salon (ör. "Bahçe") — alan adı API'de bu şekildedir |
| personCount | number | Masadaki kişi sayısı (girilmemişse 0) |
| itemCount | number | Adisyondaki toplam ürün adedi (satır miktarları toplamı) |
| total | number | Hesabın güncel toplam tutarı |
| paid | number | O ana kadar ödenen tutar (kısmi ödeme olabilir) |
| totalDiscount | number | Adisyona uygulanan toplam indirim |
| uuid | string? | ⏳ Satışın ömür boyu sabit kimliği — kapanışta kapanış kaydının kimliği olur, yani kapanış olayındaki id'yi önceden bildirir. Eski kayıtlarda null. Ayrıntı: hesap yaşam döngüsü. (Sandbox'ta yayında, production'a çıkmadı.) |
| currency | string? | Para birimi — ISO-4217 ("TRY"). Tenant'ın para birimi çözülemezse gelmez. |
total − paid (uçta ayrı alan yok, istemci hesaplar). paid > 0 ise kısmi ödeme alınmıştır.amountExponent ve amounts YOKTUR. Bu uç minor-unit alan döndürmediği için üs hiç gönderilmez — yalnız currency gelir (bilinçli asimetri). total/paid burada da ondalıktır. Bileşen kırılımı için tables/get → Tutarlar (amounts).429 plugin.rateLimited; bkz. Limitler).| Uç | Ne döner |
|---|---|
| tables/open | Açık masaların özet listesi (bu uç) |
| tables/get?id= | Tek masanın tam detayı (satırlar, opsiyonlar, müşteri — PII consent ile) |
| tables/layout | Mağaza masa yerleşimi (bölümler + tüm masa adları; açık/dolu bilgisi değil) |
| message | HTTP | Anlam |
|---|---|---|
| plugin.scope.denied | 200 | orders:read onaylı değil ({ success:false }) |
| unauthorized | 401 | Geçersiz/eksik install key |