Tamamlandı, çözümsüz ve yenileme durumlarından geçen kayıt kontrolü kayıtları
Sonuç yaşam döngüsü boyunca tamamlanmış gözlemleri ve çözümsüz denemeleri birbirinden ayrı tutun.

Kayıt durumu kalıcı bir etiket değil, bir gözlemdir

Tamamlanmış bir WhatsApp kayıt kontrolü, tek bir E.164 numarasının kaydedilen kontrol zamanında kayıtlı olarak bildirilip bildirilmediğini yanıtlar.

Sonuç hemen işe yarayabilir, ancak phone.is_valid gibi ebedî bir özellik olarak saklanmamalıdır. Telefon numaraları ve platform kayıtları değişebilir; sonradan yaşanan teknik bir hata da daha önce tamamlanmış bir sonucu tersine çevirmez. Bu nedenle kalıcı bir model hem kararı hem de o kararı üreten bağlamı kaydeder.

WA Lookup kayıt bilgilerini senkron olarak döndürür. Bu, gözlemin uygulamanın onu aldığı tam noktada kaydedilmesini kolaylaştırır. Aynı model yine de tamamlanmış bir kontrolü, hiçbir zaman kayıt kararı üretmemiş bir istekten ayırmalıdır.

Asgari kullanışlı sonuç kaydı

Alan Örnek Neden önemli?
source_phone Gönderilen orijinal metin Kaynağı değiştirmeden düzeltme ve denetimi destekler
e164_phone +17253100591 Gerçekte kontrol edilen normalize değeri tanımlar
service_type ws Sonuç sözleşmesini tanımlar
outcome completed Uygulamanızın tamamlanmış sonuç veya başarısız istek sınıflandırması
registered true veya false Tamamlanmış kayıt sonucunu saklar
received_at Uygulama zaman damgası Senkron yanıtın ne zaman geldiğini kaydeder
api_code 0 Dış API sonucunu kayıt gözleminden ayrı tutar

registered alanını yalnızca tamamlanmış bir karar için doldurun. Uygulamanın bir hata geçmişine ihtiyacı olduğunda HTTP durumunu ve API kodunu ayrı olarak günlüğe kaydedin; bu yanıtları başka bir kayıt değerine dönüştürmeyin.

Üç yanıt biçimini doğru saklayın

Belgelenmiş sözleşmede iki tamamlanmış sonuç biçimi ve bir ayrı hata biçimi vardır:

  1. Tamamlanmış kayıtlı sonucu — code=0 ve data.registered=true.
  2. Tamamlanmış kayıtlı değil sonucu — code=0 ve data.registered=false.
  3. Karar yok — sıfırdan farklı bir API kodu; saklanacak bir registered değeri yoktur.

Geçersiz girdi, yetersiz bakiye, eşzamanlılık limitleri, zaman aşımları, bakım ve dahili hatalar sıfırdan farklı API kodları kullanır. Bunlar WhatsApp kayıt sonucunun değerleri değil, istek hatalarıdır.

Yeni bir kontrol çalıştığında geçmişi koruyun

Uygulamanın daha yeni bir duruma ihtiyacı varsa yeni bir gözlem ekleyin veya mevcut kaydı sürümleyin. Eski checked_at değerinin üzerine yazıp sonucunu korumayın; bir yenileme başarısız oldu diye son tamamlanmış değeri false ile değiştirmeyin.

Basit bir güncel durum görünümü en yeni tamamlanmış gözlemi seçebilirken alttaki tablo her denemeyi saklar. Bu, uygulamaya varsa güncel bir yanıt verir ve daha yeni bir denemenin çözümsüz kalıp kalmadığını da görünür kılar.

Durum En son tamamlanmış sonuç Ayrı istek günlüğü
İlk kontrol true olarak tamamlanır T1'de alınan true T1'de başarı
Sonraki API isteği hata döndürür T1'de alınan true T2'de HTTP/API hatası
Sonraki kontrol false olarak tamamlanır T3'te alınan false T3'te başarı

Yenileme zamanlamasını iş kararına göre seçin

Bir kayıt sonucu için evrensel bir geçerlilik süresi yoktur. Uygun güncellik aralığı, çevredeki iş akışının ne kadar gecikmeye tahammül edebildiğine bağlıdır. Talep üzerine yapılan bir kullanıcı işlemi yeni bir senkron kontrol gerektirebilirken analitik bir rapor, yaşı görünür olduğu sürece daha eski bir zaman damgasını kabul edebilir.

Kuralı açıkça tanımlayın:

  • iş akışının kabul ettiği azami sonuç yaşı;
  • hangi sıfırdan farklı API yanıtlarının daha sonraki bir çağrıyı tetiklemesi gerektiği;
  • çağıran tarafın hangi API hatalarından sonra yeniden göndermeyi seçtiği;
  • eşzamanlılık limitlerine ve zaman aşımlarına nasıl uyulduğu;
  • zaman damgalarının operatörlere nasıl gösterildiği.

Önemli olan, eski bir veritabanı değerini gerçek zamanlı diye pazarlamamaktır. WA Lookup çağrıldığında senkron ve güncel bir gözlem sağlar; ne zaman yeniden çağrılması gerektiğine entegrasyonu yapan uygulama karar verir.

Güvenilir saklama ilkesi

Kayıt kanıtlarını zaman damgalı gözlemler olarak, operasyonel denemeleri ise kendi durumları olarak saklayın.

Bu yaklaşım registered=false değerini anlamlı tutar, yeniden denemeleri daha güvenli hâle getirir ve her arayüzün gösterdiği durumun tam olarak ne zaman kontrol edildiğini belirtmesini sağlar. Aynı zamanda ürün sınırıyla da örtüşür: WA Lookup kayıt kontrolü sonuçlarını sağlar; saklama, yenileme politikası ve sonraki kararlar ise müşteri sistemine aittir.

Kaynaklar