Süper GelsinPartner APIv1.0.0
API Referansı
TREN
Başlangıç
  • Hemen Başla
  • Test Ortamı (Sandbox)
  • Yetkilendirme
  • Servis Limitleri
  • Test hesabı başvurusu
Ortak uçlar
  • İşletme
  • Sipariş Yaşam Döngüsü
  • Sipariş Durumları
  • Mali Belge
  • Kurye Firması Entegrasyonu
  • Müşteri Talepleri
  • Değerlendirmeler
  • Webhook
Yemek
  • Menü ve Ürün Eşleme
Çarşı
  • Çarşı'ya genel bakış
  • Katalog
  • Toplama ve Dönüş
Referans
  • Sürümleme ve Hız Sınırı
  • Hata Kodları ve Sorun Giderme
  • Changelog
  • Sıkça Sorulan Sorular
  • API Referansı
Geliştirici Portalı/Ortak uçlar

İşletme

İşletme bilgisi, açık ya da kapalı durumu, çalışma saatleri ve bağlantı bildirimi.

Her anahtar çifti tek bir işletmeye bağlıdır; işletmeyi ve dikeyi anahtar belirler, istekte işletme kimliği gönderilmez. Bu sayfadaki uçlar restoran ve Çarşı işletmelerinde aynıdır. Dikeye göre fark gösteren yerler ayrıca yazılıdır.

Bu sayfadaki uçlar

Her satır API referansındaki tam tanıma gider — alanlar, yanıt kodları ve deneme konsolu orada.

  • GET/merchant
  • PUT/merchant/status
  • PUT/merchant/working-hours
  • POST/reachability

İşletme bilgisi

GET /merchant ilk çağrı ve düzenli izleme çağrısıdır. Yanıttaki serverTime ile kendi saatiniz arasındaki farkı buradan ölçebilirsiniz.

İstek
curl "https://api.supergelsin.com/api/partner/v1/merchant" \
  -H "Authorization: Basic $(printf '%s:%s' "$API_KEY" "$API_SECRET" | base64)" \
  -H "X-Integrator: Ornek POS" \
  -H "X-Operator: kasiyer_01"
AlanTipAçıklama
merchantIdstringİşletmenin kimliği. Bu kimlik banka ya da ödeme kuruluşunun üye işyeri numarası değildir; platformdaki işletme kimliğinizdir.
verticalenumrestaurant (restoran) ya da store (Çarşı işletmesi).
statusenumİşletmenin kendi durum ayarı: open, busy, closed. Çarşı'da busy okunur ama yazılamaz.
acceptingOrdersbooleanŞu an sipariş alınıp alınmadığı. Çalışma saatlerini, işletme durumunu ve otomatik duraklatmayı birlikte yansıtır.
busyobject | nullstatus busy ise until ve extraMinutes; değilse null.
autoPausedobject | nullSon siparişler art arda cevapsız kaldığı için sipariş akışı durdurulduysa dolu (since, message). İşletme elle kapalıyken de dolu olabilir.
workingHoursobject | nullSipariş kapısının okuduğu haftalık program; saat kısıtı yoksa null. Özel günler bu yanıtta gösterilmez. Saatler HH:MM biçimindedir.
integratorstringBu isteğin X-Integrator değeri.
serverTimeISO 8601Sunucu saati.

Açık ya da kapalı durumu

Restoranı yoğun yap
curl -X PUT "https://api.supergelsin.com/api/partner/v1/merchant/status" \
  -H "Authorization: Basic $(printf '%s:%s' "$API_KEY" "$API_SECRET" | base64)" \
  -H "X-Integrator: Ornek POS" \
  -H "X-Operator: kasiyer_01" \
  -H "Content-Type: application/json" \
  -d '{ "status": "busy", "busyMinutes": 20, "busyExtraMinutes": 15 }'

PUT /merchant/status güncel işletme bilgisini döner (GET /merchant ile aynı gövde).

AlanTipAçıklama
statuszorunluenumRestoranda open, busy, closed. Çarşı işletmesinde yalnız open ve closed; busy gönderilirse 400 invalid_status döner.
busyMinutesintegerYalnız restoranda busy ile. Yoğunluğun süresi, dakika. Verilmezse yoğunluk süresizdir.
busyExtraMinutesintegerYalnız restoranda busy ile. Müşteriye gösterilen süreye eklenen dakika; 120'ye kırpılır.
closeReasonstring | nullYalnız restoranda closed ile.
  • Çarşı işletmesini kapatıp açmak yoğunluk ayarını sıfırlar.
  • Kurulumu tamamlanmamış bir restoran açılamaz: 400 setup_incomplete; ileti eksiği söyler.
  • open yazmak otomatik duraklatmayı kaldırmaz; autoPaused alanı değişmez. Duraklatmayı yalnız bağlantının yeniden kurulması kaldırır (aşağıda).

