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

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
{
    "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"
    },
    "linkId" : "azertyuiopmlkjhgdsqwxcvbn",
    "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
{
    "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'
        }
    ]
}

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
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,
        "deadline": "2019-03-05",
        "workflow": [
          {
            "userId": 1,
            "userDisplay": "Jenny JANE",
            "mode": "sign",
            "processDate": null,
            "current": true
          },
          {
            "userId": 155,
            "userDisplay": "Charlotte CHARLES",
            "mode": "visa",
            "processDate": null,
            "current": false
          }
        ],
        "attachments": [
          {
            "id": 295,
            "title": "summarySheet.pdf",
            "pages": 1
          }
        ],
        "metadata": [
          {
            "label": "Priorité",
            "value": "Normal"
          },
          {
            "label": "Entité initiatrice",
            "value": "Pôle Jeunesse et Sport"
          }
        ],
        "linkedDocuments": []
    }
}

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
{
    "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
user array Informations concernant 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
document array Informations concernant le document (seulement pour une action de validation d'un signataire)
Exemple
{
  "history": [
    {
      "code": "OK",
      "type": "CREATION",
      "user": {
        "id": 2,
        "email": "ccornillac@maarch.com",
        "firstname": "Clovis",
        "lastname": "CORNILLAC",
        "ip": "10.2.3.4"
      },
      "date": "19-03-2020 15:50",
      "message": "Pièce jointe ajoutée : summarySheet.pdf",
      "data": {
        "mainDocumentId": 250
      }
    },
    {
      "code": "OK",
      "type": "CREATION",
      "user": {
        "id": 2,
        "email": "ccornillac@maarch.com",
        "firstname": "Clovis",
        "lastname": "CORNILLAC",
        "ip": "10.2.3.4"
      },
      "date": "19-03-2020 15:50",
      "message": "Document ajouté : fsdfdssdsd",
      "data": []
    },
    {
      "code": "OK",
      "type": "VIEW",
      "user": {
        "id": 1,
        "email": "jjane@maarch.com",
        "firstname": "Jenny",
        "lastname": "JANE",
        "ip": "10.2.3.5"
      },
      "date": "24-03-2020 12:56",
      "message": "Document consulté : fsdfdssdsd",
      "data": []
    },
    {
      "code": "OK",
      "type": "ACTION",
      "user": {
        "id": 1,
        "email": "jjane@maarch.com",
        "firstname": "Jenny",
        "lastname": "JANE",
        "ip": "10.2.3.5"
      },
      "date": "24-03-2020 12:56",
      "message": "Action effectuée : VAL",
      "data": {
        "actionId": 1,
        "mode": "sign"
      },
      "document": {
        "filename": "0013_1634265441.pdf",
        "fingerprint": "9e697268b30a00da4347be2a24150d08308eb59d9309b47c8e437957d6ccb0df6de3daf5c5ec19e714f03e707a8a891574144b8a09b43a9398b55edb49b3ca5c",
        "mimeType": "application/pdf",
        "certificate": "subject=C = FR, ST = France, L = Nanterre, O = Maarch, OU = Maarch, CN = Maarch Parapheur, emailAddress = info@maarch.org\n\nissuer=C = FR, ST = France, L = Nanterre, O = Maarch, OU = Maarch, CN = Maarch Parapheur, emailAddress = info@maarch.org\n\n-----BEGIN CERTIFICATE-----\nMIIDpTCCAo0CFACXbEZoY0QvFPRAiprffUC/0KHVMA0GCSqGSIb3DQEBCwUAMIGO\nMQswCQYDVQQGEwJGUjEPMA0GA1UECAwGRnJhbmNlMREwDwYDVQQHDAhOYW50ZXJy\nZTEPMA0GA1UECgwGTWFhcmNoMQ8wDQYDVQQLDAZNYWFyY2gxGTAXBgNVBAMMEE1h\nYXJjaCBQYXJhcGhldXIxHjAcBgkqhkiG9w0BCQEWD2luZm9AbWFhcmNoLm9yZzAe\nFw0xOTA0MjUxNTUzMTBaFw0yOTA0MjIxNTUzMTBaMIGOMQswCQYDVQQGEwJGUjEP\nMA0GA1UECAwGRnJhbmNlMREwDwYDVQQHDAhOYW50ZXJyZTEPMA0GA1UECgwGTWFh\ncmNoMQ8wDQYDVQQLDAZNYWFyY2gxGTAXBgNVBAMMEE1hYXJjaCBQYXJhcGhldXIx\nHjAcBgkqhkiG9w0BCQEWD2luZm9AbWFhcmNoLm9yZzCCASIwDQYJKoZIhvcNAQEB\nBQADggEPADCCAQoCggEBAL3Xh43uVEaCpEdWWZ2RsmDyEuyqTArGX78JiAgcCvKW\nHt38KekplCXM3hi0JswV4Y2FQAjm5nIDilsNzoEBsJQ7LYb+hzwWhd6VZLDWIDWo\n0e7BwypobSyNKq9amc9NYeo305YH57mSWxZ5bXMY0zi0hOhK2gxptBPOxa+MSbh6\n2tv43/IrAwaVWaqJxWmSz98K4qRUmFaYZgaxDf8Ei6IzGYrIExxwCJVnktBmmoQj\ncqkecLMts1ZNgxbyJt1hvDN/2OhRX619ELQZO+P4BtS5x1QWvjtvLTEtET4RBAen\nsrs95kj98AJd2bxV+h0t5EhiLGYJtXFDmDGjIAk2+qUCAwEAATANBgkqhkiG9w0B\nAQsFAAOCAQEAeiWPQ1iWqT9YQYOXEcLOwSpXjXi/9FD8+2uMf3mEIHC0yhutI7lZ\nnLNJSYrCaS90HukOHdwdbvF877sd/1XK5fTgl74gASMHrSQNb5McW4zcIrkCT9Qt\nY/C9wgtYQ6GDcyo6PGfNO53j3RbWUdwlpozDtya45YN7zhv6aE190qSwQdZosQcg\nlLeOkTAz6E+e4bHhb/UHfxUQJZRqG7vF+eSon+DePnotlq0XWVLcE633T2ClJ4AV\nc6bFWemUYL8lBNIag99gifmv8tEoiUWDJ+Uag7rFPk2i9WEynnC3ClIUGctpsgdY\nvwGtPCqZDhv+XKX+ukMYvvAHhnRUcDS7XA==\n-----END CERTIFICATE-----\n\n"
      }
    }
  ]
}

results matching ""

    No results matching ""