Cómo usar la API de Validación de dirección para procesar direcciones de gran volumen

Objetivo

Como desarrollador, sueles trabajar con conjuntos de datos que contienen direcciones de clientes que pueden no ser de buena calidad. Debes asegurarte de que las direcciones sean correctas para para otros casos de uso, desde la verificación de ID de cliente hasta la entrega y mucho más.

La herramienta Address Validation API es un producto de Google Maps Platform que puedes usar para validar una dirección. Sin embargo, solo procesa una dirección a la vez. En este documento, veremos cómo usar la validación de direcciones de alto volumen en diferentes situaciones, de las pruebas de API hasta la validación de direcciones única y recurrente.

Casos de uso

Ahora, comprenderemos los casos de uso en los que High Volume Address Validation es útiles.

Prueba

A menudo, quieres probar la API de Address Validation ejecutando miles de direcciones IP del proveedor. Puede que tengas las direcciones en un archivo de valores separados por comas para validar la calidad de las direcciones.

Validación única de las direcciones

Durante la integración a la API de Address Validation, debes validar la base de datos de direcciones existente con la base de datos de usuarios.

Validación recurrente de las direcciones

Varias situaciones requieren validar direcciones de forma recurrente:

  • Es posible que hayas programado trabajos para validar direcciones para los detalles capturados durante el día, por ejemplo, de registros de clientes, detalles del pedido, entrega horarios.
  • Es posible que recibas volcados de datos con direcciones de diferentes departamentos, por ejemplo, de ventas al marketing. El nuevo departamento que recibe direcciones de correo electrónico a menudo desea validarlas antes de usarlas.
  • Puedes recopilar direcciones durante encuestas, promociones y más adelante. al actualizarse en el sistema en línea. Quieres validar que las direcciones estén correcto mientras las ingresa en el sistema.

Información técnica detallada

A los efectos de este documento, asumimos lo siguiente:

  • Estás llamando a la API de Address Validation con las direcciones de un cliente base de datos (es decir, una base de datos con detalles del cliente)
  • Puedes almacenar en caché las marcas de validez con respecto a direcciones individuales en tu base de datos.
  • Las marcas de validez se recuperan de la API de Address Validation cuando un un cliente específico.

Caché para uso en producción

Cuando uses la API de Address Validation, a menudo querrás almacenar en caché alguna parte del respuesta a la llamada a la API. Si bien nuestras Condiciones del Límite del servicio qué datos se pueden almacenar en caché desde la API de Address Validation debe almacenarse en caché con una cuenta de usuario. Esto significa que, en la base de datos, los metadatos de direcciones o direcciones deben almacenarse en caché con la dirección de correo electrónico del usuario o otro ID principal.

Para el caso de uso de High Volume Address Validation, el almacenamiento en caché de los datos debe seguir Específico del servicio de la API de Address Validation Condiciones, descrita en la Sección 11.3. Según esta información, podrás hacer lo siguiente: determinar si la dirección de un usuario puede no ser válida. En ese caso, se le solicitará al usuario para obtener una dirección corregida la próxima vez que interactúe con tu y mantener la integridad de su aplicación.

  • Datos de AddressComponent objeto
    • confirmationLevel
    • inferred
    • spellCorrected
    • replaced
    • unexpected

Si quieres almacenar en caché algún tipo de información sobre la dirección real, esos datos solo se deben almacenar en caché con el consentimiento del usuario. Esto garantiza que el usuario esté bien saber por qué un servicio concreto está almacenando su dirección y está de acuerdo con la condiciones para compartir su dirección.

Un ejemplo de consentimiento del usuario sería la interacción directa con una dirección de comercio electrónico. en una página de confirmación de compras. Sabemos que almacenarás en caché y procesar la dirección a efectos del envío de un paquete.

Con el consentimiento del usuario, puedes almacenar en caché formattedAddress y otros componentes clave. de la respuesta. Sin embargo, en una situación sin interfaz gráfica, un usuario no puede proporcionar dado que la validación de la dirección se realiza desde el backend. Por lo tanto, Puede almacenar en caché información muy limitada en esta situación sin interfaz gráfica.

Comprende la respuesta

Si la respuesta de la API de Address Validation contiene los siguientes marcadores, puede confiar en que la dirección ingresada es de calidad entregable:

  • El marcador addressComplete en el Veredicto el objeto es true,
  • validationGranularity del Veredicto el objeto es PREMISE o SUB_PREMISE
  • Ninguno de los AddressComponent están marcados como:
    • Inferred(Nota: inferred=truepuede ocurrir cuando addressComplete=true)
    • spellCorrected
    • replaced
    • unexpected y
  • confirmationLevel El nivel de confirmación en el AddressComponent esté configurado enCONFIRMEDoUNCONFIRMED_BUT_PLAUSIBLE