Çalışma saatleri

PUT /merchant/working-hours kısmi güncellemedir: yalnız gönderilen günler değişir. GET /merchant yanıtındaki workingHours değeri olduğu gibi bu uca gönderilebilir. Kapanış saati açılıştan önceyse vardiya gece yarısını aşar ve ertesi güne sarkar (ör. 22:00–02:00). Çalışma saatleri haftalık programdır; geçici kapatma için PUT /merchant/status kullanılır. Saat kısıtı olmayan işletmede GET yanıtı workingHours: null döner; bu uç üst düzeyde null kabul etmez, günleri tek tek yazın.

İstek gövdesi
{
  "workingHours": {
    "mon": { "open": "09:00", "close": "23:00" },
    "sat": { "open": true, "shifts": [{ "open": "10:00", "close": "14:00" }, { "open": "17:00", "close": "23:00" }] },
    "sun": { "open": false },
    "tue": null
  }
}
Gün değeri
AlanTipAçıklama
nullnullGünü ve vardiyalarını siler.
{ open: false }objectGünü kapatır; kayıtlı vardiyalar saklı kalır. shifts ile birlikte gönderilmez.
{ open: true, shifts }objectGünü verilen vardiyalarla açar; shifts boş olamaz.
{ open, close }HH:MMTek vardiyalı gün (ya da yalnız shifts ile çok vardiyalı gün). Açılış ile kapanış aynı olamaz.

Hatalar: geçersiz gün anahtarında 400 bad_request (kabul edilenler mon…sun), saat biçimi hatasında ve açılış-kapanış eşitliğinde 400 bad_request. Restoran bulunamazsa 404 not_found (ileti: Restoran bulunamadı.); Çarşı işletmesinde 404 yanıtının iletisi boştur.

Bağlantı bildirimi

İstek
curl -X POST "https://api.supergelsin.com/api/partner/v1/reachability" \
  -H "Authorization: Basic $(printf '%s:%s' "$API_KEY" "$API_SECRET" | base64)" \
  -H "X-Integrator: Ornek POS" \
  -H "X-Operator: kasiyer_01" \
  -H "Content-Type: application/json" \
  -d '{ "status": "reachable" }'

POST /reachability kasa yazılımının çalıştığını bildirir; status değeri reachable ya da unreachable olur ve iki dikeyde de kullanılır. Otomatik duraklatma, son siparişler art arda cevapsız kaldığında devreye girer.

Duraklatmayı yalnız bağlantının yeniden kurulması kaldırır. reachable bildirimi şu üç durumda bağlantının yeniden kurulduğu sayılır: daha önce unreachable bildirilmişse, önceki bildirimden bu yana 15 dakika ya da daha uzun süre geçmişse, ilk bildirimse. 15 dakikadan kısa aralıkla gelen reachable bildirimi duraklatmayı kaldırmaz; düzenli yoklama için uygundur. unreachable bildirimi bağlantı kaybı olarak kaydedilir.

Birden fazla vitrin (sanal marka)

Bir restoran sahibi aynı mutfaktan farklı ürün gamıyla birden fazla vitrin açabilir. Entegrasyon açısından kural şudur: her anahtar çifti tek bir vitrine bağlıdır ve her vitrin kendi anahtarını partner panelinden üretir. Webhook adresi de vitrin başınadır; adres, anahtarın bağlı olduğu vitrin için yazılır.

İkinci vitrin açmak menünün farklı olması şartına bağlıdır. Eşikler: menü, işletmenin diğer vitrinlerinden en az %60 farklı olmalı; yalnız o vitrine ait en az 5 ürün bulunmalı; en az 20 sipariş hacminde işletme puanı en az 4.3 ve işletme kaynaklı sorun oranı en çok %5 olmalı. Yalnız ad, fotoğraf ya da fiyat değiştirmek farklılaşma sayılmaz; karşılaştırma ürün adları normalize edilerek yapılır. İlk vitrinde menü kuralı uygulanmaz.

ÖncekiServis LimitleriSonrakiSipariş Yaşam Döngüsü
Bu sayfada
  • İşletme bilgisi
  • Açık ya da kapalı durumu
  • Çalışma saatleri
  • Bağlantı bildirimi
  • Birden fazla vitrin (sanal marka)