Bonjour à tous !
À PIGMA, comme dans les autres plateformes j’imagine, nous utilisons souvent l’API de OneGeo pour intégrer, modifier ou supprimer des éléments en masse dans le catalogue. Voici quelques exemples de l’utilisation de l’API OGS que nous faisons déjà :
- Mise à jour de jeux de données avec upload d’un fichier téléversé
- Mise à jour de ressource de type URL (notamment lors de la bascule GéoPlateforme)
- Suppression de jeux de données test avec ressources associées
Nous nous heurtons parfois au manque de documentation sur le sujet. C’est pourquoi je trouvais intéressant de lister ici les points API dont nous avons connaissance, avec leur fonction, les éventuelles méthodes associées et toute information qui vous paraîtra pertinente.
Voici les points d’API utilisés que nous avons pu lister à ce jour (j’ajouterai à ce premier post les points API qui auront été listés dans les réponses) :
-
Dataset: endpoint : {portal}/fr/dataset/
-
- Datasets :
-
-
- {portal}/fr/dataset/datasets/ : permet d’accéder à la liste de tous les jeux de données (sous réserve d’être authentifié) (GET pour les infos de tous les datasets, POST pour créer un dataset)
-
-
-
- {portal}/fr/dataset/datasets/{dataset_id}/ : permet d’accéder à un dataset particulier (GET pour retourner les infos d’un dataset, PUT pour mettre à jour, PATCH pour réindexer avec l’action ?action=build_elastic_index&asynchrone=true)
-
-
-
- {portal}/fr/dataset/datasets/{dataset_id}/contact-roles/ : permet d’accéder aux contacts rattachés au dataset considéré (GET pour les infos, POST pour associer un contact à un dataset)
-
-
- Contacts:
-
-
- {portal}/fr/dataset/contacts/ : permet d’accéder à la liste de tous les contacts (GET pour les infos, POST pour créer un contact)
-
-
-
- {portal}/fr/dataset/contacts/{contact_id}/ : permet d’accéder à un contact particulier (GET pour les infos, PUT pour mettre à jour)
-
-
Ressource : endpoint : {portal}/fr/resource/
-
- Ressources:
-
-
- {portal}/fr/resource/resources/ : permet d’accéder à la liste de toutes les ressources (GET pour les infos)
-
-
-
- {portal}/fr/resource/resources/{resource_id}/ : permet d’accéder à une ressource en particulier (GET pour les infos, PUT pour mettre à jour)
-
-
- Fichier téléversé:
-
-
- {portal}/fr/resource/file-upload/ : permet de créer une source de données pour téléverser un fichier (POST pour créer la source)
-
-
-
- {portal}/fr/resource/file-upload/{file-upload_id}/ : permet d’accéder à une instance de file-upload (GET pour les infos, PUT pour mettre à jour et associer le fichier à téléverser, PATCH pour inspecter la source de données avec l’action ?action=inspect&asynchrone=false)
-
-
- Ressources/Datasets:
-
-
- {portal}/fr/resource/resource-dataset/ : permet d’accéder à la liste de toutes les associations ressources/datasets (GET pour les infos, POST pour associer une ressource à un dataset)
-
-
-
- {portal}/fr/resource/resource-dataset/{resource-dataset_id}/ : permet d’accéder à une association ressources/datasets (GET pour les infos)
-
-
- URL :
-
-
- {portal}/fr/resource/href/ : permet de créer une source de données pour déclarer une ressource de type URL (POST pour créer la source)
-
-
-
- {portal}/fr/resource/href/{href_id}/ : permet d’accéder à une instance de href (GET pour les infos, PUT pour mettre à jour et créer la ressource, PATCH pour inspecter la source de données avec l’action ?action=inspect&asynchrone=false)
-
(en cours de rédaction, toute information est bonne à prendre !)