Apakah mungkin untuk melakukan validasi alamat (fisik, bukan email)? Tampaknya banyaknya format alamat, bahkan di AS saja, akan membuat ini menjadi tugas yang cukup sulit. Di sisi lain, sepertinya tugas yang diperlukan untuk beberapa kebutuhan bisnis.
validation
street-address
Kevin Pang
sumber
sumber
Jawaban:
Berikut ini cara gratis dan semacam "di luar kotak" untuk melakukannya. Tidak 100% sempurna, tetapi seharusnya menolak alamat yang tidak ada secara terang-terangan.
Kirimkan seluruh alamat ke layanan web geocoding Google . Layanan ini mencoba mengembalikan koordinat yang tepat dari lokasi Anda memberinya makan, yaitu lintang dan bujur.
Menurut pengalaman saya, jika alamatnya tidak valid, Anda akan mendapatkan hasil 602 dari layanan. Pasti ada kemungkinan positif palsu atau negatif palsu, tetapi digunakan bersama dengan pemeriksaan konsistensi lainnya, ini bisa berguna.
( Layanan web geocoding Yahoo , di sisi lain, akan mengembalikan koordinat pusat kota jika kota tersebut ada, tetapi alamat lainnya palsu. Berpotensi berguna selama Anda memperhatikan bidang "presisi" di hasil).
sumber
Ada sejumlah jawaban bagus di sini tetapi kebanyakan dari mereka membuat asumsi bahwa pengguna menginginkan solusi "API" di mana mereka harus menulis kode untuk menyambung ke layanan pihak ketiga dan / atau layar mengikis USPS. Ini semua baik dan bagus, tetapi harus diperhitungkan dalam persyaratan bisnis dan biaya yang terkait dengan penerapan dan kemudian dipertimbangkan terhadap manfaat yang diinginkan.
Bergantung pada kebutuhan bisnis dan cara data diterima ke dalam sistem, solusi pemrosesan alamat waktu nyata mungkin merupakan pilihan terbaik. Jika solusi waktu nyata diperlukan, Anda dapat mempertimbangkan perjanjian lisensi dan batasan teknis dari Google Maps / Bing / Yahoo API. Mereka biasanya membatasi jumlah panggilan yang dapat Anda lakukan setiap hari. API alat web USPS sama, tetapi mereka membatasi bagaimana / mengapa Anda dapat menggunakan sistem mereka dan bagaimana Anda diizinkan untuk menggunakan data setelahnya.
Pada saat yang sama, ada beberapa penyedia layanan hebat yang dapat dengan mudah memproses daftar alamat statis. Pada dasarnya, Anda memberi penyedia layanan file CSV atau file Excel, mereka membersihkannya dan mengembalikannya kepada Anda. Ini adalah kesepakatan satu kali tanpa komitmen atau kewajiban jangka panjang — biasanya.
Pengungkapan penuh: Saya pendiri SmartyStreets. Kami melakukan verifikasi alamat untuk alamat di Amerika Serikat. Kami dengan mudah dapat mensertifikasi daftar CASS dan kami juga menawarkan API layanan web verifikasi alamat . Kami tidak memiliki biaya tersembunyi, kontrak, atau apapun. Anda menggunakan layanan kami sampai Anda tidak lagi membutuhkannya dan Anda dapat pergi. (Tidak seperti perusahaan telepon seluler yang membutuhkan kontrak.)
sumber
USPS memiliki alamat cleaner secara online , yang seseorang telah layar tergores menjadi jejaring orang miskin. Namun, jika Anda cukup sering melakukan ini, akan menjadi ide yang lebih baik untuk mengajukan akun USPS dan menghubungi layanan web mereka sendiri .
sumber
Saya akan merujuk Anda ke posting blog saya - Sebuah pelajaran tentang penyimpanan alamat , saya membahas beberapa teknik dan algoritma yang digunakan dalam proses validasi alamat. Pikiran utama saya adalah "Jangan malas dengan penyimpanan alamat, ini tidak akan membuat Anda sakit kepala lagi di masa mendatang!"
Juga, ada pertanyaan StackOverflow lain yang menanyakan pertanyaan ini. Berjudul Bagaimana seharusnya alamat geografis internasional disimpan dalam database relasional .
sumber
Dalam rangka mengembangkan layanan verifikasi alamat internal di perusahaan Jerman tempat saya bekerja, saya menemukan sejumlah cara untuk mengatasi masalah ini. Saya akan melakukan yang terbaik untuk merangkum temuan saya di bawah ini:
Gratis, Perangkat Lunak Sumber Terbuka
Jelas, pendekatan pertama yang akan diambil siapa pun adalah pendekatan sumber terbuka (seperti openstreetmap.org ), yang bukan merupakan ide yang buruk. Tetapi apakah Anda benar-benar dapat menggunakan ini dengan baik dan dapat diandalkan sangat bergantung pada seberapa besar Anda perlu mengandalkan hasil.
Alamat adalah hal yang sangat bervariasi. Memverifikasi alamat AS bukanlah tugas yang mudah, tetapi dapat ditanggung, tetapi begitu Anda pergi ke Eropa, terutama Inggris dengan sistem Kode Pos mereka yang ekstensif, pendekatan sumber terbuka akan kekurangan data.
Layanan Web / API
Perangkat Lunak Kelas Perusahaan
Uang menyelesaikannya, jelas. Tetapi tidak setiap bisnis atau pengembang dapat menghabiskan ~ $ 0,15 per pencarian alamat (itu $ 150 untuk 1.000 permintaan API) - model bisnis yang sangat mahal yang telah diterapkan oleh sebagian besar API validasi alamat.
Apa yang akhirnya saya integrasikan: API streetlayer
Karena saya tidak mau mengambil pendekatan terprogram untuk memverifikasi data alamat secara manual, saya akhirnya sampai pada kesimpulan bahwa saya membutuhkan API dengan label harga yang tidak akan membuat atasan saya ingin memecat saya dan tetap memberikan yang solid dan dapat diandalkan hasil verifikasi internasional.
Singkat cerita, saya akhirnya mengintegrasikan API yang dibangun oleh apilayer, yang disebut "API streetlayer". Saya dengan mudah diyakinkan oleh integrasi JSON yang sederhana, hasil validasi yang sangat akurat, dan harga yang ramah pengembang. Selain itu, 100 permintaan / bulan sepenuhnya gratis.
Semoga ini membantu!
sumber
Saya telah menggunakan layanan http://www.melissadata.com "Objek alamat" mereka bekerja dengan sangat baik. Itu mahal, ya. Tetapi ketika Anda mempertimbangkan biaya untuk menulis solusi Anda sendiri, biaya data kotor dalam aplikasi Anda, surat yang dikembalikan - penjualan yang hilang, dan sejenisnya - biayanya dapat dibenarkan.
sumber
Anda juga dapat mencoba solusi Kualitas Data SAP yang tersedia di kedua platform server yang memproses sejumlah besar permintaan atau sebagai SDK yang dapat disematkan jika Anda ingin menjalankannya dalam proses dengan aplikasi Anda. Kami menggunakannya dalam aplikasi kami dan ini sangat kuat dan dapat diskalakan.
sumber
Seperti yang terlihat di reddit :
sumber
Anda dapat mencoba Api "IdentifyAddress" Pitney Bowes yang tersedia di - https://identify.pitneybowes.com/
Layanan ini menganalisis dan membandingkan alamat input dengan database alamat yang diketahui di seluruh dunia untuk menghasilkan detail standar. Ini mengoreksi alamat, menambahkan informasi pos yang hilang dan memformatnya menggunakan format yang disukai oleh otoritas pos yang berlaku. Saya juga menggunakan basis data alamat tambahan sehingga dapat memberikan detail yang ditingkatkan, termasuk kualitas alamat, jenis alamat, transliterasi (seperti dari Kanji Cina ke karakter Latin) dan apakah alamat divalidasi ke tingkat premis / rumah, jalan, atau kota informasi referensi.
Anda akan menemukan banyak contoh dan SDK yang tersedia di situs dan saya merasa sangat mudah untuk diintegrasikan.
sumber
Satu area di mana pencarian alamat harus dilakukan dengan andal adalah untuk layanan VOIP E911. Saya mengetahui perusahaan dengan andal menggunakan layanan berikut untuk ini:
Bandwidth.com 9-1-1 Access API MSAG Address Validation
MSAG = Panduan Alamat Jalan Utama
https://www.bandwidth.com/9-1-1/
SmartyStreet US Street Address API
https://smartystreets.com/docs/cloud/us-street-api
sumber
Ada perusahaan yang menyediakan layanan ini. Biro layanan yang menangani pengiriman massal akan menggeser seluruh milis ke dalam format yang tepat, yang menghasilkan diskon pada perangko. USPS menjual database informasi alamat yang dapat digunakan untuk mengembangkan solusi kustom. Mereka juga memiliki daftar vendor yang disetujui yang menyediakan perangkat lunak dan layanan semacam ini.
Ada beberapa (tetapi tidak banyak) paket yang memiliki API untuk mengaitkan validasi alamat ke perangkat lunak Anda.
Namun, Anda benar bahwa itu masalah yang sangat buruk.
http://www.usps.com/ncsc/ziplookup/vendorslicensees.htm
sumber
Seperti yang disebutkan, ada banyak layanan di luar sana, jika Anda ingin benar-benar memvalidasi seluruh alamat maka saya sangat menyarankan untuk menggunakan layanan jenis Layanan Web untuk memastikan bahwa perubahan dapat dengan cepat dikenali oleh aplikasi Anda.
Selain layanan yang tercantum di atas, webservice.net memiliki layanan Validasi Alamat AS ini. http://www.webservicex.net/WCF/ServiceDetails.aspx?SID=24
sumber
Kami sukses dengan Perfect Address .
Database mereka memiliki semua rentang nama jalan dan nomor jalan AS. Juga bertindak sebagai parser yang cukup baik untuk bidang alamat bentuk bebas, jika Anda cukup beruntung memiliki data semacam itu.
sumber
Memvalidasinya adalah alamat yang valid adalah satu hal.
Tetapi jika Anda mencoba untuk memvalidasi seseorang yang tinggal di alamat tertentu, satu-satunya jaminan Anda adalah tes email ke alamat tersebut, dan bahkan itu tidak pasti apakah orang tersebut terorganisir atau mengenal seseorang di alamat itu.
Jika tidak, orang dapat menentukan alamat acak sembarang yang mereka tahu ada dan itu tidak akan berarti apa-apa bagi Anda.
Hal terbaik yang dapat Anda lakukan untuk hasil langsung adalah meminta pengguna mengirimkan foto / pindaian salinan kepala rekening koran mereka atau bukti tempat tinggal terkini lainnya, karena setidaknya mereka harus bekerja lebih keras untuk melupakannya, dan menempa benda-benda tersebut muncul dengan mudah dengan analisis forensik gambar tingkat dasar.
sumber
Tidak ada solusi global. Untuk negara tertentu, cara ini paling rumit.
Di Inggris Raya, PostOffice mengontrol alamat pos, dan dapat memberikan (dengan biaya) informasi alamat untuk tujuan validasi.
Instansi pemerintah juga menyimpan daftar alamat yang ekstensif, dan ini disusun secara terpusat di NLPG (National Land and Property Gazetteer).
Sebenarnya memvalidasi terhadap daftar ini sangat sulit. Kebanyakan orang bahkan tidak tahu persis bagaimana alamat mereka seperti yang dipegang oleh PostOffice. Beberapa bisnis bahkan tidak tahu nomor berapa mereka di jalan tertentu.
Taruhan terbaik Anda adalah mendekati perusahaan yang berspesialisasi dalam hal semacam ini.
sumber
Untuk data alamat berbasis AS, perusahaan saya telah menggunakan GeoStan . Ini memiliki binding untuk C dan Java (dan kami membuat binding Perl). Perhatikan bahwa ini adalah produk komersial dan tidak murah. Ini cukup cepat (~ 300 alamat per detik) dan menawarkan fitur seperti sertifikasi CASS (diskon surat massal USPS), penandaan DPV (verifikasi titik pengiriman), dan geocoding LON / LAT.
Ada modul Perl Geo :: PostalAddress , tetapi menggunakan heuristik dan tidak memiliki fitur lain yang disebutkan untuk GeoStan.
Sunting: beberapa telah menyebutkan 'melakukannya sendiri', jika Anda memutuskan untuk melakukan ini, sumber informasi yang baik untuk memulai adalah Kumpulan Data Harimau Sensus AS , yang berisi banyak informasi tentang AS termasuk informasi alamat.
sumber
Yahoo juga memiliki API Pembuat Letak. Ini hanya bagus untuk lokasi tetapi memiliki id universal untuk semua lokasi dunia.
Sepertinya tidak ada standar dalam daftar ISO .
sumber
NAICS.com keluar dengan API yang akan menambahkan semua jenis data bisnis utama termasuk alamat jalan. Ini akan terjadi dengan cepat saat formulir situs Anda diproses. https://www.naics.com/business-intelligence-api/
sumber
Tersedia layanan Fixaddress.com yang menyediakan layanan berikut ini,
1) Alamat Validasi.
2) Koreksi Alamat.
3) Mengatasi koreksi ejaan.
4) Memperbaiki kesalahan fonetik alamat.
Fixaddress.com menggunakan data USPS dan Tiger sebagai data referensi.
Untuk lebih detail kunjungi tautan di bawah ini,
http://www.fixaddress.com/
sumber
Untuk alamat AS Anda dapat meminta negara bagian yang valid, dan memverifikasi bahwa zip tersebut valid. Anda bahkan dapat memeriksa apakah kode posnya dalam keadaan yang benar, tetapi di luar itu saya rasa tidak banyak tes yang dapat Anda jalankan yang tidak akan memberikan banyak negatif palsu.
Apa yang Anda coba lakukan - mencegah kesalahan sederhana atau memaksakan semacam pemeriksaan identitas?
sumber