¿Es posible realizar la validación de la dirección (física, no de correo electrónico)? Parece que la gran cantidad de formatos de dirección, incluso solo en los EE. UU., Haría que esta sea una tarea bastante difícil. Por otro lado, parece una tarea que sería necesaria para varios requisitos comerciales.
validation
street-address
Kevin Pang
fuente
fuente
Respuestas:
Aquí hay una forma gratuita y una especie de "original" de hacerlo. No es 100% perfecto, pero debería rechazar direcciones descaradamente inexistentes.
Envíe la dirección completa al servicio web de codificación geográfica de Google . Este servicio intenta devolver las coordenadas exactas de la ubicación donde lo alimenta, es decir, latitud y longitud.
En mi experiencia, si la dirección no es válida, obtendrá un resultado de 602 del servicio. Definitivamente existe la posibilidad de falsos positivos o falsos negativos, pero si se usa junto con otras verificaciones de coherencia, podría ser útil.
( El servicio web de codificación geográfica de Yahoo , por otro lado, devolverá las coordenadas del centro de la ciudad si la ciudad existe pero el resto de la dirección es falsa. Potencialmente útil siempre que preste mucha atención al campo "precisión" en el resultado).
fuente
Hay una serie de buenas respuestas aquí, pero la mayoría de ellas asumen que el usuario quiere una solución "API" en la que debe escribir código para conectarse a un servicio de terceros y / o hacer un rastreo de pantalla del USPS. Todo esto está muy bien, pero debe tenerse en cuenta en los requisitos comerciales y los costos asociados con la implementación y luego sopesar los beneficios deseados.
Según los requisitos comerciales y la forma en que se reciben los datos en el sistema, una solución de procesamiento de direcciones en tiempo real puede ser la mejor opción. Si se requiere una solución en tiempo real, deberá considerar el acuerdo de licencia y las limitaciones técnicas de las API de Google Maps / Bing / Yahoo. Por lo general, limitan la cantidad de llamadas que puede realizar cada día. La API de herramientas web de USPS es la misma, además, restringen cómo / por qué puede usar su sistema y cómo se le permite usar los datos a partir de entonces.
Al mismo tiempo, hay un puñado de excelentes proveedores de servicios que pueden procesar fácilmente una lista estática de direcciones. Básicamente, le das al proveedor de servicios un archivo CSV o un archivo Excel, ellos lo limpian y te lo devuelven. Es un trato único sin compromiso u obligación a largo plazo, por lo general.
Divulgación completa: soy el fundador de SmartyStreets. Realizamos la verificación de direcciones para direcciones dentro de los Estados Unidos. Podemos certificar fácilmente una lista con CASS y también ofrecemos una API de servicio web de verificación de direcciones . No tenemos tarifas ocultas, contratos ni nada. Utiliza nuestro servicio hasta que ya no lo necesita y puede marcharse. (A diferencia de las compañías de telefonía celular que requieren un contrato).
fuente
USPS tiene un limpiador de direcciones en línea , que alguien ha insertado en el servicio web de un pobre. Sin embargo, si lo hace con la suficiente frecuencia, sería una mejor idea solicitar una cuenta de USPS y llamar a su propio servicio web .
fuente
Lo referiré a la publicación de mi blog: una lección sobre el almacenamiento de direcciones , entro en algunas de las técnicas y algoritmos utilizados en el proceso de validación de direcciones. Mi pensamiento clave es "No seas vago con el almacenamiento de direcciones, ¡no te causará nada más que dolores de cabeza en el futuro!"
Además, hay otra pregunta de StackOverflow que hace esta pregunta. Titulado ¿Cómo se deben almacenar las direcciones geográficas internacionales en una base de datos relacional ?
fuente
Durante el desarrollo de un servicio interno de verificación de direcciones en una empresa alemana para la que solía trabajar, me encontré con varias formas de abordar este problema. Haré todo lo posible para resumir mis hallazgos a continuación:
Software gratuito de código abierto
Claramente, el primer enfoque que cualquiera tomaría es uno de código abierto (como openstreetmap.org ), lo cual nunca es una mala idea. Pero si realmente puedes darle un uso bueno y confiable a esto, depende mucho de cuánto necesites confiar en los resultados.
Las direcciones son algo increíblemente variable. Verificar las direcciones de EE. UU. No es una tarea fácil, pero soportable, pero una vez que vaya a Europa, especialmente al Reino Unido con su extenso sistema de código postal, el enfoque de código abierto simplemente carecerá de datos.
Servicios web / API
Software de clase empresarial
El dinero lo hace, obviamente. Pero no todas las empresas o desarrolladores pueden gastar ~ $ 0.15 por búsqueda de dirección (eso es $ 150 por 1,000 solicitudes de API), un modelo comercial muy costoso que la gran mayoría de las API de validación de direcciones han implementado.
Lo que terminé integrando: streetlayer API
Como no estaba dispuesto a adoptar el enfoque programático de verificar los datos de la dirección manualmente, finalmente llegué a la conclusión de que necesitaba una API con una etiqueta de precio que no haría que mi jefe quisiera despedirme y aún así entregarme de manera sólida y confiable. resultados de verificación internacional.
Para resumir, terminé integrando una API construida por una capa, llamada "API streetlayer". Me convenció fácilmente con una integración JSON simple, resultados de validación sorprendentemente precisos y su precio amigable para el desarrollador. Además, 100 solicitudes / mes son totalmente gratuitas.
¡Espero que esto ayude!
fuente
He utilizado los servicios de http://www.melissadata.com Su "objeto de dirección" funciona muy bien. Es caro, sí. Pero cuando considera los costos de escribir sus propias soluciones, el costo de los datos sucios en su aplicación, los remitentes de correo devueltos, las ventas perdidas y similares, los costos pueden justificarse.
fuente
También puede probar las soluciones de calidad de datos de SAP, que están disponibles tanto en una plataforma de servidor que procesa una gran cantidad de solicitudes como en un SDK integrable si desea ejecutarlo en proceso con su aplicación. Lo usamos en nuestra aplicación y es muy robusto y escalable.
fuente
Como se ve en reddit :
fuente
Puede probar la API "IdentifyAddress" de Pitney Bowes disponible en: https://identify.pitneybowes.com/
El servicio analiza y compara las direcciones de entrada con las bases de datos de direcciones conocidas en todo el mundo para generar un detalle estandarizado. Corrige direcciones, agrega información postal faltante y la formatea utilizando el formato preferido por la autoridad postal correspondiente. También utilizo bases de datos de direcciones adicionales para que pueda proporcionar detalles mejorados, incluida la calidad de la dirección, el tipo de dirección, la transliteración (por ejemplo, del kanji chino a los caracteres latinos) y si una dirección está validada para el local / número de casa, calle o ciudad. de información de referencia.
Encontrará una gran cantidad de muestras y sdk disponibles en el sitio y me pareció extremadamente fácil de integrar.
fuente
Un área donde las búsquedas de direcciones deben realizarse de manera confiable es para los servicios VOIP E911. Conozco empresas que utilizan de manera confiable los siguientes servicios para esto:
Bandwidth.com 9-1-1 Validación de dirección de API de acceso MSAG
MSAG = Guía principal de direcciones de calles
https://www.bandwidth.com/9-1-1/
API de direcciones de calles de EE . UU. De SmartyStreet
https://smartystreets.com/docs/cloud/us-street-api
fuente
Hay empresas que prestan este servicio. Las oficinas de servicio que se ocupan del envío masivo de correos limpiarán una lista de correo completa para que esté en el formato adecuado, lo que resulta en un descuento en el envío. El USPS vende bases de datos con información de direcciones que se pueden utilizar para desarrollar soluciones personalizadas. También tienen listas de proveedores aprobados que brindan este tipo de software y servicio.
Hay algunos (pero no muchos) paquetes que tienen API para conectar la validación de direcciones en su software.
Sin embargo, tienes razón en que es un problema bastante desagradable.
http://www.usps.com/ncsc/ziplookup/vendorslicensees.htm
fuente
Como se mencionó, existen muchos servicios, si está buscando validar realmente la dirección completa, le recomiendo encarecidamente que elija un servicio de tipo Servicio web para asegurarse de que su aplicación pueda reconocer rápidamente los cambios.
Además de los servicios enumerados anteriormente, webservice.net tiene este servicio de validación de direcciones de EE. UU. http://www.webservicex.net/WCF/ServiceDetails.aspx?SID=24
fuente
Hemos tenido éxito con Perfect Address .
Su base de datos tiene todos los nombres de calles de EE. UU. Y rangos de números de calles. También actúa como un analizador bastante decente para los campos de direcciones de forma libre, si tiene la suerte de tener ese tipo de datos.
fuente
Validar que es una dirección válida es una cosa.
Pero si está tratando de validar que una persona determinada vive en una dirección determinada, su única casi garantía sería un correo de prueba a la dirección, e incluso eso no es seguro si la persona está organizada o conoce a alguien en esa dirección.
De lo contrario, las personas podrían especificar una dirección aleatoria arbitraria que saben que existe y no significaría nada para usted.
Lo mejor que puede hacer para obtener resultados inmediatos es solicitar al usuario que envíe una copia fotografiada / escaneada del encabezado de su extracto bancario o alguna otra prueba de residencia reciente, porque al menos entonces tienen que esforzarse más para olvidarlo, y falsificar dichas cosas se muestran fácilmente con un nivel básico de análisis forense de imágenes.
fuente
No existe una solución global. Para cualquier país, en el mejor de los casos, es bastante complicado.
En el Reino Unido, la Oficina de Correos controla las direcciones postales y puede proporcionar (a un costo) información de dirección para fines de validación.
Las agencias gubernamentales también mantienen una lista extensa de direcciones, que se recopilan de manera centralizada en el NLPG (NLPG).
Realmente validar contra estas listas es muy difícil. La mayoría de la gente ni siquiera sabe exactamente cómo es su dirección, ya que está en la oficina de correos. Algunas empresas ni siquiera saben qué número se encuentran en una calle en particular.
Su mejor opción es acercarse a una empresa que se especialice en este tipo de cosas.
fuente
Para los datos de direcciones basados en nosotros, mi empresa ha utilizado GeoStan . Tiene enlaces para C y Java (y creamos un enlace Perl). Tenga en cuenta que es un producto comercial y no es barato. Sin embargo, es bastante rápido (~ 300 direcciones por segundo) y ofrece características como certificación CASS (descuento por correo masivo de USPS), marcación DPV (verificación del punto de entrega) y codificación geográfica LON / LAT.
Hay un módulo de Perl Geo :: PostalAddress , pero usa heurística y no tiene las otras características mencionadas para GeoStan.
Editar: algunos han mencionado 'hacerlo usted mismo', si decide hacerlo, una buena fuente de información para comenzar es el Conjunto de datos del tigre del censo de EE. UU. , Que contiene mucha información sobre los EE. UU., Incluida la información de la dirección.
fuente
Yahoo también tiene una API de Placemaker. Es bueno solo para ubicaciones, pero tiene una identificación universal para todas las ubicaciones del mundo.
Parece que no hay un estándar en la lista ISO .
fuente
NAICS.com presentará una API que agregará todo tipo de datos comerciales clave, incluida la dirección postal. Esto sucedería sobre la marcha a medida que se procesan los formularios de su sitio. https://www.naics.com/business-intelligence-api/
fuente
El servicio Fixaddress.com está disponible y proporciona los siguientes servicios,
1) Validación de direcciones.
2) Corrección de dirección.
3) Abordar la corrección ortográfica.
4) Corregir direcciones de errores fonéticos.
Fixaddress.com utiliza datos de USPS y Tiger como datos de referencia.
Para obtener más detalles, visite el enlace a continuación,
http://www.fixaddress.com/
fuente
Para direcciones de EE. UU., Puede solicitar un estado válido y verificar que el código postal sea válido. Incluso podría verificar que el código postal esté en el estado correcto, pero más allá de eso, no creo que haya muchas pruebas que pueda ejecutar que no proporcionen muchos falsos negativos.
¿Qué está intentando hacer? ¿Evitar errores simples o hacer cumplir algún tipo de verificación de identidad?
fuente