Adres doğrulamasını nasıl gerçekleştirirsiniz? [kapalı]


89

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.


23
ne yaparsanız yapın, eğer adres geçersiz görünüyorsa, kullanıcının gerçekten geçerli olduğunu seçmesine izin verin, doğrulayıcı geçersiz olduğunu söylediği için reddetmeyin.
Pim Jager

"Otomatik adres tamamlama" mı yoksa "adres doğrulama" mı demek istiyorsunuz? Demek istediğim, hiçbir hizmet gerçek dünyada meydana gelen tüm değişiklikleri asla bilemez. Her dakika milyonlarca yeni adres ortaya çıkıyor ve eskileri yıkılıyor. Ve şimdi yerel olarak konuşuyorum, bir gezegen kapsamında.
Yevgeniy Afanasyev

Yanıtlar:


27

İş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ç).


4
Bu yöntemi canlı bir sistemde gerçekten kullanan var mı?
Aston

27
Google ve Yahoo'nun TOS'u, kullanıcıya görüntülenen bir haritanın kullanılması dışında coğrafi kodlama hizmetlerinin kullanılmasını yasaklar. Jonathan Oliver'ın önerdiği gibi daha çok bir şey bulun. Bkz: code.google.com/apis/maps/terms.html
Mat

1
Kötü bir adres girdiğimde söz konusu 602 sonuçlarını alamıyorum.
HK1

9
Bu gerçekten seçilen cevap olmamalıdır. Google TOS'u ihlal ediyor ve aslında adresleri gerçekten doğrulamıyor. Google, bilgi biraz farklı olsa bile istediğiniz adresi "tahmin etmek" için çok fazla bilgi kullanır. 55 Ana Cadde girerseniz ve Google 50 Ana Cadde ve 60 Ana Cadde olduğunu bilirse Google bir coğrafi kod döndürecektir, 55 Ana Cadde gerçekte olmasa bile mesafenin ortalamasını alarak başarılı bir coğrafi kodu geri verecektir var olmak. Tercihen USPS veya Experian veya SmartyStreets gibi gerçek bir doğrulama hizmeti kullanmanız gerekir.
jacurtis

1
Bu ... bit ve bir engin parçaları saklayarak bir düğüm ile herkesin katkıda bulunur hiç veritabanını değiştirme harika Blockchain uygulamasını yapacak
decoder7283

21

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.)


1
Mükemmel, tam aradığım şey. Ve bir stiliniz olduğunu söylememe izin verin, efendim. Güzel görünümlü site.
Cory Mawhorter

2
SmartyStreets kullanıyoruz ve bu harika.
JerSchneid

17
SmartyStreet'in 1.000 arama maliyeti 30 $ 'dır. Sana bir tıklama kurtardım.
William Entriken

1.000 arama = uluslararası için 66 $
Robert Sinclair

Aslında USPS ancak ... Bunun için REST arayüze sahip ve bu ancak bir huge ... onlar adreslerinin tam bir veritabanı doğrulamak için bir komut dosyası ile bu şeyi vurursanız olacak ban. Bununla kullanıcı veri girişini doğrulamanıza izin verilir, bu nedenle API isabetlerinin rastgele zamanlanacağı bir web formunda kullanım için uygundur. Formunuzun bot korumasına sahip olduğundan emin olun, aksi takdirde API erişiminizin DoS'unu kısa sürede alırsınız. Ayrıca bu yalnızca ABD adresleri için iyidir.
Neil Davis

15

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 .


17
Herhangi birini mide ekşimesi yapmaktan ve üç gün sonra bir ret mektubu almaktan kurtarmak için, neredeyse hiç kimsenin USPS'nin kendi adres doğrulayıcısını kullanmasına gerçekten izin verilmiyor. Bu yüzden adam ekranı ilk etapta onu kazıdı. Kesinlikle kar amacı gütmeyen kuruluşlarla sınırlıdır.
Nicholas Piasecki

5
USPS, bu verilerin mektup veya paket postalamak dışında herhangi bir amaçla kullanılmasına izin vermez. Başka bir deyişle, aradığınız adrese posta göndermelisiniz.

16
USPS, veritabanlarınızı yeniden satmadığınız veya temizlemediğiniz IFF'nin ticari kullanımına izin verecektir. Bir hesaba hak kazandık ve bunu web formlarımız aracılığıyla gelen TÜM adresleri doğrulamak / düzeltmek için kullandık.
marklark

2
Ya da bir noktada posta göndermeyi planlıyorsunuz. Şirketimin USPS API'ye erişimi başlangıçta reddedildi, ancak kullanım amacımızı netleştirdikten sonra (ve eski verileri düzeltmek için API'yi kullanmayacağımızı belirttikten sonra) onaylandık.
marklark

4
USPS API'sini yalnızca bir postalama veya gönderi yapmak için bir adresi doğruluyorsanız kullanabilirsiniz : secure.shippingapis.com/registration - postalama yapmazsanız veya USPS üzerinden gönderim yapmazsanız, o zaman alternatif bir API bulun lisans kısıtlamalarına sahip değil.
Matt


8

Ö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!


iyi yanıt, maalesef streetlayer API önümüzdeki hafta (2017-07-03 tarihinde) kapatılıyor. istek başına yüzde 15'ten daha az bir alternatif var mı?
Chris

1

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.


1

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.


1

Görüldüğü gibi reddit :

$address = urlencode('1600 Pennsylvania Avenue, Washington, DC');
$json = json_decode(file_get_contents("http://where.yahooapis.com/geocode?q=$address&flags=J"));
print_r($json);

1

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.



0

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.

http://www.usps.com/ncsc/ziplookup/vendorslicensees.htm


0

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


0

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.


Çok ilginç ... eski görünümlü web siteleri, hala iş başında mı yoksa güvenilir mi olduklarını merak etmeme neden oluyor.
Anthony Griggs

Bunu kullandığımız şirkette olduğumdan beri epey zaman geçti. Pek değişmiş gibi görünmüyorlar, ancak hala güncel verilere sahip olduklarını iddia ediyorlar.
Jason DeFontes

0

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.


0

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.


0

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 .




0

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,

http://www.fixaddress.com/


-1

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ı?


3. taraf, ödemeli hizmetleri kullanmanız gerekir.
mmcdole

3. taraf araçları kullanmak zorunda değilsiniz. USPS, bunu yapan web hizmetlerine sahiptir.
brian d foy

Aslında, gerçekleştirdiğiniz görev "bu adresin yerel posta hizmetleri tarafından kabul edilebilir olduğundan emin olun" ise, Amerika Birleşik Devletleri'nde USPS ikinci taraf olarak kabul edilebilir (ancak bu, adresi gönderen müşteriyi bir tür üçüncü parti).
13'te üçlü
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.