Question

Est-il même possible d'effectuer une validation d'adresse (physique, pas de courrier électronique)? Il semble que le grand nombre de formats d'adresses, même aux États-Unis seulement, rendrait la tâche assez difficile. En revanche, cela semble être une tâche nécessaire pour répondre à plusieurs besoins de l’entreprise.

Était-ce utile?

La solution

Voici un programme gratuit et en quelque sorte "hors des sentiers battus". façon de le faire. Pas parfait à 100%, mais il devrait rejeter les adresses totalement inexistantes.

Envoyez l'adresse complète au service Web de géocodage de Google . Ce service tente de renvoyer les coordonnées exactes de l’emplacement où vous l’alimentez, c’est-à-dire la latitude et la longitude.

D'après mon expérience, si l'adresse est invalide, vous obtiendrez un résultat de 602 du service. Il existe certainement une possibilité de faux positifs ou de faux négatifs, mais utilisé conjointement avec d'autres contrôles de cohérence, il pourrait être utile.

( Le service Web de géocodage de Yahoo , quant à lui, renvoie les coordonnées du centre de la ville si celle-ci existe mais que le reste de l'adresse est bidon. Potentiellement utile tant que vous portez une attention particulière au champ "précision" du résultat).

Autres conseils

Il y a un certain nombre de bonnes réponses ici, mais la plupart d'entre elles supposent que l'utilisateur souhaite une "API". solution où ils doivent écrire du code pour se connecter à un service tiers et / ou screen gratter USPS. Tout cela est bien beau, mais devrait être pris en compte dans les exigences commerciales et les coûts associés à la mise en œuvre, puis pesé par rapport aux avantages souhaités.

Selon les besoins de l'entreprise et la manière dont les données sont reçues dans le système, une solution de traitement d'adresses en temps réel peut constituer le meilleur choix. Si une solution en temps réel est requise, vous devrez tenir compte du contrat de licence et des limitations techniques des API Google Maps / Bing / Yahoo. Ils limitent généralement le nombre d'appels que vous pouvez faire chaque jour. L’API des outils Web USPS est identique en plus, ils limitent comment / pourquoi vous pouvez utiliser leur système et comment vous pouvez utiliser les données par la suite.

Parallèlement, il existe une poignée d'excellents fournisseurs de services capables de traiter facilement une liste d'adresses statiques. Essentiellement, vous fournissez au fournisseur de services un fichier CSV ou Excel, ils le nettoient et vous le rendent. C'est un accord ponctuel sans engagement ni obligation à long terme - généralement.

Divulgation complète: je suis le fondateur de SmartyStreets. Nous vérifions l'adresse pour les adresses situées aux États-Unis. Nous sommes facilement en mesure de CASS certifier une liste et nous proposons également un API de service Web de vérification d'adresse . Nous n'avons pas de frais cachés, de contrats ou quoi que ce soit. Vous utilisez notre service jusqu'à ce que vous n'en ayez plus besoin et que vous puissiez vous en aller. (Contrairement aux entreprises de téléphonie mobile qui exigent un contrat.)

USPS a un nettoyeur d'adresses en ligne , que quelqu'un a écran gratté dans le service Web d'un homme pauvre. Toutefois, si vous le faites assez souvent, il serait préférable de postuler pour un compte USPS et appeler leur propre service Web .

Je vous renvoie à mon article de blog - Une leçon Dans le stockage d'adresses , je vais vous présenter certaines des techniques et des algorithmes utilisés dans le processus de validation des adresses. Ma pensée clé est "Ne soyez pas paresseux avec le stockage des adresses, cela ne vous causera que des maux de tête à l'avenir!"

En outre, il existe une autre question StackOverflow qui pose cette question. Intitulée comment les adresses géographiques internationales doivent-elles être stockées dans un base de données relationnelle .

En développant un service interne de vérification des adresses dans une entreprise allemande pour laquelle je travaillais, j'ai trouvé plusieurs façons de résoudre ce problème. Je ferai de mon mieux pour résumer mes conclusions ci-dessous:

Logiciel gratuit à code source ouvert

Il est clair que la première approche à adopter est une approche open source (comme openstreetmap.org ), qui n'est jamais Une mauvaise idée. Mais si vous pouvez vraiment utiliser cela de manière efficace et fiable, cela dépend beaucoup de votre capacité à vous fier aux résultats.

Les adresses sont une chose incroyablement variable. Vérifier les adresses américaines n’est pas une tâche facile, mais supportable, mais une fois que vous vous dirigez vers l’Europe, en particulier le Royaume-Uni avec son système de code postal complet, l’approche open source manquera tout simplement de données.

Services Web / API

Logiciel d'entreprise

L’argent le fait, évidemment. Toutefois, toutes les entreprises et tous les développeurs ne peuvent pas dépenser environ 0,15 USD par recherche d'adresse (soit 150 USD pour 1 000 requêtes d'API) - un modèle d'entreprise très coûteux que la grande majorité des API de validation d'adresses ont implémentée.

Ce que j'ai fini par intégrer: API Streetlayer

Comme je n’étais pas disposé à adopter l’approche programmatique de vérification manuelle des données d’adresse, j’ai finalement conclu que j’avais besoin d’une API avec un prix qui ne donnerait pas à mon patron le goût de me renvoyer et de continuer à livrer des résultats de vérification internationale solides et fiables.

Bref, j’ai fini par intégrer une API construite par apilayer, appelée "API Streetlayer". J'ai été facilement convaincu par une intégration JSON simple, des résultats de validation étonnamment précis et leur tarification conviviale pour les développeurs. De plus, 100 demandes / mois sont entièrement gratuites.

