API Dokümantasyonu
daigo REST API'sine hoş geldiniz. Bu dokümantasyon, e-ticaret sitenizi veya ERP sisteminizi platformumuza entegre etmeniz için gereken tüm bilgileri içerir.
API Temel Endpoint Adresi
Tüm entegrasyon isteklerinizi (POST, GET, DELETE) aşağıdaki ana adrese yönlendirmeniz gerekmektedir:
https://daigo.com.tr/api/v1/shipments.php
Kimlik Doğrulama
Tüm API isteklerinde, panelinizden aldığınız API Key ve API Secret bilgilerini HTTP Header içerisinde göndermeniz gerekmektedir. Güvenlik için Secret doğrulaması zorunludur.
Not: Eğer istemciniz HTTP Header gönderimini desteklemiyorsa, alternatif olarak api_key ve api_secret alanlarını doğrudan JSON gövdesi içerisinde de gönderebilirsiniz.
Hata Kodları
API istekleri sonucunda dönen genel hata kodları ve açıklamaları aşağıdadır:
- 401 Unauthorized: Geçersiz veya eksik API Key veya API Secret.
- 400 Bad Request: Eksik/hatalı alıcı bilgisi veya desteklenmeyen/geçersiz ilçe parametresi.
- 403 Forbidden: Firmaya ait vergi bilgileri eksik veya kargo oluşturmaya yetkili değil.
- 405 Method Not Allowed: İstek metodu hatalı (Yalnızca POST metoduna izin verilir).
- 500 Internal Server Error: Sunucu taraflı geçici hata veya veritabanı bağlantı hatası.
Gönderi Oluştur
Yeni bir kargo gönderisi oluşturur ve takip numarası ile barkod döner.
cURL İstek Örneği
İstek Gövdesi Örneği (JSON)
İstek Gövdesi Parametreleri
| Parametre | Tip | Zorunluluk | Açıklama |
|---|---|---|---|
| api_key | string | Zorunlu* | Daigo API Anahtarınız. (Eğer HTTP Header üzerinde X-API-Key gönderilmediyse zorunludur.) |
| api_secret | string | Zorunlu* | Daigo API Secret değeriniz. (Eğer HTTP Header üzerinde Bearer token gönderilmediyse zorunludur.) |
| order_id | string | Opsiyonel | E-ticaret sitenizdeki veya ERP sisteminizdeki sipariş/referans numarası. (Örn: ORD-2026-9912) |
| recipient | object | Zorunlu | Alıcı bilgilerini barındıran nesne. Alt alanları kargo teslimatı için gereklidir. |
| ↳ name | string | Zorunlu | Alıcının adı ve soyadı. (Örn: Ahmet Yılmaz) |
| string | Zorunlu | Alıcının e-posta adresi. Alıcıya teslimat bildirimleri vb. gönderilmesi amacıyla zorunludur. (Örn: ahmet@mail.com) | |
| ↳ phone | string | Zorunlu | Alıcının telefon numarası. (Örn: +905320000000) |
| ↳ address | string | Zorunlu | Alıcının tam açık adresi. (Mahalle, sokak, no, daire, ilçe ve il belirtilmelidir.) |
| ↳ city | string | Opsiyonel | Alıcının teslimat şehri. (Varsayılan: İstanbul) |
| ↳ district | string | Zorunlu | Alıcının teslimat ilçesi. (Sadece Daigo'nun hizmet verdiği İstanbul ilçeleri kabul edilir. Diğer ilçeler reddedilir.) |
| package | object | Opsiyonel | Gönderi paketi/kolisi detaylarını barındıran nesne. |
| ↳ desi | float | Opsiyonel | Paketin desi/hacimsel ağırlık değeri. Fiyatlandırma için kullanılır. (Varsayılan: 1.0) |
| ↳ type | string | Opsiyonel | Paket ambalaj türü. (Örn: box (kutu), envelope (zarf), bag (poşet)) |
| ↳ content | string | Opsiyonel | Paketin içindeki malzemenin genel açıklaması. (Örn: Elektronik Eşya) |
Başarılı Yanıt (200 OK)
Hizmet Verilen İlçeler
Daigo yalnızca İstanbul içinde belirli ilçelere teslimat hizmeti sağlamaktadır. API üzerinden kargo oluştururken alıcının district alanına aşağıdaki ilçelerden biri girilmelidir (İlçe isimlerinde büyük/küçük harf veya Türkçe/İngilizce karakter esnekliği mevcuttur, sistem bunları otomatik eşleştirir):
Avrupa Yakası (23 İlçe)
Anadolu Yakası (9 İlçe)
Gönderi İptal Et
Henüz kurye tarafından teslim alınmamış ("pending" statüsündeki) bir gönderiyi iptal eder.
İstek Parametreleri
| Parametre | Konum | Tip | Açıklama |
|---|---|---|---|
| tracking_number | URL Path | string (Zorunlu) | İptal edilecek kargonun takip numarası (Örn: DG2026123456) |
Not: Bu istek için gövdede (JSON Body) veri gönderilmez. Kimlik doğrulama başlıkları ve takip numarası yeterlidir.
cURL İstek Örneği
Başarılı Yanıt (200 OK)
Durum Sorgula
Mevcut bir kargonun anlık hareketlerini ve statüsünü getirir.
İstek Parametreleri
| Parametre | Konum | Tip | Açıklama |
|---|---|---|---|
| tracking_number | URL Path | string (Zorunlu) | Sorgulanacak kargonun takip numarası (Örn: DG2026123456) |
Not: Bu istek için gövdede (JSON Body) veri gönderilmez. Kimlik doğrulama başlıkları ve takip numarası yeterlidir.
cURL İstek Örneği
Başarılı Yanıt (200 OK)
Kargo Durum Kodları (current_status)
API yanıtı içerisindeki current_status alanı, kargonuzun o anki durumunu temsil eder ve aşağıdaki değerleri alabilir:
| Değer (code) | Türkçe Karşılığı | Detaylı Açıklama |
|---|---|---|
pending
|
Sipariş Alındı | Kargo yeni oluşturulmuştur, kurye ataması veya paket hazırlığı beklenmektedir. Sadece bu aşamada iptal edilebilir. |
package_prepared
|
Paket Hazırlandı | Gönderici firma paketi hazırladı, kurye teslim alacak. |
out_for_delivery
|
Dağıtıma Çıktı / Dağıtımda | Kurye gönderiyi teslim aldı, alıcıya teslim etmek üzere yola çıktı. |
delivered
|
Teslim Edildi | Kargo alıcıya başarıyla teslim edilmiştir. |
failed
|
Teslim Edilemedi | Adreste bulunamama vb. nedenlerle teslimat başarısız olmuştur. |
cancelled
|
İptal Edildi | Kargo isteği iptal edilmiştir. |
Canlı API Test Konsolu
Aşağıdaki interaktif paneli kullanarak Daigo API'sine canlı istekler gönderebilir ve dönen yanıtları inceleyebilirsiniz.