API-Vitam - Ingest API documentation version v1
https://api.vitam.gouv.fr/ingest-external/{version}
- version: required (v1)
Avertissements
Cette version d'API présente des fonctionnalités sous différents statuts :
- Supportées : rien n'est spécifié, la fonctionnalité ou la donnée est supportée
- Non supportées : le mot clef UNSUPPORTED est indiqué et précise que cette fonctionnalité ou donnée n'est pas supportée par l'implémentaton courante.
Pour le détail du modèle de chaque collection, se référer à la documentation du modèle de données.
Licence
Ce document est distribué sous les termes de la Licence Ouverte V2.0
API Ingest
L'API d'Entrées propose les points d'entrées et les méthodes pour récupérer les informations des Entrées.
L'entrée se fait via une API compatible strictement SEDA ArchiveTransfer :
- le body transmis contient un ZIP contenant lui-même :
- un fichier manifest.xml qui est le fichier SEDA répondant à la description d'un ArchiveTransfer
- un répertoire "content" contenant les objets numériques d'archives
- la réponse, une fois le traitement terminé, est un fichier XML répondant à la description d'un ArchiveTransferReply
Ingests
Ingests est le point de lancement des opérations d'entrées.
Le mode opératoire est le suivant :
- Le client lance une opération d'entrée en faisant un POST sur la collection Ingests. Une réponse 202 (Accepted) est retournée avec un identifiant de la collection Operations.
- Le client lance une requête sur l'API d'administration fonctionnelle afin de récupérer le statut de l'opération d'Ingest. Le client peut réinterroger le statut de l'opération d'ingest, et ce de manière raisonnée (pas trop souvent).
- Le client peut récupérer un ou plusieurs rapports une fois l'opération terminée en faisant un GET sur la collection Ingests (archivetransferreply ou manifests)
Statut après soumission d'une entrée
La structuration d'un Statut est la suivante :
{
"#id": "idIngests",
"httpCode" : 202,
"code" : 123456,
"context": "ingest",
"state": "Running",
"message": "The ingest is in progress",
"description": "The application 'Xxxx' requested an ingest operation and this operation is in progress.",
"start_date": "2014-01-10T03:06:17.396Z"
}
Rapport final d'une entrée
Deux rapports sont disponibles une fois l'opération terminée :
- Reports (ArchiveTransferReply) au format XML via GET /ingests/id/archivetransferreply
- Manifests (fichier SEDA d'origine) via GET /ingests/id/manifests
Ingests
API de versement (Ingest). Ce point d'entrée permet de créer une transaction de versement. Une transaction d'entrée est volatile, c'est à dire qu'elle disparaîtra dès qu'elle sera terminée. Sa terminaison est liée à la production du rapport et sa récupération par le service de transfert ayant effectué l'entrée.
Créé une transaction d'entrée :
- une requête unique, avec un 'body' contenant toutes les informations dans un ZIP ou un TAR ou un TAR.GZ ou TAR.BZ2:
- Métadonnées dans un format SEDA XML ou Json de nom manifest.xml ou manifest.json (json UNSUPPORTED)
- Tous les binaires dans le répertoire "/content"
- d'autres formes pourront être implémentées dans des versions ultérieures (multipart/form-data) avec de multiples requêtes utilisant les sous-collections futures Units et Objects
Télécharger un objet associé au processus INGEST (archivetransferreply ou manifests)
Permet de télécharger un objet en précisant l'identifiant de l'opération à l'origine de l'objet et son type (archivetransferreply ou manifests)
Endpoints
API qui liste les endpoints de la ressource /ingest-external/{version}.