Migration sur la nouvelle API
La base de donnée sous-jacente à l'API de dépôt migre de MongoDB vers PostgreSQL. Dans ce contexte, des changements dans le modèle de données des requêtes sont nécessaires.
Comment va se dérouler la migration ?
Dans un premier temps, nous nous assurons que tous les clients de l'API de dépôts sont en mesure de publier après avoir apporté les changements nécessaires. Pour ce faire nous vous demandons de réaliser des tests sur l'API de dépôt démo : https://plateforme-bal.adresse.data.gouv.fr/api-depot-demo/api
Dans un second temps, nous poursuivrons nos tests pour nous assurer de la fiabilité du nouveau système et restons attentif à tous vos retours (soit sur le Slack, soit via adresse@data.gouv.fr) pour corriger d'éventuels bugs que nous n'aurions pas détectés.
Enfin, nous passerons la nouvelle API de dépôt en production et vous demanderons d'être vigilant sur ces premières publications de révisions pour pouvoir réagir au plus vite en cas d'imprévus.
Quel impact sur votre processus de publication ?
Les URL de démo et de production restent inchangées.
Les routes restent inchangées.
Les tokens et identifiants restent inchangés.
Certains champs ont été modifiés et demande une modification de votre processus de publication.
Quels changements devait vous apporter ?
La première requête est identique.
POST /communes/{codeCommune}/revisionsPour la 2ème requête et les suivantes :
PUT /revisions/{revisionId}/files/balVous devez récupérer la revisionId dans le champ id et non plus _id dans le JSON de réponse de la première requête :
{
...
"id": "67452ee555499d34e51c61ab", <--- nouveau champ
...
}Pour savoir si le fichier BAL a bien passé la validation dans la requête :
Vous devez récupérer le booléen qui indique le succès de la validation dans isReady et non plus ready dans le JSON de réponse.
Pour savoir si la publication est bien effective :
Vous devez récupérer le booléen qui indique le succès de la publication dans isCurrent et non plus current dans le JSON de réponse.
Quels sont les champs qui ont été modifiés ?
Pour ceux qui utilisent d'autres champs afin de réaliser des tests et faire des statistiques, voilà les tableaux exhaustifs de changements de champs.
Revision
_id
id
current
isCurrent
ready
isReady
Client
_id
id
Id
legacyId
mandataire
mandataireId
chefDeFile
chefDeFileId
active
isActive
options.modeRelax
isRelaxMode
_created
createdAt
_updated
updatedAt
Mandataire
_id
id
_created
createdAt
_updated
updatedAt
ChefDeFile
_id
id
signataireCharte
isSignataireCharte
perimetre
perimeters
_created
createdAt
_updated
updatedAt
Habilitation
_id
id
client
clientId
Mis à jour