Entegrasyon

E-Pin Satış Sistemi Tedarikçi API Testi ve Sandbox: Canlıya Çıkmadan Önce Kimsenin Sana Anlatmadığı Test Protokolünü Açıklıyoruz

Tedarikçi API entegrasyonu canlıya çıkmadan nasıl test edilir? Sandbox, idempotency, zaman aşımı ve hata senaryoları için adım adım test protokolü.

E-Pin Satış Sistemi Tedarikçi API Testi ve Sandbox: Canlıya Çıkmadan Önce Kimsenin Sana Anlatmadığı Test Protokolünü Açıklıyoruz

Çoğu kişi tedarikçi entegrasyonunu şöyle bitirdiğini sanır: API anahtarını girdi, test siparişi geçti, kod geldi, tamam. Oysa bir entegrasyonun gerçek sınavı başarılı senaryoda değil, başarısız senaryoda verdiği tepkidir. Kod geldiğinde herkes mutludur; kod gelmediğinde sistemin ne yaptığı ise doğrudan senin kasandan ödenir.

Bu yüzden test etmek, birkaç deneme siparişi geçmek değil bir protokol yürütmektir. Hangi hata kodları var, zaman aşımında ne dönüyor, aynı referansla iki kez istek atınca ne oluyor, sandbox ile canlı davranış arasında hangi farklar var? Bu yazıda bir e-pin satış scripti devreye alınmadan önce yürütülmesi gereken test adımlarını, sandbox kullanımının sınırlarını ve canlı geçişte hangi kontrollerin kalıcı olarak açık kalması gerektiğini anlatıyorum.

12 senaryoMinimum test matrisindeki durum sayısı
%40Sadece mutlu yol test edilen entegrasyonların ilk ay hata oranı
1 referansIdempotency için gereken tek anahtar
3 aşamaSandbox - gölge mod - kademeli canlı

Sandbox neden canlının aynısı değildir?

Sandbox ortamı sana iki şeyi doğru öğretir: istek/yanıt formatı ve kimlik doğrulama akışı. Üçüncü bir şeyi ise neredeyse hiç öğretmez: gerçek yük altında davranış. Sandbox'ta yanıt süresi 200 milisaniyedir, canlıda kampanya saatinde 8 saniyeye çıkar. Sandbox'ta stok sonsuzdur, canlıda biter. Sandbox'ta hata kodları düzgün döner, canlıda bazen boş gövdeli 200 alırsın.

Bu yüzden sandbox testini bitiş çizgisi değil başlangıç çizgisi saymak gerekir. Sandbox'ta doğrulanacak şey kontrat uyumudur: alanlar doğru mu, imza doğru hesaplanıyor mu, para birimi ve ondalık biçimi bekleneni mi veriyor. Bu katman geçildikten sonra sıra gerçek davranışa gelir. İyi bir e-pin yazılımı her tedarikçi için ayrı ortam tanımı tutar; böylece sandbox anahtarıyla canlı anahtar asla aynı kutuya girmez.

Minimum test matrisi hangi senaryoları kapsar?

Test matrisi yazılı olmak zorundadır, çünkü akılda tutulan test listesi her zaman mutlu yola daralır. Aşağıdaki on iki senaryo, entegrasyon kaynaklı vakaların büyük kısmını canlıya çıkmadan yakalar. Her senaryo için beklenen davranışı önce sen yaz, sonra sistemin gerçekte ne yaptığına bak. İkisi arasındaki her fark bir hatadır, isterse sistem "çalışıyor" görünsün.

SenaryoNasıl tetiklenirBeklenen davranış
Başarılı siparişGeçerli ürün, yeterli bakiyeKod teslim, sipariş kapalı
Yetersiz bakiyeBakiyeyi sipariş altına düşürAlternatif tedarikçiye yönlendirme
Stok yokStoksuz ürün kodu gönderÜrünü geçici pasife al
Geçersiz ürün koduEşleşmeyen kod gönderEşleştirme hatası logu, sipariş bekletme
Zaman aşımıSüre sınırını 1 sn'ye indirDurum sorgusu, retry yok
Aynı referansla ikinci istekİsteği iki kez gönderTek teslimat, ikinci istek yok sayılır
Yanlış imza / anahtarAnahtarın son karakterini bozKritik alarm, tedarikçi kilitle
Boş gövdeli 200Yanıtı mock ile boşaltBaşarı sayılmaz, doğrulamaya düşer
Kısmi teslimat3 adetlik siparişte 2 kod dönEksik adet kuyruğa, müşteri bilgilendirme
Kur değişimiAlış kurunu %10 oynatMarj eşiği kontrolü devreye girer
İade / iptalTeslim sonrası iptal isteğiBakiye iadesi, kod geçersizleştirme
Eşzamanlı 20 siparişParalel istek gönderRezerve bakiye çalışır, çift kod yok

Idempotency testini atlarsan hangi fatura gelir?

Idempotency, aynı isteği iki kez göndermenin tek bir sonuç üretmesidir. Test edilmediğinde ortaya çıkan tablo şudur: müşteri ödeme sayfasında yenile tuşuna bastı, iki sipariş oluştu, iki kod tedarikçiden düştü, biri müşteriye gitti, diğeri kayıp. Zarar tedarikçi alış maliyeti kadardır ve bu tür kayıplar genellikle ay sonunda mutabakatta fark edilir.

Testi yapmak ise beş dakika sürer: aynı referans numarasıyla iki istek gönder, tedarikçinin ikincisine ne dediğine bak. Bazı tedarikçiler ikinci isteği reddeder, bazıları aynı kodu tekrar döner, bazıları yeni bir sipariş açar. Üçüncü davranışı gösteren tedarikçide referans kontrolünü kendi tarafında yapmak zorundasın. Dijital ürün satış yazılımı seçerken sorulacak net soru şudur: sipariş referansı tekilliği veritabanı seviyesinde mi garanti ediliyor, yoksa sadece uygulama kodunda mı?

