-
Notifications
You must be signed in to change notification settings - Fork 8
3‐ DRAFT # API BAN Plateforme
Les routes sont accessibles avec la même url de base https://plateforme.adresse.data.gouv.fr/api
- GET /ban-id
- GET /address/{addressID}
- POST /address/get (DRAFT - Implémentation a l'étude)
- POST /address (token needed)
- PUT /address (token needed)
- DELETE /address/{addressID} (token needed)
- POST /address/delete (token needed)
- POST /address/delta-report
- GET /common-toponym/{commonToponymID}
- POST /common-toponym (token needed)
- PUT /common-toponym (token needed)
- DELETE /common-toponym/{commonToponymID} (token needed)
- POST /common-toponym/delete (token needed)
- POST /common-toponym/delta-report
- GET /district/{districtID}
- POST /district (token needed)
- PUT /district (token needed)
- DELETE /district/{districtID} (token needed)
- GET /district/cog/{codeInsee}
- GET /job-status/{idJob}
En plus des TYPEs habituels (STR, INT, ARR(), JSON) vous pouvez rencontrer dans cette documentation des TYPEs plus atypiques ou spécifiques à l'API :
-
INT_TIMESTAMP: Timestamp valide -
TYPE_ban_id: Type générique - Identifiant-
TYPE_ban_id_address:TYPE_ban_idd'Adresse -
TYPE_ban_id_common_toponym:TYPE_ban_idde Toponyme Commun -
TYPE_ban_id_district:TYPE_ban_idde Découpage Administratif
-
-
TYPE_json_ban: Type générique - Représentation d'un objet de données au format JSON-
TYPE_json_ban_district:TYPE_json_band'un objet représentant un Découpage Administratif
-
{
"date": "2023-05-05T12:58:33.871Z",
"status": "success",
"response": {
"id": "00000000-0000-4fff-9fff-00000000000a",
"labels": [{
"isoCode": "fra",
"value": "Commune A"
}],
"updateDate": "2023-06-22",
"meta": {
"insee": {
"cog": "12345"
}
}
}-
TYPE_json_ban_common_toponym:TYPE_json_band'un objet représentant un Toponyme Commun
// TYPE_json_ban_common_toponym :
{
"date": "2023-05-05T12:58:33.871Z",
"status": "success",
"response": {
"id": "00000000-0000-4fff-9fff-00000000001a",
"districtID": "00000000-0000-4fff-9fff-00000000003a",
"labels": [{
"isoCode": "fra",
"value": "Rue de la baleine"
}],
"geometry": {
"type": "Point",
"coordinates": [1.2345, 2.3456]
},
"updateDate": "2023-04-24"
}
}-
TYPE_json_ban_address:TYPE_json_band'un objet représentant une adresse
// TYPE_json_ban_address :
{
"date": "2023-05-05T12:56:40.644Z",
"status": "success",
"response": {
"id": "00000000-0000-4fff-9fff-00000000000a",
"mainCommonToponymID": '00000000-0000-4fff-9fff-00000000001a',
"secondaryCommonToponymIDs": ["00000000-0000-4fff-9fff-00000000002a"],
"districtID": "00000000-0000-4fff-9fff-00000000003a",
"number": 1,
"positions": [{
"type": "entrance",
"geometry": {
"type": "Point",
"coordinates": [1.23, 2.34]
}
}],
"updateDate": "2023-04-12"
}
}-
TYPE_csv_bal: Représentation d'une ligne de données au format CSV, tel que décrit dans la spécification BAL-
TYPE_csv_bal_address: Représentation d'une adresse au format CSV, tel que décrit dans la spécification BAL (Base Adresse Locale)
-
-
TYPE_ban_status_id: ID de status valide -
TYPE_status_report: Représentation JSON de l'état d'une demande asynchrone.
// TYPE_status_report :
{
status: ENUM('pending', 'success', 'error'),
count : INT,
type : ENUM('insert', 'edit', 'delete'),
failed ?: { count : INT, listing : ARR(ban_id) },
successed ?: { count : INT, listing : ARR(ban_id) },
details ?: ARR(TYPE_status_task_report)
}-
TYPE_status_task_report: Représentation JSON de l'état d'une tâche inclus dans une demande asynchrone.
// TYPE_status_task_report :
{
id : TYPE_ban_id,
type : ENUM('insert', 'edit', 'delete'),
status : ENUM('success', 'error'),
message ?: STR,
ids ?: ARR(TYPE_ban_id),
value ?: TYPE_json_ban_address,
oldValue ?: TYPE_json_ban_address,
}Dans certains cas, l'appel à une route spécifique de l'API peut nécessiter l'usage d'un token d'identification. Ce besoin est alors indiqué dans la documentation pour chacune des routes concernées.
Ce token sera fourni par l'En-Tête HTTP lors de l'appel.
En-Tête a définir
Les réponses de l'API sont de type JSON. Le Header Content-Type dispose de la valeur JSON et sont corp (body) respecte le format suivant :
{
date : INT_TIMESTAMP,
status : ENUM(success, error),
message ?: STR,
response ?: VALUE_API_RESPONSE
}La valeur VALUE_API_RESPONSE correspond au contenu de la réponse, tel qu'indiqué ci-dessous, dans la documentation de chaque API.
| Code | Statut | Message |
|---|---|---|
| 200 | OK | undefined |
| 400 | Bad request |
Erreur dans la demande. Message à préciser pour chaque route: - Missing required parameter [{paramName…}] (Fr Paramètre requis non renseigné [{paramName…}]) - Invalid ID (Fr - Identifiant invalide) - Not available ID (Fr - Identifiant non disponible) |
| 401 | Unauthorized | Authentication token not provided (Fr - Jeton d'authentification non fourni) |
| 403 | Forbidden | Authentication token not authorized to access resource (Fr - Jeton d'authentification non autorisé à accéder à la ressource) |
| 404 | Not Found | Data not found (Fr - Donnée introuvable) |
Tout appel vers une route de l'API retourne un code de statut. En cas d'erreur, la réponse contiendra également un code d'erreur dans le but de faciliter l'identification de cette dernière.
Extrait une liste de d'identifiants disponibles.
| Attribut | type | Commentaire |
|---|---|---|
| quantity | TYPE_ban_id_address | Default = 1 (Max 100000) |
Retourne une liste de d'identifiants au format TYPE_ban_id.
Note : Les Identifiants retournés sont disponibles au moment de la requête mais ne sont pas réservés. Cependant, l'usage de l'algorithme UUID-V4 pour produire ces identifiants suffit à assurer un risque de collision quasi-nul.
Extrait une Adresse.
- Paramètre attendu :
| Attribut | type | Commentaire |
|---|---|---|
| addressID | TYPE_ban_id_address | Required |
- Réponse : Renvoie un objet adresse au format TYPE_json_address.
Extrait une liste d'adresses.
- Paramètre attendu :
Attribut type Commentaire ids ARR(TYPE_ban_id_address) Required
- Réponse : Renvoie un tableau d'objet adresses au format TYPE_json_address dans l'ordre des IDs fournis en entrée.
⚠ Identification requise
Publication asynchrone d'une liste d'Adresses.
- Paramètre attendu :
| Attribut | type | Commentaire |
|---|---|---|
| addresses | ARR(TYPE_json_ban_address) | Required |
- Réponse : Envoie un ID de status (statusID) au format TYPE_ban_status_id.
⚠ Identification requise
Édition asynchrone d'une liste d'Adresses.
- Paramètre attendu :
| Attribut | type | Commentaire |
|---|---|---|
| addresses | ARR(TYPE_json_address) | Required |
- Réponse : Envoie un ID de status (statusID) au format TYPE_ban_status_id.
⚠ Identification requise
Suppression d'une Adresse.
- Paramètre attendu :
| Attribut | type | Commentaire |
|---|---|---|
| addressID | TYPE_ban_id_address | Required |
- Réponse : Envoie un rapport d'état au format TYPE_status_report.
⚠ Identification requise
Suppression asynchrone d'un ensemble d'Adresses.
- Paramètre attendu :
| Attribut | type | Commentaire |
|---|---|---|
| addressIDs | ARR(TYPE_ban_id_address) | Required |
- Réponse : Envoie un ID de status statusID au format TYPE_ban_status_id.
⚠ Identification requise
Extraction d'un rapport d'adresse à créer, modifier, supprimer à partir d'une liste d'adresses.
- Paramètres attendus :
| Attribut | type | Commentaire |
|---|---|---|
| addressIDs | ARR(TYPE_ban_id_address) | Required |
| districtID | TYPE_ban_id_district | Required |
Extrait un Toponyme Commun
- Paramètre attendu :
| Attribut | type | Commentaire |
|---|---|---|
| commonToponymID | TYPE_ban_id_common_toponym | Required |
- Réponse : Renvoie un objet
CommonToponymau format TYPE_json_ban_common_toponym.
⚠ Identification requise
Publication asynchrone d'une liste de Toponymes Communs.
- Paramètre attendu :
| Attribut | type | Commentaire |
|---|---|---|
| commonToponyms | ARR(TYPE_json_ban_common_toponym) | Required |
- Réponse : Envoie un ID de status (statusID) au format TYPE_ban_status_id.
⚠ Identification requise
Édition asynchrone d'une liste de Toponymes Communs.
- Paramètre attendu :
| Attribut | type | Commentaire |
|---|---|---|
| commonToponyms | ARR(TYPE_json_address) | Required |
- Réponse : Envoie un ID de status (statusID) au format TYPE_ban_status_id.
⚠ Identification requise
Suppression d'un Toponyme Commun.
- Paramètre attendu :
| Attribut | type | Commentaire |
|---|---|---|
| commonToponymID | TYPE_ban_id_common_toponyme | Required |
- Réponse : Envoie un rapport d'état au format TYPE_status_report.
⚠ Identification requise
Suppression asynchrone d'un ensemble de Toponymes Communs.
- Paramètre attendu :
| Attribut | type | Commentaire |
|---|---|---|
| commonToponymIDs | ARR(TYPE_ban_id_common_toponym) | Required |
- Réponse : Envoie un ID de status statusID au format TYPE_ban_status_id.
⚠ Identification requise
Extraction d'un rapport d'adresses à créer, modifier, supprimer à partir d'une liste d'adresse.
| Attribut | type | Commentaire |
|---|---|---|
| commonToponymIDs | ARR(TYPE_ban_id_common_toponym) | Required |
| districtID | TYPE_ban_id_district | Required |
Extrait une Division Administrative.
- Paramètre attendu :
| Attribut | type | Commentaire |
|---|---|---|
| districtID | TYPE_ban_id_district | Required |
- Réponse : Renvois un objet
Districtau format TYPE_json_ban_district.
⚠ Identification requise
Publication asynchrone d'une liste de Divisions Administratives.
- Paramètre attendu :
| Attribut | type | Commentaire |
|---|---|---|
| districts | ARR(TYPE_json_ban_district) | Required |
- Réponse : Envoie un ID de status (statusID) au format TYPE_ban_status_id.
⚠ Identification requise
Édition asynchrone d'une liste de Divisions Administratives.
- Paramètre attendu :
| Attribut | type | Commentaire |
|---|---|---|
| districts | ARR(TYPE_json_ban_district) | Required |
- Réponse : Envoie un ID de status (statusID) au format TYPE_ban_status_id.
⚠ Identification requise
Suppression d'une Division Administrative.
- Paramètre attendu :
| Attribut | type | Commentaire |
|---|---|---|
| districtID | TYPE_ban_id_district | Required |
- Réponse : Envoie un rapport d'état au format TYPE_status_report.
Permet de récupérer l'uuid V4 de la commune.
- Paramètre attendu :
| Attribut | type | Commentaire |
|---|---|---|
| codeInsee | INT | Required |
- Réponse : Envoie les informations du district pour le code INSEE fourni, dont l'uuid v4.
Extrait l'état d'une demande asynchrone.
- Paramètre attendu :
| Attribut | type | Commentaire |
|---|---|---|
| idJob | TYPE_ban_status_id | Required |
- Réponse : Renvoie un objet représentant l'état d'une demande asynchrone au format TYPE_status_report.
adresse.data.gouv.fr : Le site national des adresses
Référencer l’intégralité des adresses du territoire et les rendre utilisables par tous.