Pièces jointes
Création d'une pièce jointe
Route
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
watermark
boolean
Non
Indique si un watermark doit être apposé ou non sur le document PDF récupéré. Si le paramètre n'existe pas, celui-ci est considéré à true par défaut.
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 du contenu original la pièce jointe
Route
GET /rest/attachments/{id}/originalContent
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 de la pièce jointe
400
array
Format de l'id incorrect
['errors' => 'Route id is not an integer']
400
array
Pièce jointe non trouvée
['errors' => 'Attachment not found']
400
array
La zone de stockage n'existe pas
['errors' => 'Docserver does not exist']
403
array
Document hors du périmètre de l'utilisateur
['errors' => 'Document out of perimeter']
404
array
Pièce jointe non trouvée dans la zone de stockage
['errors' => 'Attachment not found on docserver']
400
array
L'empreinte numérique du fichier ne correspond pas à celle de la base de données
['errors' => 'Fingerprints do not match']
400
array
La fichier pdf de la pièce jointe n'a pas pu être renvoyé
['errors' => 'Document not found on docserver']
400
array
Erreur à la lecture du fichier
['errors' => 'could not decode encoded data, or open target file']
400
array
Erreur lors du calcul de la taille du fichier ou récupération du mime/type
['errors' => 'could not compute mime type or file size']
Données
Si mode est vide :
Valeur
Type
Description
Flux
flux
Flux du document qui sera téléchargé
Si mode est base64 :
Valeur
Type
Description
encodedDocument
string
Contenu fichier encodé en base64
extension
string
Extension du fichier original
filename
string
Nom de la pièce jointe
mimeType
string
Mime type du fichier retourne
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"
}