Ana içeriğe atla
Entegrasyonlar her şeyin yolunda gittiği senaryoya göre değerlendirilmez. Bir kargo şirketinin sistemi çöktüğünde, bir anahtarın süresi dolduğunda ya da bir adres koordinata dönüştürülemediğinde ne yaptıklarına göre değerlendirilir.

Hatalar nasıl gelir?

Üç farklı hata biçimi vardır ve her biri farklı bir müdahale gerektirir.
Asıl can yakan üçüncü biçimdirBir kargo şirketinin rezervasyonu reddetmesi bir OTO hatası değildir; bu yüzden her zaman HTTP hatası olarak gelmez. Gönderi basitçe oluşmaz ve sipariş yerinde sayar.shipmentError webhook’u tam da bunun içindir: Bir errorCode, OTO’nun kendi errorMessage değerini ve deliveryCompanyResponse alanında kargo şirketinin ham ifadesini içerir; bu genellikle eksik bir şehir ya da posta kodu gibi küçük ve düzeltilebilir bir şeydir. Bu webhook olmadan, bir müşteri sorana kadar kimse durumdan haberdar olmaz.

Güvenli yeniden deneme

  • Oluşturma isteklerini asla körü körüne yeniden denemeyin. createOrder ve createShipment durumu değiştirir. Bir çağrı zaman aşımına uğrarsa, yeniden göndermeden önce nesnenin oluşup oluşmadığını kontrol edin; orderDetails çağrısı, mükerrer bir gönderiden çok daha ucuzdur.
  • Bekleme süresini üstel olarak artırın. Zorlanan bir servise sık aralıklarla yeniden deneme göndermek durumu kötüleştirir ve size hiçbir şey kazandırmaz.
  • Deneme sayısını sınırlayın, sonra eskalasyon yapın. Beş kez başarısız olmuş bir siparişin altıncı denemeye değil, bir insana ihtiyacı vardır.
  • Başarısız istekleri saklayın. Hiç başarıya ulaşmamış isteklerin tutulduğu bir “dead-letter” tablosu, örüntüyü bulmanızı sağlar: tek bir kargo şirketi, tek bir şehir, ağırlığı girilmemiş tek bir ürün.

Belirtecin süresinin dolması bir hata durumu değildir

Erişim belirteçleri bir saat geçerlidir; dolayısıyla uzun süre çalışan bir entegrasyon rutin olarak 401 yanıtıyla karşılaşacaktır. Bunu bir arıza değil, bir sinyal olarak ele alın: Belirteci yenileyin ve isteği bir kez tekrarlayın. Yalnızca yenileme işleminin kendisi başarısız olursa uyarı oluşturun; çünkü bu, kimlik bilgisinin eski değil, yanlış olduğu anlamına gelir.

İstek sınırları

Bir entegrasyonu sıkıntıya sokan şey sürekli sorgulamadır; genellikle değişmemiş sipariş durumlarını soran bir döngü. Bir webhook bu döngüyü tamamen ortadan kaldırır ve asıl çözüm budur. Sorgulama yapmak zorundaysanız, dar kapsamlı sorgulayın: Her şeyi çekip karşılaştırmak yerine tarihe ve duruma göre filtreleyin.

Durum ve hata kodu başvuru kaynağı

Sipariş durumlarının ve platform hata kodlarının tam listesi apis.tryoto.com adresinde, List Of Statuses ve Error Codes başlıkları altında tutulur. Her ikisi de uç noktalarla birlikte üretildiği için API’nin gerçekte döndürdüğü değerlerle uyumlu kalır.
Durumları bir kez ve tek bir yerde eşleştirinSisteminiz ile OTO aynı terimleri kullanmayacaktır; bu dönüşüm, kodun içine dağılmış metin karşılaştırmaları yerine tek bir eşleştirme tablosunda yer almalıdır.Yeni bir durum ortaya çıktığında yalnızca bir tablo değişir. Alternatifi, delivered kontrolü yapan yedi farklı yeri bulmaktır.

İlgili sayfalar