Tujuan
Sebagai developer, Anda sering bekerja dengan set data yang berisi alamat pelanggan yang mungkin tidak berkualitas baik. Anda harus memastikan bahwa alamat sudah benar untuk kasus penggunaan, mulai dari verifikasi ID pelanggan, pengiriman, dan lainnya.
Address Validation API adalah produk dari Google Maps Platform yang dapat Anda gunakan untuk memvalidasi alamat. Namun, hanya memproses satu alamat pada satu waktu. Dalam dokumen ini, kami akan mempelajari cara menggunakan Validasi Alamat Volume Tinggi dalam berbagai skenario, mulai dari pengujian API hingga validasi alamat satu kali dan berulang.
Kasus penggunaan
Sekarang kita akan memahami kasus penggunaan ketika Validasi Alamat Volume Tinggi berguna.
Pengujian
Anda sering kali ingin menguji Address Validation API dengan menjalankan ribuan alamat. Anda mungkin memiliki alamat dalam file Comma Separated Value (Nilai yang Dipisahkan Koma) dan ingin memvalidasi kualitas alamat.
Validasi alamat satu kali
Saat melakukan orientasi ke Address Validation API, Anda ingin memvalidasi database alamat yang sudah ada terhadap database pengguna.
Validasi alamat berulang
Sejumlah skenario memerlukan validasi alamat secara berulang:
- Anda mungkin telah menjadwalkan tugas untuk memvalidasi alamat guna mengetahui detail yang diambil dalam sehari, misalnya dari pendaftaran pelanggan, detail pesanan, dan jadwal pengiriman.
- Anda mungkin menerima dump data yang berisi alamat dari berbagai departemen, misalnya, dari penjualan hingga pemasaran. Departemen baru yang menerima alamat sering kali ingin memvalidasinya sebelum digunakan.
- Anda mungkin mengumpulkan alamat selama survei, atau berbagai promosi, dan kemudian memperbaruinya di sistem {i>online<i}. Anda ingin memvalidasi bahwa alamat sudah benar saat memasukkannya dalam sistem.
Pembahasan mendalam teknis
Untuk tujuan dokumen ini, kami berasumsi bahwa:
- Anda memanggil Address Validation API dengan alamat dari database pelanggan (yaitu database dengan detail pelanggan)
- Anda dapat meng-cache tanda validitas terhadap setiap alamat dalam database Anda.
- Tanda validitas diambil dari Address Validation API saat setiap pelanggan login.
Cache untuk penggunaan produksi
Saat menggunakan Address Validation API, Anda sering kali ingin menyimpan beberapa bagian respons dari panggilan API ke dalam cache. Meskipun Persyaratan Layanan kami membatasi data yang dapat di-cache, data apa pun yang dapat di-cache dari Address Validation API harus di-cache berdasarkan akun pengguna. Artinya, di database, alamat, atau metadata alamat harus di-cache terhadap alamat email pengguna atau ID utama lainnya.
Untuk kasus penggunaan Validasi Alamat Volume Tinggi, cache data harus mengikuti Persyaratan Khusus Layanan Address Validation API, yang diuraikan dalam Pasal 11.3. Berdasarkan informasi ini, Anda akan dapat menentukan apakah alamat pengguna mungkin tidak valid. Dalam hal ini, Anda akan meminta pengguna untuk memperbaiki alamat saat berinteraksi berikutnya dengan aplikasi Anda.
- Data dari objek AddressComponent
confirmationLevel
inferred
spellCorrected
replaced
unexpected
Jika Anda ingin meng-cache informasi apa pun tentang alamat sebenarnya, data tersebut harus di-cache hanya dengan persetujuan pengguna. Hal ini memastikan bahwa pengguna sangat mengetahui alasan layanan tertentu menyimpan alamat mereka dan mereka menyetujui persyaratan berbagi alamat mereka.
Contoh izin pengguna adalah interaksi langsung dengan formulir alamat e-commerce di halaman checkout. Ada pemahaman bahwa Anda akan meng-cache dan memproses alamat untuk tujuan pengiriman paket.
Dengan izin pengguna, Anda dapat meng-cache formattedAddress
dan komponen utama lainnya
dari respons. Namun, dalam skenario headless, pengguna tidak dapat memberikan izin karena validasi alamat terjadi dari backend. Oleh karena itu,
Anda dapat meng-cache informasi yang sangat terbatas dalam skenario headless ini.
Memahami respons
Jika respons Address Validation API berisi penanda berikut, Anda dapat yakin bahwa alamat input tersebut memiliki kualitas hasil:
- Penanda
addressComplete
dalam objek Verdict adalahtrue
, validationGranularity
dalam objek Verdict adalahPREMISE
atauSUB_PREMISE
- Tidak ada AddressComponent
yang ditandai sebagai:
Inferred
(Catatan: inferred=true
dapat terjadi jikaaddressComplete=true
)spellCorrected
replaced
unexpected
, dan
confirmationLevel
: Tingkat konfirmasi di AddressComponent ditetapkan keCONFIRMED
atauUNCONFIRMED_BUT_PLAUSIBLE
Jika respons API tidak berisi penanda di atas, berarti alamat input kemungkinan berkualitas buruk, dan Anda dapat menyimpan flag dalam cache di database untuk mencerminkan hal tersebut. Tanda dalam cache menunjukkan bahwa alamat secara keseluruhan berkualitas buruk, sedangkan tanda yang lebih mendetail seperti Ejaan Dikoreksi menunjukkan jenis masalah kualitas alamat tertentu. Pada interaksi pelanggan berikutnya dengan alamat yang ditandai sebagai berkualitas buruk, Anda dapat memanggil Address Validation API dengan alamat yang ada. Address Validation API akan menampilkan alamat yang sudah dikoreksi, yang dapat Anda tampilkan menggunakan perintah UI. Setelah pelanggan menerima alamat berformat, Anda dapat meng-cache hal berikut dari respons:
formattedAddress
postalAddress
addressComponent componentNames
atauUspsData standardizedAddress
Mengimplementasikan validasi Alamat headless
Berdasarkan diskusi di atas:
- Sering kali, beberapa bagian respons harus di-cache dari Address Validation API karena alasan bisnis.
- Namun, Persyaratan Layanan di Google Maps Platform membatasi data yang dapat di-cache.
Di bagian berikut, kita akan membahas proses dua langkah terkait cara mematuhi Persyaratan Layanan dan menerapkan validasi alamat volume tinggi.
Langkah 1:
Pada langkah pertama, kita akan mempelajari cara mengimplementasikan skrip validasi alamat bervolume tinggi dari pipeline data yang ada. Proses ini akan memungkinkan Anda menyimpan kolom tertentu dari respons Address Validation API dengan cara yang mematuhi Persyaratan Layanan.
Diagram A: Diagram berikut menunjukkan bagaimana pipeline data dapat ditingkatkan dengan logika Validasi Alamat Volume Tinggi.
Sesuai dengan Persyaratan Layanan, Anda dapat meng-cache data berikut dari
addressComponent
:
confirmationLevel
inferred
spellCorrected
replaced
unexpected
Jadi, selama langkah penerapan ini, kami akan meng-cache kolom yang disebutkan di atas terhadap UserID.
Untuk informasi selengkapnya, lihat detail tentang struktur data sebenarnya.
Langkah 2:
Pada langkah 1, kami mengumpulkan masukan bahwa beberapa alamat dalam set data input mungkin tidak berkualitas tinggi. Pada langkah berikutnya, kita akan mengambil alamat yang ditandai ini dan menampilkannya kepada pengguna, serta mendapatkan izin mereka untuk memperbaiki alamat yang disimpan.
Diagram B: Diagram ini menunjukkan tampilan integrasi menyeluruh dari alur izin pengguna:
- Saat pengguna login, periksa terlebih dahulu apakah Anda telah meng-cache flag validasi di sistem.
- Jika ada tanda, Anda harus menunjukkan UI kepada pengguna untuk memperbaiki dan memperbarui alamat mereka.
- Anda dapat memanggil lagi Address Validation API dengan alamat yang diperbarui atau di-cache, dan menampilkan alamat yang sudah dikoreksi kepada pengguna untuk dikonfirmasi.
- Jika alamat berkualitas baik, Address Validation API akan menampilkan
formattedAddress
. - Anda dapat menunjukkan alamat tersebut kepada pengguna jika telah dikoreksi, atau diam-diam menerima jika tidak ada koreksi.
- Setelah pengguna menerima, Anda dapat meng-cache
formattedAddress
di database.
Kesimpulan
Validasi Alamat Volume Tinggi adalah kasus penggunaan umum yang mungkin akan Anda temui di banyak aplikasi. Dokumen ini mencoba mendemonstrasikan beberapa skenario dan pola desain tentang cara menerapkan solusi semacam itu dengan mematuhi Persyaratan Layanan Google Maps Platform.
Kami telah menulis lebih lanjut implementasi referensi Validasi Alamat Volume Tinggi sebagai library open source di GitHub. Lihat panduan ini untuk mulai membangun solusi dengan Validasi Alamat Volume Tinggi (High Volume Address Validation). Baca juga artikel tentang pola desain cara menggunakan library dalam berbagai skenario.
Langkah Berikutnya
Download laporan resmi Meningkatkan checkout, pengiriman, dan operasi dengan alamat yang andal Laporan resmi dan lihat Webinar Meningkatkan checkout, pengiriman, dan operasi dengan Validasi Alamat .
Saran bacaan lebih lanjut:
- Penerapan Validasi Alamat Bervolume Tinggi
- Library Python di github
- Pelajari demo Validasi Alamat
Kontributor
Google mengelola artikel ini. Kontributor berikut awalnya yang menulisnya.
Penulis utama:
Henrik Valve | Solutions Engineer
Thomas Anglaret | Solutions
Engineer
Sarthak Ganguly | Solutions
Engineer