Bu rehberde ele alınan temel konular
  • Test ve canlı kargo hesaplarını, müşteri kodlarını ve yetkileri ayrı yönetin.
  • Gönderi oluşturmada sipariş numarasından türetilen tekil referans kullanın.
  • PDF ve ZPL etiketleri yazıcı türüne göre üretin; barkod sonucunu kayıt altına alın.
  • Takip durumlarını webhook ve periyodik sorguyla yerel sipariş durumlarına eşleyin.

Kargo firmalarıyla API entegrasyonu nasıl çalışır?

Kargo API entegrasyonu, hazır siparişin alıcı ve paket bilgilerini kargo firmasına iletir; karşılığında gönderi/barkod numarası ve etiket alır. Gönderi hareketleri daha sonra API veya webhook yoluyla sisteme döner ve sipariş hazırlanıyor, kargoya verildi, dağıtımda, teslim edildi ya da iade gibi durumlara güncellenir.

Her kargo firmasının servis adı ve veri biçimi farklı olabilir. Bu nedenle uygulamanın içinde ortak bir kargo modeli, firma bazında ise ayrı adaptörler bulunmalıdır.

Sözleşme ve API bilgileri

API entegrasyonu yapılabilmesi için çoğu kargo firmasında kurumsal müşteri sözleşmesi, müşteri kodu ve web servis yetkisi gerekir. Test ortamı ile canlı ortamın kullanıcı adı, şifre, token, müşteri kodu ve endpoint bilgileri birbirinden ayrı tutulmalıdır.

  • Kargo sözleşmesindeki gönderici müşteri kodunu doğrulayın.
  • Test ve canlı servis adreslerini ayırın.
  • Çıkış IP yetkilendirmesi gerekiyorsa sunucu IP’sini bildirin.
  • Etiket, takip, iptal ve iade servislerinin yetkilerini ayrı kontrol edin.
  • Şifre ve tokenları yönetim ekranında maskeli ve şifreli saklayın.
  • Sözleşme değiştiğinde servis kodlarını güncelleyin.

Ortak gönderi veri modeli oluşturun

Uygulama her kargo firmasının alanlarını doğrudan sipariş tablosuna eklerse bakım zorlaşır. Önce ortak bir gönderi modeli tanımlanmalı, adaptör her firmaya uygun isteği üretmelidir.

Ortak alanAçıklamaKontrol
shipment_referenceİşletme içi tekil gönderi referansıAynı siparişte mükerrer olmamalı
order_idYerel sipariş bağlantısıKısmi gönderide birden fazla olabilir
carrier_code/service_codeKargo ve hizmet türüSözleşmedeki kodlarla eşleşmeli
recipientAd, telefon, adres, il ve ilçeZorunlu alanlar normalize edilmeli
packageAdet, desi, ağırlık ve içerikOndalık ve birim kuralları sabitlenmeli
tracking_codeKargo takip numarasıKanal ve müşteri bildiriminde kullanılmalı
labelPDF, PNG veya ZPL etiketFormat ve yazıcı uyumu kontrol edilmeli

Adres, desi ve paket doğrulaması

Gönderi oluşturma hatalarının önemli bölümü adres ve paket verisinden kaynaklanır. İl ve ilçe yalnızca serbest metin olarak gönderilmemeli; kargo firmasının kod listesi veya normalize edilmiş şehir/ilçe tablosuyla eşleştirilmelidir.

Adres için temel kontroller

  • Alıcı adı ve telefon numarası boş olmamalı.
  • Ülke, il, ilçe ve posta kodu ayrı alanlarda tutulmalı.
  • Telefon ülke kodu ve baştaki sıfır kuralları normalize edilmeli.
  • Çok uzun adres satırları firmanın alan limitine göre bölünmeli.
  • Yasaklı karakterler veya emoji temizlenmeli.

Paket için temel kontroller

Desi ve ağırlık ürün kartından, ambalaj tipinden veya paketleme ekranından hesaplanabilir. Bir sipariş birden fazla koliye ayrılıyorsa her koli ayrı paket kaydı ve etiket üretmelidir.

Gönderi oluşturma isteği

  1. Siparişin kargoya hazır olup olmadığı kontrol edilir.
  2. Adres ve paket alanları doğrulanır.
  3. Siparişten türetilen tekil gönderi referansı oluşturulur.
  4. Kargo adaptörü firma isteğini hazırlar.
  5. İstek güvenli bağlantıyla gönderilir.
  6. Dönen takip numarası ve gönderi kimliği kaydedilir.
  7. Etiket isteği ayrı veya aynı akışta çalıştırılır.

Ağ zaman aşımında aynı gönderinin iki kez açılmaması için kargo referansı tekil olmalı ve tekrar denemeden önce firma tarafında referans sorgulanmalıdır. API destekliyorsa idempotency anahtarı kullanılmalıdır.

PDF ve ZPL etiket farkı

PDF etiket A4 veya standart belge yazıcılarında kolay görüntülenir. ZPL ise Zebra uyumlu termal yazıcılarda doğrudan baskı için kullanılır. ZPL metnini tarayıcıya resim gibi vermek veya PDF’yi termal yazıcıya yanlış ölçekte göndermek okunmayan barkodlara yol açabilir.

PDFÖn izleme ve genel yazıcılar için uygundur.
ZPLTermal yazıcıya ham komut olarak gönderilir.
Çoklu koliHer koli için ayrı etiket ve paket sıra numarası gerekir.
Yeniden baskıYeni gönderi açmadan mevcut etiket tekrar basılmalıdır.

