Büyük Sipariş Listelerinin Alınması
Trendyol, yüksek hacimli sipariş taraması ve düzenli eşitleme için getShipmentPackagesStream servisini tanımlar. Bu serviste ilerleme sayfa numarası artırılarak yapılmaz; yanıttaki nextCursor değeri kullanılır. Klasik liste ekranına göre yazılmış bir uygulama totalPages alanını beklemeye devam ederse aktarımı erken bitirebilir. Servisin veri alanları benzer olsa da ilerleme mantığının değişmesi önemlidir. İşletme açısından görünen sonuç, bazı siparişlerin hiç aktarılmaması veya aynı kayıtların tekrar işlenmesidir. Sorunun teşhisinde ilk kontrol, entegrasyonun hangi servis ve hangi ilerleme yöntemiyle çalıştığı olmalıdır.
Cursor Değeri Nasıl Ele Alınır?
Cursor, servisin ürettiği ve kaldığı yeri tanımlayan bir değerdir. Uygulama bunu çözümlemeye, kısaltmaya veya kendisi üretmeye çalışmamalıdır. Aynı taramada filtreler korunur; filtre değiştirilecekse yeni tarama başlatılır. Aksi hâlde istek reddedilebilir veya uygulamanın tuttuğu ilerleme kaydı anlamını yitirir. İşlenmiş kayıtlar kalıcı olarak saklandıktan sonra devam bilgisi kaydedilmelidir. Cursor önce güncellenir, siparişler henüz kaydedilmeden uygulama kapanırsa bir sonraki çalıştırmada aradaki kayıtlar atlanabilir. Bu nedenle aktarım ilerlemesi ile veri kaydının tamamlanması birlikte düşünülür.
Tarih Penceresi ve Erişim Kapsamı
Stream servisi belirli bir geçmiş dönem ve sorgu başına sınırlı tarih aralığı sunar. Tek isteğin işletmenin bütün sipariş geçmişini getirdiği varsayılmamalıdır. lastModifiedStartDate ve lastModifiedEndDate alanları oluşturulma tarihinden farklı olarak son değişikliklere odaklanır. Örneğin daha önce açılmış bir siparişin teslimat durumu değiştiğinde yeniden alınması gerekebilir. Tarih sınırlarını ardışık küçük pencerelerle planlamak ve sınırdaki tekrarları ayırt etmek, eksik aktarım riskini azaltır. API'nin erişim sınırı dışındaki eski kayıtların işletmenin kendi arşivinde korunması ayrı bir veri yönetimi gereksinimidir.
Aktarımın Bittiği Nasıl Anlaşılır?
İlerleme hasMore ve nextCursor alanlarıyla değerlendirilir. Gelen grubun beklenenden az kayıt içermesi tek başına bitiş ölçütü yapılmamalıdır. Uygulama, servisin bildirdiği devam durumunu izler ve aynı filtre kapsamını korur. Ağ hatasında bütün taramayı kontrolsüz yeniden başlatmak yerine son güvenilir kayıt noktasından ilerlemek gerekir. Bununla birlikte eski devam bilgisinin geçerli olduğu da doğrulanmalıdır. Her grupta okunan, yeni eklenen ve mevcut kaydı güncellenen paket sayılarının ayrı tutulması, tekrar işlemleri görünür kılar. Çok sık sorgulama yerine servis kullanım sınırlarına uygun aralıklar tercih edilir.
Webhook ile Birlikte Kullanım
Webhook anlık bildirim sağlarken düzenli sorgulama kesintilerde kaçırılan değişiklikleri tamamlamak için kullanılabilir. İki kanaldan gelen aynı paket ikinci bir sipariş oluşturmamalıdır. Kayıt güncellemesi, paket kimliği ve verinin güncelliğini dikkate almalıdır. Kurgusal bir mağazada webhook teslimat bilgisini işlemişken eski sorgu yanıtı sonradan gelirse güncel durum yanlışlıkla geriye alınmamalıdır. Son kontrol, yalnızca toplam sipariş adedini karşılaştırmakla sınırlı kalmaz; örnek paketlerin son durumları da eşleşmelidir. Böylece aktarımın tamamlanması hem kayıt kapsamı hem de güncel operasyon bilgisi açısından doğrulanır.
Bu Yazıdaki Terimler 1 Kavram
Kısa açıklamaları burada okuyabilir, ayrıntılar için sözlüğe geçebilirsiniz.
- API
- API (Application Programming Interface), farklı yazılımların birbirleriyle veri alışverişi yapmasını sağlayan bağlantı yöntemidir.
Bu Konuda Nasıl Destek Oluyoruz?
AdPix’in bu alandaki hizmet kapsamını ve çalışma sürecini inceleyin.
Trendyol