ban-archive / ban

Méta-dépôt des travaux autour de la Base Adresse Nationale
6 stars 2 forks source link

Erreur lors de la création d'une adresse #13

Open jusabatier opened 5 years ago

jusabatier commented 5 years ago

J'ai essayé de tester la création de houseNumber via l'API.

J'vais donc cr'éé puis supprimé une adresse lors de mes précédents essais, à présent je n'arrive plus à la recréer, et à defaut à voir si elle existe encore avec un statut "deleted".

Voici différentes requêtes visant à verifier l'existance d'une précédente version :

Connexion à : https://qlf-ban.ign.fr/housenumber?group=id:ban-group-2f94f6d0f7f24bdaac54ed6237f21c57 Method : GET Reponse : {"collection": [], "total": 0}

Connexion à : https://qlf-ban.ign.fr/housenumber?cia=43157_t003_00099&parent=ban-group-2f94f6d0f7f24bdaac54ed6237f21c57 Method : GET Reponse : {"collection": [], "total": 0}

Connexion à : https://qlf-ban.ign.fr/housenumber/cia:43157_t003_00099 Method : GET Reponse : {"error": "Resource with identifier cia:43157_t003_00099 does not exist."}

=> Donc visiblement elle n'existe pas

Et pourtant j'ai systématiquement une erreur :

Connexion à : https://qlf-ban.ign.fr/housenumber Method : POST Sent : {"parent":"ban-group-2f94f6d0f7f24bdaac54ed6237f21c57","number":99,"cia":"43157_t003_00099","ordinal":""} Reponse : Error while requesting API : 422 - UNPROCESSABLE ENTITY Response content : {"error": "Invalid data", "errors": {"parent": "Duplicate entries: parent, number, ordinal", "ordinal": "Duplicate entries: parent, number, ordinal", "number": "Duplicate entries: parent, number, ordinal"}}

Il est donc visiblement impossible d'ajouter une adresse si celle-ci a été précédement supprimée...

jusabatier commented 5 years ago

Deplus, même lorsque je créé l'adresse la première fois, je n'arrive pas à la retrouver par la suite :

Connexion à : https://qlf-ban.ign.fr/housenumber Method : POST Sent : {"parent":"ban-group-c45dd7d9cbfd4342bff3a4fee64e9020","number":99,"cia":"43157_t006_00099"} Reponse : Code : 201 ResponseMessage : CREATED ResponseContent :

Connexion à : https://qlf-ban.ign.fr/housenumber/cia:43157_t006_00099 Method : GET Reponse : Code : 404 ResponseMessage : NOT FOUND ResponseContent : {"error": "Resource with identifier cia:43157_t006_00099 does not exist."}

ebuard commented 5 years ago

En fait, ce n'est pas cette valeur de cia qui a été créée. Par https://qlf-ban.ign.fr/housenumber?parent=ban-group-c45dd7d9cbfd4342bff3a4fee64e9020 , on obtient cette adresse, mais le cia est 43157_t00699 J'ai donc refait un GET https://qlf-ban.ign.fr/housenumber/cia:43157_t006_99_ et ça fonctionne.

jusabatier commented 5 years ago

D'accord, il faudrait documenter ceci je pense.

Est-ce un comportement voulu ? Il me parait anormal de créer une valeur différente de celle demandée.

ebuard commented 5 years ago

oui, c'est une valeur normée, sur laquelle on fait des contrôles:concaténation du code insee (5 char) du code rivoli de la voie/lieu-dit (4 char) du numéro (char extensibles mais sans 0) _ de l’extension de l'adresse. Elle est documentée sur les ressources de l'API, mais je peux le repréciser sur cette doc.

jusabatier commented 5 years ago

Dans les ressources, il est juste précisé :

Clé d’interopérabilité du house number (concaténation du code insee, du code rivoli de la voie/lieu-dit, du numéro et de l’extension)

Je pense qu'il faudrait un peu plus de précision, notamment le format précis : <insee>_<fantoir>_<number>_<ordinal>

Cordialement