Canlıya çıkış sonrası ilk ay hatalarının kaynağı

  • Test edilmemiş hata senaryoları 40%
  • Sandbox-canlı davranış farkı 30%
  • Idempotency eksikliği 20%
  • Yanlış ortam anahtarı 10%

Gölge mod nedir ve canlı riskini nasıl düşürür?

Sandbox ile canlı arasında çok az kişinin kullandığı bir ara aşama var: gölge mod. Burada gerçek siparişler mevcut çalışan akışla teslim edilmeye devam eder, ama yeni entegrasyon aynı isteği paralel olarak sadece doğrulama amaçlı çalıştırır ve sonucu loglar. Müşteriye hiçbir şey gitmez; sen ise gerçek trafikle yeni entegrasyonun nasıl davrandığını görürsün.

Gölge modun kazandırdığı şey istatistiktir. Bir hafta sonunda elinde gerçek yanıt süresi dağılımı, gerçek hata kodu frekansı ve gerçek stok sapması olur. Bu veriyle canlıya geçiş kararı tahmin değil ölçüm olur. Ardından kademeli açılış gelir: trafiğin %10'u, sonra %30'u, sonra tamamı. Bir epin yazılım altyapısında yönlendirme ağırlıkları panelden ayarlanabiliyorsa bu kademeli geçiş tek bir alan değiştirilerek yapılabilir.

Canlıya geçtikten sonra hangi testler kapanmaz?

Entegrasyon testi bir kerelik iş değildir; tedarikçi habersiz değişiklik yapar, alan adı taşır, hata kodu ekler. Bu yüzden bazı testler canlıda sürekli açık kalmalı. En önemlisi sağlık yoklaması: düzenli aralıkla minimum tutarlı bir sorgu isteği atıp yanıt süresini ve dönen yapıyı kaydetmek. İkincisi kontrat doğrulama: beklenen alanlar yanıtta hâlâ var mı, tip değişmiş mi.

Üçüncüsü sessiz bozulma kontrolü: başarı oranı düşmediği halde ortalama teslim süresi yükseliyorsa bu bir uyarıdır. Dördüncüsü ise ortam ayrımı kontrolü; canlı ortamda sandbox anahtarıyla yapılmış tek bir istek bile kataloğunda hayali stok yaratabilir. Bu dört kontrol açıksa entegrasyon bozulduğunda bunu müşteriden değil sistemden öğrenirsin.

Sürekli kontrolSıklıkAlarm koşuluDurum
Sağlık yoklaması (bakiye/stok sorgusu)5 dakika3 üst üste hataZorunlu
Kontrat doğrulama (alan/tip)GünlükBeklenen alan eksikZorunlu
Teslim süresi eğilimiSaatlikOrtalama 2 katına çıkmasıÖnerilir
Ortam anahtarı ayrımıHer dağıtımdaCanlıda test anahtarıZorunlu
Idempotency örneklemesiHaftalıkÇift kayıt tespitiÖnerilir
Test siparişlerini ayrı etiketle

Test kayıtlarını normal siparişlerle aynı havuzda bırakmak, ciro ve marj raporlarını kalıcı olarak bozar. Her test siparişine ayrı bir kaynak etiketi ver ve raporlarda varsayılan olarak dışla; ama silme, çünkü hata analizinde en çok o kayıtlara bakacaksın.

Entegrasyonu tahminle değil protokolle aç

Pinova; tedarikçi başına ortam ayrımı, referans tekilliği, sağlık yoklaması ve yönlendirme ağırlıklarıyla kademeli canlı geçişi standart hale getirir.

Tedarikçi sandbox vermiyorsa nasıl test edilir?

Bu durumda en küçük tutarlı gerçek ürünle canlı üzerinde sınırlı test yapılır ve hata senaryoları yerel mock ile simüle edilir. Mock, tedarikçinin dokümandaki hata kodlarını birebir döndürecek şekilde kurulmalıdır.

Kaç test siparişi yeterlidir?

Sayı değil kapsam belirleyicidir. On iki senaryonun her biri en az bir kez çalıştırılmışsa yeterlidir; aynı mutlu yolu elli kez denemek hiçbir yeni bilgi vermez.

Zaman aşımı süresi kaç saniye olmalı?

Tedarikçinin gerçek yanıt süresi dağılımına bakılır ve üst dilimin biraz üstü seçilir; çoğu tedarikçide 10-15 saniye makuldür. Çok kısa süre gereksiz failover, çok uzun süre bekleyen müşteri üretir.

Gölge mod canlı bakiyeyi harcar mı?

Doğru kurulduğunda harcamaz, çünkü gölge modda yalnızca sorgu ve doğrulama çağrıları yapılır; satın alma isteği gönderilmez. Satın alma da denenecekse bu ayrı ve bütçesi sınırlı bir test turudur.

Test matrisini kâğıt üzerinde görmek bir başlangıç; hangi senaryonun panelde hangi ekrana düştüğünü görmek işi bitirir. Sipariş logu, hata kodu geçmişi ve tedarikçi sağlık göstergesinin gerçek görünümü için canlı demo üzerinden entegrasyon ekranlarını incele, sonra kendi tedarikçi listen için bu on iki senaryoyu tek tek işaretle.

Daha Fazlasını Keşfedin

Dijital ürün satışı ve otomasyon üzerine güncel rehberlere göz atın.

Tüm Yazıları Gör →
Bu yazıyı paylaşın
Bu yazıyı beğendiniz mi?
Teşekkürler!
← Tüm yazılar