İçeriğe geç

Mekanlar

Menüyü oku

Mekanın kategorileri ve ürünleri: porsiyonları, fiyatları, ekstraları, seçim grupları, çıkarılabilir malzemeleri, alerjenleri ve stok durumuyla.

GET/public/v1/venues/{venueId}/menu
Kimlik doğrulama

X-Api-Key başlığında API anahtarı

Gereken izin
Menüyü okuyabilir (her anahtarda var)
Hız sınırı
Anahtar başına dakikada yaklaşık 120 istek

Mekanın menüsünde gizlediği her şey dışarıda kalır; içinde bir şey kalmayan kategori de. Kategoriler ve ürünler mekanın gösterdiği sırayla gelir. Tüm fiyatlar TL cinsindendir ve KDV dahildir. Menü, mekanın QR menüsünün nasıl ayarlandığından bağımsızdır: mekan QR menüsünü gösterse de, yerine PDF koysa da döner.

Dil. lang, mekanın dillerinden birinin iki harfli kodudur (mekan bilgisindeki languages); sondaki bölge (en-US) yok sayılır. Mekanın sunmadığı ya da hiç verilmemiş bir dil, mekanın varsayılan diliyle yanıtlanır; hiç dil ayarlamamış mekan, metni yazdığı gibi döner. Yanıttaki language metnin gerçekte hangi dilde olduğunu söyler.

Kampanyalar. Süren bir kampanyanın indirdiği porsiyon, gösterilecek fiyatla campaign taşır. Her çağrıda hesaplanır; bir happy hour zamanında başlar ve biter.

Önbellek. Menü en fazla beş dakika önbellekte tutulur ve mekan düzenleme yaptığında hemen yenilenir. Yanıt bir ETag taşır: onu If-None-Match ile geri gönderdiğinizde değişmemiş menü gövdesiz 304 Not Modified döner. ETag zarfı değil, data içindeki menüyü temsil eder. Ayrıntılar: Menüyü okumak.

Parametreler

venueIdstring · uuidYol parametresizorunlu

Mekanın kimliği, mekan listesinden.

langstringSorgu parametresi

Menü metinlerinin dili, örneğin en. Mekanın varsayılan dili için vermeyin.

Accept-LanguagestringBaşlık

Hata yanıtlarındaki userMessage metninin dili: tr (varsayılan), en, de, fr, it, es, ar ya da ru. Başlıktaki ilk dil belirler, bölgesi olmadan (en-US, en okunur) ve q ağırlıklarına bakılmadan; Cibusy'nin sunmadığı bir dil Türkçe yanıtlanır. Menünün dilini seçmez; o, menü çağrısındaki lang parametresidir.

If-None-MatchstringBaşlık

Elinizdeki kopyanın ETag değeri. Hala güncel sürümse yanıt gövdesiz 304 Not Modified olur.

Yanıtlar

200

Mekanın menüsü, ETag başlığıyla.

ETag

Bu yanıttaki data alanının sürümü: bir SHA-256'nın ilk 32 onaltılık hanesi, tırnak içinde. If-None-Match ile geri gönderin.

Cache-Control

Her zaman private, no-cache: bir kopya saklayın, ama kullanmadan önce sunucuya hala geçerli olup olmadığını sorun.

304

Menü, If-None-Match ile adlandırılan sürümden beri değişmedi. Gövde yok; elinizdeki kopya güncel.

ETag

Bu yanıttaki data alanının sürümü: bir SHA-256'nın ilk 32 onaltılık hanesi, tırnak içinde. If-None-Match ile geri gönderin.

Cache-Control

Her zaman private, no-cache: bir kopya saklayın, ama kullanmadan önce sunucuya hala geçerli olup olmadığını sorun.

401

X-Api-Key başlığı yok (PUBLIC_API_KEY_MISSING) ya da anahtar geçersiz veya iptal edilmiş (PUBLIC_API_KEY_INVALID).

403

Anahtar bu çağrıyı yapamaz (PUBLIC_API_SCOPE_MISSING). Panelde oluşturulan her anahtar mekanları, menüleri ve masaları okuyabilir.

404

Mekan yok ya da bu anahtar ona ulaşamıyor (PUBLIC_API_VENUE_NOT_FOUND).

429

Anahtarın dakikada yaklaşık 120 isteklik bütçesi doldu; Retry-After kadar saniye bekleyin.

Retry-After

Beklenecek saniye. Bir sonraki dakikalık pencere bu süre içinde açılır.

Başarılı yanıtın data alanı

