Documentation de l'API

Adralis vérifie, corrige et remet aux normes de La Poste les adresses postales françaises. Cette page explique comment l'intégrer dans votre application ; la référence complète de chaque route est en bas.

Démarrage

  1. 1. Créer un compte gratuit Inscrivez-vous en ligne avec votre e-mail : vous recevez votre clé d'API et 1 000 crédits offerts à la création, puis 500 chaque mois. Sans clé, l'API ne sert qu'à la démonstration, quelques adresses par jour.
  2. 2. Envoyer une adresse En texte libre (adresse) ou en lignes (lignes), avec votre clé dans l'en-tête X-API-Key.
  3. 3. Lire le statut Utilisez les lignes de sortie, et décidez selon le statut : accepter, faire confirmer ou faire ressaisir.
curl -X POST https://api.nubelo.fr/v1/adresses/normalisation \
  -H "X-API-Key: VOTRE_CLE" \
  -H "Content-Type: application/json" \
  -d '{"ref": "client-1043", "adresse": "15 qu des chartrons bdx"}'

Réponse (extrait)

{
  "ref": "client-1043",
  "statut": "CORRIGEE",
  "indice_confiance": 94,
  "sortie": ["", "", "", "15 QUAI DES CHARTRONS", "", "33000 BORDEAUX", ""],
  "codes": [
    { "code": "TYPE_VOIE_NORMALISE", "ligne": 4, "libelle": "Type de voie normalisé", "gravite": "correction" },
    { "code": "CP_COMPLETE", "ligne": 6, "libelle": "Code postal complété : 33000", "gravite": "correction" },
    { "code": "ACHEMINEMENT_CORRIGE", "ligne": 6, "libelle": "Libellé d'acheminement corrigé : BDX → BORDEAUX", "gravite": "correction" }
  ],
  "correspondance": {
    "precision": "numero", "code_insee": "33063", "code_postal": "33000",
    "voie": "QUAI DES CHARTRONS", "id_ban": "33063_2000_00015", "lat": 44.849567, "lon": -0.570466
  }
}

La clé donne accès à vos crédits : gardez-la côté serveur, jamais dans du code exécuté par le navigateur. Pour plusieurs adresses, utilisez POST /v1/adresses/normalisation/lot (jusqu'à 1 000 par appel).

Lire la réponse

Une adresse traitée répond toujours 200, même rejetée : c'est le statut qui donne le verdict.

StatutSignificationQue faire
VALIDEL'adresse est conforme, rien n'a été modifié.L'accepter.
CORRIGEEL'adresse a été corrigée avec certitude (abréviations, code postal, orthographe…).Enregistrer les lignes de sortie. Vous pouvez montrer la correction à l'utilisateur.
INCERTAINEUne réponse est rendue, avec un doute : voie corrigée à vérifier, ligne tronquée…Faire confirmer par l'utilisateur.
INDETERMINEELe moteur ne peut pas déterminer l'adresse : plusieurs communes ou voies possibles, voie inconnue, nom de voie absent.S'il y a des propositions, les faire choisir à l'utilisateur ; sinon faire ressaisir l'adresse.
REJETEEL'adresse ne peut pas être validée (commune introuvable…). Une adresse à l'étranger est renvoyée telle que saisie, avec le seul code PAYS_ETRANGER_NON_TRAITE.Faire ressaisir l'adresse ; à l'étranger, la conserver telle quelle.

Indice de confiance

indice_confiance part de 100 % et perd des points à chaque correction ou doute, selon sa nature et la ligne concernée ; detail_indice_confiance donne le détail. Vous pouvez fixer votre propre seuil, par exemple : accepter automatiquement une adresse corrigée au-dessus d'un certain indice, et faire vérifier les autres.

Les lignes de l'adresse

entree et sortie contiennent toujours 7 lignes, celles de la norme AFNOR NF Z10-011. En sortie, chaque ligne fait 38 caractères au plus, en majuscules, sans accents : elles sont prêtes à imprimer.

LigneContenuExemple
1Civilité, nomMONSIEUR JEAN DUPONT
2Appartement, étage, escalierAPPARTEMENT 12 ETAGE 3
3Bâtiment, résidenceRESIDENCE LES PINS BATIMENT B
4Numéro et voie15 QUAI DES CHARTRONS
5Lieu-dit, boîte postaleBP 40
6Code postal et localité33000 BORDEAUX
7Pays (vide pour la France)

Codes retour

Chaque constat ou modification est décrit dans codes : un identifiant stable (code), la ligne, un libellé lisible et une gravité (info, correction, alerte, erreur). Basez vos traitements sur code, pas sur le libellé. La liste complète : GET /v1/adresses/codes.

Saisie assistée

Pour qu'une adresse soit juste dès la saisie, proposez communes et voies pendant la frappe. Ces routes ne demandent pas de clé et ne consomment pas de crédits : elles peuvent être appelées depuis le navigateur.

  1. 1. Commune GET /v1/adresses/suggestions/communes?q=leog pendant la frappe du code postal ou de la ville ; gardez le code_insee choisi.
  2. 2. Voie GET /v1/adresses/suggestions/voies?insee=33238&q=12 av de gra pendant la frappe du numéro et de la voie.
  3. 3. Vérification POST /v1/adresses/normalisation à l'enregistrement, côté serveur, pour valider l'adresse complète.

Erreurs et limites

Une erreur répond avec un code HTTP et un objet {"erreur": "…"} qui l'explique en français.

CodeCauseQue faire
400Le corps n'est pas un JSON valide, ou contient un champ inconnu.Corriger la requête.
401Clé absente ou invalide, ou lot envoyé sans clé.Vérifier l'en-tête X-API-Key.
422Adresse vide, plus de 7 lignes ou plus de 2 000 caractères ; lot vide ou de plus de 1 000 adresses.Corriger les données envoyées ; pour un lot, le rang de l'adresse en cause est indiqué.
402Crédits épuisés : il n'en reste pas assez pour toutes les adresses de l'appel. Rien n'est débité.Acheter des crédits ou s'abonner à l'offre illimitée sur nubelo.fr/tarifs.html. Les 500 crédits gratuits reviennent le 1er du mois.
429Trop d'appels, ou limite d'essai atteinte.Attendre le nombre de secondes indiqué par l'en-tête Retry-After, puis réessayer.
503Trop de lots en cours sur le serveur.Réessayer quelques instants plus tard.

Limites

Lot1 000 adresses et 8 Mo au plus par appel ; au-delà, envoyer par tranches.
Adresse7 lignes et 2 000 caractères au plus.
Débit20 appels par seconde par adresse IP, et 20 appels de normalisation par seconde par clé (pointes tolérées).
CréditsUne adresse normalisée coûte 1 crédit. Chaque compte reçoit 1 000 crédits offerts à la création (valables 12 mois) puis 500 crédits gratuits par mois civil ; au-delà, les crédits achetés (valables 12 mois) prennent le relais. Avec l'abonnement illimité, rien n'est plafonné. L'en-tête X-Credits-Restants de chaque réponse donne le solde, ou illimite avec l'abonnement illimité.
Sans cléPour la démonstration : une adresse à la fois, 20 par jour par adresse IP.

Référence

Toutes les routes, avec leurs paramètres, des réponses réelles pour chaque statut et les erreurs possibles. Authorize enregistre votre clé ; Try it out envoie un vrai appel. Fichier OpenAPI : openapi.json.