Attachments
Création d'une pièce jointe
Route
POST /rest/attachments
Paramètres
Body
Valeur |
Type |
Obligatoire |
Description |
title |
string |
Non |
Sujet de la pièce jointe |
chrono |
string |
Non |
Numéro chrono, si vide sera généré |
resIdMaster |
int |
Oui |
Identifiant du courrier auquel est rattaché la pièce jointe (res_letterbox.res_id) |
type |
string |
Oui |
Type de pièce jointe |
status |
string |
Non |
Statut de la pièce jointe ("A_TRA", "TRA" ou "SIGN"), si vide sera "à traiter" |
encodedFile |
base64 |
Oui |
Fichier encodé en base64 |
format |
string |
Oui |
Format du fichier transmis |
originId |
int |
Non |
Identifiant de la pièce jointe originelle (à transmettre lors de la création d'une version ou d'une réponse signée) |
recipientId |
int |
Non |
Identifiant du contact de la pièce jointe (users.id ou contacts.id) |
recipientType |
string |
Non |
Type du contact ("user" ou "contact") |
typist |
int |
Non |
Identifiant du créateur de la pièce jointe (users.id) |
validationDate |
date |
Non |
Date de retour attendue |
effectiveDate |
date |
Non |
Date de retour effective |
externalId |
array |
Non |
Identifiants externes |
Exemple
Enregistrement d'une pièce jointe ayant pour sujet "Une lettre à envoyer" :
{
"title" : "Une lettre à envoyer",
"chrono" : "MAARCH/2019D/24",
"resIdMaster" : 92,
"type" : "response_project",
"format" : "PDF",
"encodedFile": "JVBERi0xLjQgLi4u",
"externalId" : {"companyId" : "123456789"}
}
Retour
Code Http |
Type |
Description |
Exemple |
200 |
array |
La pièce jointe a bien été créé |
['id' => 123] |
400 |
array |
Un paramètre obligatoire est manquant |
['errors' => 'Bad Request'] |
500 |
array |
Une erreur s'est produite |
['errors' => '[AttachmentController create] ...'] |
Récupération des pièces jointes associées à un courrier (triées par date de modification décroissante)
Route
GET /rest/resources/{resId}/attachments
Paramètres
URL
Valeur |
Type |
Obligatoire |
Description |
resId |
int |
Oui |
Identifiant du courrier |
limit |
int |
Non |
Nombre de pièces jointes retournées au maximum |
Retour
Code Http |
Type |
Description |
Exemple |
200 |
array |
Informations liées aux pièces jointes du courrier |
['attachments' => '[...]'] |
403 |
array |
Document hors du périmètre de l'utilisateur |
['errors' => 'Document out of perimeter'] |
403 |
array |
Le paramètre 'limit' n'est pas un entier |
['errors' => 'Query limit is not an integer'] |
Données
Valeur |
Type |
Description |
attachments |
array |
Liste des pièces jointes du courrier |
Données attachments
Valeur |
Type |
Description |
resId |
int |
Identifiant de la pièce jointe |
chrono |
string |
Numéro chrono de la pièce jointe |
title |
string |
Objet de la pièce jointe |
format |
string |
Extension de la pièce jointe |
creationDate |
timestamp without time zone |
Date de création de la pièce jointe |
modificationDate |
timestamp without time zone |
Date de dernière modification de la pièce jointe |
modifiedBy |
string |
Nom de la dernière personne ayant modifié la pièce jointe |
relation |
int |
Numéro de version de la pièce jointe |
status |
string |
Statut de la pièce jointe |
type |
string |
Identifiant du type de la pièce jointe |
typeLabel |
string |
Libellé du type de la pièce jointe |
typistLabel |
string |
Prénom Nom du créateur de la pièce jointe |
typist |
integer |
Identifiant du créateur de la pièce jointe |
inSignatureBook |
boolean |
Indique si la pièce jointe est intégrée au parapheur |
inSendAttach |
boolean |
Indique si la pièce jointe est intégrée aux envois Maileva |
Exemple
{
"attachments": [
{
"resId": 3825,
"chrono": "MAARCH/2020D/112",
"title": "Un courrier à enregistrer",
"typist": 19,
"modifiedBy": "",
"creationDate": "2020-03-20 15:49:51.595809",
"modificationDate": null,
"relation": 1,
"status": "A_TRA",
"type": "response_project",
"inSignatureBook": true,
"inSendAttach": false,
"typistLabel": "Barbara BAIN",
"typeLabel": "Projet de réponse",
"canConvert": true
}
],
"mailevaEnabled": false
}
Route
GET /rest/attachments/{id}/content
Paramètres
URL
Valeur |
Type |
Obligatoire |
Description |
id |
int |
Oui |
Identifiant de la pièce jointe |
mode |
string |
Non |
Format du fichier retourné. Valeurs possibles : base64 ou vide |
Retour
Code Http |
Type |
Description |
Exemple |
200 |
flux |
Données du fichier rétournées dans une chaîne |
Flux pdf |
403 |
array |
Document hors du périmètre de l'utilisateur |
['errors' => 'Document out of perimeter'] |
403 |
array |
La pièce jointe n'existe pas |
['errors' => 'Attachment not found'] |
400 |
array |
La zone de stockage des pièces jointes n'existe pas |
['errors' => 'Docserver does not exist'] |
400 |
array |
L'empreinte numérique du fichier ne correspond pas à celle de la base de données |
['errors' => 'Fingerprints do not match'] |
404 |
array |
Le fichier de la pièce jointe est introuvable |
['errors' => 'Attachment not found on docserver'] |
404 |
array |
La fichier pdf de la pièce jointe n'a pas pu être renvoyé |
['errors' => 'Document not found on docserver'] |
Données
Si mode est vide :
Valeur |
Type |
Description |
Flux pdf |
flux |
Flux pdf |
Si mode est base64 :
Valeur |
Type |
Description |
encodedDocument |
string |
Contenu fichier encodé en base64 |
originalFormat |
string |
Extension du fichier original |
filename |
string |
Nom de la pièce jointe |
mimeType |
string |
Mime type du fichier retourne |
signatoryId |
int |
Identifiant du signataire (si pièce jointe signée) |
Récupération de l'imagette de la pièce jointe
Route
GET /rest/attachments/{id}/thumbnail
Paramètres
URL
Valeur |
Type |
Obligatoire |
Description |
id |
int |
Oui |
Identifiant de la pièce jointe |
Retour
Code Http |
Type |
Description |
Exemple |
200 |
flux |
Données du fichier rétournées dans une chaîne |
Flux image |
403 |
array |
Document hors du périmètre de l'utilisateur |
['errors' => 'Document out of perimeter'] |
403 |
array |
La pièce jointe n'existe pas |
['errors' => 'Attachment not found'] |
400 |
array |
La zone de stockage des imagettes n'existe pas |
['errors' => 'Docserver does not exist'] |
404 |
array |
Le fichier imagette de la pièce jointe est introuvable |
['errors' => 'Thumbnail not found on docserver'] |
Données
Valeur |
Type |
Description |
Flux image |
flux |
Flux image |
Récupération des types de pièce jointes
Route
GET /rest/attachmentsTypes
Retour
Code Http |
Type |
Description |
Exemple |
200 |
array |
Informations des types |
['attachment_types' => '[...]'] |
500 |
array |
Erreur serveur |
['errors' => '...'] |
Données
Valeur |
Type |
Description |
attachmentTypes |
array |
Liste des types de pièce jointe disponibles pour l'application |
[identifiant du type de pièce jointe] =>
Valeur |
Type |
Description |
id |
integer |
Identifiant technique du type de pièce jointe |
typeId |
string |
Identifiant texte du type de pièce jointe |
label |
string |
Nom du type de pièce jointe |
icon |
string |
Lettre icone (Utilisé dans le parapheur) |
signable |
boolean |
Flag si le type de pièce jointe peut être signé dans le parapheur |
visible |
boolean |
Flag si le type de pièce peut être utilisé graphiquement dans le logiciel |
chrono |
boolean |
Flag indiquant si un numéro chrono sera généré à la création d'une pièce jointe avec ce type |
emailLink |
boolean |
Flag indiquant que les pièces jointes de ce type seront ajoutées par défaut à l'envoi d'un mail |
versionEnabled |
boolean |
Flag indiquant s'il est possible de créér une nouvelle version |
newVersionDefault |
boolean |
Permet de cocher par défaut une nouvelle version |
Exemple
{
"attachmentsTypes": {
"response_project": {
"id": 1,
"typeId": "response_project",
"label": "Projet de réponse",
"visible": true,
"emailLink": true,
"signable": true,
"icon": "R",
"chrono": true,
"versionEnabled": true,
"newVersionDefault": true
},
"signed_response": {
"id": 2,
"typeId": "signed_response",
"label": "Réponse signée",
"visible": false,
"emailLink": true,
"signable": false,
"icon": "",
"chrono": true,
"versionEnabled": true,
"newVersionDefault": true
}
}
}
Récupération d'une pièce jointe en fonction du numéro chrono
Route
GET /rest/attachmentsInformations?chrono={chrono}
Paramètres
URL
Valeur |
Type |
Obligatoire |
Description |
chrono |
string |
Oui |
Numéro chrono de la pièce jointe |
Retour
Code Http |
Type |
Description |
Exemple |
200 |
array |
Informations liées à la pièce jointe |
['resId' => 3825, ...] |
400 |
array |
Numéro chrono non défini |
['errors' => 'Query chrono is not set'] |
403 |
array |
Document hors du périmètre de l'utilisateur |
['errors' => 'Document out of perimeter'] |
Données
Valeur |
Type |
Description |
resId |
int |
Identifiant de la pièce jointe |
resIdMaster |
int |
Identifiant du courrier principal |
title |
string |
Objet de la pièce jointe |
status |
string |
Statut de la pièce jointe |
Exemple
{
"resId": 3825,
"resIdMaster": 2349,
"status": "A_TRA",
"title": "Réponse à votre demande"
}