Si la respuesta de la API no contiene los marcadores anteriores, la dirección de entrada era de baja calidad, y puedes almacenar marcas en caché en tu base de datos para reflejar sobre eso. Las marcas almacenadas en caché indican que la dirección en su conjunto es de mala calidad, mientras que las marcas más detalladas, como Corrector ortográfico, indican el tipo específico de aborda el problema de calidad. En la siguiente interacción con el cliente, se marcó una dirección. Si la calidad es baja, puedes llamar a la API de Address Validation con el web. La API de Address Validation devolverá la dirección corregida puede mostrarse con una instrucción de la IU. Una vez que el cliente acepte la dirección con formato puedes almacenar en caché lo siguiente de la respuesta:

  • formattedAddress
  • postalAddress
  • addressComponent componentNames o
  • UspsData standardizedAddress

Cómo implementar una validación de direcciones sin interfaz gráfica

Según el debate anterior:

  • A menudo, es necesario almacenar en caché alguna parte de la respuesta de la Dirección Validation API por motivos comerciales
  • Sin embargo, los Términos de Servicio en Google Maps Platform restringe los datos que se pueden almacenar en caché.

En la siguiente sección, analizaremos un proceso de dos pasos para cumplir las Condiciones del Servicio e implementar la validación de direcciones de gran volumen.

Paso 1:

En el primer paso, veremos cómo implementar una dirección de gran volumen. de validación de una canalización de datos existente. Este proceso te permitirá almacenar campos específicos de la respuesta de la API de Address Validation en una de manera que cumpla con los requisitos del servicio.

Diagrama A: En el siguiente diagrama, se muestra cómo se puede mejorar una canalización de datos. con una lógica de High Volume Address Validation.

alt_text

Según las Condiciones del Servicio, puedes almacenar en caché los siguientes datos del addressComponent

  • confirmationLevel
  • inferred
  • spellCorrected
  • replaced
  • unexpected

Por lo tanto, durante este paso de la implementación, almacenaremos en caché la información mencionada anteriormente. campos en el UserID.

Para obtener más información, consulta los detalles sobre los datos reales de la infraestructura.

Paso 2:

En el paso 1, recopilamos comentarios que indican que algunas direcciones del conjunto de datos de entrada pueden no ser de alta calidad. En el siguiente paso, tomaremos estas direcciones marcadas y presentárselas al usuario para obtener su consentimiento para corregir la web.

Diagrama B: En este diagrama, se muestra cómo una integración de extremo a extremo del usuario el flujo de consentimiento podría verse así:

alt_text

  1. Cuando el usuario acceda, primero verifica si almacenaste en caché alguna marca de validación en tu sistema.
  2. Si hay marcas, debes presentar al usuario una IU para corregir actualicen su dirección.
  3. Puedes volver a llamar a la API de Address Validation con la versión actualizada o y presentar la dirección corregida al usuario para que la confirme.
  4. Si la dirección es de buena calidad, la API de Address Validation devuelve un formattedAddress
  5. Puedes presentar esa dirección al usuario si se realizaron correcciones. o aceptar en silencio si no hay correcciones.
  6. Una vez que el usuario acepte, podrás almacenar en caché formattedAddress en la base de datos.

Conclusión

High Volume Address Validation es un caso de uso común con el que es probable que te encuentres en muchas aplicaciones. Este documento intenta demostrar algunas situaciones y una patrón de diseño sobre cómo implementar una solución de este tipo en conformidad con Google Maps Condiciones del Servicio de la Plataforma.

Además, escribimos una implementación de referencia de la Dirección de alto volumen. Validación como biblioteca de código abierto en GitHub. Revísalo para comenzar rápidamente con High Volume Address Validation. Consulta también el artículo sobre los patrones de diseño sobre el uso de la biblioteca en diferentes escenarios.

Próximos pasos

Descarga el curso Mejora la confirmación de la compra, la entrega y las operaciones con direcciones confiables Informe y consulta el artículo sobre cómo mejorar la confirmación de la compra, la entrega y las operaciones con Address Validación Seminario en línea

Lecturas adicionales sugeridas:

Colaboradores

Google mantiene este artículo. Los siguientes colaboradores escribieron originalmente este tema.
Autores principales:

Henrik Valve | Ingeniero de soluciones
Thomas Anglaret | Soluciones Ingeniero
Sarthak Ganguly | Soluciones Ingeniero