Hedef
Geliştirici olarak, genellikle müşteri adreslerini içeren ve iyi kalitede olmayabilecek veri kümeleriyle çalışırsınız. Müşteri kimliği doğrulama ve teslimat gibi çeşitli kullanım alanlarında adreslerin doğru olduğundan emin olmanız gerekir.
Address Validation API, bir adresi doğrulamak için kullanabileceğiniz bir Google Haritalar Platformu ürünüdür. Ancak bu araç, tek seferde yalnızca bir adres işler. Bu belgede, API testi, tek seferlik ve yinelenen adres doğrulaması gibi farklı senaryolarda Yüksek Hacimli Adres Doğrulama'nın nasıl kullanılacağını inceleyeceğiz.
Kullanım alanları
Şimdi Yüksek Hacimli Adres Doğrulama'nın faydalı olduğu kullanım alanlarını inceleyeceğiz.
Test
Genellikle binlerce adres çalıştırarak Adres Doğrulama API'sini test etmek istersiniz. Adresler, virgülle ayrılmış değerler dosyasında olabilir ve adreslerin kalitesini doğrulamak isteyebilirsiniz.
Adreslerin tek seferlik doğrulanması
Address Validation API'ye ilk katılım sırasında mevcut adres veritabanınızı kullanıcı veritabanına göre doğrulamak istiyorsunuz.
Adreslerin düzenli olarak doğrulanması
Adreslerin düzenli olarak doğrulanmasını gerektiren çeşitli senaryolar vardır:
- Örneğin, gün içinde toplanan ayrıntılar için (müşteri kayıtları, sipariş ayrıntıları, teslimat programları gibi) adresleri doğrulayan işler planlamış olabilirsiniz.
- Farklı departmanlardan (ör. satıştan pazarlamaya) adresler içeren veri dökümleri alabilirsiniz. Adresleri alan yeni departman, kullanmadan önce genellikle bunları doğrulamak ister.
- Anketler veya çeşitli promosyonlar sırasında adres toplayabilir ve daha sonra bunları online sistemde güncelleyebilirsiniz. Adresleri sisteme girerken doğru olup olmadığını doğrulamak istiyorsunuz.
Teknik ayrıntılı inceleme
Bu belgenin amaçları doğrultusunda aşağıdakileri varsayıyoruz:
- Müşteri veritabanındaki (ör.müşteri ayrıntılarını içeren bir veritabanı) adreslerle Address Validation API'yi çağırıyorsunuz.
- Veritabanınızdaki her bir adres için geçerlilik işaretlerini önbelleğe alabilirsiniz.
- Geçerlilik işaretleri, tek bir müşteri giriş yaptığında Adres Doğrulama API'sinden alınır.
Üretimde kullanım için önbellek
Adres Doğrulama API'sini kullanırken genellikle API çağrısından gelen yanıtın bir kısmını önbelleğe almak istersiniz. Hizmet Şartlarımız, hangi verilerin önbelleğe alınabileceğini sınırlasa da Address Validation API'den önbelleğe alınabilen tüm veriler bir kullanıcı hesabına göre önbelleğe alınmalıdır. Bu, veritabanında adresin veya adres meta verilerinin, kullanıcının e-posta adresine ya da başka bir birincil kimliğe göre önbelleğe alınması gerektiği anlamına gelir.
Yüksek hacimli adres doğrulama kullanım alanında, veri önbelleğe alma işlemi Bölüm 11.3'te belirtilen Adres Doğrulama API'si Hizmete Özel Şartları'na uygun olmalıdır. Bu bilgilere dayanarak, kullanıcının adresinin geçersiz olup olmadığını belirleyebilir ve geçersizse kullanıcıdan uygulamanızla bir sonraki etkileşiminde düzeltilmiş bir adres girmesini isteyebilirsiniz.
- AddressComponent
nesnesinden alınan veriler
confirmationLevel
inferred
spellCorrected
replaced
unexpected
Gerçek adresle ilgili herhangi bir bilgiyi önbelleğe almak istiyorsanız bu veriler yalnızca kullanıcının izniyle önbelleğe alınmalıdır. Bu sayede kullanıcı, belirli bir hizmetin adresini neden sakladığını ve adresini paylaşma şartlarını kabul ettiğini bilir.
Kullanıcı iznine örnek olarak, ödeme sayfasındaki bir e-ticaret adresi formuyla doğrudan etkileşim verilebilir. Paket gönderme amacıyla adresi önbelleğe alıp işleyeceğiniz anlaşılmaktadır.
Kullanıcının izniyle yanıttaki formattedAddress
ve diğer önemli bileşenleri önbelleğe alabilirsiniz. Ancak başsız senaryoda, adres doğrulama arka uçtan yapıldığından kullanıcı izin veremez. Bu nedenle, bu başsız senaryoda çok sınırlı bilgi önbelleğe alınabilir.
Yanıtı anlama
Adres Doğrulama API'si yanıtı aşağıdaki işaretçileri içeriyorsa giriş adresinin teslim edilebilir kalitede olduğundan emin olabilirsiniz:
- Verdict nesnesindeki
addressComplete
işaretçisitrue
, - Verdict nesnesindeki
validationGranularity
,PREMISE
veyaSUB_PREMISE
- AddressComponent öğelerinden hiçbiri şu şekilde işaretlenmemiş:
Inferred
(Not: inferred=true
can happen whenaddressComplete=true
)spellCorrected
replaced
unexpected
ve
confirmationLevel
: AddressComponent üzerindeki onay düzeyiCONFIRMED
veyaUNCONFIRMED_BUT_PLAUSIBLE
olarak ayarlanır.
API yanıtı yukarıdaki işaretçileri içermiyorsa giriş adresi muhtemelen düşük kalitelidir ve bunu yansıtmak için veritabanınızdaki işaretleri önbelleğe alabilirsiniz. Önbelleğe alınmış işaretler, adresin genel olarak düşük kaliteli olduğunu gösterirken Yazım Düzeltildi gibi daha ayrıntılı işaretler, adres kalitesiyle ilgili sorunun türünü gösterir. Kötü kalite olarak işaretlenmiş bir adresle ilgili bir sonraki müşteri etkileşiminde, mevcut adresle Adres Doğrulama API'sini çağırabilirsiniz. Adres Doğrulama API'si, kullanıcı arayüzü istemi kullanarak gösterebileceğiniz düzeltilmiş adresi döndürür. Müşteri biçimlendirilmiş adresi kabul ettikten sonra yanıttan aşağıdakileri önbelleğe alabilirsiniz:
formattedAddress
postalAddress
addressComponent componentNames
veyaUspsData standardizedAddress
Başsız adres doğrulama uygulama
Yukarıdaki tartışmaya göre:
- İşletme nedenleriyle, Address Validation API'den gelen yanıtın bir kısmını genellikle önbelleğe almak gerekir.
- Ancak Google Haritalar Platformu'ndaki Hizmet Şartları, hangi verilerin önbelleğe alınabileceğini kısıtlar.
Aşağıdaki bölümde, Hizmet Şartları'na nasıl uyacağınız ve yüksek hacimli adres doğrulama özelliğini nasıl uygulayacağınızla ilgili iki adımlı bir süreçten bahsedeceğiz.
1. Adım:
İlk adımda, mevcut bir veri ardışık düzeninden yüksek hacimli adres doğrulama komut dosyasının nasıl uygulanacağını inceleyeceğiz. Bu işlem, Hizmet Şartları'na uygun bir şekilde Adres Doğrulama API yanıtındaki belirli alanları saklamanıza olanak tanır.
A Şeması: Aşağıdaki şemada, bir veri işlem hattının Yüksek Hacimli Adres Doğrulama mantığıyla nasıl geliştirilebileceği gösterilmektedir.
Hizmet Şartları'na göre, addressComponent
'dan aşağıdaki verileri önbelleğe alabilirsiniz:
confirmationLevel
inferred
spellCorrected
replaced
unexpected
Bu nedenle, uygulama sürecinin bu adımında yukarıda belirtilen alanları UserID'ye göre önbelleğe alacağız.
Daha fazla bilgi için gerçek veri yapısı ile ilgili ayrıntılara bakın.
2. Adım:
1. adımda, giriş veri kümesindeki bazı adreslerin yüksek kaliteli olmayabileceğine dair geri bildirimler aldık. Bir sonraki adımda, işaretlenen bu adresleri kullanıcıya sunup depolanan adresi düzeltmek için kullanıcının iznini alacağız.
B Şeması: Bu şema, kullanıcı izni akışının uçtan uca entegrasyonunun nasıl görünebileceğini gösterir:
- Kullanıcı giriş yaptığında, öncelikle sisteminizde herhangi bir doğrulama işareti önbelleğe alıp almadığınızı kontrol edin.
- İşaretler varsa kullanıcıya adresini düzeltip güncellemesi için bir kullanıcı arayüzü sunmanız gerekir.
- Güncellenmiş veya önbelleğe alınmış adresle Adres Doğrulama API'sini tekrar çağırabilir ve düzeltilmiş adresi kullanıcıya onaylaması için sunabilirsiniz.
- Adres kaliteli ise Address Validation API
formattedAddress
döndürür. - Düzeltmeler yapıldıysa bu adresi kullanıcıya gösterebilir veya düzeltme yoksa sessizce kabul edebilirsiniz.
- Kullanıcı kabul ettikten sonra
formattedAddress
veritabanında önbelleğe alınabilir.
Sonuç
Yüksek hacimli adres doğrulama, birçok uygulamada karşılaşabileceğiniz yaygın bir kullanım alanıdır. Bu belgede, Google Haritalar Platformu Hizmet Şartları'na uygun bir çözümün nasıl uygulanacağına dair bazı senaryolar ve bir tasarım kalıbı gösterilmeye çalışılmaktadır.
Ayrıca, GitHub'da açık kaynak kitaplık olarak Yüksek Hacimli Adres Doğrulama'nın referans uygulamasını yazdık. Yüksek Hacimli Adres Doğrulama ile hızlı bir şekilde geliştirme yapmaya başlamak için bu kılavuza göz atın. Ayrıca, kitaplığın farklı senaryolarda nasıl kullanılacağına dair tasarım kalıpları hakkındaki makaleyi de ziyaret edin.
Sonraki Adımlar
Güvenilir adreslerle ödeme, teslimat ve operasyon süreçlerini iyileştirme başlıklı teknik incelemeyi indirin ve Adres Doğrulama ile ödeme, teslimat ve operasyon süreçlerini iyileştirme başlıklı web seminerini izleyin.
Daha fazla bilgi için önerilen kaynaklar:
- Yüksek Hacimli Adres Doğrulama Uygulamaları
- GitHub'daki Python kitaplığı
- Adres Doğrulama demosunu keşfedin.
Katkıda bulunanlar
Bu makale Google tarafından sağlanmaktadır. Bu makale ilk olarak aşağıdaki katkıda bulunanlar tarafından yazılmıştır.
Başlıca yazarlar:
Henrik Valve | Çözüm Mühendisi
Thomas Anglaret | Çözüm Mühendisi
Sarthak Ganguly | Çözüm Mühendisi