Daigo

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.

Authorization: Bearer YOUR_API_SECRET X-API-Key: YOUR_API_KEY

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

POST /api/v1/shipments.php

Yeni bir kargo gönderisi oluşturur ve takip numarası ile barkod döner.

cURL İstek Örneği

curl -X POST "https://daigo.com.tr/api/v1/shipments.php" \ -H "X-API-Key: daigo_api_keyiniz" \ -H "Authorization: Bearer api_secretiniz" \ -H "Content-Type: application/json" \ -d '{ "order_id": "ORD-2026-9912", "recipient": { "name": "Ahmet Yılmaz", "email": "ahmet@mail.com", "phone": "+905320000000", "address": "Levent Mah. Menekşe Sok. No:5 Beşiktaş/İstanbul", "city": "İstanbul", "district": "Beşiktaş" }, "package": { "desi": 2.5, "type": "box", "content": "Elektronik Eşya" } }'

İstek Gövdesi Örneği (JSON)

{ "api_key": "daigo_8f72a...", "api_secret": "4ad76c...", "order_id": "ORD-2026-9912", "recipient": { "name": "Ahmet Yılmaz", "email": "ahmet@mail.com", "phone": "+905320000000", "address": "Levent Mah. Menekşe Sok. No:5 Beşiktaş/İstanbul", "city": "İstanbul", "district": "Beşiktaş" }, "package": { "desi": 2.5, "type": "box", "content": "Elektronik Eşya" } }

İ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)
↳ email 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)

{ "status": "success", "data": { "tracking_number": "DG987654321", "barcode_url": "https://daigo.com.tr/barkod-yazdir.php?id=125&token=8a3f7d2e...", "estimated_delivery": "2026-06-18T16:00:00Z" } }

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)
Arnavutköy Avcılar Bağcılar Bahçelievler Bakırköy Başakşehir Bayrampaşa Beşiktaş Beylikdüzü Beyoğlu Büyükçekmece Esenler Esenyurt Eyüpsultan Fatih Gaziosmanpaşa Güngören Kağıthane Küçükçekmece Sarıyer Sultangazi Şişli Zeytinburnu
Anadolu Yakası (9 İlçe)
Ataşehir Kadıköy Kartal Maltepe Pendik Sancaktepe Sultanbeyli Ümraniye Üsküdar

Gönderi İptal Et

DELETE /api/v1/shipments.php/{tracking_number}

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

curl -X DELETE "https://daigo.com.tr/api/v1/shipments.php/DG2026123456" \ -H "X-API-Key: daigo_api_keyiniz" \ -H "Authorization: Bearer api_secretiniz" \ -H "Content-Type: application/json"

Başarılı Yanıt (200 OK)

{ "status": "success", "message": "Gönderi başarıyla iptal edildi." }

Durum Sorgula

GET /api/v1/shipments.php/{tracking_number}/status

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

curl -X GET "https://daigo.com.tr/api/v1/shipments.php/DG2026123456/status" \ -H "X-API-Key: daigo_api_keyiniz" \ -H "Authorization: Bearer api_secretiniz" \ -H "Content-Type: application/json"

Başarılı Yanıt (200 OK)

{ "status": "success", "data": { "tracking_number": "DG2026253259", "barcode_url": "https://daigo.com.tr/barkod-yazdir.php?id=125&token=8a3f7d2e...", "current_status": "pending", "status_text": "Gönderi bilgileri sistemimize başarıyla iletildi.", "recipient": { "name": "Ahmet Yılmaz (Entegrasyon Test)", "phone": "+905320000000", "email": "ahmet@mail.com", "address": "Levent Mah. Menekşe Sok. No:5 Beşiktaş/İstanbul", "city": "İstanbul", "district": "Beşiktaş" }, "package": { "desi": 2.5, "parcel_count": 1, "price": 450 }, "order_id": "ORD-38518", "departure_date": "2026-07-09", "created_at": "2026-07-09T10:55:41Z", "updated_at": "2026-07-09T10:55:41Z" } }

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.

Canlı İstek Paneli api/v1/shipments.php
Oluşturulacak kargoya ait alıcı ve paket bilgileri. Burayı dilediğiniz gibi düzenleyebilirsiniz.
// API Key ve Secret girip bir işlem çalıştırdığınızda istek ve yanıt detayları burada görüntülenecektir.