Adres (fiziksel, e-posta değil) doğrulaması yapmak mümkün mü? Görünüşe göre çok sayıda adres biçimi, tek başına ABD'de bile, bunu oldukça zor bir görev haline getirecek. Öte yandan, birkaç iş gereksinimi için gerekli olacak bir görev gibi görünüyor.
Adres (fiziksel, e-posta değil) doğrulaması yapmak mümkün mü? Görünüşe göre çok sayıda adres biçimi, tek başına ABD'de bile, bunu oldukça zor bir görev haline getirecek. Öte yandan, birkaç iş gereksinimi için gerekli olacak bir görev gibi görünüyor.
Yanıtlar:
İşte bunu yapmanın ücretsiz ve bir çeşit "kutunun dışında" yolu. % 100 mükemmel değil, ancak bariz bir şekilde var olmayan adresleri reddetmelidir.
Adresin tamamını Google'ın coğrafi kodlama web hizmetine gönderin . Bu hizmet, beslediğiniz yerin tam koordinatlarını, yani enlem ve boylamı döndürmeye çalışır.
Tecrübelerime göre adres geçersizse, hizmetten 602 sonucu alacaksınız. Kesinlikle yanlış pozitif veya yanlış negatif olasılığı vardır, ancak diğer tutarlılık kontrolleriyle birlikte kullanıldığında yararlı olabilir.
( Öte yandan Yahoo'nun coğrafi kodlama web hizmeti , şehir varsa, ancak adresin geri kalanı sahte ise, şehrin merkezinin koordinatlarını döndürecektir. sonuç).
Burada bir dizi iyi yanıt var ancak bunların çoğu, kullanıcının üçüncü taraf bir hizmete bağlanmak için kod yazması gereken bir "API" çözümü istediğini ve / veya USPS'yi ekran kazıyacağını varsayıyor. Bunların hepsi iyi ve iyidir, ancak uygulama ile ilgili iş gereksinimleri ve maliyetler hesaba katılmalı ve ardından istenen faydalara karşı tartılmalıdır.
İş gereksinimlerine ve verilerin sisteme alınma şekline bağlı olarak, gerçek zamanlı bir adres işleme çözümü en iyi seçenek olabilir. Gerçek zamanlı bir çözüm gerekiyorsa, Google Haritalar / Bing / Yahoo API'lerinin lisans sözleşmesini ve teknik sınırlamalarını göz önünde bulundurmak isteyeceksiniz. Genellikle her gün yapabileceğiniz arama sayısını sınırlarlar. USPS web araçları API'si aynıdır, ayrıca sistemlerini nasıl / neden kullanabileceğinizi ve daha sonra verileri nasıl kullanabileceğinizi kısıtlar.
Aynı zamanda, statik bir adres listesini kolayca işleyebilen bir avuç büyük hizmet sağlayıcı vardır. Esasen, servis sağlayıcıya bir CSV dosyası veya Excel dosyası verirsiniz, onlar onu temizler ve size geri alır. Uzun vadeli taahhüt veya yükümlülük içermeyen tek seferlik bir anlaşmadır - genellikle.
Tam açıklama: SmartyStreets'in kurucusuyum. Amerika Birleşik Devletleri içindeki adresler için adres doğrulaması yapıyoruz. Bir listeyi kolayca CASS onaylayabiliyoruz ve ayrıca bir adres doğrulama web hizmeti API'si sunuyoruz . Gizli ücretlerimiz, sözleşmelerimiz veya herhangi bir şeyimiz yok. Artık ihtiyacın kalmayana kadar hizmetimizi kullanırsın ve yürüyebilirsin. (Sözleşme gerektiren cep telefonu şirketlerinin aksine.)
USPS, birisinin ekranını fakir bir adamın web hizmetine kazınmış olduğu çevrimiçi bir adres temizleyicisine sahiptir . Eğer yeterince sık yapıyorsan Ancak, bir başvurusu için daha iyi bir fikir olurdu USPS hesabına ve kendi çağrı webservice .
Sizi blog yazıma yönlendireceğim - Adres depolamayla ilgili bir ders , adres doğrulama sürecinde kullanılan bazı tekniklere ve algoritmalara gireceğim . Anahtar düşüncem "Adres depolamayla tembel olmayın, gelecekte baş ağrısından başka bir şeye neden olmayacak!"
Ayrıca, bu soruyu soran başka bir StackOverflow sorusu var. Başlıklı uluslararası coğrafi adresleri ilişkisel veritabanında saklanmalıdır nasıl .
Önceden çalıştığım bir Alman şirketinde şirket içi adres doğrulama hizmeti geliştirirken, bu sorunu çözmek için birkaç yolla karşılaştım. Bulgularımı aşağıda özetlemek için elimden geleni yapacağım:
Ücretsiz, Açık Kaynak Yazılım
Açıkçası, birinin alacağı ilk yaklaşım açık kaynaklı bir yaklaşımdır ( openstreetmap.org gibi ), ki bu asla kötü bir fikir değildir. Ancak bunu gerçekten iyi ve güvenilir bir şekilde kullanıp kullanamayacağınız, sonuçlara ne kadar güvenmeniz gerektiğine bağlıdır.
Adresler inanılmaz derecede değişken şeylerdir. ABD adreslerini doğrulamak kolay bir iş değil, katlanılabilir bir iştir, ancak Avrupa'ya, özellikle de kapsamlı Posta Kodu sistemleriyle İngiltere'ye gittiğinizde, açık kaynak yaklaşımında veri eksikliği olacaktır.
Web Hizmetleri / API'ler
Kurumsal Sınıf Yazılım
Belli ki para hallediyor. Ancak her işletme veya geliştirici adres araması başına ~ 0,15 ABD doları harcayamaz (bu 1000 API isteği için 150 ABD dolarıdır) - bu, adres doğrulama API'lerinin büyük çoğunluğunun uyguladığı çok pahalı bir iş modelidir.
En sonunda neyi entegre ettim: streetlayer API
Adres verilerini manuel olarak doğrulamaya yönelik programatik yaklaşımı benimsemeye istekli olmadığım için, sonunda patronumun beni kovmak istemesine ve yine de sağlam ve güvenilir bir hizmet sunmaya devam etmesine neden olmayacak bir fiyat etiketine sahip bir API'ye ihtiyacım olduğu sonucuna vardım. uluslararası doğrulama sonuçları.
Uzun lafın kısası, "streetlayer API" adı verilen apilayer tarafından oluşturulmuş bir API'yi entegre ettim. Basit bir JSON entegrasyonu, şaşırtıcı derecede doğru doğrulama sonuçları ve geliştirici dostu fiyatlandırmasıyla ikna oldum. Ayrıca, ayda 100 istek tamamen ücretsizdir.
Bu yardımcı olur umarım!
Http://www.melissadata.com hizmetlerini kullandım "adres nesnesi" çok iyi çalışıyor. Pahalı, evet. Ancak kendi çözümlerinizi yazmanın maliyetlerini, uygulamanızdaki kirli verilerin maliyetini, iade edilen postacıları (kayıp satışlar vb.) Düşündüğünüzde, maliyetler haklı çıkarılabilir.
SAP'nin hem çok sayıda isteği işleyen bir sunucu platformunda bulunan Veri Kalitesi çözümlerini hem de uygulamanızla işlem halinde çalıştırmak istiyorsanız gömülebilir bir SDK olarak deneyebilirsiniz. Bunu uygulamamızda kullanıyoruz ve çok sağlam ve ölçeklenebilir.
Pitney Bowes "IdentifyAddress" API'sini deneyebilirsiniz - https://identify.pitneybowes.com/
Hizmet, standartlaştırılmış bir ayrıntı oluşturmak için girdi adreslerini dünya çapında bilinen adres veri tabanlarıyla karşılaştırır ve analiz eder. Adresleri düzeltir, eksik posta bilgilerini ekler ve geçerli posta otoritesi tarafından tercih edilen biçimi kullanarak biçimlendirir. Ayrıca adres kalitesi, adres türü, harf çevirisi (Çince Kanji'den Latin karakterlerine gibi) ve bir adresin tesis / bina numarası, cadde veya şehir düzeyinde doğrulanıp doğrulanmadığı dahil olmak üzere gelişmiş ayrıntılar sağlayabilmek için ek adres veritabanları kullanıyorum referans bilgileri.
Sitede çok sayıda örnek ve SDK bulacaksın ve entegrasyonunu son derece kolay buldum.
Adres aramalarının güvenilir bir şekilde gerçekleştirilmesi gereken alanlardan biri VOIP E911 hizmetleridir. Bunun için aşağıdaki hizmetleri güvenilir bir şekilde kullanan şirketler biliyorum:
Bandwidth.com 9-1-1 Erişim API MSAG Adres Doğrulama
MSAG = Ana Sokak Adresi Kılavuzu
https://www.bandwidth.com/9-1-1/
SmartyStreet ABD Sokak Adresi API'si
Bu hizmeti veren firmalar var. Toplu postayla uğraşan servis büroları, tüm posta listesini temizleyerek uygun formatta olmasını sağlar ve bu da posta ücretinde indirimle sonuçlanır. USPS, özel çözümler geliştirmek için kullanılabilecek adres bilgisi veritabanları satar. Ayrıca bu tür yazılım ve hizmeti sağlayan onaylı satıcıların listeleri de vardır.
Yazılımınıza adres doğrulamasını bağlamak için API'leri olan bazı (ancak çok sayıda değil) paket vardır.
Ancak haklısınız, bunun oldukça çirkin bir sorun.
Bahsedildiği gibi, orada birçok hizmet var, tüm adresi gerçekten doğrulamak istiyorsanız, değişikliklerin uygulamanız tarafından hızlı bir şekilde tanınmasını sağlamak için bir Web Hizmeti türü hizmete gitmenizi şiddetle tavsiye ederim.
Yukarıda listelenen hizmetlere ek olarak, webservice.net bu ABD Adres Doğrulama hizmetine sahiptir. http://www.webservicex.net/WCF/ServiceDetails.aspx?SID=24
Mükemmel Adres ile başarılar elde ettik .
Veritabanlarında tüm ABD sokak adları ve sokak numarası aralıkları bulunmaktadır. Ayrıca, bu tür verilere sahip olacak kadar şanslıysanız, serbest biçimli adres alanları için oldukça iyi bir ayrıştırıcı görevi görür.
Bunun geçerli bir adres olduğunu doğrulamak bir şeydir.
Ancak, belirli bir kişinin belirli bir adreste yaşadığını doğrulamaya çalışıyorsanız, neredeyse tek garantiniz adrese gönderilen bir test postası olacaktır ve bu bile kişinin organize olup olmadığı veya bu adreste birini tanıyıp tanımadığı kesin değildir.
Aksi takdirde insanlar, var olduğunu bildikleri rastgele bir adres belirleyebilirler ve bu sizin için hiçbir şey ifade etmez.
Anında sonuç almak için yapabileceğiniz en iyi şey, kullanıcının banka hesap özetinin başlığının fotoğraflı / taranmış bir kopyasını veya başka bir yeni ikamet kanıtı göndermesini istemektir, çünkü en azından o zaman unutmak için daha çok çalışmak zorunda kalırlar ve söz konusu şeylerin taklit edilmesi, temel düzeyde bir adli görüntü analizi ile kolayca ortaya çıkar.
Küresel bir çözüm yok. Herhangi bir ülke için bu en iyi ihtimalle oldukça karmaşıktır.
Birleşik Krallık'ta PostOffice, posta adreslerini kontrol eder ve doğrulama amacıyla (bir ücret karşılığında) adres bilgileri sağlayabilir.
Devlet kurumları da kapsamlı bir adres listesi tutar ve bunlar NLPG'de (Ulusal Arazi ve Emlak Gazetesi) merkezi olarak derlenir.
Aslında bu listelere göre doğrulama yapmak çok zor. Çoğu insan, PostOffice tarafından tutulduğu için adreslerinin tam olarak nasıl olduğunu bile bilmiyor. Bazı işletmeler, belirli bir sokakta kaç numara olduklarını bile bilmiyorlar.
En iyi bahsiniz, bu tür şeylerde uzmanlaşmış bir şirkete başvurmaktır.
Bize dayalı adres verileri için şirketim GeoStan kullandı . C ve Java için bağlantıları vardır (ve bir Perl bağlantısı oluşturduk). Ticari bir ürün olduğunu ve ucuz olmadığını unutmayın. Yine de oldukça hızlıdır (saniyede ~ 300 adres) ve CASS sertifikasyonu (USPS toplu posta indirimi), DPV (Teslimat noktası doğrulama) işaretleme ve LON / LAT coğrafi kodlama gibi özellikler sunar.
Bir Perl modülü Geo :: PostalAddress var , ancak sezgisel yöntemi kullanıyor ve GeoStan için belirtilen diğer özelliklere sahip değil.
Düzenleme: Bazıları 'kendin yapmaktan' bahsetti, eğer bunu yapmaya karar verirseniz, başlangıç için iyi bir bilgi kaynağı, adres bilgileri de dahil olmak üzere ABD hakkında birçok bilgi içeren ABD Nüfus Sayımı Kaplan Veri Kümesidir .
Yahoo'da ayrıca bir Placemaker API'si vardır. Yalnızca konumlar için iyidir, ancak tüm dünya konumları için evrensel bir kimliği vardır.
Görünüşe göre ISO listesinde bir standart yok .
NAICS.com, açık adres de dahil olmak üzere her türden önemli iş verilerini ekleyecek bir API ile çıkıyor. Bu, sitenizin formları işlenirken anında gerçekleşir. https://www.naics.com/business-intelligence-api/
Fixaddress.com hizmeti aşağıdaki hizmetleri veren mevcuttur,
1) Adres Doğrulama.
2) Adres Düzeltme.
3) Adres yazım düzeltmesi.
4) Doğru fonetik hataları ele alır.
Fixaddress.com, USPS ve Tiger verilerini referans verileri olarak kullanır.
Daha fazla ayrıntı için aşağıdaki bağlantıyı ziyaret edin,
ABD adresleri için geçerli bir eyalet gerektirebilir ve posta kodunun geçerli olduğunu doğrulayabilirsiniz. Posta kodunun doğru durumda olup olmadığını bile kontrol edebilirsiniz, ancak bunun ötesinde, çok fazla yanlış negatif sağlamayacak birçok test yapabileceğinizi düşünmüyorum.
Ne yapmaya çalışıyorsunuz - basit hataları önlemek mi yoksa bir tür kimlik kontrolünü zorunlu kılmak mı?