- Solicitud HTTP
- Cuerpo de la solicitud
- Cuerpo de la respuesta
- PostalAddress
- ValidationResult
- Veredicto
- Nivel de detalle
- Dirección
- AddressComponent
- ComponentName
- Nivel de confirmación
- Código geográfico
- LatLng
- PlusCode
- Ventana de visualización
- AddressMetadata
- UspsData
- UspsAddress
Valida una dirección.
Solicitud HTTP
POST https://addressvalidation.googleapis.com/v1:validateAddress
La URL usa la sintaxis de la transcodificación gRPC.
Cuerpo de la solicitud
El cuerpo de la solicitud contiene datos con la siguiente estructura:
Representación JSON |
---|
{
"address": {
object ( |
Campos | |
---|---|
address |
Obligatorio. La dirección que se valida. Las direcciones sin formato deben enviarse a través de La longitud total de los campos en esta entrada no debe exceder los 280 caracteres. Puede encontrar las regiones admitidas en las Preguntas frecuentes. El valor La API de Address Validation ignora los valores en |
previousResponseId |
Este campo debe estar vacío para la primera solicitud de validación de dirección. Si se necesitan más solicitudes para validar por completo una sola dirección (por ejemplo, si los cambios que realiza el usuario después de la validación inicial deben volver a validarse), cada solicitud de seguimiento debe propagar este campo con la |
enableUspsCass |
Habilita el modo compatible con USPS CASS. Esto afecta solo el campo Se recomienda usar una |
Cuerpo de la respuesta
Si se ejecuta correctamente, el cuerpo de la respuesta contendrá datos con la siguiente estructura:
Es la respuesta a una solicitud de validación de dirección.
Representación JSON |
---|
{
"result": {
object ( |
Campos | |
---|---|
result |
El resultado de la validación de la dirección. |
responseId |
El UUID que identifica esta respuesta. Si es necesario volver a validar la dirección, este UUID debe acompañar la solicitud nueva. |
PostalAddress
Representa una dirección postal, p. ej., para envíos postales o direcciones de pago. Si se proporciona una dirección postal, un servicio postal puede enviar artículos a las instalaciones, a la casilla postal o a otras ubicaciones similares. No está diseñado para modelar ubicaciones geográficas (caminos, pueblos, montañas).
En el uso común, una dirección se crearía a través de una entrada del usuario o a partir de la importación de datos existentes, según el tipo de proceso.
Consejos sobre el ingreso o la edición de direcciones: - Usa un widget de dirección listo para la internacionalización, como https://github.com/google/libaddressinput) - Los usuarios no deben ver elementos de la IU para ingresar o editar campos fuera de países en los que se usa ese campo.
Para obtener orientación sobre cómo usar este esquema, consulta https://support.google.com/business/answer/6397478
Representación 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 |
La revisión del esquema de |
regionCode |
Opcional. Código de región de CLDR para el país o la región de la dirección. Para obtener más información, consulta https://cldr.unicode.org/ y https://www.unicode.org/cldr/charts/30/supplemental/territory_information.html. Ejemplo: "CH" para Suiza. Si no se proporciona el código de región, se inferirá de la dirección. Para obtener el mejor rendimiento, se recomienda incluir el código de región si lo conoces. Si hay regiones incoherentes o repetidas, es posible que el rendimiento sea bajo; por ejemplo, si |
languageCode |
El código de idioma de la dirección de entrada está reservado para usos futuros y se ignora hoy en día. La API muestra la dirección en el idioma adecuado de su ubicación. |
postalCode |
Opcional. Código postal de la dirección. No todos los países usan o exigen la presencia de códigos postales, pero en los lugares donde se usan, es posible que activen una validación adicional con otras partes de la dirección (p. ej., validación del código postal o el estado en EE.UU.). |
sortingCode |
Opcional. Código de ordenamiento adicional específico para cada país. No se usa en la mayoría de las regiones. Cuando se utiliza, el valor es una string como "CEDEX", que puede ir seguida de un número (p.ej., "CEDEX 7") o solo un número, que representa el "código de sector" (Jamaica), el "indicador del área de entrega" (Malaui) o el "indicador de correo postal" (p.ej., Costa de Marfil). |
administrativeArea |
Opcional. División administrativa más alta que se usa para las direcciones postales de un país o una región. Por ejemplo, puede ser un estado, una provincia, una óblast o una prefectura. En concreto, para España, se trata de la provincia y no la comunidad autónoma (p.ej., "Barcelona" y no "Catalonia"). Muchos países no usan un área administrativa en las direcciones postales. P. ej., en Suiza se dejaría vacío. |
locality |
Opcional. Por lo general, se refiere a la parte de la dirección que indica la ciudad o el pueblo. Ejemplos: ciudad de EE.UU., comuna de Italia o ciudad postal en el Reino Unido. En regiones del mundo donde las localidades no están bien definidas o no coinciden bien con esta estructura, deja la localidad vacía y usa addressLines. |
sublocality |
Opcional. Sublocalidad de la dirección. Por ejemplo, pueden ser barrios, vecindarios o distritos. |
addressLines[] |
Obligatorio. Líneas de dirección no estructuradas que describen los niveles más bajos de una dirección. |
recipients[] |
Evite configurar este campo. Actualmente, la API de Address Validation no la usa. Aunque en este momento la API no rechazará las solicitudes con este campo establecido, la información se descartará y no se mostrará en la respuesta. |
organization |
Evite configurar este campo. Actualmente, la API de Address Validation no la usa. Aunque en este momento la API no rechazará las solicitudes con este campo establecido, la información se descartará y no se mostrará en la respuesta. |
ValidationResult
El resultado de la validación de una dirección.
Representación JSON |
---|
{ "verdict": { object ( |
Campos | |
---|---|
verdict |
Veredictos generales |
address |
Información sobre la dirección en sí y no sobre el geocódigo. |
geocode |
Información sobre la ubicación y el lugar al que se codificó la dirección. |
metadata |
Otra información relevante sobre la entrega. No se garantiza que |
uspsData |
Marcas de entrega adicionales proporcionadas por USPS. Solo se proporciona en las regiones |
Veredicto
Descripción general de los resultados de validación de la dirección y la codificación geográfica.
Representación JSON |
---|
{ "inputGranularity": enum ( |
Campos | |
---|---|
inputGranularity |
El nivel de detalle de la dirección input. Es el resultado del análisis de la dirección de entrada y no proporciona indicadores de validación. Consulta Por ejemplo, si la dirección de entrada incluye un número de departamento específico, la |
validationGranularity |
Nivel de detalle al que la API puede validar por completo la dirección. Por ejemplo, un El resultado de la validación del componente por dirección se encuentra en |
geocodeGranularity |
Información sobre el nivel de detalle de En ocasiones, puede diferir de la |
addressComplete |
La dirección se considera completa si no hay tokens sin resolver, no hay componentes de dirección inesperados o faltantes. Consulta los campos |
hasUnconfirmedComponents |
Al menos un componente de la dirección no se puede categorizar ni validar. Consulta |
hasInferredComponents |
Se infirió al menos un componente de dirección (se agregó) que no estaba en la entrada. Consulta |
hasReplacedComponents |
Se reemplazó al menos un componente de dirección. Consulta |
Nivel de detalle
los diferentes niveles de detalle que puede tener una dirección o un geocódigo. Cuando se utilizan para indicar el nivel de detalle de una dirección, estos valores indican el nivel de detalle con el que la dirección identifica un destino de correo postal. Por ejemplo, una dirección como "Calle Principal 123, Redwood City, CA, 94061" identifica un PREMISE
, mientras que "Redwood City, CA, 94061" identifica un LOCALITY
. Sin embargo, si no podemos encontrar un geocódigo para "Calle principal 123" en Redwood City, el geocódigo que se muestra puede tener un nivel de detalle LOCALITY
aunque la dirección sea más detallada.
Enumeradores | |
---|---|
GRANULARITY_UNSPECIFIED |
Valor predeterminado Este valor no se usa. |
SUB_PREMISE |
Resultado debajo del edificio, como un departamento. |
PREMISE |
Resultado a nivel del edificio |
PREMISE_PROXIMITY |
Un geocódigo que debe estar muy cerca de la ubicación de la dirección en el nivel del edificio. Solo se usa para geocódigos y no para direcciones. |
BLOCK |
La dirección o codificación geográfica indica un bloque. Solo se usa en regiones con direcciones a nivel de bloque, como Japón. |
ROUTE |
El geocódigo o la dirección son detallados en la ruta, como una calle, una ruta o una autopista. |
OTHER |
Todas las demás granularidades, que se agrupan en intervalos porque no se pueden entregar. |
Address
Detalles de la dirección analizada desde la entrada.
Representación JSON |
---|
{ "formattedAddress": string, "postalAddress": { object ( |
Campos | |
---|---|
formattedAddress |
La dirección corregida, con formato de una sola línea, según las reglas de formato de dirección de la región donde se encuentra la dirección. |
postalAddress |
La dirección validada que se representa como una dirección postal. |
addressComponents[] |
Lista sin ordenar. Los componentes individuales de la dirección con la dirección formateada y corregida, junto con la información de validación. Esto proporciona información sobre el estado de validación de los componentes individuales. Los componentes de la dirección no están ordenados de una manera en particular. No hagas suposiciones sobre el orden de los componentes de dirección en la lista. |
missingComponentTypes[] |
Los tipos de componentes que se esperaba que estuvieran presentes en una dirección de correo con el formato correcto, pero no se encontraron en la entrada Y no se pudieron inferir. Los componentes de este tipo no están presentes en |
unconfirmedComponentTypes[] |
Son los tipos de componentes que están presentes en el |
unresolvedTokens[] |
Cualquier token en la entrada que no se pudo resolver. Puede ser una entrada que no se reconoció como una parte válida de una dirección (por ejemplo, en una entrada como "123235253253 Main St, San Francisco, CA, 94105"), los tokens sin resolver pueden parecer |
Componente de dirección
Representa un componente de dirección, como una calle, una ciudad o un estado.
Representación JSON |
---|
{ "componentName": { object ( |
Campos | |
---|---|
componentName |
El nombre de este componente. |
componentType |
El tipo del componente de la dirección. Consulta la Tabla 2: Tipos adicionales que muestra el servicio Places para obtener una lista de los tipos posibles. |
confirmationLevel |
Indica el nivel de certeza de que el componente es correcto. |
inferred |
Indica que el componente no era parte de la entrada, pero lo inferimos para la ubicación de la dirección y creemos que debe proporcionarse para una dirección completa. |
spellCorrected |
Indica que la ortografía del nombre del componente se corrigió de una forma secundaria, por ejemplo, al cambiar dos caracteres que aparecían en el orden incorrecto. Esto indica un cambio estético. |
replaced |
Indica que el nombre del componente se reemplazó por otro completamente diferente; por ejemplo, si se reemplazó un código postal incorrecto por uno correcto para la dirección. Este no es un cambio estético; el componente de entrada se cambió por uno diferente. |
unexpected |
Indica un componente de dirección que no se espera que esté en una dirección postal para la región dada. Solo la conservamos porque formaba parte de la entrada. |
Nombre del componente
Un wrapper para el nombre del componente.
Representación JSON |
---|
{ "text": string, "languageCode": string } |
Campos | |
---|---|
text |
El texto del nombre. Por ejemplo, "5th Avenue" para el nombre de una calle o "1253" para el número de una calle. |
languageCode |
El código de idioma BCP-47. Esto no estará presente si el nombre del componente no está asociado a un idioma, como un número de calle. |
Nivel de confirmación
Los diferentes valores posibles para los niveles de confirmación
Enumeradores | |
---|---|
CONFIRMATION_LEVEL_UNSPECIFIED |
Valor predeterminado Este valor no se usa. |
CONFIRMED |
Pudimos verificar que este componente existe y tiene sentido en el contexto del resto de la dirección. |
UNCONFIRMED_BUT_PLAUSIBLE |
No se pudo confirmar este componente, pero es posible que exista. Por ejemplo, un número de una calle dentro de un intervalo válido de números conocidos en una calle donde no se conocen números de casa específicos. |
UNCONFIRMED_AND_SUSPICIOUS |
No se confirmó este componente, y es probable que sea incorrecto. Por ejemplo, un barrio que no coincide con el resto de la dirección. |
Geocodificación
Contiene información sobre el lugar en el cual se realizó la geocodificación.
Representación JSON |
---|
{ "location": { object ( |
Campos | |
---|---|
location |
La ubicación geográfica de la entrada. Se prefiere el uso de id. de sitio en lugar de direcciones, coordenadas de latitud y longitud o códigos plus. El uso de coordenadas al calcular o calcular las indicaciones en automóvil siempre implicará el ajuste del punto en la ruta más cercana a dichas coordenadas. Es posible que no sea una ruta que conduzca de forma rápida o segura al destino y que no esté cerca de un access point que dirija a la propiedad. Además, cuando una ubicación tiene codificación geográfica inversa, no hay garantía de que la dirección que se muestre coincida con la original. |
plusCode |
El código plus correspondiente al |
bounds |
Los límites del lugar geocodificado. |
featureSizeMeters |
El tamaño del lugar geocodificado en metros. Esta es otra medida del grosor de la ubicación geocodificada, pero en tamaño físico y no en significado semántico. |
placeId |
El PlaceID del lugar al que se ingresa este código geográfico. Para obtener más información sobre los IDs de lugar, consulta este vínculo. |
placeTypes[] |
Los tipos de sitios a los que se geocodificó la entrada. Por ejemplo, |
LatLng
Es un objeto que representa un par de valores de latitud y longitud. Esto se expresa como un par de dobles para representar la latitud en grados y la longitud en grados. A menos que se especifique lo contrario, este objeto debe cumplir con el estándar WGS84. Los valores deben pertenecer a rangos normalizados.
Representación JSON |
---|
{ "latitude": number, "longitude": number } |
Campos | |
---|---|
latitude |
La latitud expresada en grados. Debe pertenecer al rango [-90.0, +90.0]. |
longitude |
La longitud expresada en grados. Debe pertenecer al rango [-180.0, +180.0]. |
PlusCode
El código plus (http://plus.codes) es una referencia de ubicación con dos formatos: código global que define un rectángulo de 14mx14m (1/8000 de un grado) o más pequeño y un código compuesto que reemplaza el prefijo por una ubicación de referencia.
Representación JSON |
---|
{ "globalCode": string, "compoundCode": string } |
Campos | |
---|---|
globalCode |
Código global (completa) del lugar, como "9FWM33GV+HQ", que representa un área de 1/8000 por 1/8000 grados (~14 por 14 metros). |
compoundCode |
El código compuesto del lugar, como "33GV+HQ, Ramberg, Noruega", que contiene el sufijo del código global y reemplaza el prefijo con un nombre con formato de una entidad de referencia. |
Viewport
Un viewport de latitud y longitud, representado como dos puntos diagonales low
y high
Un viewport se considera una región cerrada, es decir, incluye su límite. Los límites de latitud deben oscilar entre -90 y 90 grados inclusive, y los límites de longitud deben oscilar entre -180 y 180 grados inclusive. Estos son algunos casos:
Si
low
=high
, el viewport consiste en ese único punto.Si es
low.longitude
>high.longitude
, se invierte el rango de longitud (la ventana de visualización cruza la línea de 180 grados).Si
low.longitude
= -180 grados yhigh.longitude
= 180 grados, el viewport incluirá todas las longitudes.Si
low.longitude
= 180 grados yhigh.longitude
= -180 grados, el rango de longitud estará vacío.Si
low.latitude
>high.latitude
, el rango de latitud estará vacío.
Se deben propagar low
y high
, y el cuadro representado no puede estar vacío (como se especifica en las definiciones anteriores). Un viewport vacío generará un error.
Por ejemplo, este viewport abarca por completo la ciudad de Nueva York:
{ "low": { "latitude": 40.477398, "longitude": -74.259087 }, "high": { "latitude": 40.91618, "longitude": -73.70018 } }
Representación JSON |
---|
{ "low": { object ( |
Campos | |
---|---|
low |
Obligatorio. El punto bajo de la vista del puerto. |
high |
Obligatorio. El punto alto de la vista del puerto. |
Metadatos de dirección
Los metadatos de la dirección. No se garantiza que metadata
se propague por completo en cada dirección que se envíe a la API de Address Validation.
Representación JSON |
---|
{ "business": boolean, "poBox": boolean, "residential": boolean } |
Campos | |
---|---|
business |
Indica que esta es la dirección de una empresa. Si no se establece, indica que el valor es desconocido. |
poBox |
Indica que la dirección de un apartado postal. Si no se establece, indica que el valor es desconocido. |
residential |
Indica que esta es la dirección de una residencia. Si no se establece, indica que el valor es desconocido. |
Datos
Los datos USPS para la dirección. No se garantiza que uspsData
se propague por completo en cada dirección de EE.UU. o PR que se envíe a la API de Address Validation. Se recomienda integrar los campos de dirección alternativa en la respuesta si usas uspsData como parte principal de la respuesta.
Representación JSON |
---|
{
"standardizedAddress": {
object ( |
Campos | |
---|---|
standardizedAddress |
Dirección estandarizada del USPS. |
deliveryPointCode |
Código de punto de entrega de 2 dígitos |
deliveryPointCheckDigit |
Es el dígito de control del punto de entrega. Este número se agrega al final del código de entrega de punto de barras para los correos electrónicos escaneados de forma mecánica. Si sumas todos los dígitos de delivery_point_barcode, deliveryPointCheckDigit, el código postal y ZIP+4 juntos, el resultado debería ser divisible por 10. |
dpvConfirmation |
Los valores posibles para la confirmación del DPV. Muestra un solo carácter.
|
dpvFootnote |
Son las notas al pie de la validación del punto de entrega. Se pueden unir varias notas al pie en la misma string.
|
dpvCmra |
Indica si la dirección es una CMRA (comercio receptora de correo comercial): una empresa privada que recibe correos para clientes. Muestra un solo carácter.
|
dpvVacant |
¿Este lugar está vacante? Muestra un solo carácter.
|
dpvNoStat |
¿La dirección no es estadística o la dirección está activa? Ninguna dirección estadística es aquella que no está ocupada continuamente o que no funciona el USPS. Muestra un solo carácter.
|
carrierRoute |
El código de ruta del proveedor. Un código de cuatro caracteres, que consta de un prefijo de una letra y un designador de ruta de tres dígitos. Prefijos:
|
carrierRouteIndicator |
Indicador de orden de la tarifa de la ruta de transporte, |
ewsNoMatch |
La dirección de entrega debe coincidir, pero el archivo EWS indica que una coincidencia exacta estará disponible pronto. |
postOfficeCity |
Ciudad de oficina postal principal. |
postOfficeState |
Estado de la oficina de correo principal |
abbreviatedCity |
Ciudad abreviada |
fipsCountyCode |
Código de condado del FIPS. |
county |
Nombre del condado. |
elotNumber |
Número de línea de viaje mejorada (eLOT) |
elotFlag |
eLOT Ascendente/Descendente (A/D). |
lacsLinkReturnCode |
Código de retorno LACSLink |
lacsLinkIndicator |
Indicador LACSLink. |
poBoxOnlyPostalCode |
Código postal solo para el apartado postal. |
suitelinkFootnote |
Notas a pie de página que coinciden con la calle o un registro de rascacielos para la información de la suite. Si se encuentra la coincidencia del nombre de la empresa, se mostrará el número secundario.
|
pmbDesignator |
Designador de unidad de PMB (buzón de correo privado). |
pmbNumber |
Número de PMB (buzón de correo privado) |
addressRecordType |
Tipo de registro de dirección que coincide con la dirección de entrada.
|
defaultAddress |
Indicador de que se encontró una dirección predeterminada, pero existen direcciones más específicas. |
errorMessage |
Mensaje de error para la recuperación de datos del USPS. Esto se propaga cuando se suspende el procesamiento de USPS debido a la detección de direcciones creadas de forma artificial. Es posible que los campos de datos del USPS no se propaguen cuando se produce este error. |
cassProcessed |
Indicador de que la solicitud se procesó mediante CASS. |
Dirección USB
Representación en USPS de una dirección de EE.UU.
Representación JSON |
---|
{ "firstAddressLine": string, "firm": string, "secondAddressLine": string, "urbanization": string, "cityStateZipAddressLine": string, "city": string, "state": string, "zipCode": string, "zipCodeExtension": string } |
Campos | |
---|---|
firstAddressLine |
Primera línea de dirección. |
firm |
Nombre de empresa. |
secondAddressLine |
Segunda línea de dirección. |
urbanization |
Nombre de la urbanización puertorriqueña. |
cityStateZipAddressLine |
Ciudad + estado + código postal |
city |
Nombre de la ciudad. |
state |
Código de estado de 2 letras. |
zipCode |
Código postal, p.ej. 10009. |
zipCodeExtension |
Extensión de código postal de 4 dígitos, p.ej., 5023. |