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.
Le userId correspondant à l'identifiant technique de l'utilisateur (qui peut être remplacé par processingUser qui contient le login de l'utilisateur), et le paramètre mode peut avoir comme valeurs : '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" : [
        {
            "userId": 19, // ou bien "processingUser" : "jjane@maarch.com",
            "mode" : "visa",
            "signatureMode" : "stamp"
        },
        {
            "userId": 20, // ou bien "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"
        }
    ]
}

Récupération des informations d'un document

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"
    }
}

results matching ""

    No results matching ""