- Requête HTTP
- Corps de la requête
- Corps de la réponse
- PostalAddress
- ValidationResult
- Verdict
- Précision
- Adresse
- AddressComponent
- ComponentName
- ConfirmationLevel
- Géocode
- LatLng
- PlusCode
- Fenêtre d'affichage
- AddressMetadata
- UspsData
- UspsAddress
Valide une adresse.
Requête HTTP :
POST https://addressvalidation.googleapis.com/v1:validateAddress
L'URL utilise la syntaxe de transcodage gRPC.
Corps de la requête
Le corps de la requête contient des données présentant la structure suivante :
Représentation JSON |
---|
{
"address": {
object ( |
Champs | |
---|---|
address |
Obligatoire. Adresse en cours de validation. Les adresses non formatées doivent être envoyées via La longueur totale des champs de cette entrée ne doit pas dépasser 280 caractères. Les régions compatibles sont indiquées dans les questions fréquentes. La valeur L'API Address Validation ignore les valeurs |
previousResponseId |
Ce champ doit être vide pour la première requête de validation d'adresse. Si d'autres requêtes sont nécessaires pour valider complètement une adresse (par exemple, si les modifications apportées par l'utilisateur après la validation initiale doivent être revalidées), chaque requête de suivi doit renseigner le champ |
enableUspsCass |
Active le mode de compatibilité USPS CASS. Cela concerne uniquement le champ Nous vous recommandons d'utiliser un élément |
Corps de la réponse
Si la requête aboutit, le corps de la réponse contient des données qui ont la structure suivante :
Réponse à une requête de validation d'adresse.
Représentation JSON |
---|
{
"result": {
object ( |
Champs | |
---|---|
result |
Résultat de la validation de l'adresse. |
responseId |
UUID qui identifie cette réponse. Si l'adresse doit être à nouveau validée, cet UUID doit accompagner la nouvelle requête. |
PostalAddress
Représente une adresse postale, telles que des adresses de livraison ou de paiement. Les services postaux peuvent effectuer une livraison à cette adresse, boîte postale ou autre. Ce champ n'a pas vocation à modéliser des emplacements géographiques (routes, villes ou montagnes).
Généralement, une adresse est créée via une saisie utilisateur ou lors de l'importation de données existantes, en fonction du type de processus.
Conseils pour la saisie et la modification d'adresses : utilisez un widget d'adresse compatible avec l'internationalisation, tel que https://github.com/google/libaddressinput. Les utilisateurs ne doivent pas voir les éléments d'interface utilisateur permettant de saisir ou de modifier les champs en dehors des pays dans lesquels ce champ est utilisé.
Pour en savoir plus sur l'utilisation de ce schéma, consultez la page https://support.google.com/business/answer/6397478.
Représentation JSON |
---|
{ "revision": integer, "regionCode": string, "languageCode": string, "postalCode": string, "sortingCode": string, "administrativeArea": string, "locality": string, "sublocality": string, "addressLines": [ string ], "recipients": [ string ], "organization": string } |
Champs | |
---|---|
revision |
Révision du schéma de |
regionCode |
Facultatif. Code pays/région CLDR de l'adresse. Pour en savoir plus, consultez les pages https://cldr.unicode.org/ et https://www.unicode.org/cldr/charts/30/additional/territory_information.html. Exemple : "CH" pour la Suisse. Si le code de région n'est pas fourni, il sera déduit de l'adresse. Pour de meilleures performances, nous vous recommandons d'inclure le code de région si vous le connaissez. Des régions incohérentes ou répétées peuvent entraîner de mauvaises performances. Par exemple, si |
languageCode |
Le code de langue de l'adresse de saisie est réservé pour une utilisation ultérieure et est ignoré aujourd'hui. L'API renvoie l'adresse dans la langue appropriée. |
postalCode |
Facultatif. Code postal de l'adresse. Tous les pays n'utilisent pas ou n'exigent pas de codes postaux, mais lorsqu'ils s'en servent, ils peuvent déclencher une validation supplémentaire avec d'autres parties de l'adresse (par exemple, validation par État/code postal aux États-Unis). |
sortingCode |
Facultatif. Code de tri supplémentaire, spécifique à chaque pays. La plupart des régions ne s'en servent pas. Lorsqu'il est utilisé, sa valeur comprend une chaîne de type CEDEX, éventuellement suivie d'un numéro (par exemple CEDEX 7), ou tout simplement un nombre représentant un "code de secteur" (Jamaïque), un "indicateur de zone de livraison" (Malawi) ou un "indicateur postal" (Côte d'Ivoire, par exemple). |
administrativeArea |
Facultatif. Plus haute subdivision administrative utilisée pour les adresses postales d'un pays ou d'une région. Par exemple, il peut s'agir d'un État, d'une province, d'un oblast ou d'une préfecture. Plus précisément, pour l'Espagne, il s'agit de la province et non de la communauté autonome (par exemple, "Barcelone" et non "Catalogne"). De nombreux pays n'utilisent pas de région administrative dans leurs adresses postales. Par exemple, ce champ doit rester vide en Suisse. |
locality |
Facultatif. Fait généralement référence à la ville de l'adresse. Exemples : une "city" aux États-Unis, une "comune" en Italie, une "post town" au Royaume-Uni. Dans les régions du monde où les localités ne sont pas bien définies ou ne s'intègrent pas bien dans cette structure, laissez le champ de localité vide et utilisez addressLines. |
sublocality |
Facultatif. Sous-localité de l'adresse. Il peut s'agir, par exemple, de quartiers, d'arrondissements ou de districts. |
addressLines[] |
Obligatoire. Lignes d'adresse non structurées décrivant les niveaux inférieurs d'une adresse. |
recipients[] |
Veuillez éviter de définir ce champ. L'API de validation d'adresse ne l'utilise pas. Bien que, pour le moment, l'API ne refuse pas les requêtes pour lesquelles ce champ est défini, les informations sont supprimées et ne sont pas renvoyées dans la réponse. |
organization |
Veuillez éviter de définir ce champ. L'API de validation d'adresse ne l'utilise pas. Bien que, pour le moment, l'API ne refuse pas les requêtes pour lesquelles ce champ est défini, les informations sont supprimées et ne sont pas renvoyées dans la réponse. |
ValidationResult
Résultat de la validation d'une adresse.
Représentation JSON |
---|
{ "verdict": { object ( |
Champs | |
---|---|
verdict |
Indicateurs généraux de verdict |
address |
Informations sur l'adresse proprement dite, par opposition au géocode. |
geocode |
Informations sur le lieu et le lieu auxquels l'adresse a été géocodée. |
metadata |
Autres informations relatives à la délivrabilité Il n'est pas garanti que |
uspsData |
Indicateurs de livraison supplémentaires fournis par USPS. Uniquement disponible dans les régions |
Verdict
Vue d'ensemble du résultat de la validation de l'adresse et du géocode
Représentation JSON |
---|
{ "inputGranularity": enum ( |
Champs | |
---|---|
inputGranularity |
Précision de l'adresse input. Il s'agit du résultat de l'analyse de l'adresse d'entrée et ne donne aucun signal de validation. Pour les signaux de validation, reportez-vous à Par exemple, si l'adresse de saisie inclut un numéro d'appartement spécifique, |
validationGranularity |
Niveau de précision avec lequel l'API peut valider entièrement l'adresse. Par exemple, un Le résultat de la validation du composant "Par adresse" est disponible dans |
geocodeGranularity |
Informations sur le niveau de précision de Ce nom peut parfois différer du |
addressComplete |
L'adresse est considérée comme terminée s'il n'y a aucun jeton non résolu, aucun composant d'adresse inattendu ou manquant. Pour en savoir plus, consultez les champs |
hasUnconfirmedComponents |
Impossible de classer ou de valider au moins un composant d'adresse. Pour en savoir plus, consultez |
hasInferredComponents |
Au moins un composant d'adresse a été déduit (ajouté) et ne figure pas dans l'entrée. Pour en savoir plus, consultez |
hasReplacedComponents |
Au moins un composant d'adresse a été remplacé. Pour en savoir plus, consultez |
Précision
Les différentes caractéristiques d'une adresse ou d'un géocode. Lorsqu'elles sont utilisées pour indiquer le niveau de précision d'une adresse, ces valeurs indiquent le degré de précision auquel une adresse est envoyée via une adresse postale. Par exemple, une adresse telle que "123 Main Street, Redwood City, CA, 94061" identifie un PREMISE
, tandis que "Redwood City, CA 94061" identifie un LOCALITY
. Cependant, si nous ne parvenons pas à trouver de géocode pour "123 Main Street" à Redwood City, il se peut que le code géographique renvoyé soit précis LOCALITY
, bien que l'adresse soit plus précise.
Enums | |
---|---|
GRANULARITY_UNSPECIFIED |
Valeur par défaut. Cette valeur n'est pas utilisée. |
SUB_PREMISE |
Résultat en dessous du bâtiment, un appartement par exemple. |
PREMISE |
Résultat au niveau du bâtiment. |
PREMISE_PROXIMITY |
Un géocode qui doit se trouver à proximité de l'emplacement de l'adresse au niveau du bâtiment. Utilisé uniquement pour les géocodes, et non pour les adresses. |
BLOCK |
L'adresse ou le geocode indique un bloc. Utilisé uniquement dans les régions disposant d'un adressage au niveau du bloc, comme le Japon. |
ROUTE |
Le geocode ou l'adresse est précis avec un itinéraire, comme une rue, une route ou une autoroute. |
OTHER |
Toutes les autres granularités, qui sont regroupées, car elles ne sont pas livrables |
Adresse
Détails de l'adresse analysée à partir de l'entrée.
Représentation JSON |
---|
{ "formattedAddress": string, "postalAddress": { object ( |
Champs | |
---|---|
formattedAddress |
Adresse corrigée, au format d'une ligne unique, conformément aux règles de mise en forme de la région où se trouve l'adresse. |
postalAddress |
Adresse validée représentée sous la forme d'une adresse postale. |
addressComponents[] |
Liste à puces. Composants individuels de l'adresse formatée et corrigée, ainsi que les informations de validation Vous obtenez ainsi des informations sur l'état de validation de chaque composant. Les composants d'adresse ne sont pas organisés d'une certaine manière. Ne faites aucune hypothèse concernant l'ordre des composants d'adresse dans la liste. |
missingComponentTypes[] |
Types de composants censés être présents dans une adresse postale correcte, mais introuvables dans l'entrée ET n'ayant pas pu être déduits. Les composants de ce type ne sont pas présents dans |
unconfirmedComponentTypes[] |
Types des composants présents dans |
unresolvedTokens[] |
Tous les jetons de l'entrée qui n'ont pas pu être résolus. Il peut s'agir d'une entrée non reconnue comme une partie valide d'une adresse (par exemple, "123235253253 Main St, San Francisco, CA, 94105"), les jetons non résolus peuvent ressembler à |
Composant AddressAddress
Représente un composant d'adresse, comme une rue, une ville ou une région.
Représentation JSON |
---|
{ "componentName": { object ( |
Champs | |
---|---|
componentName |
Nom de ce composant. |
componentType |
Type du composant d'adresse. Reportez-vous au Tableau 2: Types supplémentaires renvoyés par le service Places pour obtenir la liste des types possibles. |
confirmationLevel |
Indique le niveau de certitude selon lequel le composant est correct. |
inferred |
Indique que le composant ne faisait pas partie de l'entrée, mais que nous l'avons déduit pour l'emplacement de l'adresse et pensons qu'il devrait être fourni pour une adresse complète. |
spellCorrected |
Indique que le nom du composant a été mal corrigé et a été modifié de façon mineure (par exemple, en remplaçant deux caractères dans le mauvais ordre). Cela indique un changement esthétique. |
replaced |
Indique que le nom du composant a été remplacé par un autre, par exemple un code postal incorrect remplacé par un code postal correct pour l'adresse. Il ne s'agit pas d'un changement esthétique. Le composant d'entrée a été remplacé par un autre. |
unexpected |
Indique un composant d'adresse qui n'est pas censé être présent dans une adresse postale pour la région donnée. Nous l'avons conservée uniquement parce qu'elle faisait partie de l'entrée. |
Nom du composant
Wrapper du nom du composant.
Représentation JSON |
---|
{ "text": string, "languageCode": string } |
Champs | |
---|---|
text |
Texte du nom. Par exemple, "5e avenue" pour un nom de rue ou "1253" pour un numéro de rue. |
languageCode |
Code de langue BCP-47. Cette valeur n'est pas présente si le nom du composant n'est pas associé à une langue, comme un numéro de rue. |
Niveau de confirmation
Différentes valeurs possibles pour les niveaux de confirmation.
Enums | |
---|---|
CONFIRMATION_LEVEL_UNSPECIFIED |
Valeur par défaut. Cette valeur n'est pas utilisée. |
CONFIRMED |
Nous avons pu vérifier que ce composant existe et qu'il est pertinent dans le contexte de l'adresse. |
UNCONFIRMED_BUT_PLAUSIBLE |
Impossible de confirmer ce composant, mais il est plausible qu'il existe. (par exemple, un numéro de rue compris dans une plage connue valide). |
UNCONFIRMED_AND_SUSPICIOUS |
Ce composant n'a pas été confirmé et est probablement incorrect. (par exemple, un quartier qui ne correspond pas au reste de l'adresse). |
Géocoder
Contient des informations sur le lieu auquel l'entrée a été géocodée.
Représentation JSON |
---|
{ "location": { object ( |
Champs | |
---|---|
location |
Emplacement géocodé de l'entrée. Il est préférable d'utiliser des identifiants de lieu plutôt que des adresses, des coordonnées de latitude/longitude ou des codes plus code. Lorsque vous utilisez des coordonnées lorsque vous calculez un itinéraire routier ou que vous calculez un itinéraire, le point d'accès est toujours aligné sur la route la plus proche de ces coordonnées. Il peut s'agir d'une route qui débouche rapidement ou de façon sécurisée sur la destination, et qui peut se trouver à proximité d'un point d'accès à l'établissement. De plus, lorsqu'une position géographique est géocodée de manière inversée, rien ne garantit que l'adresse renvoyée correspondra à l'adresse d'origine. |
plusCode |
Plus code correspondant à |
bounds |
Limites du lieu géocodé. |
featureSizeMeters |
Taille du lieu géocodé, en mètres. Il s'agit d'une autre mesure de l'imprécision de la localisation géocodée, mais en termes de taille physique plutôt que sémantique. |
placeId |
ID de lieu du lieu vers lequel cette entrée est géocodée. Pour en savoir plus sur les ID de lieu, cliquez ici. |
placeTypes[] |
Type(s) de lieu vers lequel l'entrée a été géocodée. Par exemple, |
LatLng
Objet représentant une paire latitude/longitude. Cette valeur est exprimée par une paire de valeurs doubles représentant les degrés de latitude et de longitude. Sauf indication contraire, cet objet doit être conforme à la norme WGS84. Les valeurs doivent se situer dans les limites normalisées.
Représentation JSON |
---|
{ "latitude": number, "longitude": number } |
Champs | |
---|---|
latitude |
Latitude en degrés. Elle doit être comprise dans la plage [-90.0, +90.0]. |
longitude |
Longitude en degrés. Elle doit être comprise dans la plage [-180.0, +180.0]. |
PlusCode
Le plus code (http://plus.codes) est une référence de lieu comportant deux formats: le code global définissant un rectangle de 14mx14m (1/8000e de degré) ou un plus petit rectangle, et un code composé remplaçant le préfixe par un emplacement de référence.
Représentation JSON |
---|
{ "globalCode": string, "compoundCode": string } |
Champs | |
---|---|
globalCode |
Code global (par exemple, "9FWM33GV+HQ") qui représente une zone de 1/8000 par 1/8000 degré (environ 14 par 14 mètres). |
compoundCode |
Code composé d'un lieu, tel que "33GV+HQ, Ramberg, Norvège", contenant le suffixe du code global et remplaçant le préfixe par le nom formaté d'une entité de référence. |
Fenêtre d'affichage
Une fenêtre d'affichage de latitude-longitude représentée par deux points diagonalement opposés des points low
et high
. Une fenêtre d'affichage est considérée comme une région fermée, c'est-à-dire qu'elle inclut ses limites. Les limites de latitude doivent être comprises entre -90 et 90 degrés inclus, et les limites de longitude doivent être comprises entre -180 et 180 degrés inclus. Divers cas peuvent être concernés:
Si
low
=high
, la fenêtre d'affichage se compose de ce point unique.Si
low.longitude
>high.longitude
, la plage de longitude est inversée (la fenêtre d'affichage traverse la ligne de longitude de 180 degrés).Si
low.longitude
= -180 degrés ethigh.longitude
= 180 degrés, la fenêtre d'affichage inclut toutes les longitudes.Si
low.longitude
= 180 degrés ethigh.longitude
= -180 degrés, la plage de longitude est vide.Si
low.latitude
>high.latitude
, la plage de latitude est vide.
low
et high
doivent être renseignés, et la zone représentée ne peut pas être vide (comme spécifié par les définitions ci-dessus). Une fenêtre d'affichage vide génère une erreur.
Par exemple, cette fenêtre d'affichage englobe entièrement New York:
{ "low": { "latitude": 40.477398, "longitude": -74.259087 }, "élevé": { "latitude": 40.91618, "longitude": -73.70018 }
Représentation JSON |
---|
{ "low": { object ( |
Champs | |
---|---|
low |
Obligatoire. Point le plus bas de la fenêtre d'affichage. |
high |
Obligatoire. Point culminant de la fenêtre d'affichage. |
AddressMetadata
Métadonnées de l'adresse. Il n'est pas garanti que metadata
soit entièrement renseigné pour chaque adresse envoyée à l'API Address Validation.
Représentation JSON |
---|
{ "business": boolean, "poBox": boolean, "residential": boolean } |
Champs | |
---|---|
business |
Indique qu'il s'agit de l'adresse d'un établissement. Si ce champ n'est pas spécifié, indique que la valeur est inconnue. |
poBox |
Indique l'adresse d'une boîte postale. Si ce champ n'est pas spécifié, indique que la valeur est inconnue. |
residential |
Indique qu'il s'agit de l'adresse d'une résidence. Si ce champ n'est pas spécifié, indique que la valeur est inconnue. |
Données USB
Données USPS de l'adresse. Il n'est pas garanti que uspsData
soit entièrement renseigné pour chaque adresse des États-Unis ou des relations publiques envoyées à l'API Address Validation. Nous vous recommandons d'intégrer les champs d'adresse de secours dans la réponse si vous utilisez uspsData comme partie principale de la réponse.
Représentation JSON |
---|
{
"standardizedAddress": {
object ( |
Champs | |
---|---|
standardizedAddress |
Adresse standardisée USPS. |
deliveryPointCode |
Code à deux chiffres du point de livraison |
deliveryPointCheckDigit |
Le chiffre de contrôle du point de livraison. Ce numéro est ajouté à la fin du code-barres "delivery_point_bar" pour les messages scannés automatiquement. L'ajout de tous les chiffres du code delivery_point_barcode, deliveryPointCheckDigit, postal code et ZIP+4 doit générer un nombre divisible par 10. |
dpvConfirmation |
Valeurs possibles pour la confirmation DPV. Renvoie un seul caractère.
|
dpvFootnote |
Notes de bas de page issues de la validation du point de livraison Plusieurs notes de bas de page peuvent être liées dans la même chaîne.
|
dpvCmra |
Indique s'il s'agit d'une agence de réception de courrier commercial, c'est-à-dire une entreprise privée recevant des messages pour ses clients. Renvoie un seul caractère.
|
dpvVacant |
Ce lieu est-il inoccupé ? Renvoie un seul caractère.
|
dpvNoStat |
S'agit-il d'une adresse non statistique ou active ? Aucune adresse statistique n'est occupée de manière continue ou n'est pas prise en charge par l'USPS. Renvoie un seul caractère.
|
carrierRoute |
Code d'itinéraire de l'opérateur. Code composé de quatre caractères, composé d'un préfixe à une lettre et d'un outil de désignation de route à trois chiffres. Préfixes:
|
carrierRouteIndicator |
Indicateur de tri du tarif de l'itinéraire de l'opérateur. |
ewsNoMatch |
L'adresse de livraison peut être mise en correspondance, mais le fichier EWS indique qu'une correspondance exacte sera bientôt disponible. |
postOfficeCity |
Ville du bureau de poste principal. |
postOfficeState |
État principal du bureau de poste. |
abbreviatedCity |
Ville abrégée. |
fipsCountyCode |
Code de comté FIPS. |
county |
Nom du comté. |
elotNumber |
Numéro de ligne de transport amélioré (eLOT). |
elotFlag |
Indicateur ELOT croissant/décroissant (A/D) |
lacsLinkReturnCode |
Code de retour LACSLink. |
lacsLinkIndicator |
Indicateur LACSLink. |
poBoxOnlyPostalCode |
Code postal uniquement. |
suitelinkFootnote |
Les notes de bas de page ne doivent pas faire correspondre les informations concernant une rue ou un gratte-ciel avec les informations sur la suite. Si une correspondance est trouvée pour le nom de l'entreprise, le numéro secondaire est renvoyé.
|
pmbDesignator |
Décodeur d'unités PMB (Private Mail Box). |
pmbNumber |
Numéro PMB (Private Mail Box) |
addressRecordType |
Type d'enregistrement d'adresse correspondant à l'adresse d'entrée.
|
defaultAddress |
Indique qu'une adresse par défaut a été trouvée, mais qu'il existe des adresses plus spécifiques. |
errorMessage |
Message d'erreur pour la récupération des données USPS. Ce champ est renseigné lorsque le traitement USPS est suspendu en raison de la détection d'adresses artificiellement créées. Les champs de données USPS peuvent ne pas être renseignés lorsque cette erreur se produit. |
cassProcessed |
Indique que la requête a été traitée par CASS. |
Adresse USB
Représentation USPS d'une adresse aux États-Unis
Représentation JSON |
---|
{ "firstAddressLine": string, "firm": string, "secondAddressLine": string, "urbanization": string, "cityStateZipAddressLine": string, "city": string, "state": string, "zipCode": string, "zipCodeExtension": string } |
Champs | |
---|---|
firstAddressLine |
Première ligne d'adresse. |
firm |
Nom de la société. |
secondAddressLine |
Deuxième ligne d'adresse. |
urbanization |
Nom de l'urbanisation portoricaine. |
cityStateZipAddressLine |
Ville + État + Code postal |
city |
Nom de la ville. |
state |
Code d'état à deux lettres. |
zipCode |
Code postal, par exemple 10009. |
zipCodeExtension |
Extension de code postal à 4 chiffres (5023, par exemple) |