- Permintaan HTTP
- Isi permintaan
- Isi respons
- Alamat Pos
- ValidationResult
- Hasil
- Perincian
- Alamat
- AddressComponent
- NamaKomponen
- Tingkat Konfirmasi
- Kode geografis
- LatLng
- PlusCode
- Area pandang
- AddressMetadata
- UspsData
- UspsAddress
Memvalidasi alamat.
Permintaan HTTP
POST https://addressvalidation.googleapis.com/v1:validateAddress
URL menggunakan sintaksis gRPC Transcoding.
Isi permintaan
Isi permintaan memuat data dengan struktur berikut:
Representasi JSON |
---|
{
"address": {
object ( |
Kolom | |
---|---|
address |
Wajib diisi. Alamat sedang divalidasi. Alamat yang tidak diformat harus dikirim melalui Panjang total kolom dalam input ini tidak boleh melebihi 280 karakter. Region yang didukung dapat ditemukan di sini. Nilai Address Validation API mengabaikan nilai di |
previousResponseId |
Kolom ini harus kosong untuk permintaan validasi alamat pertama. Jika ada lebih banyak permintaan yang diperlukan untuk memvalidasi satu alamat sepenuhnya (misalnya, jika perubahan yang dilakukan pengguna setelah validasi awal perlu divalidasi ulang), setiap permintaan tindak lanjut harus mengisi kolom ini dengan |
enableUspsCass |
Mengaktifkan mode yang kompatibel dengan USPS CASS. Ini hanya memengaruhi kolom Sebaiknya gunakan |
Isi respons
Jika berhasil, isi respons memuat data dengan struktur berikut:
Respons terhadap permintaan validasi alamat.
Representasi JSON |
---|
{
"result": {
object ( |
Kolom | |
---|---|
result |
Hasil validasi alamat. |
responseId |
UUID yang mengidentifikasi respons ini. Jika alamat perlu divalidasi ulang, UUID ini harus menyertai permintaan baru. |
PostalAddress
Merupakan alamat pos, mis. untuk pengiriman pos atau alamat pembayaran. Seperti alamat pos, layanan pos dapat mengirimkan item ke tempat, P.O Box, atau yang serupa. Ini tidak dimaksudkan untuk memodelkan lokasi geografis (jalan, kota, gunung).
Dalam penggunaan umum, alamat akan dibuat melalui masukan pengguna atau dengan mengimpor data yang ada, bergantung pada jenis prosesnya.
Saran tentang pengisian / pengeditan alamat: - Gunakan widget alamat yang siap untuk internasionalisasi seperti https://github.com/google/libaddressinput) - Pengguna tidak boleh diberi elemen UI untuk mengisi atau mengedit kolom selain negara tempat kolom tersebut digunakan.
Untuk mendapatkan panduan lebih lanjut tentang cara menggunakan skema ini, lihat: https://support.google.com/business/answer/6397478
Representasi JSON |
---|
{ "revision": integer, "regionCode": string, "languageCode": string, "postalCode": string, "sortingCode": string, "administrativeArea": string, "locality": string, "sublocality": string, "addressLines": [ string ], "recipients": [ string ], "organization": string } |
Kolom | |
---|---|
revision |
Revisi skema |
regionCode |
Opsional. Kode wilayah CLDR negara/wilayah alamat. Lihat https://cldr.unicode.org/ dan https://www.unicode.org/cldr/charts/30/supplemental/territory_information.html untuk detailnya. Contoh: "CH" untuk Swiss. Jika kode wilayah tidak disediakan, kode akan disimpulkan dari alamat tersebut. Untuk performa terbaik, sebaiknya sertakan kode wilayah jika Anda mengetahuinya. Memiliki wilayah yang tidak konsisten atau berulang dapat menyebabkan performa yang buruk, misalnya, jika |
languageCode |
Kode bahasa di alamat input disimpan untuk penggunaan di masa mendatang dan akan diabaikan hari ini. API mengembalikan alamat dalam bahasa yang sesuai tempat alamat berada. |
postalCode |
Opsional. Kode pos alamat. Tidak semua negara menggunakan atau memerlukan penyertaan kode pos, tetapi jika kode pos digunakan, kode pos dapat memicu validasi tambahan dengan bagian alamat lain (mis. validasi negara bagian/kode pos di AS). |
sortingCode |
Opsional. Kode pengurutan tambahan khusus negara. Kode ini tidak digunakan di sebagian besar wilayah. Jika digunakan, nilainya berupa string seperti "CEDEX", secara opsional diikuti dengan nomor (mis. "CEDEX 7"), atau hanya nomor saja, yang mewakili "kode sektor" (Jamaika), "indikator area pengiriman" (Malawi), atau "indikator kantor pos" (mis. Côte d'Ivoire). |
administrativeArea |
Opsional. Subdivisi administrasi tertinggi yang digunakan untuk alamat pos negara atau wilayah. Misalnya, ini dapat berupa negara bagian, provinsi, oblast, atau prefektur. Khususnya, untuk Spanyol ini adalah provinsi dan bukan komunitas otonom (mis. "Barcelona" dan bukan "Catalunya"). Banyak negara tidak menggunakan wilayah administratif di alamat pos. Mis. di Swiss ini harus dibiarkan kosong. |
locality |
Opsional. Secara umum merujuk pada bagian kota dari alamat tersebut. Contoh: US city, IT comune, UK post town. Di wilayah dunia dengan lokalitas yang tidak didefinisikan dengan baik atau tidak cocok dengan struktur ini, biarkan lokalitas kosong dan gunakan addressLines. |
sublocality |
Opsional. Sublokalitas alamat. Misalnya, ini dapat berupa lingkungan, borough, distrik. |
addressLines[] |
Wajib diisi. Baris alamat tidak terstruktur yang menggambarkan level alamat yang lebih rendah. |
recipients[] |
Jangan menyetel kolom ini. Address Validation API saat ini tidak menggunakannya. Meskipun saat ini API tidak akan menolak permintaan dengan penetapan kolom ini, informasi akan dihapus dan tidak akan ditampilkan dalam respons. |
organization |
Jangan menyetel kolom ini. Address Validation API saat ini tidak menggunakannya. Meskipun saat ini API tidak akan menolak permintaan dengan penetapan kolom ini, informasi akan dihapus dan tidak akan ditampilkan dalam respons. |
Hasil Validasi
Hasil validasi alamat.
Representasi JSON |
---|
{ "verdict": { object ( |
Kolom | |
---|---|
verdict |
Tanda putusan keseluruhan |
address |
Informasi tentang alamat itu sendiri, bukan geocode. |
geocode |
Informasi tentang lokasi dan tempat alamat di-geocode. |
metadata |
Informasi lain yang relevan dengan kelayakan pengiriman. |
uspsData |
Flag hasil ekstra yang diberikan oleh USPS. Hanya disediakan di wilayah |
Putusan
Ringkasan tingkat tinggi tentang hasil validasi alamat dan geocode.
Representasi JSON |
---|
{ "inputGranularity": enum ( |
Kolom | |
---|---|
inputGranularity |
Tingkat perincian input pada alamat. Ini adalah hasil dari penguraian alamat input dan tidak memberikan sinyal validasi apa pun. Untuk sinyal validasi, lihat Misalnya, jika alamat input menyertakan nomor apartemen tertentu, |
validationGranularity |
Tingkat perincian yang dapat divalidasi sepenuhnya oleh API oleh alamat. Misalnya, Hasil validasi komponen per alamat dapat ditemukan di |
geocodeGranularity |
Informasi tentang tingkat perincian Ini dapat berbeda dengan |
addressComplete |
Alamat dianggap lengkap jika tidak ada token yang belum terselesaikan, tidak ada komponen alamat yang tidak terduga atau tidak ada. Lihat kolom |
hasUnconfirmedComponents |
Setidaknya satu komponen alamat tidak dapat dikategorikan atau divalidasi, lihat |
hasInferredComponents |
Setidaknya satu komponen alamat disimpulkan (ditambahkan) yang tidak ada dalam input, lihat |
hasReplacedComponents |
Setidaknya satu komponen alamat telah diganti, lihat |
Tingkat perincian
Berbagai perincian yang dapat dimiliki alamat atau geocode. Jika digunakan untuk menunjukkan tingkat perincian alamat, nilai ini akan menunjukkan tingkat perincian alamat yang menunjukkan tujuan pengiriman. Misalnya, alamat seperti "123 Main Street, Redwood City, CA, 94061" mengidentifikasi PREMISE
, sedangkan nama seperti "Redwood City, CA, 94061" mengidentifikasi LOCALITY
. Namun, jika kami tidak dapat menemukan geocode untuk "123 Main Street" di Redwood City, geocode yang ditampilkan mungkin memiliki perincian LOCALITY
meskipun alamatnya lebih terperinci.
Enumerasi | |
---|---|
GRANULARITY_UNSPECIFIED |
Nilai default. Nilai ini tidak digunakan. |
SUB_PREMISE |
Hasil tingkat di bawah bangunan, seperti apartemen. |
PREMISE |
Hasil tingkat bangunan. |
PREMISE_PROXIMITY |
Geocode yang memperkirakan lokasi tingkat gedung alamat. |
BLOCK |
Alamat atau geocode menunjukkan blok. Hanya digunakan di wilayah yang memiliki alamat tingkat blok, seperti Jepang. |
ROUTE |
Geocode atau alamat terperinci untuk rute, seperti jalan, jalan, atau jalan raya. |
OTHER |
Semua perincian lainnya, yang dikelompokkan bersama karena tidak dapat ditayangkan. |
Alamat
Detail alamat yang telah diproses ulang. Pasca-pemrosesan termasuk mengoreksi bagian alamat yang salah eja, mengganti bagian yang salah, dan menyimpulkan bagian yang hilang.
Representasi JSON |
---|
{ "formattedAddress": string, "postalAddress": { object ( |
Kolom | |
---|---|
formattedAddress |
Alamat yang telah diproses sebelumnya, yang diformat sebagai alamat baris tunggal mengikuti aturan format alamat wilayah tempat alamat tersebut berada. |
postalAddress |
Alamat yang telah diproses yang ditampilkan sebagai alamat pos. |
addressComponents[] |
Daftar tidak berurutan. Komponen alamat individual dari alamat yang diformat dan dikoreksi, beserta informasi validasi. Kolom ini memberikan informasi tentang status validasi masing-masing komponen. Komponen alamat tidak diurutkan dengan cara tertentu. Jangan membuat asumsi tentang urutan komponen alamat dalam daftar. |
missingComponentTypes[] |
Jenis komponen yang diharapkan ada di alamat surat yang diformat dengan benar, tetapi tidak ditemukan di input DAN tidak dapat disimpulkan. Komponen jenis ini tidak ada di |
unconfirmedComponentTypes[] |
Jenis komponen yang ada di |
unresolvedTokens[] |
Token apa pun dalam input yang tidak dapat diselesaikan. Ini mungkin merupakan input yang tidak dikenali sebagai bagian alamat yang valid (misalnya dalam input seperti "123235253253 Main St, San Francisco, CA, 94105", token yang belum terselesaikan mungkin terlihat seperti |
AddressComponent
Mewakili komponen alamat, seperti jalan, kota, atau negara bagian.
Representasi JSON |
---|
{ "componentName": { object ( |
Kolom | |
---|---|
componentName |
Nama untuk komponen ini. |
componentType |
Jenis komponen alamat. Lihat Tabel 2: Jenis tambahan yang ditampilkan oleh layanan Places untuk daftar kemungkinan jenis. |
confirmationLevel |
Menunjukkan tingkat kepastian yang kita miliki bahwa komponen sudah benar. |
inferred |
Menunjukkan bahwa komponen bukan bagian dari input, tetapi kami menyimpulkannya untuk lokasi alamat dan yakin bahwa komponen tersebut harus disediakan untuk alamat yang lengkap. |
spellCorrected |
Mengindikasikan ejaan nama komponen yang telah dikoreksi dengan cara yang kecil, misalnya dengan mengalihkan dua karakter yang muncul dalam urutan yang salah. Ini menunjukkan perubahan tampilan. |
replaced |
Menunjukkan bahwa nama komponen diganti dengan nama yang sama sekali berbeda, misalnya kode pos yang salah diganti dengan yang benar untuk alamat. Ini bukan perubahan kosmetik, komponen input telah diubah menjadi komponen lain. |
unexpected |
Mengindikasikan komponen alamat yang tidak diharapkan ada di alamat pos untuk wilayah tertentu. Kami mempertahankannya hanya karena merupakan bagian dari input. |
NamaKomponen
Wrapper untuk nama komponen.
Representasi JSON |
---|
{ "text": string, "languageCode": string } |
Kolom | |
---|---|
text |
Teks nama. Misalnya, "5th Avenue" untuk nama jalan atau "1253" untuk nomor jalan. |
languageCode |
Kode bahasa BCP-47. Nama komponen tidak akan ada jika nama komponen tidak terkait dengan bahasa, seperti nomor jalan. |
Tingkat Konfirmasi
Nilai yang berbeda yang mungkin untuk tingkat konfirmasi.
Enumerasi | |
---|---|
CONFIRMATION_LEVEL_UNSPECIFIED |
Nilai default. Nilai ini tidak digunakan. |
CONFIRMED |
Kami dapat memverifikasi bahwa komponen ini ada dan masuk akal dalam konteks alamat lainnya. |
UNCONFIRMED_BUT_PLAUSIBLE |
Komponen ini tidak dapat dikonfirmasi, tetapi masuk akal jika komponen tersebut ada. Misalnya, nomor jalan dalam rentang nomor valid yang diketahui di jalan yang nomor rumah spesifiknya tidak diketahui. |
UNCONFIRMED_AND_SUSPICIOUS |
Komponen ini belum dikonfirmasi dan kemungkinan salah. Misalnya, lingkungan yang tidak cocok dengan sisa alamat. |
Geocode
Berisi informasi tentang tempat input di-geocode.
Representasi JSON |
---|
{ "location": { object ( |
Kolom | |
---|---|
location |
Lokasi input yang di-geocode. ID tempat lebih disarankan daripada menggunakan alamat, koordinat lintang/bujur, atau kode plus. Menggunakan koordinat saat mengarahkan atau menghitung rute mobil akan selalu mengakibatkan titik dipaskan ke jalan terdekat dengan koordinat tersebut. Ini mungkin bukan jalan yang akan mengarah ke tujuan dengan cepat atau aman dan mungkin tidak dekat dengan titik akses ke properti. Selain itu, jika lokasi di-geocoding terbalik, tidak ada jaminan bahwa alamat yang ditampilkan akan cocok dengan alamat asli. |
plusCode |
Plus Codes yang sesuai dengan |
bounds |
Batas tempat yang di-geocode. |
featureSizeMeters |
Ukuran tempat yang di-geocode, dalam meter. Ini adalah ukuran lain dari kekasaran lokasi geocode, tetapi dalam ukuran fisik dan bukan pada makna semantik. |
placeId |
PlaceID tempat input ini melakukan geocoding. Untuk informasi selengkapnya tentang ID Tempat, lihat di sini. |
placeTypes[] |
Jenis tempat input di-geocode. Misalnya, |
LatLng
Objek yang merepresentasikan pasangan garis lintang/bujur. Objek ini dinyatakan sebagai pasangan ganda untuk mewakili derajat lintang dan derajat bujur. Kecuali ditentukan lain, objek ini harus sesuai dengan standar WGS84. Nilai harus berada dalam rentang yang dinormalisasi.
Representasi JSON |
---|
{ "latitude": number, "longitude": number } |
Kolom | |
---|---|
latitude |
Lintang dalam derajat. Nilainya harus dalam rentang [-90.0, +90.0]. |
longitude |
Bujur dalam derajat. Nilainya harus dalam rentang [-180.0, +180.0]. |
Plus Codes
Plus Codes (http://plus.codes) adalah referensi lokasi dengan dua format: kode global yang menentukan 14mx14m (1/8000 derajat) atau persegi panjang yang lebih kecil, dan kode gabungan, menggantikan awalan dengan lokasi referensi.
Representasi JSON |
---|
{ "globalCode": string, "compoundCode": string } |
Kolom | |
---|---|
globalCode |
Kode global (lengkap) tempat, seperti "9FWM33GV+HQ", yang mewakili area 1/8000 x 1/8000 derajat (~14 kali 14 meter). |
compoundCode |
Kode gabungan tempat, seperti "33GV+HQ, Ramberg, Norwegia", yang berisi akhiran kode global dan mengganti awalan dengan nama berformat dari entitas referensi. |
Area Pandang
Area pandang lintang-bujur, yang diwakili sebagai dua titik low
dan high
secara diagonal. Area pandang dianggap sebagai wilayah tertutup, yaitu menyertakan batasnya. Batas lintang harus berkisar antara -90 hingga 90 derajat, dan batas bujur harus berkisar antara -180 hingga 180 derajat. Berbagai kasus meliputi:
Jika
low
=high
, area pandang terdiri dari satu titik tersebut.Jika
low.longitude
>high.longitude
, rentang bujur dibalik (area pandang melintasi garis bujur 180 derajat).Jika
low.longitude
= -180 derajat danhigh.longitude
= 180 derajat, area pandang menyertakan semua bujur.Jika
low.longitude
= 180 derajat danhigh.longitude
= -180 derajat, rentang bujur kosong.Jika
low.latitude
>high.latitude
, rentang lintang kosong.
low
dan high
harus diisi, dan kotak yang diwakili tidak boleh kosong (seperti yang ditentukan oleh definisi di atas). Area pandang kosong akan menghasilkan error.
Misalnya, area pandang ini sepenuhnya mencakup Kota New York:
{ "rendah": { "lintang": 40.477398, "bujur": -74.259087 }, "tinggi": { "lintang": 40.91618, "bujur": -73.70018 } }
Representasi JSON |
---|
{ "low": { object ( |
Kolom | |
---|---|
low |
Wajib diisi. Titik rendah area pandang. |
high |
Wajib diisi. Titik tinggi area pandang. |
AddressMetadata
Metadata alamat. metadata
tidak dijamin akan terisi penuh untuk setiap alamat yang dikirim ke Address Validation API.
Representasi JSON |
---|
{ "business": boolean, "poBox": boolean, "residential": boolean } |
Kolom | |
---|---|
business |
Menunjukkan bahwa ini adalah alamat bisnis. Jika tidak disetel, menunjukkan bahwa nilai tidak diketahui. |
poBox |
Menunjukkan bahwa alamat kotak PO. Jika tidak disetel, menunjukkan bahwa nilai tidak diketahui. |
residential |
Menunjukkan bahwa ini adalah alamat tempat tinggal. Jika tidak disetel, menunjukkan bahwa nilai tidak diketahui. |
UspsData
Data USPS untuk alamat. uspsData
tidak dijamin akan terisi penuh untuk setiap alamat PR AS atau yang dikirim ke API Validasi Alamat. Sebaiknya integrasikan kolom alamat cadangan dalam respons jika Anda menggunakan uspsData sebagai bagian utama dari respons.
Representasi JSON |
---|
{
"standardizedAddress": {
object ( |
Kolom | |
---|---|
standardizedAddress |
Alamat standar USPS. |
deliveryPointCode |
Kode titik pengiriman 2 digit |
deliveryPointCheckDigit |
Digit pengecek titik pengiriman. Nomor ini ditambahkan ke bagian akhir delivery_point_barcode untuk email yang dipindai secara mekanis. Penambahan semua digit delivery_point_barcode, deliveryPointCheckDigit, kode pos, dan ZIP+4 akan menghasilkan angka yang habis dibagi 10. |
dpvConfirmation |
Nilai yang memungkinkan untuk konfirmasi DPV. Menampilkan satu karakter.
|
dpvFootnote |
Catatan kaki dari validasi titik pengiriman. Beberapa catatan kaki dapat dirangkai dalam string yang sama.
|
dpvCmra |
Menunjukkan apakah alamatnya adalah CMRA (Commercial Mail Recipient Agency)--bisnis pribadi yang menerima email untuk klien. Menampilkan satu karakter.
|
dpvVacant |
Apakah tempat ini kosong? Menampilkan satu karakter.
|
dpvNoStat |
Apakah ini alamat statis atau alamat yang aktif? Tidak ada alamat statistik yang tidak terus-menerus terisi atau alamat yang tidak dilayani USPS. Menampilkan satu karakter.
|
carrierRoute |
Kode rute jasa kurir. Kode empat karakter yang terdiri dari awalan satu huruf dan penanda rute tiga digit. Awalan:
|
carrierRouteIndicator |
Indikator urutan tingkat rute jasa kurir. |
ewsNoMatch |
Alamat pengiriman dapat dicocokkan, tetapi file EWS menunjukkan bahwa pencocokan persis akan segera tersedia. |
postOfficeCity |
Kota kantor pos utama. |
postOfficeState |
Negara bagian utama kantor pos. |
abbreviatedCity |
Singkatan kota. |
fipsCountyCode |
Kode county FIPS. |
county |
Nama county. |
elotNumber |
Nomor Enhanced Line of Travel (eLOT). |
elotFlag |
Bendera Menaik/Menurun eLOT (A/D). |
lacsLinkReturnCode |
Kode pengembalian LACSLink. |
lacsLinkIndicator |
Indikator LACSLink. |
poBoxOnlyPostalCode |
Kode pos hanya PO Box. |
suitelinkFootnote |
Catatan kaki dari mencocokkan catatan jalan atau gedung tinggi dengan informasi suite. Jika ditemukan kecocokan nama bisnis, nomor sekunder akan ditampilkan.
|
pmbDesignator |
Penanda unit PMB (Private Mail Box). |
pmbNumber |
Nomor PMB (Private Mail Box); |
addressRecordType |
Jenis data alamat yang cocok dengan alamat input.
|
defaultAddress |
Indikator bahwa alamat default ditemukan, tetapi ada alamat yang lebih spesifik. |
errorMessage |
Pesan error untuk pengambilan data USPS. Kolom ini diisi saat pemrosesan USPS ditangguhkan karena deteksi alamat yang dibuat secara artifisial. Kolom data USPS mungkin tidak diisi jika error ini ada. |
cassProcessed |
Indikator bahwa permintaan telah diproses oleh CASS. |
Alamat Usps
Representasi USPS dari alamat di AS.
Representasi JSON |
---|
{ "firstAddressLine": string, "firm": string, "secondAddressLine": string, "urbanization": string, "cityStateZipAddressLine": string, "city": string, "state": string, "zipCode": string, "zipCodeExtension": string } |
Kolom | |
---|---|
firstAddressLine |
Baris alamat pertama. |
firm |
Nama firma. |
secondAddressLine |
Baris alamat kedua. |
urbanization |
Nama urbanisasi di Puerto Riko. |
cityStateZipAddressLine |
Kota + negara bagian + kode pos. |
city |
Nama kota. |
state |
Kode status 2 huruf. |
zipCode |
Kode pos, mis. 10009. |
zipCodeExtension |
Ekstensi kode pos 4 digit, mis. 5023. |