GET /plugin-api/tables/layout ✓ CanlıMağazanın masa yerleşimini (floor plan) döndürür: bölümler (salon/alan) + her bölümdeki aktif masalar (id + ad). Masa rezervasyon/seçim eklentileri veya bir masanın detayını çözmek için. Masa id'si tables/get ve tables/open ile birebir aynıdır.
← API Uçları · ortak kurallar (base, auth, hata zarfı) orada.
GET {RESTOMENUM_BASE}/plugin-api/tables/layout
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 (masa/dine-in domain; tables/get ile aynı, PII yok).{
"success": true,
"data": [
{
"id": "a2-1",
"title": "Bahçe",
"tables": [
{ "id": "masa-1", "title": "Masa 1" },
{ "id": "masa%C5%9F%C4%9F%C4%B1-2", "title": "Masaşğı 2" }
]
}
]
}| Alan | Tip | Açıklama |
|---|---|---|
| id | string | Bölüm (salon) id'si |
| title | string | Bölüm adı (ör. "Bahçe") |
| rank | number? | Bölüm sırası — opsiyonel; çoğu mağazada dönmez (canlı örnekte yok). Geldiğinde küçükten büyüğe sırala, gelmeyince data sırasını koru. |
| tables[] | array | Bölümdeki aktif masalar (pasif masalar dönmez) |
| tables[].id | string | Masa id'si — tables/get?id= ve tables/open'daki tableId ile birebir aynı. URL-safe (addan türetilir; özel/Türkçe karakter percent-encode, boşluk →-). |
| tables[].title | string | Masa adı (görünen ad, ör. "Masa 1") |
| message | HTTP | Anlam |
|---|---|---|
| plugin.scope.denied | 200 | orders:read onaylı değil ({ success:false }) |
| unauthorized | 401 | Geçersiz/eksik install key |
tables[].id masanın kalıcı kimliğidir ve diğer masa uçlarıyla aynıdır:
id + adıyla verir (açık olsun olmasın).tableId'si (= layout'taki id).Tipik akış: layout'tan masa listesini al → açık olanları tables/open ile öğren → bir masanın detayı için tables/get?id={tables[].id}.
id zaten URL-safe gelir (backend encodeURIComponent uygular). Eklenti id'yi tekrar encode etmemeli; doğrudan tables/get?id={id} olarak kullanmalı. Örn. "Masaşğı 2" → masa%C5%9F%C4%9F%C4%B1-2.openingPrice/perMin/perPrice) ve grid boyutları (w/h) dönmez — yalnız bölüm + masa id/adları.