Compila la lógica de validación

En este documento, se describe un proceso para compilar un sistema de verificación de direcciones destinado a manejar una variedad de respuestas de la API de Address Validation. Se explica cómo compilar tu lógica para usar correctamente la respuesta, investigar otros indicadores de la API y cuándo y cómo solicitar más información a tus clientes.

En general, la respuesta de la API determina las siguientes formas en que tu sistema debe manejar una dirección:

  • Corregir: La dirección es de baja calidad. Deberías solicitar más información.
  • Confirmar: La dirección es de alta calidad, pero tiene cambios desde la dirección de entrada. Puedes solicitar la confirmación.
  • Aceptar: La dirección es de alta calidad. Puedes aceptar la dirección proporcionada.

Propósito clave

Este documento te ayudará a modificar tu sistema para analizar mejor la respuesta de la API y determinar las siguientes acciones que puedes realizar con las direcciones proporcionadas. En el siguiente pseudocódigo, se ilustra un flujo posible.

if (the API response indicates significant problems in the address)
    FIX - prompt the user to fix the address
else if (the API response indicates less significant problems in the address)
    CONFIRM - confirm with the user that the address is correct
else
    ACCEPT - continue with the address returned by the API.

La lógica exacta depende de la situación. Consulta la Guía de implementación para obtener más detalles. También puedes usar nuestra implementación de código abierto de esta lógica, que se encuentra en la Biblioteca de componentes extendidos.

Descripción general del flujo de trabajo

En la siguiente tabla, se resumen dos acciones en tu sistema:

  1. El flujo de trabajo que se debe usar en función del comportamiento de corrección, confirmación y aceptación.
  2. Son los primeros indicadores que se deben buscar en la respuesta. Los indicadores que se describen aquí provienen de la propiedad verdict y no son los únicos que se deben verificar, sino que proporcionan un indicador inicial de la calidad de la dirección. Cada tipo de comportamiento corresponde a una sección en este documento en la que se describen otros indicadores que quizás debas investigar.
El comportamiento de tu sistema
Corregir la dirección

La respuesta de verdict indica que falta información importante que debe proporcionarse. Es posible que la dirección que muestra la API de Address Validation no sea de calidad de entrega.

Flujo de trabajo

  1. Investiga los componentes de la dirección si es necesario.
  2. Pídele al cliente que corrija los problemas relacionados con las direcciones.
  3. Solicita la validación de la dirección actualizada.
  4. (Opcional) Envía una solicitud al extremo de comentarios para la API. Consulta Administra direcciones actualizadas.
  5. Continúa con la dirección.

Indicadores del veredicto

Se aplica cualquiera de las siguientes opciones:

Confirma la dirección

La respuesta de verdict indica una dirección de entrega, pero realizó cambios en la entrada original: infiere datos que están corregidos o que pueden confirmarse.

Flujo de trabajo

  1. Correcciones necesarias:
    1. Investiga los componentes de la dirección si es necesario.
    2. Solicita la validación de la dirección actualizada.
    3. (Opcional) Envía una solicitud al extremo de comentarios para la API. Consulta Administra direcciones actualizadas.
    4. Continúa con la dirección.
  2. No se requieren correcciones:
    1. (Opcional) Envía una solicitud al extremo de comentarios para la API. Consulta Administra direcciones actualizadas.
    2. Continúa con la dirección.

Indicadores del veredicto

Se aplican todas las siguientes opciones:

  • validationGranularity contiene ROUTE o mejor. Consulta los valores de nivel de detalle.
  • addressComplete es true.
  • El campo hasInferredComponents es true O el campo hasReplacedComponents es true.
Aceptar la dirección

La respuesta de la API de Address Validation indica una dirección de excelente calidad.

Flujo de trabajo

Continúa con la dirección devuelta.

Indicadores del veredicto

Se aplican todas las siguientes opciones:

  • validationGranularity contiene PREMISE o mejor. Consulta los valores de nivel de detalle.
  • addressComplete es true.
  • No hay componentes inferidos ni reemplazados.

Asesoramiento para la implementación

Cuando diseñas la manera en que tu sistema responde a las señales de la API de Address Validation, las siguientes recomendaciones pueden ayudarte a crear un modelo de respuesta más eficaz. Sin embargo, estas son solo recomendaciones, por lo que debes tener en cuenta que tu implementación debe adaptarse a tu modelo de negocio.

Orientación Detalles
Nivel de riesgo

Ten en cuenta el nivel de tolerancia a tu situación cuando busques un equilibrio entre la solicitud de correcciones y la aceptación de la dirección tal como se ingresó.

La API de Address Validation devuelve una variedad de indicadores que puedes incorporar con tu nivel de riesgo para optimizar el proceso de validación.

Por ejemplo, si una dirección tiene un número de calle sin confirmar, aún puedes aceptarla. Por otro lado, si la operación de tu empresa requiere una mayor precisión de las direcciones, podrías pedirle al usuario que lo haga. Para ver un ejemplo que podría estar dentro de cualquiera de las categorías, consulta Número de calle no confirmado que no sea de EE.UU. en Aceptar dirección: ejemplos.

Aceptar direcciones

Se recomienda permitir que tu sistema acepte la entrada original si el cliente no responde los mensajes.

