Başlangıç
Anahtar ancak başvurunuz onaylandıktan sonra gelir. Henüz ortak değilseniz önce entegrasyon başvurusunu e-posta ile gönderin; anahtar elinize geçince GET /me ile doğrulayın.
Ortam
- Canlı: https://cloud.restroid.com/api/public/partner/v1
- Geliştirme: https://cloud.restroid.dev/api/public/partner/v1
- Bu rehber: https://www.restroid.com/entegrasyon
Sizde hazırlanması gerekenler
- API anahtarını sunucu tarafında saklama; tarayıcıya, APK’ya, git’e veya log’a koymayın.
- Kendi fiş numaranızı (externalId) Restroid restaurantId ile eşleme.
- Ürünleri GET /products ile çekme veya kendi PLU’nuzu Restroid koduna bağlama.
- Fiş kapandığında backend’inizden POST /hooks/sale-created çağıran bir iş.
- Kasiyer Z alınca backend’inizden POST /hooks/z-report-created (kapsam cash).
- İsteğe bağlı: Restroid’in size olay göndermesi için HTTPS webhook adresi ve HMAC doğrulama.
1. Anahtarı doğrulayın
curl -sS https://cloud.restroid.com/api/public/partner/v1/me \
-H "Api-Key: rkp_..." \
-H "Accept: application/json"Yanıtta yazılım adı, status, açık kapsamlar ve restaurantIds döner. Durum active değilse 403 olur. sales_inbound yoksa satış yazamazsınız. Restoran listesi boşsa süper admin henüz işletme bağlamamıştır.
2. Restoran kimliğini alın
curl -sS https://cloud.restroid.com/api/public/partner/v1/restaurants \
-H "Api-Key: rkp_..." \
-H "Accept: application/json"Dönen id Restroid restoran UUID’sidir — satıştaki restaurantId. name işletme adı, code Restroid kısayoludur (ör. BSK). Sizin iç şube kodunuz değildir.
3. Ürün ve ayarları alın
Restroid menüsünü GET /products ile çekin veya kendi listenizi product-upsert ile yazın. Yanıttaki her alanın anlamı: Ürün listesi ve ayarlar.
- id — Restroid ürün UUID. Satışta productId olarak bunu gönderin; kendi iç kodunuz değildir.
- plu — Restroid ürün kodu. Satışta plu; stok bu kodla düşer.
- name — Kart adı. Satış satırında name zorunludur.
- priceAmount — Fiyatın sayısı (185.5). price metindir ("185,50"); hesap için priceAmount.
- status / isHidden — Aktif ve gizli değilse satılabilir. Pasif veya gizli kartı satışa sunmayın.
- barcode — Sizin sku / barkodunuzla eşlemek için. Boş olabilir.
4. Fiş kapanınca gönderin
Tahsilat bittiğinde sunucunuz Restroid’e bir JSON POST atar. Tam gövde, alan tablosu ve 202 yanıtı: Satış kapanınca.
5. Gün sonunda Z gönderin
Kasiyer sizin ekranınızda Z aldığında Restroid bunu çekmez. Sunucunuz gün özetini bir kez POST eder. Çekmece giriş/çıkış, öğle nakit vardiya ve gider ayrı uçlardır; X raporu yazılmaz. Gövde: Z raporu ve kasa.
Sürüm
Tüm public yollar /api/public/partner/v1 altındadır. Geriye dönük kırıcı değişiklik yeni bir sürüm öneki ile gelir. v1 yanıtları JSON’dur; tarih alanları ISO-8601’dir.
