Main Documents
Envoi d'un document dans le parapheur
Route
POST /rest/documents
Paramètres
Body
Valeur |
Type |
Obligatoire |
Description |
title |
string |
Oui |
Titre du document |
reference |
string |
Non |
Référence du document |
description |
string |
Non |
Description du document |
encodedDocument |
base64 |
Oui |
Fichier PDF compressé au format zip encodé en base64 |
sender |
string |
Oui |
Prénom Nom de l'expéditeur |
deadline |
date |
Non |
Date limite de traitement du document |
workflow |
array |
Oui |
Circuit du document |
attachments |
array |
Non |
Pièces jointes liées au document. Exemple : '[{"title":"test", "encodedDocument": "REUGFMLLlpxjeoikjcxoe668v"}]' |
metadata |
array |
Non |
Données additionelles affichées dans l'interface. Exemple : '{"Entité émettrice" : "DGA", "Destinataire" : "M. Macron", "Priorité" : "Urgent"}' |
Le tableau workflow peut contenir 1 à N personnes. Chaque personne du circuit représente une case de ce tableau.
Chaque case doit contenir une chaîne de caractères 'processingUser' contenant le login de l'utilisateur ainsi qu'une chaîne de caractères 'mode' égale à 'visa', 'sign' ou 'note'.
Ce mode est juste présent à titre indicatif pour savoir si la personne doit viser, signer ou annoter le document.
Le tableau attachments peut contenir 1 à N pièces jointes. Chaque pièce jointe représente une case de ce tableau.
Exemple
// JSON
{
"title" : "Réponse pétition",
"reference" : "2019/REF/1",
"description" : "Pétition sur l'écologie",
"encodedDocument": "JVBERi0xLjQgLi4u",
"sender" : "Nicolas Hulot",
"deadline" : "2019-02-25",
"workflow" : [
{
"processingUser" : "jjane@maarch.com",
"mode" : "visa"
},
{
"processingUser" : "PN256789",
"mode" : "sign"
}
],
"attachments" : [
{
"title" : "Attestation des fonds marins",
"encodedDocument" : "deJOIJKiSDYUIfolpcdm",
"reference": "MAARCH/2019A/21"
},
{
"title" : "Falsification des données de pêche",
"encodedDocument" : "REUGFMLLlpxjeoikjcxoe668v"
}
],
"metadata" : {
"Entité émettrice" : "DGA",
"Destinataire" : "M. Macron",
"Priorité" : "Urgent"
}
}
Retour
Code Http |
Type |
Description |
Exemple |
200 |
array |
Le document a bien été créé |
['id' => 123] |
400 |
array |
Un paramètre obligatoire est manquant |
['errors' => '...'] |
500 |
array |
Une erreur s'est produite |
['errors' => '...'] |
Récupération du circuit d'un document
Route
GET /rest/documents/{id}/workflow
Le paramètre id de la route représente l'identifiant (int) du document
Retour
Code Http |
Type |
Description |
200 |
array |
Circuit du document |
400 |
array |
Message d'erreur |
403 |
array |
Document hors périmètre |
Données
Valeur |
Type |
Description |
userId |
int |
Identifiant technique de l'utilisateur |
userDisplay |
string |
Libéllé de l'utilisateur |
mode |
string |
Mode dans le ciruit ('note', 'visa' ou 'sign') |
order |
int |
Place de l'utilisateur dans le circuit |
status |
string |
Status après action ('VAL', 'REF' ou 'END') |
note |
string |
Note |
processDate |
date |
Date de l'action |
Exemple
// JSON
{
"workflow": [
{
'userId' : 1,
'userDisplay' : 'Jenny Jane',
'mode' : 'visa',
'order' : 1,
'status' : 'VAL',
'note' : '',
'processDate' : '20-06-2019 17:22'
},
{
'userId' : 2,
'userDisplay' : 'Jackie Jane',
'mode' : 'sign',
'order' : 2,
'status' : 'REF',
'note' : 'Opération annulée',
'processDate' : '20-06-2019 17:47'
}
]
}
Route
GET /rest/documents/{id}
Le paramètre id de la route représente l'identifiant (int) du document
Retour
Code Http |
Type |
Description |
200 |
array |
Informations du document |
400 |
array |
Message d'erreur |
Données
Valeur |
Type |
Description |
id |
int |
Identifiant technique du document |
title |
string |
Titre du document |
reference |
string |
Référence externe du document |
description |
string |
Description du document |
sender |
string |
Prénom Nom de l'expéditeur |
creationDate |
date |
Date de création du document |
modificationDate |
date |
Date de dernière modification du document |
pages |
int |
Nombre de pages du document |
deadline |
date |
Date limite de traitement du document |
workflow |
array |
Tableau contenant le circuit du document |
attachments |
array |
Identifiants des pièces jointes liées au document |
metadata |
json |
Données additionelles du document. Exemple : '{"Entité émettrice" : "DGA", "Destinataire" : "M. Macron", "Priorité" : "Urgent"}' |
Exemple
// JSON
{
"document": {
"id": 1,
"title": "Réponse pétition",
"reference": "2019/REF/1",
"description": "Pétition sur l'écologie",
"sender": "Nicolas Hulot",
"creationDate": "2019-01-05 17:12:10.049202",
"modificationDate": "2019-01-06 17:12:10.049202",
"pages" : 2,
"creatorId" : "PNPOPIO",
"creatorDisplayName" : "Charly CHARLES",
"deadline": "2019-03-05",
"workflow": [
{
"userDisplay" : "Mike Horn",
"mode" : "SIGN",
"processDate" : null,
"userPicture" : "data:image/png;base64,68F87FD76D86...",
"current" : true
},
{
"userDisplay" : "Bear Grylls",
"mode" : "SIGN",
"processDate" : null,
"userPicture" : "data:image/png;base64,68F87FD76D86...",
"current" : false
}
],
"attachments": [2, 4],
"metadata" : {
"Entité émettrice" : "DGA",
"Destinataire" : "M. Macron",
"Priorité" : "Urgent"
}
}
}
Récupération d'un document (PDF)
Route
GET /rest/documents/{id}/content
Le paramètre id de la route représente l'identifiant (int) du document
Retour
Code Http |
Type |
Description |
200 |
array |
Document encodé en base 64 |
400 |
array |
Message d'erreur |
Données
Valeur |
Type |
Description |
encodedDocument |
base64 |
Document encodé en base64 |
Exemple
// JSON
{
"encodedDocument": "JVBERi0x..."
}
Récupération de l'historique d'un document
Route
GET /rest/documents/{id}/history
Le paramètre id de la route représente l'identifiant (int) du document
Retour
Code Http |
Type |
Description |
200 |
array |
Informations du document |
400 |
array |
Message d'erreur |
403 |
array |
Document hors périmètre |
Données
Valeur |
Type |
Description |
code |
string |
Code du message: OK ou KO |
userLogin |
string |
Identifiant de l'utilisateur ayant fait l'action |
date |
date |
Date de l'action |
type |
string |
Type d'action effectuée |
message |
string |
Message de l'action |
data |
array |
Informations complémentaires concernant l'action |
Exemple
// JSON
{
"history": [
{
"code": "OK",
"userLogin": "PN23546",
"date": "01-05-2019 17:12",
"type": "CREATION",
"message": "Document added : Réponse pétition",
"data": []
},
{
"code": "OK",
"userLogin": "PN23546",
"date": "01-05-2019 17:32",
"type": "VIEW",
"message": "Document viewed : Réponse pétition",
"data": []
}
]
}