Gérer un bouquet via l’API data.gouv.fr

Utilisation de l’API data.gouv.fr

Documentation de l’API data.gouv.frarrow-up-right

URLs d’accès à l’API

On utilisera l’environnement de démo dans les exemples ci-dessous.

Authentification et gestion des droits

  • L’utilisation de l’API nécessite une clé passée en tant que header x-api-key (cf documentation)

  • Il est recommandé de publier un bouquet en tant qu’organisation plutôt qu’en tant qu’individu. Il faut donc que le compte dont on utilise la clé d’API soit rattaché à l’organisation cible (cf documentation). L’identifiant technique de l’organisation est disponible sur la page de l’organisation sur data.gouv.frarrow-up-right, dans l’onglet Informations, sous la section “Informations techniques” (ex : https://www.data.gouv.fr/organizations/ecolab-1/informationarrow-up-right67884b4da4fca9c97bbef479)

On utilisera cette organisation de rattachement dans les exemples ci-dessous.

Requêtes

L’API de data.gouv.frarrow-up-right est de type JSON-REST. Dans la suite du document, on utilisera le formalisme suivant :

  • POST {url} pour indiquer une requête de type POST vers url

  • Un bloc de code de type jsonc pour documenter le corps JSON de la requête. Les commentaires // xxx doivent être omis dans une requête réelle.

Création d’un bouquet

Un bouquet est représenté par un object Topic sur data.gouv.frarrow-up-right, on utilise donc l’API correspondante /api/2/topics.

POST <https://demo.data.gouv.fr/api/2/topics/

La réponse contient un champ id qu’on utilisera plus tard pour modifier le bouquet (exemple 68e37680328504830a326804).

Liste des thématiques et tag associés :

Thématique
Tag

Mieux consommer

ecospheres-theme-mieux-consommer

Mieux produire

ecospheres-theme-mieux-produire

Mieux préserver et valoriser nos ecosystèmes

ecospheres-theme-mieux-preserver-valoriser-ecosystemes

Mieux se déplacer

ecospheres-theme-mieux-se-deplacer

Mieux se loger

mieux-se-loger

Mieux se nourrir

ecospheres-theme-mieux-se-nourrir

Autre

ecospheres-theme-autre

Ajout d’un facteur (jeu de données) à un bouquet

Un facteur est représenté par un element rattaché à un Topic sur data.gouv.frarrow-up-right. On utilise donc l’API correspondante /api/2/topics/{topic_id}/elements/.

L’exemple ci-dessous crée plusieurs facteurs, un pour chaque type possible :

  • pointe vers un jeu de données référencé sur data.gouv.frarrow-up-right

  • pointe vers un jeu de données non référencé sur data.gouv.frarrow-up-right (ie une URL)

  • jeu de données “non trouvé” (Je n'ai pas trouvé la donnée)

  • jeu de données “non cherché” (Je n'ai pas cherché la donnée)

POST <https://demo.data.gouv.fr/api/2/topics/68e37680328504830a326804/elements/

Dans cet exemple, chacun des facteurs est associé à un regroupement “Mon regroupement”. Cette valeur est libre et peut également être omise totalement (y compris l’attribut group) si on ne souhaite pas utiliser de regroupement pour un facteur.

La réponse contient un tableau d’objets avec pour chacun un champ id qu’on utilisera plus tard pour modifier un des facteurs (exemple 68e37f9311f7009c05fb333b).

Modification d’un facteur

Dans cet exemple, on modifie le regroupement d’un facteur existant. Il n’est pas nécessaire de reprendre les champs inchangés (titre, description…), on les garde toutefois pour référence dans cet exemple.

PUT <https://demo.data.gouv.fr/api/2/topics/68e37680328504830a326804/elements/68e37f9311f7009c05fb333b/>

Suppression d’un facteur

DELETE <https://demo.data.gouv.fr/api/2/topics/68e37680328504830a326804/elements/68e37f9311f7009c05fb333b/>

Modification ou création d’un bouquet avec ses facteurs

Il est possible de manipuler un bouquet avec ses facteurs associés (POST <https://demo.data.gouv.fr/api/2/topics/ dans le cas d’une création, PUT <https://demo.data.gouv.fr/api/2/topics/{topic_id} dans le cas d’une modification).

Dans le cas d’une modification, il est recommandé d’utiliser des opérations atomiques sur les éléments / facteurs afin de bénéficier du suivi des modifications sur les facteurs d’un bouquet (l’interface affichera “le facteur xxx a été modifié par untel à tel date”).

Mis à jour

Ce contenu vous a-t-il été utile ?