Sipariş Gönderimi
Sipariş Aktarımı Nasıl Gerçekleşir?
Sipariş gönderimi, restoran sisteminden otomatik olarak tetiklenir ve tanımlı POS sistemine HTTP POST isteği ile https://bkyemek.com/api/v1/restoran_pos_giris adresi üzerinden aktarılır. Bu aktarım sırasında tüm sipariş bilgileri, müşteri verileri, adres, ürünler ve ödeme detayları tek bir JSON payload içinde iletilir.
API Endpoint
POST https://bkyemek.com/api/v1/restoran_pos_giris
Yetkilendirme
Her istekte şu header bilgileri gönderilir:
X-API-KEY: {api_key}
X-API-SECRET: {api_secret}
Content-Type: application/json
Gönderilen Sipariş Verisi (Payload Şeması)
| Alan | Tip | Zorunlu | Açıklama |
|---|---|---|---|
| siparis_id | integer | Evet | Siparişin sistemdeki benzersiz ID'si |
| restoran_id | integer | Evet | Restoran sistem ID'si |
| siparis_tutari | float | Evet | Toplam sipariş tutarı |
| odeme_tutari | float | Evet | Net ödeme tutarı (indirimli vb.) |
| odeme_tipi | string | Evet | “Nakit”, “Online” vb. |
| adres_id | integer | Evet | Kullanıcının adres ID'si |
| musteri_adi | string | Evet | Kullanıcının tam adı |
| musteri_telefon | string | Evet | +90 ile başlayan uluslararası format |
| adres | string | Evet | Açık adres |
| adres_aciklama | string | Hayır | Ek yön tarifi (kapı no vs.) |
| adres_ilce | string | Evet | İlçe bilgisi |
| adres_mahalle | string | Evet | Mahalle adı |
| adres_latitude | float | Hayır | Enlem bilgisi |
| adres_longitude | float | Hayır | Boylam bilgisi |
| adres_bina | string | Hayır | Adresin bina adı ya da numarası (örnek: E*** Apt) |
| adres_kat | string | Hayır | Kullanıcının bulunduğu kat bilgisi |
| adres_daire | string | Hayır | Kullanıcının daire numarası |
| restoran_adi | string | Evet | Restoran adı |
| restoran_telefon | string | Hayır | İletişim numarası |
| restoran_adres | string | Hayır | Restoran açık adresi |
| restoran_il | string | Hayır | İl bilgisi |
| restoran_ilce | string | Hayır | İlçe bilgisi |
| restoran_enlem | float | Hayır | Konum enlem |
| restoran_boylam | float | Hayır | Konum boylam |
| kurye_not | string | Hayır | Kuryeye özel not |
| zile_basma | string ("Evet" / "Hayır") | Hayır | Zile basılsın mı tercihi. Boolean değil, string olarak gönderilir. |
| kapida_birak | string ("Evet" / "Hayır") | Hayır | Sipariş kapıda bırakılacak mı tercihi. |
| servis_getirme | string ("Evet" / "Hayır") | Hayır | Servis malzemesi (çatal/kaşık/peçete) getirilsin mi tercihi. |
| siparis_tarihi | datetime (Y-m-d H:i:s) | Evet | Siparişin zamanı |
| siparis_durumu | string | Evet | Başlangıç durumu ("Restoran Onayı Bekliyor" vb.) |
| kurye_tipi | string | Hayır | “BK Getirsin” / “Restoran Getirsin” |
| kurye_adi | string | Hayır | Kurye adı |
| kurye_telefon | string | Hayır | Kurye telefonu |
| siparis_icerikleri | array | Evet |
Sipariş içeriği ürün listesidir. Her öğe aşağıdaki alanları içermelidir:
{
"urun_adi": "string",
"tercihler_adi": "string",
"cikarilacaklar_adi": "string",
"urun_not": "string",
"adet": integer
}
|
Başarılı Yanıt Beklentisi
{
"success": true,
"message": "Sipariş alındı."
}
Hata Durumları
- 400 Bad Request: Eksik veya hatalı alan
- 401 Unauthorized: API Key/Secret eksik
- 403 Forbidden: API bilgileri hatalı
- 500 Internal Server Error: POS tarafı sistem hatası
Bir sonraki sayfada bu payload'un örnek çıktısı gösterilecektir.