Mekanın menüsü, bir sitenin çizebileceği yapıda: kategoriler, içlerindeki ürünler ve bir misafirin bir üründe seçebileceği her şey. Yalnız mekanın menüsünde gösterdikleri yer alır.

venueIdstring · uuid

Menünün ait olduğu mekan.

languagestringnull olabilir

Menü metinlerinin dili, mekanın dillerinden birinin iki harfli kodu. Mekan sunuyorsa lang ile istenen dil, aksi halde mekanın varsayılan dilidir. Mekan hiç dil ayarlamadıysa null; metinler o zaman mekanın yazdığı gibidir.

currencystring

Tüm fiyatların para birimi, ISO 4217 kodu. Her zaman TRY; fiyatlar KDV dahildir.

categoriesobject[]

Menünün kategorileri, mekanın gösterdiği sırayla. İçinde görünür bir şey kalmayan kategori listede yer almaz.

Kategori alanları
idstring · uuid

Kategorinin kimliği.

namestring

Kategorinin adı, menünün dilinde.

photoUrlstringnull olabilir

Kategori görselinin adresi. Görseli yoksa null.

displayOrderinteger

Kategorinin menüdeki sırası, küçük olan önce. Kategoriler zaten bu sırayla gelir.

productsobject[]

Kategorinin ürünleri, mekanın gösterdiği sırayla. Hiçbir zaman boş değildir.

Ürün alanları
idstring · uuid

Ürünün kimliği; siparişte bu kullanılır.

namestring

Ürünün adı, menünün dilinde.

descriptionstringnull olabilir

Ürün hakkında bir satır, menünün dilinde. Mekan yazmadıysa null.

contentsstringnull olabilir

Ürünün içeriği, menünün dilinde. Mekan yazmadıysa null.

photoUrlstringnull olabilir

Ürün görselinin adresi. Görseli yoksa null.

displayOrderinteger

Ürünün kategorisindeki sırası, küçük olan önce. Ürünler zaten bu sırayla gelir.

vatPercentinteger

