API Adresse — Vérifier et valider une adresse (RESTful)

Support DQE
Support DQE
  • Mise à jour
Validation - RESTful

Valide et normalise une adresse complète. Retourne une adresse corrigée, un verdict de délivrabilité (DQEDetailCode) et, en option, le détail des champs ajustés.

Quand appeler ce endpoint - CheckAddress est l'étape de validation de niveau 2. Déclenchez-la lorsque l'utilisateur saisit une adresse librement ou modifie une suggestion DQE avant de soumettre. Si l'utilisateur a accepté une suggestion DQE telle quelle, la qualité est déjà garantie - aucun appel n'est nécessaire.

Requête

GET et POST sont tous deux pris en charge.

{SERVER_ADDRESS}, {VERSION} et {LICENCE_CODE} sont fournis par DQE lors de la création du compte. Contactez votre chargé de compte DQE pour obtenir ces identifiants.
L'adresse en entrée doit être encodée en URL - ex. l'églisel%27%C3%A9glise.
GEThttps://{SERVER_ADDRESS}/{VERSION}/checkaddress/?Address={INPUT}&Country={COUNTRY_CODE}&Licence={LICENCE_CODE}

Exemples cURL

France - avec Modification=O et Version=1.1

curl "https://{SERVER_ADDRESS}/v1/checkaddress/?Address=%7C1%20rue%20de%20la%20louisiane%7C%7C31200%7Ctoulouse&Country=FRA&Length=38&Modification=O&Version=1.1&Licence={LICENCE_CODE}"

International - Italie

curl "https://{SERVER_ADDRESS}/v1/checkaddress/?Address=%7CSTRADA%20BARDONEY%7C%7C11028%7CVALTOURNENCHE&Country=ITA&Length=38&Licence={LICENCE_CODE}"
POSThttps://{SERVER_ADDRESS}/{VERSION}/checkaddress/

Envoyez tous les paramètres dans le corps de la requête avec Content-Type: application/x-www-form-urlencoded. L'adresse du serveur reste dans l'URL.

Exemple cURL

France - adresse complète avec l'indicateur Modification

curl -X POST "https://{SERVER_ADDRESS}/v1/checkaddress/" \ -H "Content-Type: application/x-www-form-urlencoded" \ -d "Address=%7C1+rue+de+la+louisiane%7C%7C31200%7Ctoulouse" \ -d "Country=FRA" \ -d "Length=38" \ -d "Modification=O" \ -d "Version=1.1" \ -d "Licence={LICENCE_CODE}"

Paramètres

Paramètre Valeur Description Obl / Opt
Licence {LICENCE_CODE} Votre clé de licence DQE ou votre jeton OAuth2. Contactez le support si vous n'en avez pas encore une. Obligatoire
Address {INPUT} Chaîne d'adresse séparée par des barres verticales (pipes). Les cinq barres sont obligatoires même lorsque les champs sont vides. Pour la France, un sixième segment peut être ajouté en tête pour le point de remise (appartement, étage, boîte aux lettres).
complément d'adresse|adresse|commune associée ou état|code postal|ville

Exemple : |1 rue de la louisiane||31200|toulouse

