Menggunakan Address Validation API untuk memproses alamat dengan volume tinggi

Tujuan

Sebagai developer, Anda sering kali bekerja dengan {i>dataset<i} yang berisi alamat pelanggan yang mungkin tidak berkualitas baik. Anda harus memastikan bahwa alamat sudah benar untuk kasus penggunaan mulai dari verifikasi ID pelanggan, hingga pengiriman, dan lainnya.

Address Validation API adalah produk dari Google Maps Platform yang dapat Anda gunakan untuk memvalidasi alamat. Namun, alat ini hanya memproses satu alamat dalam satu waktu. Dalam dokumen ini, kita 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 di mana 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 dan ingin memvalidasi kualitas alamat tersebut.

Validasi alamat satu kali

Saat mengaktifkan Address Validation API, Anda ingin memvalidasi database alamat yang ada terhadap database pengguna.

Validasi alamat berulang

Sejumlah skenario memerlukan validasi alamat secara berulang:

  • Anda mungkin telah menjadwalkan tugas untuk memvalidasi alamat untuk detail yang diambil selama hari itu, misalnya, dari pendaftaran pelanggan, detail pesanan, 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 dapat mengumpulkan alamat selama survei, atau berbagai promosi dan kemudian memperbaruinya di sistem online. Anda ingin memvalidasi bahwa alamat sudah benar saat memasukkannya ke dalam sistem.

Pembahasan mendalam teknis

Untuk tujuan dokumen ini, kami mengasumsikan bahwa:

  • Anda memanggil Address Validation API dengan alamat dari database pelanggan (yaitu database dengan detail pelanggan)
  • Anda dapat menyimpan flag validitas dalam cache untuk setiap alamat di database Anda.
  • Flag validitas diambil dari Address Validation API saat pelanggan perorangan login.

Cache untuk penggunaan produksi

Saat menggunakan Address Validation API, Anda sering kali ingin meng-cache beberapa bagian respons dari panggilan API. Meskipun Persyaratan Layanan kami membatasi data yang dapat di-cache, data apa pun yang dapat di-cache dari Address Validation API harus di-cache terhadap 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, penyiapan 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. Jika demikian, Anda akan meminta pengguna untuk mengoreksi alamat selama interaksi berikutnya dengan aplikasi Anda.

  • Data dari objek AddressComponent
    • confirmationLevel
    • inferred
    • spellCorrected
    • replaced
    • unexpected

Jika Anda ingin menyimpan dalam cache informasi apa pun tentang alamat sebenarnya, data tersebut harus di-cache hanya dengan izin pengguna. Hal ini memastikan bahwa pengguna memahami dengan baik alasan layanan tertentu menyimpan alamat mereka dan mereka menyetujui persyaratan untuk membagikan alamat mereka.

Contoh izin pengguna adalah interaksi langsung dengan formulir alamat e-commerce di halaman checkout. Ada pemahaman bahwa Anda akan menyimpan dalam cache dan memproses alamat untuk tujuan pengiriman paket.

Dengan izin pengguna, Anda dapat menyimpan dalam cache formattedAddress dan komponen utama lainnya dari respons. Namun, dalam skenario tanpa antarmuka, pengguna tidak dapat memberikan izin karena validasi alamat terjadi dari backend. Oleh karena itu, Anda dapat menyimpan informasi yang sangat terbatas dalam skenario tanpa UI ini.

Memahami respons

Jika respons Address Validation API berisi penanda berikut, Anda dapat yakin bahwa alamat input memiliki kualitas yang dapat dikirim:

  • Penanda addressComplete dalam objek Verdict adalah true,
  • validationGranularity dalam objek Verdict adalah PREMISE atau SUB_PREMISE
  • Tidak ada AddressComponent yang ditandai sebagai:
    • Inferred(Catatan: inferred=truedapat terjadi jika addressComplete=true)
    • spellCorrected
    • replaced
    • unexpected, dan
  • confirmationLevel: Tingkat konfirmasi pada AddressComponent disetel keCONFIRMEDatauUNCONFIRMED_BUT_PLAUSIBLE

