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 encodé en base64 |
isZipped |
boolean |
Non |
Indique si les fichiers PDF sont compressés au format zip. True, si vide |
sender |
string |
Oui |
Prénom Nom de l'expéditeur |
deadline |
date |
Non |
Date limite de traitement du document |
notes |
array |
Non |
Note du document Exemple : '{"value":"Ceci est mon sang", "creator": "J-C", "creationDate": "10-04-2020"}' |
linkId |
string |
Non |
Identifiant de liaison |
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"}' |
mailingId |
text |
Non |
Identifiant unique pour regrouper des documents issus d'un publipostage |
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.
Il est aussi possible de préciser le mode de signature de l'utilisateur avec le champ "signatureMode".
Le tableau attachments peut contenir 1 à N pièces jointes. Chaque pièce jointe représente une case de ce tableau.
Exemple
{
"title" : "Réponse pétition",
"reference" : "2019/REF/1",
"description" : "Pétition sur l'écologie",
"encodedDocument": "JVBERi0xLjQgLi4u",
"sender" : "Nicolas Hulot",
"deadline" : "2019-02-25",
"notes" : {
"value" : "Veuillez signer ce document au plus vite",
"creator" : "S Stallone",
"creationDate" : "25-12-2019",
"signaturePosition": [['positionX' => 280, 'positionY' => 350, 'page' => 1]],
"datePositions" : [['font': 'Courier New', 'page': 1, 'size': 13, 'color': '#3f3481', 'width': 16, 'format': 'd MMMM y', 'height': 2, 'positionX': 64, 'positionY': 66]]
},
"linkId" : "azertyuiopmlkjhgdsqwxcvbn",
"workflow" : [
{
"processingUser" : "jjane@maarch.com",
"mode" : "visa",
"signatureMode" : "stamp"
},
{
"processingUser" : "PN256789",
"mode" : "sign",
"signatureMode" : "stamp"
}
],
"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') |
signatureMode |
string |
Mode de signature demandé (rgs_2stars_timestamped, rgs_2stars, inca_card_eidas, inca_card, eidas, stamp) |
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
{
"workflow": [
{
"userId" : 1,
"userDisplay" : "Jenny Jane",
"mode" : "visa",
"signatureMode" : "stamp",
"order" : 1,
"status" : "VAL",
"note" : "",
"processDate" : "20-06-2019 17:22"
},
{
"userId" : 2,
"userDisplay" : "Jackie Jane",
"mode" : "sign",
"signatureMode" : "stamp",
"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 |
notes |
array |
Note attaché au 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 |
Tableau décrivant les pièces jointes au document |
metadata |
array |
Données additionelles du document |
linkedDocuments |
array |
Identifiant des documents auquel est lié ce document |
status |
string |
Indique si la convertion du document est terminé (READY) ou non (CONVERTING) |
mailingID |
string |
Identifiant unique pour regrouper des documents issus d'un publipostage |
Exemple
{
"document": {
"id": 1,
"title": "Réponse pétition",
"reference": "2019/REF/1",
"description": "Pétition sur l'écologie",
"sender": "Nicolas Hulot",
"notes": null,
"creationDate": "2019-01-05 17:12:10.049202",
"modificationDate": "2019-01-06 17:12:10.049202",
"pages" : 2,
"status": "READY",
"mailingId": null,
"deadline": "2019-03-05",
"workflow": [
{
"userId": 1,
"userDisplay": "Jenny JANE",
"mode": "sign",
"processDate": null,
"current": true,
"signatureMode": "stamp",
"signaturePositions": [
{
"page": 1,
"sequence": 0,
"positionX": 37.7,
"positionY": 31.122088920254058
}
],
"datePositions": [
{
"font": "Arial",
"page": 1,
"size": 15,
"color": "#000000",
"width": 13,
"format": "d MMMM y",
"height": 2.117148906139732,
"sequence": 0,
"positionX": 11.9,
"positionY": 32.3923782639379
}
],
"userSignatureModes": [
"stamp",
"eidas",
"inca_card",
"rgs_2stars"
],
"note": null
},
{
"userId": 155,
"userDisplay": "Charlotte CHARLES",
"mode": "visa",
"processDate": null,
"current": false,
"signatureMode": "stamp",
"signaturePositions": [],
"datePositions": [],
"userSignatureModes": [
"stamp",
"eidas",
"inca_card",
"rgs_2stars"
],
"note": null
}
],
"attachments": [
{
"id": 295,
"title": "summarySheet.pdf",
"pages": 1
}
],
"metadata": [
{
"label": "Priorité",
"value": "Normal"
},
{
"label": "Entité initiatrice",
"value": "Pôle Jeunesse et Sport"
}
],
"linkedDocuments": [
{
"id": 689,
"title": "Demande de financement",
"reference": "MAARCH/2021D/1"
}
]
}
}
Récupération d'un document
Route
GET /rest/documents/{id}/content
Paramètres
Url
Valeur |
Type |
Obligatoire |
Description |
id |
string |
Oui |
Identifiant (int) du document |
type |
string |
Non |
Type de document demandé : doc (document avec les dernières modifications), original (document d'origine), esign (document avec les signatures électronique). Par défaut, la valeur est doc |
mode |
string |
Non |
Format du fichier retourné. Valeurs possibles : base64 ou stream |
Retour
Code Http |
Type |
Description |
200 |
array |
Document PDF encodé en base 64 (si mode = base64) |
200 |
flux |
Flux PDF (si mode = flux) |
400 |
array |
Message d'erreur |
La dernière version du document est retournée (Signé, annoté, etc...).
Données
Si mode = base64
Valeur |
Type |
Description |
encodedDocument |
base64 |
Document encodé en base64 |
Si mode = stream
Valeur |
Type |
Description |
Flux PDF |
flux |
Flux pdf |
Exemple
{
"encodedDocument": "JVBERi0x..."
}
Recherche de document dans le périmètre de l'utilisateur
Route
POST /rest/search/documents
Paramètres
URL
Valeur |
Type |
Obligatoire |
Description |
limit |
integer |
Non |
Nombre de résultat retourné |
offset |
stintegerring |
Non |
Utiliser pour décaler les lignes à retourner |
Body
Valeur |
Type |
Obligatoire |
Description |
documentId |
string |
Non |
Identifiant technique du document |
title |
string |
Non |
Titre du document |
reference |
string |
Non |
Référence du document |
workflowStates |
array |
Non |
Etat du circuit (PROG, STOP, VAL, REF) |
workflowUsers |
array |
Non |
Utilisateurs présent dans le circuit () |
Exemple
{
"title":"test",
"reference":"maarch",
"documentId":"190",
"workflowStates":["PROG","STOP","VAL","REF"],
"workflowUsers":[1]
}
Retour
Code Http |
Type |
Description |
200 |
array |
Documents trouvés |
Données
Valeur |
Type |
Description |
id |
int |
Identifiant technique du document |
title |
string |
Titre du document |
reference |
string |
Référence externe du document |
workflow |
array |
Tableau contenant le circuit du document |
typist |
int |
Identifiant technique de l'utilisateur ayant initié le circuit |
canInterrupt |
boolean |
Indique si l'utilisateur peut interrompre le circuit en cours |
canReaffect |
boolean |
Indique si l'utilisateur peut interrompre et redémarrer le circuit en cours |
state |
string |
Etat du circuit (PROG, STOP, VAL, REF) |
Exemple
{
"documents": [
{
"id": 692,
"title": "courrier_001",
"reference": "2021/03/23/courrier_001",
"typist": 1,
"canInterrupt": false,
"canReaffect": true,
"workflow": [
{
"userId": 175,
"userDisplay": "",
"mode": "sign",
"processDate": "23-03-2021 19:14",
"current": false,
"signatureMode": "stamp",
"status": "STOP",
"reason": null
}
],
"state": "STOP"
},
{
"id": 691,
"title": "Demande d'invitation",
"reference": "MAARCH/2021D/17",
"typist": null,
"canInterrupt": true,
"canReaffect": true,
"workflow": [
{
"userId": 1,
"userDisplay": "Jenny JANE",
"mode": "visa",
"processDate": "16-03-2021 16:36",
"current": false,
"signatureMode": "stamp",
"status": "VAL",
"reason": null
},
{
"userId": 1,
"userDisplay": "Barbara BAIN",
"mode": "sign",
"processDate": null,
"current": true,
"signatureMode": "stamp",
"status": null,
"reason": null
}
],
"state": "PROG"
}
}