J'espère que ça aide!

Nous avons eu du succès avec adresse parfaite .

Leur base de données contient tous les noms de rue et plages de numéros de rue américains. Agit également comme un analyseur décent pour les champs d’adresse de forme libre, si vous avez la chance d’avoir ce genre de données.

J'ai utilisé les services de http://www.melissadata.com , leur "objet adresse". fonctionne très bien. C'est cher, oui. Toutefois, lorsque vous prenez en compte les coûts liés à la rédaction de vos propres solutions, le coût des données altérées dans votre application, les expéditeurs retournés - pertes de ventes, etc. - les coûts peuvent être justifiés.

Pour les données d'adresse basées sur nous, ma société a utilisé GeoStan . Il a des liaisons pour C et Java (et nous avons créé une liaison Perl). Notez que c'est un produit commercial et n'est pas bon marché. Il est cependant assez rapide (environ 300 adresses par seconde) et offre des fonctionnalités telles que la certification CASS (remise de courrier en bloc USPS), le marquage DPV (point de livraison) et le géocodage LON / LAT.

Il existe un module Perl Geo :: PostalAddress , mais utilise des méthodes heuristiques et ne possède pas les autres fonctionnalités mentionnées pour GeoStan.

Éditer: certains ont mentionné «faites-le vous-même». Si vous décidez de le faire, une bonne source d’informations est le Ensemble de données sur le tigre du recensement des États-Unis , qui contient de nombreuses informations sur les États-Unis, notamment des adresses.

Vous pouvez également essayer les solutions Data Quality de SAP disponibles tant sur une plate-forme serveur que sur le traitement d'un grand nombre de demandes, ou sous la forme d'un SDK intégrable si vous souhaitez l'exécuter avec votre application. Nous l’utilisons dans notre application, elle est très robuste et évolutive.

Comme indiqué sur la 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);

Comme mentionné, il existe de nombreux services sur le marché. Si vous souhaitez valider véritablement l'adresse complète, je vous recommande vivement de choisir un service de type service Web pour vous assurer que les modifications peuvent être rapidement reconnues par votre application.

En plus des services énumérés ci-dessus, webservice.net dispose de ce service de validation d'adresses aux États-Unis. http://www.webservicex.net/WCF/ServiceDetails.aspx?SID= 24

La valider est une adresse valide, c'est une chose.

Mais si vous essayez de valider qu'une personne donnée habite à une adresse donnée, votre seule quasi-garantie serait un courrier test à l'adresse, et même si ce n'est pas certain si la personne est organisée ou connaît quelqu'un à cette adresse. adresse.

Sinon, les utilisateurs pourraient simplement spécifier une adresse aléatoire arbitraire dont ils savent qu’elle existe et qui ne voudrait rien dire pour vous.

Pour obtenir des résultats immédiats, le mieux que vous puissiez faire est de demander à l'utilisateur d'envoyer une copie photographiée / scannée du relevé de son relevé bancaire ou une autre preuve de résidence récente, car au moins ils doivent redoubler d'efforts pour oublier et de fausser le message, les choses apparaissent facilement avec un niveau élémentaire d’analyse par image médico-légale.

Il n'y a pas de solution globale. Pour un pays donné, il est au mieux plutôt délicat.

Au Royaume-Uni, PostOffice contrôle les adresses postales et peut fournir (moyennant des frais) des informations sur les adresses à des fins de validation.

Les agences gouvernementales tiennent également une longue liste d'adresses, qui sont rassemblées de manière centralisée dans le Répertoire géographique national des terres et des biens.

Valider réellement sur ces listes est très difficile. La plupart des gens ne savent même pas exactement comment leur adresse est celle de PostOffice. Certaines entreprises ne savent même pas quel numéro elles occupent dans une rue donnée.

Votre meilleur choix est de contacter une entreprise spécialisée dans ce genre de choses.

Yahoo possède également une API Placemaker. Elle convient uniquement aux emplacements mais un identifiant universel pour tous les pays du monde.

Il semble qu’il n’existe aucune norme dans la liste ISO .

NAICS.com propose une API qui ajoutera toutes sortes de données commerciales clés, y compris l’adresse postale. Cela se produirait à la volée lors du traitement des formulaires de votre site. https://www.naics.com/business-intelligence-api/

Le service Fixaddress.com qui fournit les services suivants est disponible,

1) Validation d'adresse.

2) Correction d'adresse.

3) Correction orthographique des adresses.

4) Corrigez les erreurs phonétiques des adresses.

Fixaddress.com utilise les données USPS et Tiger comme données de référence.

Pour plus de détails, visitez le lien ci-dessous,

http://www.fixaddress.com/

Un domaine dans lequel la recherche d'adresse doit être effectuée de manière fiable concerne les services VOIP E911. Je connais des entreprises qui utilisent de manière fiable les services suivants à cet effet:

Bandwidth.com Validation de l'adresse MSAG de l'API d'accès 9-1-1

MSAG = Guide principal de l'adresse municipale

https://www.bandwidth.com/9-1-1/

SmartyStreet API d'adresse municipale des États-Unis

https://smartystreets.com/docs/cloud/us-street-api

Pour les adresses américaines, vous pouvez exiger un état valide et vérifier que le zip est valide. Vous pouvez même vérifier que le code postal est dans le bon état, mais à part cela, je ne pense pas qu'il existe de nombreux tests que vous pourriez effectuer qui ne produiraient pas beaucoup de faux négatifs.

Qu'est-ce que vous essayez de faire: éviter les erreurs simples ou imposer une sorte de contrôle d'identité?

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top