- Solicitação HTTP
- Corpo da solicitação
- Corpo da resposta
- PostalAddress
- LanguageOptions
- ValidationResult
- Veredito
- Granularidade
- Endereço
- AddressComponent
- ComponentName
- ConfirmationLevel
- Geocode
- LatLng
- PlusCode
- Viewport
- AddressMetadata
- UspsData
- UspsAddress
Valida um endereço.
Solicitação HTTP
POST https://addressvalidation.googleapis.com/v1:validateAddress
O URL usa a sintaxe de transcodificação gRPC.
Corpo da solicitação
O corpo da solicitação contém dados com a seguinte estrutura:
Representação JSON |
---|
{ "address": { object ( |
Campos | |
---|---|
address |
Obrigatório. O endereço que está sendo validado. Os endereços sem formatação devem ser enviados por O tamanho total dos campos nessa entrada não pode exceder 280 caracteres. Confira as regiões com suporte aqui. O valor A API Address Validation ignora os valores em |
previous |
Este campo precisa estar vazio para a primeira solicitação de validação de endereço. Se mais solicitações forem necessárias para validar totalmente um único endereço (por exemplo, se as alterações feitas pelo usuário após a validação inicial precisarem ser revalidadas), cada solicitação de acompanhamento precisará preencher esse campo com o |
enable |
Ativa o modo compatível com o USPS CASS. Isso afeta apenas o campo É recomendável usar um |
language |
Opcional. Pré-lançamento: esse recurso está em pré-lançamento (pré-GA). Os produtos e recursos em pré-GA têm suporte limitado, e é possível que as mudanças neles não sejam compatíveis com outras versões nessa fase. As Soluções pré-GA são cobertas pelos Termos de Serviço específicos da Plataforma Google Maps. Para mais informações, consulte as descrições da fase de lançamento. Permite que a API Address Validation inclua mais informações na resposta. |
session |
Opcional. Uma string que identifica uma sessão de preenchimento automático para fins de faturamento. Precisa ser uma string base64 segura para URL e nome de arquivo com no máximo 36 caracteres ASCII. Caso contrário, um erro INVALID_ARGUMENT será retornado. A sessão começa quando o usuário faz uma consulta do Autocomplete e termina quando ele seleciona um lugar e uma chamada para o Place Details ou a Validação de endereço é feita. Cada sessão pode ter várias consultas do Autocomplete, seguidas por uma solicitação de Place Details ou Address Validation. As credenciais usadas para cada solicitação em uma sessão precisam pertencer ao mesmo projeto do console do Google Cloud. Após a conclusão de uma sessão, o token não é mais válido. Seu aplicativo deve gerar um novo token para cada sessão. Se o parâmetro Observação: a API Address Validation só pode ser usada em sessões com a API Autocomplete (nova), não com a API Autocomplete. Consulte https://developers.google.com/maps/documentation/places/web-service/session-pricing para mais detalhes. |
Corpo da resposta
A resposta a uma solicitação de validação de endereço.
Se bem-sucedido, o corpo da resposta incluirá dados com a estrutura a seguir:
Representação JSON |
---|
{
"result": {
object ( |
Campos | |
---|---|
result |
O resultado da validação do endereço. |
response |
O UUID que identifica essa resposta. Se o endereço precisar ser revalidado, esse UUID precisa acompanhar o novo pedido. |
PostalAddress
Representa um endereço postal, por exemplo, para endereços para pagamento ou distribuição postal. Com um endereço postal, o serviço de correios pode entregar itens em um local, uma caixa postal ou outro local semelhante. Não se destina a modelar locais geográficos (estradas, cidades, montanhas).
No uso normal, um endereço seria criado por digitação do usuário ou pela importação de dados existentes, dependendo do tipo de processo.
Dicas sobre inserção / edição de endereços: - Use um widget de endereço pronto para internacionalização, como https://github.com/google/libaddressinput. - Os usuários não devem receber elementos da interface para entrada ou edição de campos fora dos países em que o campo é usado.
Para mais orientações sobre como usar este esquema, consulte: https://support.google.com/business/answer/6397478.
Representação JSON |
---|
{ "revision": integer, "regionCode": string, "languageCode": string, "postalCode": string, "sortingCode": string, "administrativeArea": string, "locality": string, "sublocality": string, "addressLines": [ string ], "recipients": [ string ], "organization": string } |
Campos | |
---|---|
revision |
A revisão do esquema do |
region |
Opcional. Código de região CLDR do país/região do endereço. Para detalhes, consulte https://cldr.unicode.org/ e https://www.unicode.org/cldr/charts/30/supplemental/territory_information.html. Exemplo: "CH" para Suíça. Se o código da região não for fornecido, ele será inferido a partir do endereço. Para melhorar a performance, é recomendável incluir o código da região, se você souber. Ter regiões inconsistentes ou repetidas pode levar a um desempenho ruim. Por exemplo, se o |
language |
O código de idioma no endereço de entrada é reservado para uso futuro e é ignorado no momento. A API retorna o endereço no idioma apropriado para o local. |
postal |
Opcional. Código postal do endereço. Nem todos os países usam ou exigem códigos postais, mas nos locais onde são usados, eles podem desencadear uma validação adicional com outras partes do endereço (por exemplo, validação de estado/CEP nos EUA). |
sorting |
Opcional. Código de classificação adicional específico de país. Não é usado na maioria das regiões. Nos locais em que é usado, o valor é uma string como “CEDEX”, que pode ser seguida por um número (por exemplo, “CEDEX 7”), ou apenas um número sozinho, representando o “código do setor” (Jamaica), o “indicador de área de entrega” (Malawi) ou o “indicador de agência de correio” (por exemplo, Costa do Marfim). |
administrative |
Opcional. A maior subdivisão administrativa que é usada para endereços postais de um país ou uma região. Por exemplo, pode ser um estado, uma província, uma zona ou uma prefeitura. Especificamente na Espanha, é a província, e não a comunidade autônoma (por exemplo, “Barcelona”, não “Catalunha”). Muitos países não usam área administrativa em endereços postais. Por exemplo, na Suíça, isso deve ser deixado em branco. |
locality |
Opcional. Geralmente se refere à parte do endereço relativa a cidade/município. Exemplos: cidade nos EUA, comunidade na Itália, distrito postal no Reino Unido. Em regiões onde as localidades não são claramente definidas ou não se encaixam bem nessa estrutura, deixe a localidade em branco e use addressLines. |
sublocality |
Opcional. Sublocalidade do endereço. Por exemplo, pode ser bairro ou distrito. |
address |
Obrigatório. Linhas de endereço não estruturadas que descrevem os níveis mais baixos de um endereço. |
recipients[] |
Evite definir esse campo. No momento, a API Address Validation não o usa. Embora a API não rejeite solicitações com esse campo definido, as informações serão descartadas e não serão retornadas na resposta. |
organization |
Evite definir este campo. No momento, a API Address Validation não o usa. Embora a API não rejeite solicitações com esse campo definido, as informações serão descartadas e não serão retornadas na resposta. |
LanguageOptions
Pré-lançamento: esse recurso está em pré-lançamento (pré-GA). Os produtos e recursos em pré-GA têm suporte limitado, e é possível que as mudanças neles não sejam compatíveis com outras versões nessa fase. As Soluções pré-GA são cobertas pelos Termos de Serviço específicos da Plataforma Google Maps. Para mais informações, consulte as descrições da fase de lançamento.
Permite que a API Address Validation inclua mais informações na resposta.
Representação JSON |
---|
{ "returnEnglishLatinAddress": boolean } |
Campos | |
---|---|
return |
Visualização: retorne uma |
ValidationResult
O resultado da validação de um endereço.
Representação JSON |
---|
{ "verdict": { object ( |
Campos | |
---|---|
verdict |
Flags de veredito geral |
address |
Informações sobre o endereço, e não o geocódigo. |
geocode |
Informações sobre o local e o lugar para onde o endereço foi geocodificado. |
metadata |
Outras informações relevantes para a entrega. Não há garantia de que |
usps |
Sinalizações extras de entrega fornecidas pelo USPS. Disponível apenas nas regiões |
english |
Pré-lançamento: esse recurso está em pré-lançamento (pré-GA). Os produtos e recursos em pré-GA têm suporte limitado, e é possível que as mudanças neles não sejam compatíveis com outras versões nessa fase. As Soluções pré-GA são cobertas pelos Termos de Serviço específicos da Plataforma Google Maps. Para mais informações, consulte as descrições da fase de lançamento. O endereço traduzido para o inglês. Os endereços traduzidos não podem ser reutilizados como entrada da API. O serviço fornece essas informações para que o usuário possa usar o idioma nativo para confirmar ou negar a validação do endereço fornecido originalmente. Se parte do endereço não tiver uma tradução para o inglês, o serviço vai retornar essa parte em um idioma alternativo que use um script latino. Consulte este link para saber como o idioma alternativo é selecionado. Se parte do endereço não tiver traduções ou transliterações em um idioma que usa um alfabeto latino, o serviço vai retornar essa parte no idioma local associado ao endereço. Ative essa saída usando a sinalização Observação: os campos |
Veredito
Visão geral de alto nível do resultado da validação do endereço e do geocódigo.
Representação JSON |
---|
{ "inputGranularity": enum ( |
Campos | |
---|---|
input |
A granularidade do endereço de entrada. Esse é o resultado da análise do endereço de entrada e não gera indicadores de validação. Para indicadores de validação, consulte Por exemplo, se o endereço de entrada incluir um número de apartamento específico, o |
validation |
O nível de granularidade em que a API pode validar o endereço. Por exemplo, um O resultado da validação de cada componente do endereço pode ser encontrado em |
geocode |
Informações sobre a granularidade da Isso pode ser diferente do |
address |
O endereço é considerado completo quando não há tokens não resolvidos nem componentes de endereço inesperados ou ausentes. Se não for definido, o valor será |
has |
Pelo menos um componente do endereço não pode ser categorizado ou validado. Consulte |
has |
Pelo menos um componente de endereço foi inferido (adicionado) e não estava na entrada. Consulte |
has |
Pelo menos um componente de endereço foi substituído. Consulte |
Granularidade
As várias granularidades que um endereço ou um geocódigo pode ter. Quando usados para indicar a granularidade de um endereço, esses valores indicam a granularidade com que o endereço identifica um destino de correspondência. Por exemplo, um endereço como "123 Main Street, Redwood City, CA, 94061" identifica um PREMISE
, enquanto algo como "Redwood City, CA, 94061" identifica um LOCALITY
. No entanto, se não for possível encontrar um geocódigo para "123 Main Street" em Redwood City, o geocódigo retornado poderá ter granularidade LOCALITY
, mesmo que o endereço seja mais granular.
Enums | |
---|---|
GRANULARITY_UNSPECIFIED |
Valor padrão. Esse valor não é usado. |
SUB_PREMISE |
Resultado abaixo do nível do edifício, como um apartamento. |
PREMISE |
Resultado no nível do edifício. |
PREMISE_PROXIMITY |
Um geocódigo que aproxima o local do endereço no nível do edifício. |
BLOCK |
O endereço ou geocódigo indica um bloco. Usado apenas em regiões com endereçamento em nível de bloco, como o Japão. |
ROUTE |
O geocódigo ou endereço é granular para a rota, como uma rua, estrada ou rodovia. |
OTHER |
Todas as outras granularidades, que são agrupadas porque não podem ser entregues. |
Endereço
Detalhes do endereço pós-processado. O pós-processamento inclui a correção de partes com erros ortográficos do endereço, a substituição de partes incorretas e a inferência de partes ausentes.
Representação JSON |
---|
{ "formattedAddress": string, "postalAddress": { object ( |
Campos | |
---|---|
formatted |
O endereço pós-processado, formatado como um endereço de linha única seguindo as regras de formatação da região em que ele está localizado. Observação: o formato desse endereço pode não corresponder ao formato do endereço no campo |
postal |
O endereço pós-processado representado como um endereço postal. |
address |
Lista não ordenada. Os componentes individuais do endereço formatado e corrigido, além das informações de validação. Isso fornece informações sobre o status de validação dos componentes individuais. Os componentes do endereço não são ordenados de uma maneira específica. Não faça suposições sobre a ordem dos componentes do endereço na lista. |
missing |
Os tipos de componentes que deveriam estar presentes em um endereço de correspondência formatado corretamente, mas não foram encontrados na entrada E não puderam ser inferidos. Componentes desse tipo não estão presentes em |
unconfirmed |
Os tipos dos componentes que estão presentes no |
unresolved |
Todos os tokens na entrada que não puderam ser resolvidos. Isso pode ser uma entrada que não foi reconhecida como parte válida de um endereço. Por exemplo, para uma entrada como "Parcel 0000123123 & 0000456456 Str # Guthrie Center IA 50115 US", os tokens não resolvidos podem ter a aparência de |
AddressComponent
Representa um componente de endereço, como rua, cidade ou estado.
Representação JSON |
---|
{ "componentName": { object ( |
Campos | |
---|---|
component |
O nome desse componente. |
component |
O tipo do componente de endereço. Consulte a Tabela 2: outros tipos retornados pelo serviço Places para conferir uma lista de tipos possíveis. |
confirmation |
Indica o nível de certeza de que o componente está correto. |
inferred |
Indica que o componente não fazia parte da entrada, mas foi inferido para o local do endereço e acreditamos que ele precisa ser fornecido para um endereço completo. |
spell |
Indica uma correção de um erro de ortografia no nome do componente. A API nem sempre sinaliza mudanças de uma variante de ortografia para outra, como ao mudar "centre" para "center". Ele também não sempre sinaliza erros ortográficos comuns, como ao mudar "Amphitheater Pkwy" para "Amphitheatre Pkwy". |
replaced |
Indica que o nome do componente foi substituído por um completamente diferente, por exemplo, um CEP incorreto sendo substituído por um correto para o endereço. Essa não é uma mudança estética, o componente de entrada foi alterado para outro. |
unexpected |
Indica um componente de endereço que não deve estar presente em um endereço postal da região. Ela foi mantida apenas porque fazia parte da entrada. |
ComponentName
Um wrapper para o nome do componente.
Representação JSON |
---|
{ "text": string, "languageCode": string } |
Campos | |
---|---|
text |
O texto do nome. Por exemplo, "5th Avenue" para um nome de rua ou "1253" para um número da rua. |
language |
O código de idioma BCP-47. Isso não vai aparecer se o nome do componente não estiver associado a um idioma, como um número de rua. |
ConfirmationLevel
Os diferentes valores possíveis para os níveis de confirmação.
Enums | |
---|---|
CONFIRMATION_LEVEL_UNSPECIFIED |
Valor padrão. Esse valor não é usado. |
CONFIRMED |
Verificamos que esse componente existe e faz sentido no contexto do restante do endereço. |
UNCONFIRMED_BUT_PLAUSIBLE |
Este componente não pôde ser confirmado, mas é provável que ele exista. Por exemplo, um número de rua dentro de um intervalo válido conhecido em uma rua em que os números específicos das casas não são conhecidos. |
UNCONFIRMED_AND_SUSPICIOUS |
Esse componente não foi confirmado e provavelmente está incorreto. Por exemplo, um bairro que não se encaixa no restante do endereço. |
Geocódigo
Contém informações sobre o lugar para o qual a entrada foi geocodificada.
Representação JSON |
---|
{ "location": { object ( |
Campos | |
---|---|
location |
O local geocodificado da entrada. É melhor usar IDs de local em vez de endereços, coordenadas de latitude/longitude ou Plus Codes. O uso de coordenadas ao calcular rotas ou trajetos por carro sempre resulta na fixação do ponto na via mais próxima a essas coordenadas. Essa pode não ser uma estrada que leva ao destino de forma rápida ou segura e pode não estar perto de um ponto de acesso à propriedade. Além disso, quando um local é geocodificado de forma reversa, não há garantia de que o endereço retornado corresponderá ao original. |
plus |
O Plus Code correspondente ao |
bounds |
Os limites do lugar geocodificado. |
feature |
O tamanho do lugar geocodificado, em metros. Essa é outra medida da grosseria do local geocodificado, mas em tamanho físico, e não em significado semântico. |
place |
O PlaceID do lugar que a entrada vai geocodificar. Para mais informações sobre os IDs de lugar, clique aqui. |
place |
Os tipos de lugar que a entrada geocodificou. Por exemplo, |
LatLng
Um objeto que representa um par de latitude/longitude. Ele é expresso como um par de valores duplos para representar graus de latitude e longitude. Salvo indicação em contrário, esse objeto precisa estar em conformidade com o padrão WGS84. Os valores precisam estar dentro de intervalos normalizados.
Representação JSON |
---|
{ "latitude": number, "longitude": number } |
Campos | |
---|---|
latitude |
A latitude em graus. Precisa estar no intervalo [-90,0, +90,0]. |
longitude |
A longitude em graus. Precisa estar no intervalo [-180,0, +180,0]. |
PlusCode
O Plus Code (http://plus.codes) é uma referência de local com dois formatos: o código global que define um 14mx14m (1/8.000 de grau) ou um retângulo menor e o código composto, substituindo o prefixo por um local de referência.
Representação JSON |
---|
{ "globalCode": string, "compoundCode": string } |
Campos | |
---|---|
global |
O código global (completo) do lugar, como "9FWM33GV+HQ", que representa uma área de 1/8000 por 1/8000 grau (aproximadamente 14 x 14 metros). |
compound |
O código composto do lugar, como "33GV+HQ, Ramberg, Noruega", que contém o sufixo do código global e substitui o prefixo por um nome formatado de uma entidade de referência. |
Janela de visualização
Uma viewport de latitude-longitude, representada como dois pontos low
e high
diagonalmente opostos. Uma janela de visualização é considerada uma região fechada, ou seja, inclui seus limites. Os limites de latitude devem variar entre -90 e 90 graus, e os limites de longitude devem variar entre -180 e 180 graus. Vários casos incluem:
Se
low
=high
, a viewport consiste nesse único ponto.Se
low.longitude
>high.longitude
, o intervalo de longitude é invertido (a janela de visualização cruza a linha de longitude de 180 graus).Se
low.longitude
= -180 graus ehigh.longitude
= 180 graus, a viewport inclui todas as longitudes.Se
low.longitude
= 180 graus ehigh.longitude
= -180 graus, o intervalo de longitude estará vazio.Se
low.latitude
for maior quehigh.latitude
, o intervalo de latitude estará vazio.
low
e high
precisam ser preenchidos, e a caixa representada não pode estar vazia (conforme especificado nas definições acima). Uma janela de visualização vazia resultará em erro.
Por exemplo, esta viewport inclui toda a cidade de Nova York:
{ "low": { "latitude": 40.477398, "longitude": -74.259087 }, "high": { "latitude": 40.91618, "longitude": -73.70018 } }
Representação JSON |
---|
{ "low": { object ( |
Campos | |
---|---|
low |
Obrigatório. O ponto mais baixo da janela de visualização. |
high |
Obrigatório. O ponto alto da janela de visualização. |
AddressMetadata
Os metadados do endereço. Não há garantia de que metadata
será preenchido totalmente para todos os endereços enviados à API Address Validation.
Representação JSON |
---|
{ "business": boolean, "poBox": boolean, "residential": boolean } |
Campos | |
---|---|
business |
Indica que este é o endereço de uma empresa. Se não definido, indica que o valor é desconhecido. |
po |
Indica o endereço de uma caixa postal. Se não for definido, indica que o valor é desconhecido. |
residential |
Indica que este é o endereço de uma residência. Se não for definido, indica que o valor é desconhecido. |
UspsData
Os dados do USPS para o endereço. Não há garantia de que uspsData
será totalmente preenchido para todos os endereços dos EUA ou de Porto Rico enviados para a API Address Validation. É recomendável integrar os campos de endereço de backup na resposta se você usar o uspsData como a parte principal da resposta.
Representação JSON |
---|
{
"standardizedAddress": {
object ( |
Campos | |
---|---|
standardized |
Endereço padronizado da USPS. |
delivery |
Código do ponto de entrega de dois dígitos |
delivery |
O dígito de verificação do ponto de entrega. Este número é adicionado ao final do delivery_point_barcode para mensagens digitalizadas mecanicamente. A soma de todos os dígitos de delivery_point_barcode, deliveryPointCheckDigit, postal code e ZIP+4 deve resultar em um número divisível por 10. |
dpv |
Os valores possíveis para a confirmação de DPV. Retorna um único caractere ou nenhum valor.
|
dpv |
As notas de rodapé da validação do ponto de entrega. Várias notas de rodapé podem ser agrupadas na mesma string.
|
dpv |
Indica se o endereço é uma CMRA (agência comercial de recebimento de correspondências), uma empresa particular que recebe correspondências para clientes. Retorna um único caractere.
|
dpv |
O lugar está vago? Retorna um único caractere.
|
dpv |
Esse endereço é inativo ou ativo? Nenhum endereço de estatística é aquele que não está continuamente ocupado ou endereços que o USPS não atende. Retorna um único caractere.
|
dpv |
Indica o tipo NoStat. Retorna um código de motivo como int.
|
dpv |
Flag indica que a correspondência é entregue a um único receptáculo em um site. Retorna um único caractere.
|
dpv |
Indica que correspondências não foram entregues no endereço. Retorna um único caractere.
|
dpv |
A flag indica que a entrega de correspondências não é realizada todos os dias da semana. Retorna um único caractere.
|
dpv |
Número inteiro que identifica os dias sem entrega. Ele pode ser interrogado usando flags de bit: 0x40: o domingo não é um dia de entrega 0x20: a segunda-feira não é um dia de entrega 0x10: a terça-feira não é um dia de entrega 0x08: a quarta-feira não é um dia de entrega 0x04: a quinta-feira não é um dia de entrega 0x02: a sexta-feira não é um dia de entrega 0x01: o sábado não é um dia de entrega |
dpv |
A sinalização indica que a porta está acessível, mas o pacote não será deixado por questões de segurança. Retorna um único caractere.
|
dpv |
Indica que o endereço foi associado ao registro PBSA. Retorna um único caractere.
|
dpv |
A sinalização indica endereços onde a USPS não pode bater na porta para entregar correspondências. Retorna um único caractere.
|
dpv |
Indica que mais de um código de retorno de DPV é válido para o endereço. Retorna um único caractere.
|
carrier |
O código da rota da transportadora. Um código de quatro caracteres que consiste em um prefixo de uma letra e um designador de rota de três dígitos. Prefixos:
|
carrier |
Indicador de classificação da taxa de rota da transportadora. |
ews |
O endereço de entrega pode ser encontrado, mas o arquivo EWS indica que uma correspondência exata vai estar disponível em breve. |
post |
Cidade da agência postal principal. |
post |
Estado da caixa postal principal. |
abbreviated |
Cidade abreviada. |
fips |
Código do condado FIPS. |
county |
Nome do condado. |
elot |
Número da rota de viagem otimizada (eLOT, na sigla em inglês). |
elot |
Flag de ordenação crescente/decrescente (A/D) do eLOT. |
lacs |
Código de retorno do LACSLink. |
lacs |
Indicador de LACSLink. |
po |
Código postal apenas para caixa postal. |
suitelink |
Notas de rodapé que correspondem a um registro de rua ou edifício às informações do conjunto. Se o nome da empresa for correspondente, o número secundário vai ser retornado.
|
pmb |
Designador de unidade de caixa de correio particular (PMB, na sigla em inglês). |
pmb |
Número da caixa postal particular (PMB, na sigla em inglês); |
address |
Tipo do registro de endereço que corresponde ao endereço de entrada.
|
default |
Indicador de que um endereço padrão foi encontrado, mas endereços mais específicos existem. |
error |
Mensagem de erro para a recuperação de dados do USPS. Esse campo é preenchido quando o processamento do USPS é suspenso devido à detecção de endereços criados artificialmente. Os campos de dados do USPS podem não ser preenchidos quando esse erro está presente. |
cass |
Indica que a solicitação foi processada pelo CASS. |
UspsAddress
Representação do USPS de um endereço nos EUA.
Representação JSON |
---|
{ "firstAddressLine": string, "firm": string, "secondAddressLine": string, "urbanization": string, "cityStateZipAddressLine": string, "city": string, "state": string, "zipCode": string, "zipCodeExtension": string } |
Campos | |
---|---|
first |
Primeira linha do endereço. |
firm |
Nome da empresa. |
second |
Segunda linha do endereço. |
urbanization |
Nome da urbanização porto-riquenha. |
city |
Cidade + estado + código postal. |
city |
Nome da cidade. |
state |
Código do estado com duas letras. |
zip |
Código postal, por exemplo, 10009. |
zip |
Extensão de código postal de quatro dígitos, por exemplo, 5023. |