Doğrulama mantığı oluşturma

Bu belgede, Address Validation API'den gelen çeşitli yanıtları işlemek için adres kontrol sistemi oluşturma süreci açıklanmaktadır. Bu bölümde, yanıtı doğru şekilde kullanmak için mantığınızı nasıl oluşturacağınız, API'den gelen diğer sinyalleri nasıl inceleyeceğiniz ve müşterilerinizden ne zaman ve nasıl daha fazla bilgi isteyeceğiniz açıklanmaktadır.

Genel olarak API yanıtı, sisteminizin bir adresi nasıl işlemesi gerektiğini belirler:

  • Düzelt: Adres kalitesi düşük. Daha fazla bilgi istemeniz gerekir.
  • Onayla: Adres yüksek kaliteli ancak giriş adresinden farklı. Onay isteyebilirsiniz.
  • Kabul et: Adres yüksek kalitededir. Sağlanan adresi kabul edebilirsiniz.

Temel amaç

Bu doküman, API yanıtını en iyi şekilde analiz etmek ve sağlanan adreslerle yapılacak sonraki işlemleri belirlemek için sisteminizi değiştirmenize yardımcı olur. Aşağıdaki sözde kod, olası bir akışı göstermektedir.

if (the API response indicates significant problems in the address)
    FIX - prompt the user to fix the address
else if (the API response indicates less significant problems in the address)
    CONFIRM - confirm with the user that the address is correct
else
    ACCEPT - continue with the address returned by the API.

Tam mantık, durumunuza bağlıdır. Daha fazla bilgi için Uygulama kılavuzu'na bakın. Genişletilmiş Bileşen Kitaplığı'nda bulunan bu mantığın açık kaynaklı uygulamasını da kullanabilirsiniz.

İş akışına genel bakış

Aşağıdaki tabloda, sisteminiz için iki işlem özetlenmiştir:

  1. Düzeltme, onaylama ve kabul etme davranışına göre kullanılacak iş akışı.
  2. Yanıttan kontrol edilecek ilk sinyaller. Burada açıklanan sinyaller verdict mülkünden gelir ve kontrol edilmesi gereken tek sinyaller değildir ancak adres kalitesinin ilk göstergesini sağlar. Her davranış türü, bu belgede araştırmanız gerekebilecek diğer sinyalleri açıklayan bir bölüme karşılık gelir.
Sisteminizin davranışı
Adresi düzeltin

verdict tarafından verilen yanıt, sağlanması gereken önemli bilgilerin eksik olduğunu gösteriyor. API tarafından döndürülen adres, teslimat için uygun kalitede olmayabilir.

İş akışı

  1. Gerekirse adres bileşenlerini inceleyin.
  2. Müşteriden adres sorunlarını düzeltmesini isteyin.
  3. Güncellenen adres için doğrulama isteğinde bulunun.
  4. Adresle devam edin.

Karar sinyalleri

Aşağıdakilerden herhangi biri geçerliyse:

Adresi onaylayın

verdict tarafından verilen yanıt, teslimat yapılabilir bir adres olduğunu gösteriyor ancak orijinal girişte değişiklikler yapılmış: Yazım hatası düzeltilmiş veya doğrulanabilir veriler tahmin edilmiş.

İş akışı

  1. Gerekli düzeltmeler:
    1. Gerekirse adres bileşenlerini inceleyin.
    2. Güncellenen adres için doğrulama isteğinde bulunun.
    3. Adresle devam edin.
  2. Düzeltme gerekmiyor:
  3. Adresle devam edin.

Karar sinyalleri

Aşağıdakilerin tümü geçerlidir:

Adresi kabul etme

Address Validation API yanıtı, adresin mükemmel kalitede olduğunu gösterir.

İş akışı

Döndürülen adresle devam edin.

Karar sinyalleri

Aşağıdakilerin tümü geçerlidir:

Uygulama kılavuzu

Sisteminizin adres doğrulama sinyallerine nasıl yanıt vereceğini tasarlarken aşağıdaki öneriler daha etkili bir yanıt modeli oluşturmanıza yardımcı olabilir. Ancak bunlar yalnızca öneridir. Bu nedenle, uygulamanızın iş modelinize uygun olması gerektiğini unutmayın.

Yönergeler Ayrıntılar
Risk düzeyi

Düzeltme isteme ile adresi girildiği gibi kabul etme arasında denge kurarken durumunuzun tolerans düzeyini dikkate alın.

Address Validation API, doğrulama sürecinizi optimize etmek için risk düzeyinizle birleştirebileceğiniz çeşitli sinyaller döndürür.

Örneğin, bir adresin onaylanmamış bir sokak numarası varsa adresi yine de kabul edebilirsiniz. Öte yandan, işletme faaliyetiniz daha yüksek adres hassasiyeti gerektiriyorsa kullanıcıdan bu bilgiyi isteyebilirsiniz. Her iki kategoriye de girebilecek bir örnek için Adresi kabul etme - örnekler bölümündeki ABD dışı onaylanmamış bina numarası konusuna bakın.

Adresleri kabul etme

Müşteri istemlere yanıt vermezse sisteminizin orijinal girişi kabul etmesine izin vermek iyi bir uygulamadır.

Bu gibi durumlarda müşteri, sistemde olmayan bir adres (ör. yeni inşaat) girmiş olabilir.

Adres düzeltme

Sonuçlar, adresin teslimat için uygun olmadığını açıkça gösteriyorsa adresi düzeltin. Ardından sisteminiz, müşteriden gerekli bilgileri sağlamasını isteyebilir. Bu bilgileri aldıktan sonra, teslimat yapılabilir bir adres almak için iş akışınızı yeniden yayınlarsınız.

