Une Api au service de l'Archive.
Cette API a été developper dans le cadre de la réalisation du projet Archives centrales.
Cette dernière, redirige et monitore les liens, vers l'ensemble des archives
départementales française.
- Introduction
URL de base de l'API r0uge: https://api.r0uge.eu/
Tout les appels de l'API commencent par cette URL à
laquelle s'ajoute le chemin de l'action désirée.
Exemple: https://api.r0uge.eu/departements
L'API est uniquement accessible via le protocole HTTP et
n'accepte que les requêtes HTTP POST et GET.
Les données sont envoyées en POST et doivent respecter le format
JSON.
- Authentification
Certaines requêtes doivent être authentifiées pour être
exécutées. Vous devrez donc générer un jeton d'Authentification
après demande auprès de l'administrateur.
Les appels vers l'API nécessitant d'être authentifiés,
elle doivent donc préciser dans leurs données POST un paramètre "token"
avec ce jeton pour valeur.
- Statut du retour
Chaque appel à l'API donne lieu à une réponse, retournant un code spécifique
en fonction du résultat obtenu.
L'analyse de ce code vous permet de vous assurer que la requête a été traitée avec succès.
Tous les codes >= 400 indiquent que la requête n'a pas été traitée avec succès par nos serveurs.
- 200: OK.
- 400: Paramètre manquant, ou valeur incorrecte.
- 401: Authentification nécessaire (jeton non précisé ou invalide).
- 403: Action non autorisée.
- 404: Page inaccessible (URL inconnue / impossible d'accéder à l'adresse).
- 406: Le JSON indiqué en données POST n'est pas valide.
- 500: Erreur inconnue, contactez-nous.
- 503: L'API est momentanément indisponible, réessayez dans quelques minutes.
- Liste des actions
Récupération de la liste des départements
<| Format de la réponse
{
[
{
"services":[""],
"_id":"",
"dep_id":2,
"name":"",
"homePage":"",
"img":{
"data":"",
"content-type":""
},
"updatedAt":"yyyy-mm-ddThh:mm:ss.dcmZ"
},
...
]
}
Renvoie la liste de tout les départements.
Nom | Type | Description |
---|---|---|
_id | String | Identifiant du département |
services | List | Liste contenant l'identifiant de chaque service du département |
dep_id | Int | Numéro du département |
name | String | Nom du département |
homePage | String | Lien du site des archives du département |
img.data | String | Chemin du lieu de stockage de l'image |
img.content-type | String | Type MIME du fichier (image/png, image/jpg ...) |
updatedAt | Format ISO | Date de la dernière mise à jour du département |
<|> Exemple
curl -H "Content-Type: application/json" -X GET https://api.r0uge.eu/departements
Récupération de la liste des services
<| Format de la réponse
{
[
{
"_id":"",
"dep_id":{
"_id":"",
"name":""
},
"service_name":"",
"status":"offline",
"link":"",
"img":{
"data":"",
"content-type":""
},
"updatedAt":"yyyy-mm-ddThh:mm:ss.dcmZ"
},
...
]
}
Renvoie la liste de tout les services
Nom | Type | Description |
---|---|---|
_id | String | Identifiant du service |
dep_id._id | String | Indentifiant du département auquel appartient le service |
dep_id.name | String | Nom du département auquel appartient le service |
service_name | String | Nom du service |
status | String | Status du service (en-ligne/ hors-ligne) |
link | String | Lien vers lequel le service pointe |
img.data | String | Chemin du lieu de stockage de l'image |
img.content-type | String | Type MIME du fichier (image/png, image/jpg ...) |
updatedAt | Format ISO | Date de la dernière mise à jour du service |
<|> Exemple
curl -H "Content-Type: application/json" -X GET https://api.r0uge.eu/services
Récupération d'un des services
|> Format de la requête
Nom | Requis | Type | Valeur par défaut | Description |
---|---|---|---|---|
:id | Oui | String | Aucune | Identifiant du service |
<| Format de la réponse
{
"_id":"",
"dep_id":{
"_id":"",
"name":""
},
"service_name":"",
"status":"offline",
"link":"",
"img":{
"data":"",
"content-type":""
},
"updatedAt":"yyyy-mm-ddThh:mm:ss.dcmZ"
}
Si le service n'a pas été trouvé, nous obtenons un objet vide.
Nom | Type | Description |
---|---|---|
_id | String | Identifiant du service |
dep_id._id | String | Indentifiant du département auquel appartient le service |
dep_id.name | String | Nom du département auquel appartient le service |
service_name | String | Nom du service |
status | String | Status du service (en-ligne/ hors-ligne) |
link | String | Lien vers lequel le service pointe |
img.data | String | Chemin du lieu de stockage de l'image |
img.content-type | String | Type MIME du fichier (image/png, image/jpg ...) |
updatedAt | Format ISO | Date de la dernière mise à jour du service |
Récupération d'un des départements
|> Format de la requête
Nom | Requis | Type | Valeur par défaut | Description |
---|---|---|---|---|
:dep_num | Oui | Int | Aucune | Numéro du département |
<| Format de la réponse
{
"services":[""],
"_id":"",
"dep_id":2,
"name":"",
"homePage":"",
"img":{
"data":"",
"content-type":""
},
"updatedAt":"yyyy-mm-ddThh:mm:ss.dcmZ"
}
Si le département n'a pas été trouvé, nous obtenons une erreur 404.
Nom | Type | Description |
---|---|---|
_id | String | Identifiant du département |
services | List | Liste contenant l'identifiant de chaque service du département |
dep_id | Int | Numéro du département |
name | String | Nom du département |
homePage | String | Lien du site des archives du département |
img.data | String | Chemin du lieu de stockage de l'image |
img.content-type | String | Type MIME du fichier (image/png, image/jpg ...) |
updatedAt | Format ISO | Date de la dernière mise à jour du département |