En estos casos, es posible que el cliente haya ingresado una dirección que no está en el sistema, por ejemplo, para una construcción nueva.

Envía comentarios

Cuando vuelvas a emitir una solicitud de validación de dirección, también podrás enviar una solicitud al extremo provideValidationFeedback.

Esto le permite a Google saber cómo manejaste la respuesta final. Consulta Administra direcciones actualizadas.

Corregir una dirección

Corrige una dirección cuando los resultados indiquen claramente que no se puede entregar. Tu sistema puede pedirle al cliente que proporcione la información necesaria, después de lo cual vuelves a emitir tu flujo de trabajo para obtener una dirección de entrega.

Corregir indicadores

La API de Address Validation proporciona una serie de indicadores para informarte si debe corregirse una dirección.

1. Nivel de detalle de la validación y componentes faltantes

Estos dos indicadores proporcionan la mejor indicación de una dirección problemática:

  • Cuando el campo validationGranularity sea OTHER, tu sistema debe investigar los indicadores de componentes de la dirección para obtener más información sobre dónde se produjo el error y cómo solucionarlo.
  • Cada vez que el objeto address procesado posteriormente muestra un campo missingComponentTypes, el sistema debe verificar ese componente. Los componentes faltantes también hacen que una dirección esté incompleta y que no se pueda entregar.

2. Otros indicadores

La API de Address Validation también proporciona otros indicadores para ayudar a diagnosticar problemas específicos:

Componentes sospechosos Cuando el nivel de enum de confirmación de un componente es UNCOMFIRMED_AND_SUSPICIOUS, es probable que el componente sea incorrecto.
Componente sin resolver Un unresolvedToken es una parte de la entrada que no se reconoce como una parte válida de una dirección.

3. Indicadores de direcciones en EE.UU.

Determinados campos aplicables solo a direcciones de EE.UU. brindan un indicador útil de que la dirección no se puede entregar y debe corregirse. En el caso de las direcciones que requieren corrección, deberías ver lo siguiente:

dpvConfirmation N, D o vacío.

Para obtener detalles sobre dpvConfirmation, consulta Cómo administrar direcciones de Estados Unidos.

Ejemplos de direcciones correctas

Confirma una dirección

Debes confirmar una dirección cuando el veredicto indique que la API de Address Validation infirió o realizó cambios en los componentes de la dirección para generar una dirección validada. En estos casos, tienes una dirección de entrega, pero prefieres tener una mayor seguridad de que la dirección resultante es la que desea el cliente.

Para proporcionarle al cliente las instrucciones correctas, tu lógica identificaría los componentes que marca el servicio para determinar qué acción o marca aplicó la API al componente, como inferred, replaced o spellCorrected. Consulta AddressComponent en la referencia.

Confirmar indicadores

La API de Address Validation proporciona una serie de indicadores para informarte si se debe confirmar una dirección.

1. Nivel de detalle de validación

Se acepta un validationGranularity de ROUTE o superior, pero PREMISE o SUBPREMISE proporciona un indicador más fuerte de entrega.

2. Otros indicadores

Cuando decidas confirmar la entrada de la dirección con el cliente, el veredicto también proporciona lo siguiente para determinar qué componentes investigar:

Datos inferidos Cuando el campo hasInferredComponents es true, sabes que la API completó la información que obtuvo de otros componentes de dirección.
Datos reemplazados Cuando el campo hasReplacedComponents es true, la API reemplaza los datos ingresados con datos que considera que hacen que la dirección sea válida.

3. Indicadores de direcciones en EE.UU.

Determinados campos aplicables solo a las direcciones de EE.UU. indican que tu lógica debe confirmar los detalles con el cliente. Se aplica cualquiera de las siguientes opciones:

dpvConfirmation S

Para obtener detalles sobre dpvConfirmation, consulta Cómo administrar direcciones de Estados Unidos.

Respuesta de la dirección Contiene el campo missingComponentType con el valor de subpremise.

Ejemplos de direcciones confirmadas

Cómo aceptar una dirección

Aceptas una dirección cuando el veredicto proporciona un alto grado de confianza de que la dirección se puede entregar y se puede usar sin más interacción con el cliente en el proceso descendente.

Aceptar indicadores

La API de Address Validation proporciona una serie de indicadores para informarte si se debe confirmar una dirección.

1. Nivel de detalle de validación

Se acepta un validationGranularity de PREMISE o superior, pero en algunos casos, ROUTE indica una dirección de entrega de todos modos.

2. Otros indicadores

Un veredicto de una dirección de alta calidad también debe proporcionar lo siguiente:

  • No hay datos reemplazados. En este caso, es hasReplacedComponents: FALSE.
  • No hay componentes inferidos. En este caso, es hasInferredComponents: FALSE.

3. Indicadores de direcciones en EE.UU.

Determinados campos aplicables solo a direcciones de EE.UU. indican una dirección de alta calidad a la que se puede enviar entrega. Para una dirección aceptable en EE.UU., deberías ver lo siguiente:

dpvConfirmation Y

Para obtener detalles sobre dpvConfirmation, consulta Cómo administrar direcciones de Estados Unidos.

Cómo aceptar ejemplos de direcciones