Hedef
Geliştirici olarak genellikle müşteri adresleri 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 dokümanda, API testinden tek seferlik ve yinelenen adres doğrulamasına kadar farklı senaryolarda Yüksek Hacimli Adres Doğrulaması'nın nasıl kullanılacağını inceleyeceğiz.
Kullanım alanları
Şimdi Yüksek Hacimli Adres Doğrulaması'nın yararlı olduğu kullanım alanlarını inceleyeceğiz.
Test
Genellikle binlerce adres çalıştırarak Address Validation API'yi 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ı ile doğrulamak istiyorsunuz.
Adreslerin yinelenen doğrulaması
Adreslerin tekrar tekrar doğrulanması gereken bazı senaryolar vardır:
- Gün içinde yakalanan ayrıntılar (ör. müşteri kayıtları, sipariş ayrıntıları, teslimat programları) için adresleri doğrulayacak 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.
- Adresleri anketler veya çeşitli promosyonlar sırasında toplayabilir ve daha sonra online sistemde güncelleyebilirsiniz. Sisteme girerken adreslerin doğru olup olmadığını doğrulamak istiyorsunuz.
Teknik ayrıntılı inceleme
Bu dokümanın amaçları doğrultusunda aşağıdakiler varsayılır:
- Adres Doğrulama API'sini bir müşteri veritabanındaki (ör. müşteri ayrıntılarını içeren bir veritabanı) adreslerle çağırıyorsanız
- Veritabanınıza ait adreslerin geçerlilik işaretlerini ayrı ayrı ö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 önbelleğe alma
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 belirtilen Adres Doğrulama API Hizmet Spesifik Ş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 nesnesinden alınan 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ı bilir ve adresini paylaşma şartlarına razı olur.
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 headless 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'lerin hiçbiri şu şekilde işaretlenmemiştir:
Inferred
(Not: inferred=true
addressComplete=true
olduğunda meydana gelebilir)spellCorrected
replaced
unexpected
ve
confirmationLevel
: AddressComponent bölümündeki onay seviyesiCONFIRMED
veyaUNCONFIRMED_BUT_PLAUSIBLE
olarak ayarlanmıştı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ızda işaretleri önbelleğe alabilirsiniz. Önbelleğe alınan işaretler, adresin bir bütün olarak düşük kaliteli olduğunu gösterirken Yazım Düzeltildi gibi daha ayrıntılı işaretler, adres kalitesi sorununun 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 kontrol edebilirsiniz. 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:
- İş nedeniyle, Address Validation API'den gelen yanıtın bir kısmını önbelleğe almak genellikle gereklidir.
- 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 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.
A Şeması: 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üzeltme yapılmışsa bu adresi kullanıcıya sunabilir veya düzeltme yoksa sessizce kabul edebilirsiniz.
- Kullanıcı kabul ettikten sonra
formattedAddress
öğesini veritabanında önbelleğe alabilirsiniz.
Sonuç
Yüksek Hacimli Adres Doğrulaması, 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ğıyla ilgili tasarım kalıpları makalesini de ziyaret edin.
Sonraki Adımlar
Güvenilir adreslerle ödeme, teslimat ve işlemleri iyileştirin teknik belgesini indirin ve Adres Doğrulama ile ödeme, teslimat ve işlemleri iyileştirin webinar'ını izleyin.
Önerilen diğer kaynaklar:
- Yüksek Hacimli Adres Doğrulamasının Uygulamaları
- GitHub'daki Python kitaplığı
- Adres Doğrulama demo'sunu keşfedin
Katkıda bulunanlar
Bu makale Google tarafından yönetilmektedir. Bu makaleyi ilk olarak aşağıdaki katkıda bulunanlar yazmıştır.
Başlıca yazarlar:
Henrik Valve | Çözüm Mühendisi
Thomas Anglaret | Çözüm Mühendisi
Sarthak Ganguly | Çözüm Mühendisi