API dokümanı
Mağaza entegrasyonunun tersi: orada sipariş panele gelir, burada panelden kargo çıkar. Kendi sistemin varsa panelin ekranına hiç girmeden gönderi açabilir, etiketi alabilir, durumu sorabilirsin.
| Ne yapar | Adres |
|---|---|
| Bağlı firmalar ve bu gönderi için ücretleri | GET https://takip.bahngo.com/api/v1/firmalar?desi=2&il=İSTANBUL |
| Sipariş listesi | GET https://takip.bahngo.com/api/v1/siparisler?durum=yeni |
| Gönderi aç (takip no üretir) | POST https://takip.bahngo.com/api/v1/gonderi |
| Durum ve kargo hareketleri | GET https://takip.bahngo.com/api/v1/gonderi/<takip_no> |
| Kargo etiketi (yazdırılabilir) | GET https://takip.bahngo.com/api/v1/gonderi/<takip_no>/etiket |
Her istekte Authorization: Bearer ANAHTARIN başlığı
gider. Anahtarı panelden Kargo API ekranında
üretirsin; anahtar üretilmeden hiçbir uç cevap vermez
— tanımsız anahtar "herkese açık" demek değildir.
curl -X POST https://takip.bahngo.com/api/v1/gonderi \
-H "Authorization: Bearer ANAHTARIN" \
-H "Content-Type: application/json" \
-d '{"dis_no": "1234", "firma": "aras"}'
dis_no yerine siparis_no ya da
siparis_id da verebilirsin. firma boş
bırakılırsa panel en uygun firmayı kendi seçer.
API panelin kendi kodunu çağırır, ayrı bir yol yazılmadı. Bakiye
yetmiyorsa, adres eksikse ya da kapıda ödeme siparişi
onaylanmamışsa API de kargo açmaz —
409 ve sebebi döner. Bunu yazıyoruz çünkü
entegrasyonu yazan kişi bu cevapları önceden bilmeli:
sürprizi canlıda öğrenmek, siparişi yolda bırakır.
Durumu döngüyle sormana gerek yok. Panelden bir otomasyon kurarsın: tetikleyici kargo hareketi, aksiyon webhook, adres senin ucun. Panel sana gider — sen panele sormazsın.