- 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
- Adresse aux États-Unis
Validez 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. Pour connaître les régions compatibles, cliquez ici. La valeur L'API Address Validation ignore les valeurs dans |
previousResponseId |
Ce champ doit être vide pour la première demande de validation de l'adresse. Si d'autres requêtes sont nécessaires pour valider entièrement une seule adresse (par exemple, si les modifications apportées par l'utilisateur après la validation initiale doivent être à nouveau validées), chaque requête de suivi doit renseigner le champ |
enableUspsCass |
Active le mode compatible avec USPS CASS. Cela concerne uniquement le champ Nous vous recommandons d'utiliser un |
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 adapté à l'internationalisation comme 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/supplemental/territory_information.html. Exemple : "CH" pour la Suisse. Si le code régional n'est pas fourni, il sera déduit de l'adresse. Pour des performances optimales, nous vous recommandons d'inclure le code régional, si vous le connaissez. Les régions incohérentes ou répétées peuvent nuire aux performances. Par exemple, si |
languageCode |
Le code de langue de l'adresse d'entrée 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 ne pas définir ce champ. L'API Address Validation ne l'utilise pas actuellement. Bien que, pour le moment, l'API ne refuse pas les requêtes pour lesquelles ce champ est défini, les informations seront supprimées et ne seront pas renvoyées dans la réponse. |
organization |
Veuillez ne pas définir ce champ. L'API Address Validation ne l'utilise pas actuellement. Bien que, pour le moment, l'API ne refuse pas les requêtes pour lesquelles ce champ est défini, les informations seront supprimées et ne seront pas renvoyées dans la réponse. |
ValidationResult
Résultat de la validation d'une adresse.
Représentation JSON |
---|
{ "verdict": { object ( |
Champs | |
---|---|
verdict |
Options de verdict globales |
address |
Informations sur l'adresse elle-même, par opposition au geocode. |
geocode |
Informations sur le lieu et le lieu associés à l'adresse géocodée. |
metadata |
Autres informations liées à la délivrabilité Il n'est pas garanti que |
uspsData |
Indicateurs de livraison supplémentaires fournis par USPS. Fourni uniquement dans les régions |
Verdict
Présentation générale du résultat de validation de l'adresse et du géocode
Représentation JSON |
---|
{ "inputGranularity": enum ( |
Champs | |
---|---|
inputGranularity |
Précision de l'adresse input. Le résultat est 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, le champ |
validationGranularity |
Niveau de précision avec lequel l'API peut valider entièrement l'adresse. Par exemple, une Le résultat de la validation du composant par adresse est disponible dans |
geocodeGranularity |
Informations sur la précision de Cela peut parfois différer du |
addressComplete |
L'adresse est considérée comme complète s'il n'y a pas de jetons non résolus, de composants d'adresse inattendus ou manquants. 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é) qui 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érents niveaux de précision qu'une adresse ou un geocode peuvent avoir. Lorsqu'elles sont utilisées pour indiquer le niveau de précision d'une adresse, ces valeurs indiquent le niveau de précision de l'adresse de destination pour l'adresse postale. Par exemple, une adresse telle que "123 Main Street, Redwood City, CA 94061" identifie un PREMISE
, tandis que "Redwood City, CA 94061" est un LOCALITY
. Toutefois, si nous ne parvenons pas à trouver de geocode pour "123 Main Street" à Redwood City, le geocode renvoyé peut présenter un niveau de précision LOCALITY
, même si l'adresse est plus précise.
Enums | |
---|---|
GRANULARITY_UNSPECIFIED |
Valeur par défaut. Cette valeur n'est pas utilisée. |
SUB_PREMISE |
Résultat en dessous du niveau du bâtiment, un appartement par exemple. |
PREMISE |
Résultat au niveau du bâtiment. |
PREMISE_PROXIMITY |
Un géocode qui correspond approximativement à l'emplacement de l'adresse au niveau du bâtiment. |
BLOCK |
L'adresse ou le geocoding indiquent un bloc. Utilisé uniquement dans les régions disposant d'adresses IP au niveau des blocs, telles que le Japon. |
ROUTE |
Le geocoding ou l'adresse sont précis, par exemple les rues, les routes ou les autoroutes. |
OTHER |
Toutes les autres valeurs, qui sont regroupées, car elles ne peuvent pas être diffusées. |
Adresse
Détails de l'adresse post-traitée. Le post-traitement consiste à corriger les parties mal orthographiées de l'adresse, à remplacer les parties incorrectes et à déduire les parties manquantes.
Représentation JSON |
---|
{ "formattedAddress": string, "postalAddress": { object ( |
Champs | |
---|---|
formattedAddress |
Adresse post-traitée, sur une seule ligne selon les règles de mise en forme de la région où se trouve l'adresse. |
postalAddress |
Adresse post-traitée représentée sous la forme d'une adresse postale. |
addressComponents[] |
Liste à puces. Composants individuels de l'adresse formatée et corrigée, avec les informations de validation. Vous obtenez ainsi des informations sur l'état de validation des composants individuels. Les composants de l'adresse ne sont pas classés d'une manière particulière. Ne formulez aucune hypothèse concernant l'ordre des composants d'adresse de la liste. |
missingComponentTypes[] |
Types de composants censés être présents dans une adresse postale au bon format, 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 de 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 qui n'a pas été reconnue comme faisant partie d'une adresse (par exemple, dans une entrée telle que "123235253253 Main St, San Francisco, CA 94105"). Les jetons non résolus peuvent ressembler à |
Composant d'adresse
Représente un composant d'adresse, comme une rue, une ville ou un état.
Représentation JSON |
---|
{ "componentName": { object ( |
Champs | |
---|---|
componentName |
Nom de ce composant. |
componentType |
Type de 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 que 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 que nous pensons qu'il doit être fourni pour une adresse complète. |
spellCorrected |
Indique que l'orthographe du nom du composant a été corrigée de manière mineure, par exemple en remplaçant deux caractères qui ne sont pas dans le bon 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é uniquement parce qu'elle faisait partie de l'entrée. |
ComponentName
Un wrapper pour le 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. Ce nom est absent si le nom du composant n'est pas associé à une langue (le numéro de rue, par exemple). |
Niveau de confirmation
Les 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 du reste de l'adresse. |
UNCONFIRMED_BUT_PLAUSIBLE |
Impossible de confirmer ce composant, mais il est probable qu'il existe. Par exemple, un numéro de rue dans une plage de numéros valides connue dans une rue où les numéros de maison sont inconnus. |
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 où l'entrée a été géocodée.
Représentation JSON |
---|
{ "location": { object ( |
Champs | |
---|---|
location |
Emplacement géocodé en 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 Plus Codes. Lorsque vous utilisez des coordonnées pour calculer ou calculer 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 mènera rapidement ou en toute sécurité à la destination et peut ne pas être à proximité d'un point d'accès à la propriété. Par ailleurs, lorsqu'un établissement fait l'objet d'un géocodage inversé, rien ne garantit que l'adresse renvoyée correspondra à celle d'origine. |
plusCode |
Le 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 du degré de précision du lieu géocodé, mais en termes de taille physique plutôt que sémantique. |
placeId |
ID de lieu du lieu associé à cette entrée. Pour en savoir plus sur les ID de lieu, cliquez ici. |
placeTypes[] |
Type(s) de lieu pour 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 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 géographique comportant deux formats: un code global définissant un rectangle 14mx14m (1/8000e de degré) ou un plus petit, 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 (plein) de l'emplacement, par exemple "9FWM33GV+HQ", qui représente une zone de 1/8000 par 1/8000 degrés (environ 14 x 14 mètres). |
compoundCode |
Code composé du lieu, par exemple "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 diagonales opposés aux points low
et high
. Une fenêtre d'affichage est considérée comme fermée, c'est-à-dire qu'elle inclut ses limites. Les limites de latitude doivent être comprises entre -90 et 90 degrés, et la longitude doit être comprise entre -180 et 180 degrés. Plusieurs cas sont possibles:
Si
low
=high
, la fenêtre d'affichage se compose de ce point unique.Si
low.longitude
>high.longitude
, la plage de longitudes est inversée (la fenêtre d'affichage traverse la ligne de longitude à 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.
Les champs low
et high
doivent être renseignés, et la zone représentée ne peut pas être vide (comme indiqué par les définitions ci-dessus). Une fenêtre d'affichage vide générera une erreur.
Par exemple, cette fenêtre d'affichage contient entièrement la ville de New York:
{ "low": { "latitude": 40.477398, "longitude": -74.259087 }, "high": { "latitude": 40.91618, "longitude": -73.70018 }
Représentation JSON |
---|
{ "low": { object ( |
Champs | |
---|---|
low |
Obligatoire. Point bas de la fenêtre d'affichage. |
high |
Obligatoire. Point fort de la fenêtre d'affichage. |
Métadonnées d'adresse
Métadonnées de l'adresse. Il n'est pas garanti que metadata
soit complètement 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 la valeur n'est pas définie, indique que la valeur est inconnue. |
poBox |
Indique l'adresse d'une boîte postale. Si la valeur n'est pas définie, indique que la valeur est inconnue. |
residential |
Indique qu'il s'agit de l'adresse d'une résidence. Si la valeur n'est pas définie, indique que la valeur est inconnue. |
Données USB
Données USPS pour l'adresse. Il n'est pas garanti que uspsData
soit renseigné pour chaque adresse des États-Unis ou des relations publiques envoyée à l'API Address Validation. Il est recommandé 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 normalisée de l'USPS. |
deliveryPointCode |
Code à point à deux chiffres |
deliveryPointCheckDigit |
Chiffre de contrôle du point de livraison. Ce numéro est ajouté à la fin du code-barres livraison pour les messages scannés. Si vous additionnez tous les chiffres du code Delivery_point_barcode, DeliveryPointCheckDigit, postal code et ZIP+4, vous devez obtenir un nombre divisible de 10. |
dpvConfirmation |
Valeurs possibles pour la confirmation DPV. Renvoie un seul caractère.
|
dpvFootnote |
Notes de bas de page concernant la validation du point de livraison Vous pouvez insérer plusieurs notes de bas de page dans une même chaîne.
|
dpvCmra |
Indique si l'adresse est un CMRA (Commercial Mail Agence de réception des messages), une entreprise privée recevant du courrier pour ses clients. Renvoie un seul caractère.
|
dpvVacant |
Ce lieu est-il vide ? Renvoie un seul caractère.
|
dpvNoStat |
S'agit-il d'une adresse non statistique ou active ? Aucune adresse statistique n'est une adresse qui n'est pas occupée en permanence ou que l'USPS ne dessert pas. Renvoie un seul caractère.
|
carrierRoute |
Code de routage de l'opérateur. Code à 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 du transporteur. |
ewsNoMatch |
L'adresse de livraison doit ê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 du bureau de poste principal. |
abbreviatedCity |
Ville abrégée. |
fipsCountyCode |
Code départemental 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 |
Boîte postale uniquement. |
suitelinkFootnote |
Les notes de bas de page ne font pas correspondre les rues ou les gratte-ciel aux informations sur les suites. Si une correspondance est établie avec le nom de l'entreprise, le numéro secondaire est renvoyé.
|
pmbDesignator |
Désignateur d'unité PMB (Private Mail Box). |
pmbNumber |
Numéro PMB (Private Mail Box) |
addressRecordType |
Type d'enregistrement d'adresse correspondant à l'adresse d'entrée.
|
defaultAddress |
Indicateur signalant 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 créées artificiellement. Les champs de données USPS peuvent ne pas être renseignés lorsque cette erreur est présente. |
cassProcessed |
Indicateur spécifiant que la requête a été traitée 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 |
Seconde 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 (ex. : 10009). |
zipCodeExtension |
Extension de code postal à quatre chiffres (5023, par exemple). |