Neste documento, descrevemos vários cenários reais em que a API Address Validation fornece indicadores de resposta para endereços que justificam um comportamento de confirmação do seu sistema. Os exemplos aqui são ilustrativos, mas não exaustivos. Consulte Visão geral do fluxo de trabalho em Criar sua lógica de validação para ver o contexto.
Exemplos comuns: confirmar
O exemplo a seguir ilustra o caso de áreas metropolitanas com nomes de ruas semelhantes. Suponha que um usuário queira inserir o endereço do Google Building D em Kirkland, WA, Estados Unidos. No entanto, em vez de Kirkland como a cidade, eles inserem Seattle por engano.
| Endereço inserido | Região |
|---|---|
| Building D, 451 7th Avenue South, Seattle, WA 98033 | EUA |
Veredito para dados substituídos
O exemplo abaixo enfatiza os indicadores importantes do veredicto.
{
"inputGranularity": "SUB_PREMISE",
"validationGranularity": "PREMISE_PROXIMITY",
"geocodeGranularity": "PREMISE_PROXIMITY",
"addressComplete": true,
"hasUnconfirmedComponents": true
"hasReplacedComponents": true
}
O nível de granularidade PREMISE_PROXIMITY indica a proximidade de um endereço no nível do edifício, mas não é tão detalhado quanto SUB_PREMISE, que é a granularidade fornecida na entrada. A
resposta também contém componentes não confirmados e substituídos, então a
combinação coloca isso na categoria confirmar.
Uma consulta dos componentes de endereço revela as seguintes áreas de preocupação:
{
"componentName": {
"text": "451",
},
"componentType": "street_number",
"confirmationLevel": "UNCONFIRMED_BUT_PLAUSIBLE",
}
...
{
"componentName": {
"text": "98104",
},
"componentType": "postal_code",
"confirmationLevel": "CONFIRMED",
"replaced": true
}
...
{
"componentName": {
"text": "Building D",
"language_code": "en"
},
"componentType": "subpremise",
"confirmationLevel": "UNCONFIRMED_BUT_PLAUSIBLE",
}
.......
"unconfirmedComponentTypes": [
"street_number",
"subpremise"
]
Nesse caso, a API Address Validation encontrou uma aproximação do endereço fornecido em Seattle e substituiu o CEP, um componente de nível mais alto, para resolver um endereço de Seattle. Essa pode ser uma substituição válida, mas, além do fato de os componentes não terem sido confirmados, faz sentido garantir que o usuário pretenda inserir um endereço de Seattle, e não outro, como Kirkland.
Exemplos de casos extremos: confirmação
Os exemplos a seguir ilustram os seguintes tipos de casos extremos:
- Inferências menores que SÃO confirmadas. A API Address Validation infere o país, o código postal ou o estado, mas todo o resto é fornecido e confirmado. A combinação de granularidade e nível de confirmação resulta em uma inferência menor que não necessariamente precisa de uma ação de confirmação.
- Componente de endereço inesperado NÃO confirmado. Os componentes de endereço não confirmados aumentam o nível de risco do endereço. Isso pode exigir uma confirmação.
- Componente de endereço inesperado que FOI confirmado. O componente não é estritamente necessário para um endereço adequado, e a API Address Validation o remove da saída. Problemas de formatação geralmente não exigem uma confirmação.
Inferências menores que SÃO confirmadas
Quando combinada com dados confirmados de um nível mais granular, a API ainda pode fazer uma inferência correta se a entrada estiver sem apenas um componente dos seguintes tipos:
- Cidade
- Estado
- Código postal
- País
Por exemplo, um cliente fornece um endereço válido de um restaurante do McDonald's em Springfield, Massachusetts, mas esquece de inserir a cidade e fornece um CEP sem a extensão de 4 dígitos.
| Endereço inserido | Região |
|---|---|
| 1402 Allen St, MA 01118 | EUA |
Veredito para cidade ausente
{
"inputGranularity": "PREMISE",
"validationGranularity": "PREMISE",
"geocodeGranularity": "PREMISE",
"addressComplete": true,
"hasInferredComponents": true
}
Em situações em que a API Address Validation infere componentes de nível mais alto para produzir um endereço de entrega, você pode ter um nível maior de confiança de que os dados do sistema estão corretos. Isso ocorre porque os componentes inferidos que representam uma ampla região geográfica são mais facilmente associados a componentes de endereço confirmados que são mais granulares. Mesmo em países onde os nomes de cidades se repetem, como Springfield nos Estados Unidos, os outros componentes combinados com ele podem fornecer um endereço exclusivo.
Usando o exemplo acima, uma verificação em todos os componentes de endereço mostra que cada componente é confirmado, o que significa que ele corresponde aos dados armazenados pelo repositório de dados da API Address Validation, e que o serviço também infere dois componentes de nível mais alto.
{
"componentName": {
"text": "Springfield",
"languageCode": "en"
},
"componentType": "locality",
"confirmationLevel": "CONFIRMED",
"inferred": true
},
{
"componentName": {
"text": "1806"
},
"componentType": "postal_code_suffix",
"confirmationLevel": "CONFIRMED",
"inferred": true
}
Componente de endereço inesperado NÃO confirmado
Esse cenário ilustra a importância de verificar quando os componentes não são confirmados. Se um componente de endereço for inesperado, a API Address Validation o removerá da saída. Nesses casos, você pode aceitar o endereço ou confirmá-lo novamente com o cliente, dependendo do seu nível de risco e de confiança.
Por exemplo, um endereço pode ser de uma região em que os clientes costumam inserir informações inofensivas ignoradas pela autoridade postal. Nesse caso, você aceitaria o endereço. No entanto, em alguns casos, um componente não confirmado pode não ser o que o cliente quer.
| Endereço inserido | Região |
|---|---|
| 1 Rue Grenache, la caritat 2, 34630 Saint-Thibéry | França |
Veredito para componente de endereço inesperado não confirmado
{
"inputGranularity": "PREMISE",
"validationGranularity": "PREMISE",
"geocodeGranularity": "PREMISE",
"unconfirmedComponents": true
}
Além de um veredito com componentes não confirmados, a API Address Validation retorna o seguinte endereço formatado:
"formattedAddress": "1 Rue Grenache, 34630 Saint-Thibéry, France",
Uma verificação de componentes não confirmados mostra que a API removeu la caritat 2 do endereço retornado:
{
"componentName": {
"text": "la caritat 2",
"languageCode": "fr"
},
"componentType": "sublocality_level_1",
"confirmationLevel": "UNCONFIRMED_BUT_PLAUSIBLE",
"unexpected": true
}
Componente de endereço inesperado que FOI confirmado
Este exemplo ilustra a inclusão de um condado do Reino Unido no endereço fornecido, o que é uma prática comum. No entanto, isso não é um requisito da autoridade postal do Reino Unido e é essencialmente ignorado. Consulte postoffice.co.uk e Como endereçar correspondências internacionais e do Reino Unido.
Como resultado, quando um cliente fornece um condado em um endereço do Reino Unido, o serviço avalia isso como uma entrada inesperada.
| Endereço inserido | Região |
|---|---|
| 33 Dunalley St, Cheltenham, Gloucestershire, GL50 4AP | Reino Unido |
Veredito para componente de endereço inesperado que FOI confirmado
{
"inputGranularity": "PREMISE",
"validationGranularity": "PREMISE",
"geocodeGranularity": "PREMISE"
}
Aqui, address_complete é avaliado como falso, e uma análise do componente de endereço revela uma flag inesperada.
{
"componentName": {
"text": "Gloucestershire",
"languageCode": "en"
},
"componentType": "administrative_area_level_2",
"confirmationLevel": "CONFIRMED",
"unexpected": true
}
Embora Gloucestershire seja o condado correto para o endereço inserido, o endereço em si está formatado incorretamente. A API Address Validation também avalia as informações para garantir a formatação correta.