Sinyalleri düzeltme

Address Validation API, bir adresin düzeltilmesi gerekip gerekmediğini bildiren çeşitli sinyaller sağlar.

1. Doğrulama ayrıntı düzeyi ve eksik bileşenler

Bu iki sinyal, sorunlu bir adresin en iyi göstergesidir:

  • validationGranularity alanı OTHER olduğunda sisteminiz, hatanın nerede oluştuğu ve nasıl çözüleceği hakkında daha fazla bilgi edinmek için adres bileşeni sinyallerini incelemelidir.
  • İşlem sonrası address nesnesi bir missingComponentTypes alanı döndürdüğünde sisteminiz bu bileşeni kontrol etmelidir. Eksik bileşenler de adresin eksik ve teslim edilemez olmasına neden olur.

2. Diğer sinyaller

Address Validation API, belirli sorunları teşhis etmeye yardımcı olacak diğer sinyalleri de sağlar:

Şüpheli bileşenler Bir bileşenin onay düzeyi enum değeri UNCOMFIRMED_AND_SUSPICIOUS ise bileşen muhtemelen yanlıştır.
Çözümlenmemiş bileşen unresolvedToken, girişin adresin geçerli bir parçası olarak tanınmayan bir bölümüdür.

3. ABD adresi sinyalleri

Yalnızca ABD adresleri için geçerli olan belirli alanlar, adresin teslimat için uygun olmadığı ve düzeltilmesi gerektiği konusunda faydalı bir sinyal sağlar. Düzeltilmesi gereken bir adres için aşağıdakileri görmeniz gerekir:

dpvConfirmation N, D veya boş.

dpvConfirmation ile ilgili ayrıntılar için ABD adreslerini işleme başlıklı makaleyi inceleyin.

Adres örneklerini düzeltme

Adres onaylama

Address Validation API'nin, doğrulanmış bir adres oluşturmak için adres bileşenlerini tahmin ettiğini veya bu bileşenlerde değişiklik yaptığını belirten bir karar olduğunda adresi onaylarsınız. Bu gibi durumlarda, teslimat yapılabilir bir adresiniz vardır ancak sonuçta elde edilen adresin müşterinin istediği adres olduğundan daha fazla emin olmak istersiniz.

Müşteriye doğru istemi sağlamak için mantığınız, hizmet tarafından işaretlenen bileşenleri tanımlayarak API'nin bileşene hangi işlemi veya işareti uyguladığını (ör. inferred, replaced veya spellCorrected) belirler. Referanstaki AddressComponent bölümüne bakın.

Sinyalleri onaylama

Address Validation API, bir adresin onaylanması gerekip gerekmediğini bildiren çeşitli sinyaller sağlar.

1. Doğrulama ayrıntı düzeyi

ROUTE veya daha iyi bir validationGranularity kabul edilebilir ancak PREMISE veya SUBPREMISE daha güçlü bir teslim edilebilirlik sinyali sağlar.

2. Diğer sinyaller

Adres girişini müşteriyle birlikte onaylamaya karar verirken karar, hangi bileşenlerin inceleneceğini belirlemek için aşağıdakileri de sağlar:

Tahmin edilen veriler hasInferredComponents alanı true olduğunda API'nin diğer adres bileşenlerinden elde ettiği bilgileri doldurduğunu anlarsınız.
Değiştirilen veriler hasReplacedComponents alanı true olduğunda API, girilen verileri adresin geçerli olmasını sağlayacağını düşündüğü verilerle değiştirir.

3. ABD adresi sinyalleri

Yalnızca ABD adresleri için geçerli olan belirli alanlar, mantığınızın ayrıntıları müşteriyle onaylaması gerektiğini gösterir. Aşağıdakilerden biri geçerlidir:

dpvConfirmation S

dpvConfirmation ile ilgili ayrıntılar için ABD adreslerini işleme başlıklı makaleyi inceleyin.

Adres yanıtı subpremise değerine sahip missingComponentTypes alanını içerir.

Adres örneklerini onaylama

Adres kabul etme

Karar, adresin teslim edilebilir olduğuna ve sonraki süreçte daha fazla müşteri etkileşimi olmadan kullanılabileceğine dair yüksek düzeyde güven sağladığında adresi kabul edersiniz.

Sinyalleri kabul etme

Address Validation API, bir adresin onaylanması gerekip gerekmediğini bildiren çeşitli sinyaller sağlar.

1. Doğrulama ayrıntı düzeyi

PREMISE veya daha iyi bir validationGranularity kabul edilebilir ancak bazı durumlarda ROUTE, adresin teslimat yapılabilir olduğunu gösterir.

2. Diğer sinyaller

Yüksek kaliteli bir adres için verilen kararda aşağıdakiler de yer almalıdır:

  • Değiştirilen veri yok. Bu durumda hasReplacedComponents: FALSE.
  • Tahmini bileşen yok. Bu durumda hasInferredComponents: FALSE.

3. ABD adresi sinyalleri

Yalnızca ABD adresleri için geçerli olan belirli alanlar, teslimat yapılabilecek yüksek kaliteli bir adresi gösterir. Kabul edilebilir bir ABD adresi için aşağıdakileri görmeniz gerekir:

dpvConfirmation Y

dpvConfirmation ile ilgili ayrıntılar için ABD adreslerini işleme başlıklı makaleyi inceleyin.

Kabul edilen adres örnekleri