Hedef
Geliştirici olarak, çoğu zaman müşteri adreslerini içeren veri kümeleriyle çalışırsınız. Bu veri kümeleri iyi kalitede olmayabilir. Müşteri kimliği doğrulamasından teslimata kadar çeşitli kullanım alanları için adreslerin doğru olduğundan emin olmanız gerekir.
Adres Doğrulama API'si, bir adresi doğrulamak için kullanabileceğiniz Google Haritalar Platformu ürünüdür. Ancak aynı anda yalnızca bir adres işlenir. Bu belgede, Yüksek Hacimli Adres Doğrulaması'nın API testinden tek seferlik ve yinelenen adres doğrulamaya kadar farklı senaryolarda nasıl kullanılacağına bakacağız.
Kullanım alanları
Şimdi, Yüksek Hacimli Adres Doğrulama özelliğinin faydalı olduğu kullanım alanlarını öğreneceğiz.
Test
Genellikle binlerce adres çalıştırarak Address Validation API'yi test etmek istersiniz. Adresler, Virgülle Ayrılmış Değer dosyasında olabilir ve adreslerin kalitesini doğrulamak isteyebilirsiniz.
Tek seferlik adresleri doğrulama
Address Validation API'ye ilk katılım sırasında mevcut adres veritabanınızı kullanıcı veritabanı ile doğrulamak istiyorsunuz.
Adreslerin yinelenen doğrulaması
Bazı senaryolarda, adreslerin yinelenen bir şekilde doğrulanması gerekir:
- Gün içinde yakalanan ayrıntıların (örneğin, müşteri kayıtları, sipariş ayrıntıları, teslimat planları) doğrulanması için planlanmış işleriniz olabilir.
- Satıştan pazarlamaya kadar farklı departmanlardan adresler içeren veri dökümleri alabilirsiniz. Adresleri alan yeni departman, genellikle bunları kullanmadan önce doğrulamak ister.
- Anketler sırasında veya çeşitli tanıtımlar sırasında adres alabilir, daha sonra online sistemde güncelleme yapabilirsiniz. Sisteme girerken adreslerin doğru olduğunu doğrulamak istiyorsunuz.
Teknik ayrıntılı inceleme
Bu belgenin amaçları doğrultusunda, aşağıdaki hususları varsayıyoruz:
- Address Validation API'yi bir müşteri veritabanındaki (ör. müşteri ayrıntılarını içeren bir veritabanı) adreslerle çağırıyorsunuz
- Veritabanınıza göre geçerlilik işaretlerini ayrı ayrı adreslere göre önbelleğe alabilirsiniz.
- Bir müşteri giriş yaptığında geçerlilik işaretleri Adres Doğrulama API'sinden alınır.
Üretim kullanımı için önbellek
Address Validation API'yi 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ırlar. Ancak Address Validation API'den önbelleğe alınabilecek 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 diğer birincil kimliğine göre önbelleğe alınması gerektiği anlamına gelir.
Yüksek Hacimli Adres Doğrulama kullanım alanı için veri önbelleğe alma işlemi, Bölüm 11.3'te açıklanan Address Validation API Hizmete Özgü Şartları'na uygun olmalıdır. Bu bilgilere dayanarak, kullanıcının adresinin geçersiz olup olmadığını belirleyebilirsiniz. Bu durumda, kullanıcıdan uygulamanızla bir sonraki etkileşimi sırasında düzeltilmiş bir adres girmesini isteyebilirsiniz.
- AddressComponent nesnesindeki veriler
confirmationLevel
inferred
spellCorrected
replaced
unexpected
Gerçek adresle ilgili bilgileri ö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 depoladığını ve adresini paylaşma şartlarına uyup uymadığını bilir.
Kullanıcı iznine örnek olarak, ödeme sayfasındaki bir e-ticaret adresi formu ile doğrudan etkileşim verilebilir. Paket göndermek amacıyla adresi önbelleğe alıp işleyeceğiniz anlaşılıyor.
Kullanıcının izniyle, yanıttaki formattedAddress
ve diğer önemli bileşenleri önbelleğe alabilirsiniz. Ancak headless senaryoda, adres doğrulaması arka uçtan yapıldığından kullanıcı izin veremez. Bu nedenle, bu gözetimsiz senaryoda çok sınırlı bilgileri önbelleğe alabilirsiniz.
Yanıtı anlama
Address Validation API yanıtı aşağıdaki işaretçileri içeriyorsa giriş adresinin teslim edilebilir kalitede olduğundan emin olabilirsiniz:
- Verdict nesnesinde
addressComplete
işaretçisitrue
, - Verdict nesnesinde
validationGranularity
değeriPREMISE
veyaSUB_PREMISE
olmalıdır. - AddressComponent öğelerinin hiçbiri şu şekilde işaretlenmez:
Inferred
(Not: inferred=true
addressComplete=true
olduğunda meydana gelebilir)spellCorrected
replaced
unexpected
ve
confirmationLevel
: AddressComponent'taki onay düzeyiCONFIRMED
veyaUNCONFIRMED_BUT_PLAUSIBLE
olarak ayarlandı
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ınan işaretler, adresin tamamının düşük kaliteli olduğunu gösterir. Yazım Düzeltildi gibi daha ayrıntılı işaretler ise adres kalitesi sorununun belirli türünü belirtir. Düşük kaliteli olarak işaretlenen bir adresle yapılan bir sonraki müşteri etkileşimini, mevcut adresle Adres Doğrulama API'sini çağırarak doğrulayabilirsiniz. Adres Doğrulama API'si, kullanıcı arayüzü istemi kullanarak görüntüleyebileceğ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ğrulaması uygulama
Yukarıdaki tartışmaya göre:
- İşle ilgili nedenlerle, Address Validation API'den alınan yanıtın bir kısmının önbelleğe alınması genellikle gerekir.
- Ancak Google Haritalar Platformu'ndaki Hizmet Şartları, hangi verilerin önbelleğe alınabileceğini kısıtlamaktadır.
Aşağıdaki bölümde, Hizmet Şartları'na uygunluk ve yüksek hacimli adres doğrulamasını uygulamayla ilgili iki adımlı bir süreci ele alacağız.
1. Adım:
İlk adımda, mevcut bir veri ardışık düzeninden yüksek hacimli bir adres doğrulama komut dosyasının nasıl uygulanacağını inceleyeceğiz. Bu işlem, Adres Doğrulama API yanıtındaki belirli alanları Hizmet Şartları'na uygun şekilde depolamanıza olanak tanır.
Diyagram A: Aşağıdaki şemada, bir veri ardışık düzeninin Yüksek Hacimli Adres Doğrulama mantığıyla nasıl geliştirilebileceği gösterilmektedir.
Hizmet Şartları uyarınca, addressComponent
'den aşağıdaki verileri önbelleğe alabilirsiniz:
confirmationLevel
inferred
spellCorrected
replaced
unexpected
Bu nedenle, uygulamanın 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ıları inceleyin.
2. Adım:
1. adımda, giriş veri kümesindeki bazı adreslerin yüksek kaliteli olmayabileceğine dair geri bildirim topladık. Sonraki adımda, işaretlenen bu adresleri kullanıcıya sunar ve saklanan adresi düzeltmesi için kullanıcıdan izin alırız.
B şeması: Bu şemada, kullanıcı izni akışının uçtan uca entegrasyonu nasıl görünebileceği gösterilmektedir:
- Kullanıcı oturum açtığında, önce sisteminizde herhangi bir doğrulama işareti önbelleğe alıp almadığınızı kontrol edin.
- İşaret varsa kullanıcıya adresini düzeltmesi ve güncellemesi için bir kullanıcı arayüzü sunmanız gerekir.
- Adres Doğrulama API'yi güncellenmiş veya önbelleğe alınmış adresle tekrar çağırabilir ve düzeltilen adresi kullanıcıya onaylaması için sunabilirsiniz.
- Adres iyi kalitedeyse Address Validation API bir
formattedAddress
döndürür. - Düzeltmeler yapıldıysa bu adresi kullanıcıya sunabilir ya da düzeltme yoksa, sessizce kabul edebilirsiniz.
- Kullanıcı kabul ettikten sonra,
formattedAddress
öğesini veritabanında önbelleğe alabilirsiniz.
Sonuç
Yüksek Hacimli Adres Doğrulama, birçok uygulamada karşılaşabileceğiniz yaygın bir kullanım alanıdır. Bu dokümanda, Google Haritalar Platformu Hizmet Şartları'na uygun şekilde bu tür 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ğrulamasının referans uygulamasını yazdık. Yüksek Hacimli Adres Doğrulaması ile hızlıca geliştirme yapmaya başlamak için bu makaleyi inceleyin. Ayrıca, kitaplığın farklı senaryolarda nasıl kullanılacağını gösteren tasarım modelleri ile ilgili makaleyi de inceleyin.
Sonraki Adımlar
Güvenilir adreslerle ödeme, teslimat ve işlemleri iyileştirme teknik belgesini indirin ve Adres doğrulaması ile ödeme, teslimat ve işlemleri iyileştirme web seminerini görüntüleyin.
Önerilen diğer kaynaklar:
- Yüksek Hacimli Adres Doğrulamasının Uygulamaları
- GitHub'daki Python kitaplığı
- Adres Doğrulama demosunu keşfedin
Katkıda bulunanlar
Bu makale Google tarafından yönetilmektedir. Bu makaleyi ilk olarak aşağıdaki katkıda bulunanlar yazdı.
Başlıca yazarlar:
Henrik Valve | Çözüm Mühendisi
Thomas Anglaret | Çözüm Mühendisi
Sarthak Ganguly | Çözüm Mühendisi