Jika respons API tidak berisi penanda di atas, kemungkinan alamat input berkualitas buruk, dan Anda dapat menyimpan flag dalam cache di database untuk mencerminkan hal tersebut. Flag yang di-cache menunjukkan bahwa kualitas alamat secara keseluruhan buruk, sementara flag yang lebih mendetail seperti Dikoreksi Ejaan 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 dikoreksi yang dapat Anda tampilkan menggunakan perintah UI. Setelah pelanggan menerima alamat yang diformat, Anda dapat menyimpan dalam cache hal berikut dari respons:

  • formattedAddress
  • postalAddress
  • addressComponent componentNamesatau
  • UspsData standardizedAddress

Menerapkan validasi Alamat tanpa UI

Berdasarkan diskusi di atas:

  • Sering kali, Anda perlu meng-cache beberapa bagian respons dari Address Validation API untuk alasan bisnis.
  • Namun, Persyaratan Layanan di Google Maps Platform membatasi data yang dapat di-cache.

Di bagian berikut, kita akan membahas proses dua langkah tentang cara mematuhi Persyaratan Layanan dan menerapkan validasi alamat bervolume tinggi.

Langkah 1:

Pada langkah pertama, kita akan mempelajari cara menerapkan 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 cara meningkatkan kualitas pipeline data dengan logika Validasi Alamat Volume Tinggi.

alt_text

Menurut Persyaratan Layanan, Anda dapat menyimpan dalam cache data berikut dari addressComponent:

  • confirmationLevel
  • inferred
  • spellCorrected
  • replaced
  • unexpected

Oleh karena itu, selama langkah penerapan ini, kita akan menyimpan dalam cache kolom yang disebutkan di atas terhadap UserID.

Untuk mengetahui 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, kami akan mengambil alamat yang ditandai ini, menampilkannya kepada pengguna, dan meminta izin mereka untuk mengoreksi alamat yang tersimpan.

Diagram B: Diagram ini menunjukkan tampilan integrasi alur izin pengguna secara menyeluruh:

alt_text

  1. Saat pengguna login, periksa terlebih dahulu apakah Anda telah menyimpan flag validasi dalam cache di sistem Anda.
  2. Jika ada tanda, Anda harus menampilkan UI kepada pengguna untuk mengoreksi dan memperbarui alamat mereka.
  3. Anda dapat memanggil Address Validation API lagi dengan alamat yang diperbarui atau di-cache dan menampilkan alamat yang dikoreksi kepada pengguna untuk dikonfirmasi.
  4. Jika alamat memiliki kualitas yang baik, Address Validation API akan menampilkan formattedAddress.
  5. Anda dapat menampilkan alamat tersebut kepada pengguna jika koreksi telah dilakukan, atau menerima secara diam-diam jika tidak ada koreksi.
  6. Setelah pengguna menyetujui, Anda dapat menyimpan formattedAddress dalam cache di database.

Kesimpulan

Validasi Alamat Volume Tinggi adalah kasus penggunaan umum yang kemungkinan akan Anda temui di banyak aplikasi. Dokumen ini mencoba mendemonstrasikan beberapa skenario dan pola desain tentang cara menerapkan solusi tersebut sesuai dengan Persyaratan layanan Google Maps Platform.

Kami juga telah menulis implementasi referensi Validasi Alamat Volume Tinggi sebagai library open source di GitHub. Lihat untuk mulai membangun dengan Validasi Alamat Volume Tinggi dengan cepat. Baca juga artikel tentang pola desain cara menggunakan library dalam berbagai skenario.

Langkah Berikutnya

Download Meningkatkan kualitas checkout, pengiriman, dan operasi dengan alamat yang andal Whitepaper dan tonton Webinar Meningkatkan kualitas checkout, pengiriman, dan operasi dengan Validasi Alamat .

Bacaan lebih lanjut yang disarankan:

Kontributor

Google mengelola artikel ini. Kontributor berikut awalnya menulisnya.
Penulis utama:

Henrik Valve | Solutions Engineer
Thomas Anglaret | Solutions Engineer
Sarthak Ganguly | Solutions Engineer