Obligatoire
Country {COUNTRY_CODE} Code pays ISO 3166-1 alpha-3 définissant le périmètre de recherche de l'adresse. Exemple : FRA ou GBR. Obligatoire
Length {LENGTH} Limite de caractères pour le champ Address de la réponse. S'applique uniquement aux adresses en caractères latins. Par défaut : 38. Minimum recommandé : 32. Optionnel
Suggestion {PROP} France uniquement. Contrôle la façon dont les résultats de correction sont retournés.
O - L'enregistrement "1" contient le résultat de correction standard. Si l'adresse ne peut pas être identifiée de façon unique, des suggestions supplémentaires sont retournées dans les enregistrements "2" à "n".
S - L'enregistrement "1" retourne l'adresse saisie telle quelle avec son statut de validation (non corrigée). Si une correction claire est trouvée, elle est retournée dans l'enregistrement "2". Active automatiquement Modification=O.
Optionnel
Modification O Valeur fixe O. Renseigne ChangedAddressTag et IsAddressChanged dans la réponse, indiquant quels champs d'adresse ont été ajustés (complément d'adresse, adresse, commune associée, code postal ou ville). Voir ChangedAddressTag. Optionnel
Version {VERSION} 1.1 - Renseigne les champs de qualité de géocodage (LatLonLabel, LatLonCode) dans la réponse (France uniquement, abonnement requis - contactez votre chargé de compte DQE pour l'activer). Optionnel

Champs de la réponse

La réponse est un objet JSON avec deux clés de premier niveau : Found (entier) et Addresses (tableau d'objets adresse). Lorsque Suggestion=O, plusieurs objets adresse peuvent être retournés.

Champs de complément - La validation s'applique jusqu'au numéro de rue. Lorsqu'un complément est soumis (nom de bâtiment, étage, etc.) et correspond à un complément référencé, le moteur l'enrichit avec le nom complet enregistré. Si aucun complément n'est soumis, la liste complète des compléments disponibles est retournée (séparés par des points-virgules). Les compléments non reconnus sont retournés tels quels.
Casse de la sortie - La casse suit la norme postale du pays concerné.

Niveau supérieur

Key Description Type
Found Nombre d'objets adresse retournés. Integer
Addresses Tableau d'objets adresse. Array

Objet adresse - Addresses[0]

Key Description France International
Address Ligne d'adresse normalisée (numéro, type et nom de voie). String (38) String (50)
PostalCode Code postal. String (5) String (10)
City Nom de la ville. String (38) String (50)
Hamlet Lieu-dit ou hameau nommé (France) ou champ équivalent de niveau quartier (international). La disponibilité varie selon le pays. String (38) String (50)
SpecialDistribution Indicateur CEDEX : 1 = adresse CEDEX, 0 = non CEDEX. String (1) String (1)
Country Code pays ISO 3166-1 alpha-3. String (3) String (3)
StateCode Code ISO de l'état ou de la région administrative. Always "*" String (50)
SubLocality Sous-localité. Vide String (50)
CityId Identifiant unique de la ville (code INSEE pour la France). String (20) String (20)
Input Non renseigné pour ce endpoint. Retourne toujours une chaîne vide. String String
Label Libellé d'affichage formaté de l'adresse. Non retourné pour tous les jeux de données internationaux. String String
AdditionalAddress Informations complémentaires d'adresse (nom de bâtiment, étage, etc.). String (1024) String (150)
StreetNumber Numéro de rue complet, y compris tout complément (bis, ter, etc.). String (10) String (10)
StreetType Type de voie (ex. RUE, AVENUE, BOULEVARD). String (20) String (20)
Street Nom de la voie sans numéro ni type. String (38) String (50)
StreetId Identifiant unique de la voie. String (20) String (20)
IsValidStreetNumber Indicateur de validité du numéro de rue. 1 si le numéro existe dans les données de référence, 0 sinon. Retourne une chaîne vide pour certaines adresses internationales où la validation au niveau du numéro n'est pas disponible. Integer Integer
StreetNumberListCount Lorsque le numéro recherché est introuvable ou absent, retourne le nombre total de numéros valides pour cette voie. Peut être une chaîne vide pour certaines adresses internationales où cette donnée n'est pas disponible. String String
StreetNumberList Liste des numéros valides pour cette voie, séparés par des points-virgules. Renseignée lorsque le numéro soumis est invalide ou absent. String (1024) String (1024)
StreetNumberOnly Numéro de rue seul, sans aucun complément (bis, ter, etc.). String (10) String (10)
StateLabel Libellé de l'état ou de la région. Non disponible String
AdministrativeArea Comté ou niveau administratif équivalent. Vide String
Suburb Quartier. Vide String
Company Nom de l'entreprise associée à l'adresse. String (38) String (38)
Latitude Coordonnées géographiques de l'adresse trouvée. Non disponible pour tous les pays - voir la couverture. String String
Longitude Coordonnées géographiques de l'adresse trouvée. Non disponible pour tous les pays - voir la couverture. String String
Informations Objet de métadonnées de validation DQE. Voir ci-dessous. Object Object

Objet Informations - Addresses[0].Informations

Key Description France International
DQEDetailCode Code résultat de validation. Voir DQEDetailCode ci-dessous. String (2) String (2)
DQEErrorAddressLabel Libellé texte du résultat de validation (OK ou une description d'erreur). String (38) String (38)
AdditionalAddressComp Informations complémentaires issues de la ligne d'adresse 2. String (38) String (38)
StreetNumberComp Complément de numéro de rue (bis, ter, etc.). String (38) String (50)
StreetNumberId Identifiant unique du numéro de rue (Hexaclé pour la France). String (10) Non disponible
PostalCityId Identifiant postal de la ville (code Hexaposte pour la France). String (6) Non disponible
IrisCode Code unité statistique IRIS. France uniquement, abonnement requis - contactez votre chargé de compte DQE pour l'activer. String (9) Non disponible
RoudisCode Code de routage Roudis. France uniquement. String (5) Non disponible
LatLonLabel Libellé de qualité de géocodage (ex. ENTREE, BATIMENT). Renseigné lorsque Version=1.1. Voir Qualité de géocodage. String Non disponible
LatLonCode Code numérique de qualité de géocodage. Renseigné lorsque Version=1.1. String Non disponible
IsAddressChanged 1 si au moins un champ a été ajusté, 0 sinon. Toujours présent dans la réponse. String (1) String (1)
ChangedAddressTag Chaîne binaire de 5 caractères indiquant quels champs d'adresse ont été ajustés. Voir ChangedAddressTag. Toujours présent ; renseigné lorsque Modification=O est défini. String (5) String (5)

Renseigné lorsque Version=1.1 Renseigné lorsque Modification=O

Exemple de réponse

1 Rue de la Louisiane 31200 Toulouse
{ "Found": 1, "Addresses": [ { "Address": "1 RUE DE LA LOUISIANE", "PostalCode": "31200", "City": "TOULOUSE", "Hamlet": "", "SpecialDistribution": "", "Country": "FRA", "StateCode": "*", "SubLocality": "", "CityId": "31555", "Input": "", "Label": "", "AdditionalAddress": "BATIMENT D RESIDENCE ALLEE DES CEDRES;BATIMENT A RESIDENCE ALLEE DES CEDRES;BATIMENT B RESIDENCE ALLEE DES CEDRES;BATIMENT C RESIDENCE ALLEE DES CEDRES", "StreetNumber": "", "StreetType": "RUE", "Street": "DE LA LOUISIANE", "StreetId": "2408474", "IsValidStreetNumber": "", "StreetNumberListCount":"", "StreetNumberList": "", "StreetNumberOnly": "1", "StateLabel": "", "AdministrativeArea": "", "Suburb": "", "Company": "", "Latitude": "43.634746", "Longitude": "1.430098", "Informations": { "DQEDetailCode": "10", "DQEErrorAddressLabel": "OK", "AdditionalAddressComp":"", "StreetNumberComp": "", "StreetNumberId": "3155526YEA", "PostalCityId": "14411", "IrisCode": "3701", "RoudisCode": "4221", "LatLonLabel": "", "LatLonCode": "", "IsAddressChanged": "1", "ChangedAddressTag": "" } } ] }

DQEDetailCode

Addresses[0].Informations.DQEDetailCode est l'indicateur principal du résultat de validation. Utilisez-le pour déterminer l'action à effectuer après la soumission du formulaire.
Pour les messages d'interface recommandés associés à chaque code, consultez le Guide d'intégration.

Code Description
10 Adresse correcte
20 Adresse correcte (voie non reconnue, mais il s'agit d'un CEDEX ou d'une boîte postale)
21 Petite ville, numéro de rue hors plage
22 Petite ville, numéro de rue manquant (le reste de l'adresse est correct)
23 Grande ville, numéro de rue hors plage
24 Grande ville, numéro de rue manquant (le reste de l'adresse est correct)
25 Adresse CEDEX inconnue de CEDEXA (si CEDEXA est actif)
30 Petite ville, voie non reconnue
31 Petite ville - voie non reconnue ou manquante ; informations de quartier reconnues mais insuffisantes pour déterminer la voie. France uniquement.
40 Non attendu dans les déploiements cloud actuels. Défini pour compatibilité.
41 Petite ville, voie manquante
50 Grande ville, voie non reconnue
51 Grande ville, voie non reconnue ou manquante (informations de quartier reconnues mais insuffisantes pour déterminer la voie). France uniquement.
60 Non attendu dans les déploiements cloud actuels. Défini pour compatibilité.
61 Grande ville, voie manquante
70 Incohérence code postal / ville - voie présente
71 Non attendu dans les déploiements cloud actuels. Défini pour compatibilité.
80 Incohérence code postal / ville - voie manquante
81 Bloc d'adresse en entrée vide. Non retourné pour la France.
90 Adresse internationale détectée - le code pays saisi ne semble pas correspondre à l'adresse saisie.
95 Code pays manquant ou incorrect
Petite vs grande ville - En France, une ville est considérée comme Grande lorsqu'elle compte plus de 2 500 habitants. À l'international, le seuil est de 500 voies. Cette distinction détermine si les codes petite ville (21, 22, 30, 31, 41) ou grande ville (23, 24, 50, 51, 61) s'appliquent.
Quartier - Les codes 31 et 51 indiquent qu'un quartier a été reconnu : une zone géographique identifiée par le moteur (par ex. un hameau ou un lotissement) qui ne peut pas être associée à une voie précise. Ces codes sont réservés à la France.
Postal address validation process

DQEDetailCode - exemples de saisie

Exemples de saisies produisant chaque code. Les champs non listés sont laissés vides.

Code France International
10 |20 rue Jean-Baptiste Pigalle||75009|Paris Albert Buildings|3 Scott Drive||WA15 8AB|ALTRINCHAM
GBR
20 |RUE DES FRERES LUMIERE|BP 30036|33564|CARBON BLANC -
21 |26 route du chardonnay||24130|Ginestet |Seulestraat 200||8950|Heuvelland
BEL
22 |route du chardonnay||24130|Ginestet |Seulestraat||8950|Heuvelland
BEL
23 |13 rue Jean-Baptiste Pigalle||75009|Paris |Rue Victor Hugo 235||7012|Mons
BEL
24 |rue Jean-Baptiste Pigalle||75009|Paris |Rue Victor Hugo||7012|Mons
BEL
25 |||82016|Montauban CEDEX -
30 |rue Jean-Baptiste Pigalle||24130|Ginestet |Via del lungo||70011|Alberobello
ITA
31 |SAINT SYMPHORIEN||12490|VIALA DU TARN Non retourné hors de France
40 Non attendu dans les déploiements cloud actuels. Défini pour compatibilité. Non attendu dans les déploiements cloud actuels. Défini pour compatibilité.
41 |||24130|Ginestet |||70011|Alberobello
ITA
50 |route du chardonnay||75009|Paris |STREET ABCD||60607|CHICAGO
USA
51 |Lotissement Casella||20243|PRUNELLI DI FIUMORBO Non retourné hors de France
60 Non attendu dans les déploiements cloud actuels. Défini pour compatibilité. Non attendu dans les déploiements cloud actuels. Défini pour compatibilité.
61 |||75009|Paris |||60607|CHICAGO
USA
70 |rue de la mairie||75009|Bordeaux |FRANKLIN GTWY SE||00067|MARIETTA
USA
71 Non attendu dans les déploiements cloud actuels. Défini pour compatibilité. Non attendu dans les déploiements cloud actuels. Défini pour compatibilité.
80 |||75009|Bordeaux |||00067|MARIETTA
USA
81 Non retourné pour la France ||||
90 |7C avenue Monbijou||4960|Malmedy
Pays : FRA - l'adresse semble non française
-
95 - -

ChangedAddressTag

Renseigné lorsque Modification=O est ajouté à la requête. IsAddressChanged vaut 1 si un champ a été ajusté, 0 sinon. ChangedAddressTag est une chaîne binaire de 5 caractères, une position par champ d'adresse. 1 = ajusté par DQE, 0 = inchangé.

complément d'adresse|adresse|commune associée|code postal|ville
ChangedAddressTag Signification
00000 Aucun champ ajusté - adresse acceptée telle que soumise.
11111 Les cinq champs ont été ajustés.
00011 Code postal et ville ajustés ; autres champs inchangés.
01111 Adresse, commune associée, code postal et ville ajustés ; complément d'adresse inchangé.
10000 Seul le complément d'adresse a été ajusté.
01000 Seule la ligne d'adresse a été ajustée.
00100 Seule la commune associée a été ajustée.
Astuce - Lorsque IsAddressChanged vaut 1, au moins un champ a été modifié par DQE. Affichez la correction à l'utilisateur sous forme de popup, en conservant toujours la possibilité de garder sa saisie d'origine.

Qualité de géocodage

Lorsque Version=1.1 est défini et que le géocodage est souscrit, deux champs sont renseignés dans l'objet Informations : LatLonLabel (libellé) et LatLonCode (code numérique). France uniquement.

Code LatLonLabel Description
1 ENTREE Point d'accès principal à une enceinte, un groupe de bâtiments ou une parcelle (plaque d'adresse).
2 BATIMENT Bâtiment ou partie de bâtiment.
3 ESCALIERS Cage d'escalier, normalement à l'intérieur d'un bâtiment.
4 LOGEMENT Logement ou pièce à l'intérieur d'un bâtiment.
5 PARCELLE CADASTRALE Parcelle cadastrale.
6 SEGMENT DE VOIE Position dérivée du segment de voie de rattachement. Peut être en dehors du polygone de la ville mais sur la même voie.
7 POINT D ACCESS TECHNIQUE Point d'accès technique (arrivée d'eau, d'électricité, coupure de gaz, etc.).
8 POINT DELIVRANCE POSTALE Point de remise postale (boîte aux lettres).
9 ZONE D ADRESSAGE Point placé dans la commune associée.
10 CENTRE VILLE Centre de la ville.
0 CENTRE DE LA VOIE Point au centre de la voie.
90 A CONTROLER Qualité de géocodage incertaine - à vérifier.
99 NON PRESENTE Géocodage non disponible pour cette adresse.

Erreurs

Le endpoint RESTful retourne un corps d'erreur JSON structuré avec un code de statut HTTP, un message et un identifiant d'erreur.

HTTP Type d'erreur Corps de la réponse
400 Paramètre Licence manquant {"status":400,"message":"Missing parameters","details":"Licence","error":"bad request"}
400 Paramètre Licence vide {"status":400,"message":"Licence must be filled","details":"Empty","error":"bad request"}
401 Numéro de licence incorrect {"status":401,"message":"Your licence is not allowed to cover this functionnality","details":"{WRONG}","error":"unauthorized_client"}
400 Paramètre Address manquant {"status":400,"message":"Missing parameters","details":"Address","error":"bad request"}
400 Paramètre Country manquant {"status":400,"message":"Missing parameters","details":"Country","error":"bad request"}
400 Paramètre Country vide {"status":400,"message":"Country must be filled","details":"Empty","error":"bad request"}
400 Faute de frappe dans le nom du paramètre {"status":400,"message":"Missing parameters","details":"Address","error":"bad request"}

Tester l'API

Cliquez sur le bouton ci-dessous pour tester ce endpoint en direct dans votre navigateur.

Ouvrir la console

Voir aussi

Associé à

Cet article vous a-t-il été utile ?

Utilisateurs qui ont trouvé cela utile : 0 sur 0