Bu dokümanda, Address Validation API'den gelen çeşitli yanıtları işlemek için bir adres kontrol sistemi oluşturma süreci açıklanmaktadır. Müşterilerinizden ne zaman ve nasıl daha fazla bilgi isteyeceklerini belirlemek için API yanıtının nasıl yorumlanacağını içerir.
API yanıtı, genel olarak sisteminizin bir adresi işleme şeklini belirler:
Müşterinizden daha fazla bilgi isteyebilirsiniz.
Düzelt: Adres önemli sorunlar içerebilir.
Müşterinizden birim numarası eklemesini isteyebilirsiniz.
Alt tesis ekleyin: Adreste alt tesis eksik olabilir.
Müşterinizden adresi doğrulamasını isteyebilirsiniz.
Onayla: Adreste küçük sorunlar olabilir.
İstekte bulunmadan, kendi sorumluluğunuzda olmak üzere adresi kullanmayı düşünün.
Kabul et: Adreste sorun olmayabilir.
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 (verdict.possibleNextAction == FIX)
Prompt the user to fix the address.
else if (verdict.possibleNextAction == CONFIRM_ADD_SUBPREMISES)
Prompt the user to add a unit number.
else if (verdict.possibleNextAction == CONFIRM)
Confirm with the user that the address is correct.
else
Continue with the address returned by the API.
Tam mantık durumunuza bağlıdır. Daha fazla bilgi için Doğrulama mantığınızı özelleştirme bölümüne bakın.
Olası iş akışları
Aşağıdaki tabloda, API yanıtına göre müşterinize istemde bulunmak için uygulayabileceğiniz olası iş akışları özetlenmiştir.
Sistem davranışınız | ||
---|---|---|
Adresi düzeltin |
|
|
Alt tesis ekleme |
|
|
Adresi onaylama |
|
|
Adresi kabul et |
|
Doğrulama mantığınızı özelleştirme
Sisteminizin API yanıtıyla nasıl ilerlediğini belirlemek için verdict.possibleNextAction
alanındaki sonuçları kullanabilirsiniz. Bununla birlikte, işletmeye özgü ihtiyaçları karşılamak gibi özel mantıklar da oluşturabilirsiniz.
Bu bölümün amacı, müşterinize istemde bulunup bulunmayacağınızı ve bunu nasıl yapacağınızı belirlemek için API yanıtını yorumlamak üzere nasıl kendi özel mantığınızı geliştirebileceğinizi göstermektir. Bu bölümde, özelleştirmeniz için dikkate almanız gereken risk seviyeleri ve ek API yanıt sinyalleri ele alınmaktadır.
Bununla birlikte, sonraki adımlarınızı belirlemek için yalnızca verdict.possibleNextAction
değerini kullanırsanız bile aşağıda açıklanan ek sinyaller, adresle ilgili olası sorunlar hakkında ayrıntılı bilgi edinmenize yardımcı olabilir.
Risk toleransı
Sisteminizin Address Validation API'den gelen sinyallere 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 önerilerdir. Bu nedenle, uygulamanızın işletme modelinize uygun olması gerektiğini unutmayın.
Yönergeler | Ayrıntılar | |
---|---|---|
Risk düzeyi |
Düzeltme isteğinde bulunma ve adresi girildiği şekilde kabul etme arasında denge kurarken durumunuza göre tolerans düzeyini göz önünde bulundurun. |
Address Validation API, doğrulama sürecinizi optimize etmek için risk düzeyinizle birlikte kullanabileceğiniz çeşitli sinyaller döndürür. Örneğin, bir adresin sokak numarası onaylanmamış olsa bile bu adresi kabul edebilirsiniz. Öte yandan, işletmenizin işleyişi için daha yüksek adres doğruluğu gerekiyorsa kullanıcınızdan adres isteyebilirsiniz. Her iki kategoriye de girebilecek bir örnek için Adres kabul etme - örnekler bölümündeki ABD dışındaki onaylanmamış sokak numarası bölümüne 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 bulunmayan bir adres (ör. yeni inşa edilmiş bir bina) girmiş olabilir. |
Riskten kaçınan ödeme akışı örneği
Başarısız yayınlama riskini azaltmak istiyorsanız mantığınızı müşterilerinize daha sık istemde bulunacak şekilde özelleştirebilirsiniz. Örneğin, Temel amaç bölümünde açıklanan mantığı kullanmak yerine aşağıdaki mantığı kullanabilirsiniz.
if (verdict.possibleNextAction == FIX or verdict.validationGranularity
== OTHER or verdict.validationGranularity == ROUTE)
Prompt customer to fix their address.
else if (verdict.possibleNextAction == CONFIRM_ADD_SUBPREMISES)
Prompt customer to add a unit number.
else if (verdict.possibleNextAction == CONFIRM or verdict.validationGranularity
== PREMISE_PROXIMITY or verdict.hasSpellCorrectedComponents or
verdict.hasReplacedComponents or verdict.hasInferredComponents)
Prompt customer to confirm their address.
else
Proceed with the returned address.
Sorunsuz ödeme akışı örneği
Ödeme akışınızdaki sürtünmeyi azaltmak istiyorsanız mantığınızı, müşterilerinize daha seyrek istem gösterecek şekilde özelleştirebilirsiniz. Örneğin, Temel amaç bölümünde açıklanan mantığı kullanmak yerine aşağıdaki mantığı kullanabilirsiniz.
if (verdict.possibleNextAction == FIX)
Prompt customer to fix their address.
else if (verdict.hasReplacedComponents)
Prompt customer to confirm their address.
else
Proceed with the returned address.
FIX sinyalleri
Sonuçlar, adresin teslim edilemeyebileceğini açıkça gösterdiğinde adresi düzeltin. Sisteminiz daha sonra müşteriden gerekli bilgileri vermesini isteyebilir. Ardından, teslimat adresi almak için iş akışınızı yeniden gönderirsiniz.
Bir adresin önemli sorunları olup olmadığını ve bu sorunların ne olduğunu belirlemek için Address Validation API yanıtının aşağıdaki alanları verdict.possibleNextAction
'e ek olarak kullanılabilir.
Doğrulama ayrıntı düzeyi | Bir adresin doğrulama ayrıntı düzeyi enum değeri OTHER ise adresin yanlış olması muhtemeldir.
|
---|---|
Eksik bileşenler | address.missingComponentTypes boş değilse adreste önemli bilgiler eksik olabilir.
|
Şüpheli bileşenler | Bir bileşenin onay düzeyi enum değeri UNCONFIRMED_AND_SUSPICIOUS ise bileşenin yanlış olması muhtemeldir.
|
Çözümlenmemiş bileşenler | unresolvedToken, girişin geçerli bir adres parçası olarak tanınmayan bir parçasıdır. |
USPS DPV Onayı | uspsData.dpvConfirmation N ise veya boşsa adresle ilgili bir sorun olabilir. Bu alan yalnızca ABD adresleri için kullanılabilir. uspsData.dpvConfirmation hakkında daha fazla bilgi için ABD adreslerini işleme başlıklı makaleyi inceleyin.
|
CONFIRM_ADD_SUBPREMISES sinyalleri (yalnızca ABD adresleri)
Address Validation API yanıtı, adreste alt tesis eksik olabileceğini gösteriyorsa müşterinizden adresi incelemesini ve bir birim numarası eklemeyi düşünmesini isteyin. Bu durumlarda binanın adresi muhtemelen geçerlidir ancak elde edilen adresin müşterinin kastettiği adres olduğundan emin olmak istersiniz.
Bir adreste muhtemelen alt tesis eksik olup olmadığını belirlemek için verdict.possibleNextAction
'e ek olarak Address Validation API yanıtının aşağıdaki alanları kullanılabilir.
Missing subpremise component
|
address.missingComponentTypes alanında subpremise değeri varsa adreste daire numarası eksik demektir.
|
---|---|
USPS DPV Onayı | uspsData.dpvConfirmation S olduğunda, adresin birincil numarasının USPS veritabanındaki bir adresle eşleştiği anlamına gelir. Ancak adresin ikincil bir numara da içermesi gerekiyordu. Bu alan yalnızca ABD adresleri için kullanılabilir. uspsData.dpvConfirmation hakkında daha fazla bilgi için ABD adreslerini işleme başlıklı makaleyi inceleyin.
|
Alt tesis adresi örnekleri ekleme
ONAYLA sinyalleri
Adres Doğrulama API'sinin, doğrulanmış bir adres oluşturmak için adres bileşenlerinde çıkarım yaptığını veya değişiklik yaptığını belirten bir karar olduğunda bir adresi onaylarsınız. Bu gibi durumlarda, teslim edilebilir bir adresiniz vardır ancak elde edilen adresin müşterinin istediği adres olduğundan emin olmak istersiniz.
Bir adresin küçük sorunları olup olmadığını ve bu sorunların ne olduğunu belirlemek için Address Validation API yanıtının aşağıdaki alanları verdict.possibleNextAction
'e ek olarak kullanılabilir.
Doğrulama ayrıntı düzeyi | Bir adresin validationGranularity değeri ROUTE veya PREMISE_PROXIMITY ise adres yanlış olabilir.
|
---|---|
Tahmine dayalı veriler | hasInferredComponents alanı true olduğunda, API'nin diğer adres bileşenlerinden edindiği bilgileri doldurduğunu bilirsiniz.
|
Değiştirilen veriler | hasReplacedComponents alanı true olduğunda API, girilen verileri adresi geçerli kılacak verilerle değiştirdi.
|
Yazım düzeltmeleri | hasSpellCorrectedComponents alanı true olduğunda API, bazı yanlış yazılmış bileşenlerin yazımını düzeltti.
|
KABUL ET sinyalleri
Address Validation API API yanıtı, adresin teslim edilebilir olduğuna ve aşağı akış sürecinde başka müşteri etkileşimi olmadan kullanılabileceğine dair yüksek düzeyde güven sağladığında bir adresi kabul edebilirsiniz.
Bir adresin kabul edilebilir kalitede olup olmadığını belirlemek için verdict.possibleNextAction
'e ek olarak Address Validation API yanıtının aşağıdaki alanları da kullanılabilir.
Doğrulama ayrıntı düzeyi | PREMISE değerinin ROUTE olması genellikle kabul edilir ancak ROUTE değeri, teslim edilebilir bir adresi de gösterebilir.validationGranularity
|
---|---|
Tahmine dayalı veri yok | hasInferredComponents alanı false olduğunda, çıkışta hiçbir bileşenin çıkarılmadığını bilirsiniz.
|
Değiştirilmiş veri yok | hasReplacedComponents alanı false olduğunda, giriş verilerinin değiştirilmediğini bilirsiniz.
|
Yazım düzeltmesi yok | hasSpellCorrectedComponents alanı false olduğunda, yazım düzeltmesi yapılmadığını bilirsiniz.
|
USPS DPV Onayı | uspsData.dpvConfirmation Y olduğunda, adresin USPS veritabanındaki bir adresle eşleştiği Bu alan yalnızca ABD adresleri için kullanılabilir. uspsData.dpvConfirmation hakkında daha fazla bilgi için ABD adreslerini işleme başlıklı makaleyi inceleyin.
|