Fiyatlara dahil KDV oranı, yüzde olarak: 0, 1, 10 ya da 20 (Temmuz 2023'ten beri geçerli dilimler). Hala kaldırılmış bir dilimde (yüzde 8 ya da 18) duran ürün, yerine gelen dilimle (10 ya da 20) okunur.

containsAlcoholboolean

Ürün alkol içeriyorsa true. Bunun için bir etiket gösterin.

containsPorkDerivativesboolean

Ürün domuz eti ya da ondan yapılmış bir şey içeriyorsa true. Bunun için bir etiket gösterin.

acceptsMealCardboolean

Mekan bu ürün için yemek kartı kabul ediyorsa true.

allergensstring[]

Mekanın ürün için bildirdiği alerjenler (AB yönetmeliğindeki 14 alerjen). Boş liste, alerjen bildirilmediği anlamına gelir; ürünün bunlardan kesin olarak arınmış olduğu anlamına gelmez.

Gluten
Gluten
Crustaceans
Kabuklular
Eggs
Yumurta
Fish
Balık
Peanuts
Yer fıstığı
Soybeans
Soya
Milk
Süt
Nuts
Sert kabuklu yemişler
Celery
Kereviz
Mustard
Hardal
Sesame
Susam
Sulphites
Sülfitler
Lupin
Acı bakla (lupin)
Molluscs
Yumuşakçalar
stockStatusstringnull olabilir

Ürünün stokta mı, azalıyor mu, tükenmiş mi olduğu. Mekan ürünün stokunu takip etmiyorsa null; o zaman rozet göstermeyin. Tükenen ürün menüde kalır, ama onun için verilen sipariş reddedilir.

InStock
Stokta.
LowStock
Azalıyor.
OutOfStock
Tükendi; menüde kalır ama sipariş edilemez.
portionsobject[]

Ürünün geldiği boyutlar ya da servisler. Sipariş bunlardan birini adlandırır.

Porsiyon alanları
idstring · uuid

Porsiyonun kimliği; sipariş bunu ürünün kimliğiyle birlikte adlandırır.

namestring

Porsiyonun adı, menünün dilinde. Tek servisi olan ürünlerde genellikle "Standart" adlı bir porsiyon vardır; o zaman ürünün adını tek başına gösterin.

pricenumber

Fiyat, TL cinsinden, KDV dahil. Ölçüyle satılan porsiyonda bir pricingUnit fiyatıdır ve porsiyon API üzerinden sipariş edilemez.

isDefaultboolean

Mekanın önceden seçtiği porsiyon için true.

caloriesintegernull olabilir

Porsiyonun enerjisi, kilokalori. Mekan bildirmediyse null.

weightnumbernull olabilir

Porsiyonun üzerinde yazan ağırlık ya da hacim; adının yanında gösterilecek bir etiket, fiyatın hesaplandığı bir değer değil. Mekan vermediyse null; dolu olduğunda weightUnit de doludur.

weightUnitstringnull olabilir

weight değerinin birimi. Ağırlık yoksa null.

Kilogram
Kilogram
Gram
Gram
Liter
Litre
Milliliter
Mililitre
Deciliter
Desilitre
Piece
Adet
Box
Kutu
Package
Paket
Dozen
Düzine
Portion
Porsiyon
Cup
Bardak
Tablespoon
Yemek kaşığı
Teaspoon
Çay kaşığı
pricingUnitstringnull olabilir

Porsiyon ölçüyle satılıyorsa price değerinin hangi birim için olduğu: Kilogram, fiyatın bir kilogramın fiyatı olduğu ve misafirin aldığının mekanda tartıldığı anlamına gelir. Sıradan porsiyonda null; fiyatı bir servis içindir.

Kilogram
Kilogram
Gram
Gram
Liter
Litre
Milliliter
Mililitre
Deciliter
Desilitre
Piece
Adet
Box
Kutu
Package
Paket
Dozen
Düzine
Portion
Porsiyon
Cup
Bardak
Tablespoon
Yemek kaşığı
Teaspoon
Çay kaşığı
orderableboolean

Porsiyon ölçüyle satılıyorsa false: gösterilebilir ama API üzerinden sipariş edilemez, çünkü miktarı mekanda tartılır. Diğer porsiyonlarda true.

campaignobjectnull olabilir

Porsiyonun şu an sahip olduğu indirim, price yanında göstermek için. Yoksa null. Her çağrıda hesaplanır, bu yüzden bir happy hour zamanında başlar ve biter. Burada yalnız porsiyonun kendisindeki düz indirim görünür: menüde gösterilen, en az sepet tutarı ya da kupon istemeyen bir yüzde ya da tutar indirimi. Menüler, "iki al bir öde" gibi kampanyalar sipariş fiyatlanırken hesaba katılır. Her siparişi sunucu fiyatlar; buradaki hiçbir şey siparişle geri gönderilmez.

Kampanya alanları
campaignIdstring · uuid

Kampanyanın kimliği.

namestring

Kampanyanın adı.

badgeTextstringnull olabilir

Mekanın rozette görmek istediği kısa etiket. Bir şey yazmadıysa null.

discountedPricenumber

Kampanya süresince porsiyonun bir adedinin fiyatı, TL cinsinden, KDV dahil.

endsAtstring · date-timenull olabilir

Kampanyanın şimdiki zaman diliminin bittiği an (UTC), geri sayım için. Bitişi yoksa null.

optionGroupsobject[]

Ekstraların bazılarını bir seçime bağlayan kurallar: "bir pişirme derecesi seçin". Ekstraların hiçbiri bir seçim değilse boştur.

Seçim grubu alanları
idstring · uuid

Grubun kimliği; seçeneklerinin optionGroupId alanındaki değer.

namestring

Grubun adı: neyin seçildiği.

selectionTypestring

En fazla bir seçenek seçilebiliyorsa Single, istenen kadar seçilebiliyorsa Multiple.

Multiple
İstenen sayıda seçenek.
Single
En fazla bir seçenek.
isRequiredboolean

Gruptan bir seçim yapılmadan ürün sipariş edilemiyorsa true.

displayOrderinteger

Grubun ürünün grupları arasındaki sırası, küçük olan önce. Gruplar zaten bu sırayla gelir.

extrasobject[]

Misafirin ürüne ekleyebileceği ekstralar, fiyatlarıyla. optionGroupId dolu olan ekstra o gruptaki bir seçenektir.

Ekstra alanları
idstring · uuid

Ekstranın kimliği; siparişte bu kullanılır.

namestring

Ekstranın adı, menünün dilinde.

pricenumber

Ekstranın birlikte sipariş edildiği porsiyonun fiyatına eklediği tutar, TL cinsinden, KDV dahil. Ücretsiz ekstrada sıfır.

optionGroupIdstring · uuidnull olabilir

Ekstranın seçenek olduğu seçim grubu. Hiçbir gruba ait olmayan ve serbestçe eklenebilen ekstrada null.

removableIngredientsobject[]

Misafirin üründen çıkarılmasını isteyebileceği malzemeler.

Çıkarılabilir malzeme alanları
idstring · uuid

Malzemenin kimliği; siparişte bu kullanılır.

namestring

Malzemenin adı, menünün dilinde.