Trendyol’un ortak etiket servislerinde barkod ZPL biçiminde dönebilir ve çoklu koliler için birden fazla etiket üretilebilir. Ortak etiket belgesi bu akışın paket bazında izlenmesi gerektiğini gösterir.

Takip durumları ve webhook

Kargo durumları her firmada farklı kodlarla döner. Uygulama bu kodları ortak sipariş durumlarına eşlemelidir; ham durum ve açıklama da ayrıca saklanmalıdır.

Kargo olayıYerel durumOtomatik işlem
Gönderi kaydı oluşturulduEtiket hazırPaketleme ekranında barkodu aç
Şubede kabul edildiKargoya verildiMüşteriye takip bilgisi gönder
Dağıtıma çıktıDağıtımdaİsteğe bağlı bildirim
Teslim edildiTeslim edildiSiparişi kapat ve teslim zamanını kaydet
Teslim edilemedi/iadeSorunlu veya iadeOperasyon görevini aç

Webhook sunan servislerde olaylar HTTPS adresine gönderilir. Webhook hızlıca 2xx cevap vermeli, ağır işlemler kuyruğa alınmalı ve olay kimliği tekilleştirilmelidir. EasyPost’un resmî webhook rehberi başarısız teslimatların tekrar gönderilebildiğini açıklar. Yine de kaçan olayları bulmak için periyodik takip sorgusu yapılmalıdır.

UPS geliştirici portalı da gönderi etiketi ve takip servislerini ayrı API grupları olarak sunar. UPS Shipping API ileri ve iade etiketleri; takip API’si ise gönderi durumlarını yönetir.

İptal ve iade gönderisi

Etiket basılmış fakat kargo firmasına teslim edilmemiş gönderi API üzerinden iptal edilebilir. Firmaya fiziksel teslim yapıldıktan sonra iptal yerine farklı operasyon gerekebilir. Durum sorgulanmadan “iptal edildi” işareti verilmemelidir.

İade gönderisinde gönderici ve alıcı yönü tersine döner, farklı sözleşme veya hizmet kodu kullanılabilir. Müşteriye gönderilen iade kodu ile kargo firmasındaki iade gönderi kimliği birlikte saklanmalıdır.

Birden fazla kargo firmasını tek panelde yönetme

Ortak adaptör arayüzü; gönderi oluştur, etiket al, takip et, iptal et ve iade oluştur işlemlerini standartlaştırır. Her firma kendi kimlik doğrulaması ve alan eşlemesiyle bu arayüzü uygular.

  • İl/ilçe ve desiye göre otomatik kargo seçimi
  • Pazaryeri anlaşması ile işletme anlaşmasını ayırma
  • Şube, depo veya mağaza bazında gönderici hesabı
  • Kargo kesinti durumunda alternatif firma yönlendirmesi
  • Kanal bazlı etiket ve takip numarası geri yazma

Güvenlik ve hata yönetimi

  • API şifrelerini şifreli saklayın ve günlüklerde göstermeyin.
  • Webhook imzası veya kaynak doğrulamasını uygulayın.
  • Aynı gönderi referansını ikinci kez oluşturmayı engelleyin.
  • 4xx doğrulama hatalarıyla 5xx geçici hataları ayırın.
  • Etiket verisini sınırlı erişimle saklayın.
  • Her tekrar denemeyi ve kullanıcı müdahalesini kayıt altına alın.

Yaygın sorunlar ve çözüm yönü

BelirtiMuhtemel nedenKontrol
Gönderi oluşmuyorAdres, ilçe kodu veya müşteri yetkisi hatalıFirma cevabı ve gönderilen alanlar
Aynı siparişe iki takip numarasıZaman aşımı sonrası kör tekrarTekil referans ve firma tarafı sorgu
Barkod yazıcıdan boş çıkıyorZPL/PDF formatı yanlış işleniyorEtiket formatı, DPI ve yazıcı sürücüsü
Teslim edildi bilgisi panele gelmiyorWebhook veya durum eşlemesi eksikOlay günlükleri ve periyodik takip işi
İade kodu çalışmıyorYanlış hesap/hizmet kodu veya süreİade sözleşmesi ve firma yanıtı

Ne zaman teknik destek gerekir?

Birden fazla kargo firması ve depo kullanılacaksa, termal yazıcıya otomatik baskı gerekiyorsa, pazaryeri anlaşmaları ile işletme anlaşmaları karışıyorsa, takip durumları siparişe dönmüyorsa veya mükerrer gönderi oluşuyorsa adaptör, kuyruk ve kimlik modeli birlikte incelenmelidir.

Sık sorulan sorular

Kargo API bilgilerini nereden alırım?

Genellikle sözleşmeli olduğunuz kargo firmasının kurumsal müşteri temsilcisi veya entegrasyon birimi sağlar. Test ve canlı bilgiler ayrı olabilir.

Etiket tarayıcıdan otomatik yazdırılabilir mi?

Standart tarayıcı güvenlik nedeniyle yazdırma penceresi gösterebilir. Kiosk, yerel yazdırma uygulaması veya kontrollü termal yazıcı köprüsü gerekebilir.

Webhook yoksa takip yapılamaz mı?

Yapılabilir. Takip API’si belirli aralıklarla sorgulanır; ancak yüksek hacimde webhook daha hızlı ve verimli olabilir.

Kargo barkodu ve takip süreçlerini otomatikleştirin

Siparişten gönderi oluşturmaya, termal etiketten teslimat takibine kadar kargo firmalarını tek panelde yöneten entegrasyonu kuralım.

Kargo API Entegrasyonu İçin Teklif Alın