Crea la lógica de validación

En este documento, se describe un proceso para compilar un sistema de verificación de direcciones que controle 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 controlar una dirección:

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

Propósito clave

Este documento te ayuda a modificar tu sistema para analizar mejor la respuesta de la API y determinar las próximas acciones que debes 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 tu 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 extendida.

Descripción general del flujo de trabajo

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

  1. El flujo de trabajo que se usará según el comportamiento de corrección, confirmación y aceptación.
  2. Los primeros indicadores que se deben verificar de la respuesta. Los indicadores que se describen aquí provienen de la propiedad verdict y no son los únicos que se deben verificar, pero proporcionan un indicador inicial de la calidad de la dirección. Cada tipo de comportamiento corresponde a una sección de este documento en la que se describen otros indicadores que también podrías necesitar investigar.
El comportamiento de tu sistema
Corregir la dirección

La respuesta de verdict indica que falta información importante que se debe proporcionar. Es posible que la dirección que devuelva la API no tenga una calidad de entrega adecuada.

Flujo de trabajo

  1. Investiga los componentes de la dirección si es necesario.
  2. Solicita al cliente que corrija los problemas con la dirección.
  3. Solicita la validación de la dirección actualizada.
  4. Continúa con la dirección.

Indicadores de veredicto

Se aplica cualquiera de las siguientes opciones:

Confirma la dirección

La respuesta de verdict indica una dirección que se puede entregar, pero se realizaron cambios en la entrada original: se infirieron datos que se corrigieron ortográficamente o datos que se pueden confirmar.

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. Continúa con la dirección.
  2. No se necesitan correcciones:
  3. Continúa con la dirección.

Indicadores de veredicto

Se deben cumplir todas las siguientes condiciones:

Aceptar la dirección

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

Flujo de trabajo

Continúa con la dirección que se muestra.

Indicadores de veredicto

Se deben cumplir todas las siguientes condiciones:

Asesoramiento para la implementación

Cuando diseñes la forma en que tu sistema responde a las señales 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 para tu situación cuando equilibres entre solicitar correcciones y aceptar 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, puedes aceptarla de todos modos. Por otro lado, si tu operación comercial requiere una mayor precisión de la dirección, puedes solicitarla al usuario. Para ver un ejemplo que podría pertenecer a cualquiera de las dos categorías, consulta Número de calle no confirmado fuera de EE.UU. en Acepta la dirección: Ejemplos.

Aceptar direcciones

Se recomienda permitir que tu sistema acepte la entrada original si el cliente no responde a las indicaciones.

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

Corregir una dirección

Corrige una dirección cuando los resultados indiquen claramente que no se puede entregar. Luego, tu sistema puede solicitarle 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 entregable.

Corrige los indicadores

La API de Address Validation proporciona una serie de indicadores para que sepas si se debe corregir 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:

  • Cada vez que el campo validationGranularity sea OTHER, tu sistema debería investigar los indicadores de los componentes de la dirección para obtener más información sobre dónde se produjo el error y cómo corregirlo.
  • Cada vez que el objeto address procesado posteriormente devuelva un campo missingComponentTypes, tu sistema debería verificar ese componente. La falta de componentes también hace que una dirección esté incompleta y no se pueda entregar.

2. Otros indicadores

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

Componentes sospechosos Cuando la enumeración del nivel 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 de EE.UU.

Algunos campos que solo se aplican a las direcciones de EE.UU. proporcionan un indicador útil de que la dirección no se puede entregar y se debe corregir. En el caso de una dirección que requiera corrección, deberías ver lo siguiente:

dpvConfirmation Puede ser N, D o estar vacío.

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

Ejemplos de corrección de direcciones

Cómo confirmar una dirección

Confirmas una dirección cuando el veredicto indica que la API de Address Validation infirió o realizó cambios en los componentes de la dirección para producir una dirección validada. En estos casos, tienes una dirección de entrega, pero prefieres tener más certeza de que la dirección resultante es la que el cliente desea.

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

Confirma los indicadores

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

1. Nivel de detalle de la validación

Un validationGranularity de ROUTE o mejor es aceptable, pero PREMISE o SUBPREMISE proporcionan un indicador más sólido de la capacidad 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, sabrás que la API completó la información que obtuvo de otros componentes de la dirección.
Datos reemplazados Cuando el campo hasReplacedComponents es true, la API reemplazó los datos ingresados por datos que consideró que hacían que la dirección fuera válida.

3. Indicadores de direcciones de EE.UU.

Ciertos campos aplicables solo a 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 controlar direcciones de Estados Unidos.

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

Ejemplos de confirmación de dirección

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 del cliente en el proceso posterior.

Acepta indicadores

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

1. Nivel de detalle de la validación

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

2. Otros indicadores

Un veredicto para una dirección de alta calidad también debería proporcionar lo siguiente:

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

3. Indicadores de direcciones de EE.UU.

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

dpvConfirmation Y

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

Ejemplos de direcciones aceptables