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

Objetivo

Como desarrollador, a menudo trabajas 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 los casos prácticos que van desde la verificación del ID del cliente hasta la entrega y mucho más.

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

Casos de uso

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

Prueba

A menudo, deseas probar la API de Address Validation con la ejecución de miles de direcciones. Es posible que tengas las direcciones en un archivo de valores separados por comas y desees validar la calidad de las direcciones.

Validación única de las direcciones

Durante la integración a la API de Address Validation, es recomendable que valides tu 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 de pedidos y programas de entrega.
  • Es posible que recibas volcados de datos que contengan direcciones de diferentes departamentos, por ejemplo, desde Ventas hasta Marketing. El nuevo departamento que recibe las direcciones a menudo quiere validarlas antes de usarlas.
  • Puedes recopilar direcciones durante encuestas o varias promociones y, luego, actualizarlas en el sistema en línea. Debes validar que las direcciones sean correctas mientras las ingresas 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 direcciones de una base de datos de clientes (es decir, una base de datos con detalles de clientes).
  • 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 cliente individual accede.

Caché para uso en producción

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

Para el caso de uso de Address Validation de alto volumen, el almacenamiento en caché de los datos debe seguir las Condiciones Específicas del Servicio de la API de Address Validation, que se describen en la sección 11.3. Según esta información, podrás determinar si la dirección de un usuario no es válida. En ese caso, le solicitarás al usuario una dirección corregida la próxima vez que interactúe con tu aplicación.

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

Si deseas almacenar en caché cualquier información sobre la dirección real, esos datos deben almacenarse en caché solo con el consentimiento del usuario. Esto garantiza que el usuario sepa por qué un servicio en particular almacena su dirección y que esté de acuerdo con las condiciones para compartirla.

Un ejemplo de consentimiento del usuario sería la interacción directa con un formulario de dirección de comercio electrónico en una página de confirmación de compras. Se entiende que almacenarás en caché y procesarás la dirección para enviar 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 dar su consentimiento, ya que la validación de la dirección se realiza desde el backend. Por lo tanto, puedes 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, entonces puedes estar seguro de que la dirección de entrada es de calidad:

  • El marcador addressComplete en el objeto Veredicto es true.
  • El validationGranularity del objeto Veredicto 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 AddressComponent se establece en CONFIRMEDoUNCONFIRMED_BUT_PLAUSIBLE.

Si la respuesta de la API no contiene los marcadores anteriores, es probable que la dirección de entrada sea de baja calidad, y puedes almacenar marcas en caché en tu base de datos para reflejarlo. Las marcas almacenadas en caché indican que la dirección en su conjunto es de baja calidad, mientras que las marcas más detalladas, como Corrector ortográfico, indican el tipo específico de problema de calidad de la dirección. La próxima vez que el cliente interactúe con una dirección marcada como de baja calidad, puedes llamar a la API de Address Validation con la dirección existente. La API de Address Validation mostrará la dirección corregida que puedes mostrar mediante un mensaje de la IU. Una vez que el cliente acepta 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 API de Address Validation por motivos comerciales.
  • Sin embargo, las Condiciones del Servicio de Google Maps Platform restringen qué datos se pueden almacenar en caché.

En la siguiente sección, analizaremos un proceso de dos pasos que explica cómo cumplir con las Condiciones del Servicio y cómo implementar la validación de direcciones de gran volumen.

Paso 1:

En el primer paso, analizaremos cómo implementar una secuencia de comandos de validación de direcciones de gran volumen desde una canalización de datos existente. Este proceso te permitirá almacenar campos específicos de la respuesta de la API de Address Validation de manera que cumpla con las Condiciones 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 validación de direcciones de alto volumen.

alt_text

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

  • confirmationLevel
  • inferred
  • spellCorrected
  • replaced
  • unexpected

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

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

Paso 2:

En el paso 1, recopilamos comentarios acerca de que algunas direcciones del conjunto de datos de entrada podrían no ser de alta calidad. En el siguiente paso, tomaremos estas direcciones marcadas, se las presentaremos al usuario y obtendremos su consentimiento para corregir la dirección almacenada.

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

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 y actualizar su dirección.
  3. Puedes volver a llamar a la API de Address Validation con la dirección actualizada o almacenada en caché 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 muestra un formattedAddress.
  5. Puedes presentar esa dirección al usuario si se realizaron correcciones o aceptarla 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

La validación de direcciones de alto volumen es un caso de uso común que probablemente encontrarás en muchas aplicaciones. En este documento, se intenta demostrar algunas situaciones y un patrón de diseño sobre cómo implementar dicha solución conforme a las Condiciones del Servicio de Google Maps Platform.

Además, escribimos una implementación de referencia de la validación de direcciones de alto volumen como una biblioteca de código abierto en GitHub. Échale un vistazo para comenzar a crear con High Volume Address Validation rápidamente. Consulta también el artículo sobre patrones de diseño sobre cómo usar la biblioteca en diferentes situaciones.

Próximos pasos

Descarga el informe Mejora la confirmación de la compra, la entrega y las operaciones con direcciones confiables y consulta el seminario en línea Mejora la confirmación de la compra, la entrega y las operaciones con la validación de direcciones .

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 | Ingeniero de soluciones
Sarthak Ganguly | Ingeniero de soluciones