Contenu du cours

Exemples API

Dans ce cours, nous allons voir comment utiliser l'API globale de Data Fair à l'aide de la commande curl.

  • Comment créer un jeu de données fichier
  • Comment mettre à jour un jeu de données fichier
  • Comment ajouter une pièce jointe

Comment créer un jeu de données fichier

Un jeu de données fichier est créé à l'aide d'une commande curl POST.

Voici un exemple de requête pour créer un jeu de données correspondant à notre fichier test-de-l-API.csv.

curl --request POST \
--url https://koumoul.com/data-fair/api/v1/datasets \
--header 'content-type: multipart/form-data' \
--header 'x-apikey: $API_KEY' \
--form file=@test-de-l-API.csv

La requête est une requête POST et nous avons poussé le fichier test-de-l-API-maj.csv.

Si vous utilisez cette commande dans le répertoire contenant le fichier test-de-l-API.csv, celle-ci sera effectuée correctement.
Si vous souhaitez envoyer un fichier d'un autre répertoire, il vous faudra le chemin complet du fichier.
Par exemple, la commande suivante permet également d'envoyer le fichier test-de-l-API.csv :

curl --request POST \
--url https://koumoul.com/data-fair/api/v1/datasets \
--header 'content-type: multipart/form-data' \
--header 'x-apikey: $API_KEY' \
--form file=@"C:\Koumoul\Dataset\2024\cours\ExemplesAPI\test-de-l-API.csv"

La différence étant le contenu de file qui contient le chemin complet du fichier sur l'ordinateur.

Une fois votre commande envoyée, le fichier sera créé sur votre espace :

Comment mettre à jour un jeu de données fichier

L'id de notre jeux de données que nous venons de créer peut etre obtenu à l'aide d'une requete GET sur les datasets. Notre jeu de données possede cet id : tnmt6vbo-uyvlip-2e3uxp9k

La requête suivante nous permet de mettre à jour notre jeu de données :

curl --request PUT \
--url https://koumoul.com/data-fair/api/v1/datasets/tnmt6vbo-uyvlip-2e3uxp9k \
--header 'content-type: multipart/form-data' \
--header 'x-apikey: $API_KEY' \
--form file=@test-de-l-API-maj.csv

La requête est une requête PUT sur le jeu de données avec l'id tnmt6vbo-uyvlip-2e3uxp9k et nous avons poussé le fichier test-de-l-API-maj.csv.

Comment ajouter une pièce jointe

Pour créer une pièce jointe, deux requête sont necessaires, une requête POST, puis une requête PATCH.

La requête POST suivante permet de pousser une pièce jointe sur un jeu de données existant :

curl --request POST \
--url https://koumoul.com/data-fair/api/v1/datasets/tnmt6vbo-uyvlip-2e3uxp9k/metadata-attachments/ \
--header 'x-apikey: $API_KEY' \
--form attachment=@pj.png

La requête est une requête POST, nous avons poussé la pièce jointe pj.png sur le jeu de données dont l'id est tnmt6vbo-uyvlip-2e3uxp9k.

Le fichier a été poussé, il faut maintenant valider la pièce jointe à l'aide d'une requête PATCH :

curl --request PATCH \
--url https://koumoul.com/data-fair/api/v1/datasets/tnmt6vbo-uyvlip-2e3uxp9k/ \
--header 'content-type: application/json' \
--header 'x-apikey: $API_KEY' \
--data '{"attachments": [{"includeInCatalogPublications": false, "mimetype": "image/png","name": "pj.png","size": 33100,"title":"pj.png","type":"file"}]}'

Les valeurs contenues dans attachments correspondent à la réponse à la requête précédente.