Envois¶
Cette page décrit les contrats d'envoi de courriels associés aux courriers. Les routes de préparation de l'interface et les routes propres au connecteur d'envoi postal Maileva ne font pas partie du contrat intégrateur publié ici.
Créer un brouillon ou envoyer un courriel¶
Cette action crée un courriel. La valeur de status détermine si le courriel reste en brouillon ou entre dans le processus d'envoi.
Authentification, privilège et périmètre¶
L'authentification REST et le privilège sendmail sont obligatoires. Lorsque le body référence un courrier, celui-ci doit appartenir au périmètre de l'utilisateur. Les pièces jointes et les notes doivent appartenir à ce courrier et être visibles par l'utilisateur.
L'adresse de l'expéditeur doit faire partie des adresses autorisées pour l'utilisateur. Une configuration de serveur de courriel doit être présente.
Body JSON¶
| Valeur | Type | Obligatoire | Description |
|---|---|---|---|
status |
string | Oui | DRAFT conserve un brouillon. Toute autre valeur déclenche le processus d'envoi ; EXPRESS effectue l'envoi pendant la requête. |
isHtml |
boolean | Oui | Indique si body contient du HTML. Le HTML est nettoyé avant enregistrement. |
sender |
object | Oui hors brouillon | Expéditeur ; email est obligatoire hors brouillon et entityId est facultatif. |
recipients |
array | Oui hors brouillon | Destinataires. Un élément peut être une adresse textuelle ou un objet identifiant une adresse, un contact ou un utilisateur. |
cc |
array | Non | Destinataires en copie. |
cci |
array | Non | Destinataires en copie cachée. |
object |
string | Non | Objet du courriel, de 1 à 255 caractères lorsqu'il est renseigné. |
body |
string | Non | Corps du courriel. |
document |
object | Non | Courrier et éléments joints au courriel. |
document.id |
integer | Oui si document est renseigné |
Identifiant du courrier. |
document.isLinked |
boolean | Oui si document est renseigné |
Indique si le courrier est joint. |
document.original |
boolean | Oui si document est renseigné |
Indique si le fichier original du courrier est utilisé. |
document.attachments |
array d'object | Non | Pièces jointes, chacune avec id entier et original booléen. |
document.notes |
array d'integer | Non | Identifiants des notes jointes. |
{
"document": {
"id": 124,
"isLinked": false,
"original": false,
"attachments": [],
"notes": []
},
"sender": {
"email": "service@example.org"
},
"recipients": [
{
"email": "destinataire@example.org",
"type": "email"
}
],
"cc": [],
"cci": [],
"object": "Réponse à votre courrier",
"body": "Bonjour",
"isHtml": false,
"status": "DRAFT"
}
Retours et erreurs¶
| Code HTTP | Type | Description | Exemple |
|---|---|---|---|
200 |
object | Courriel créé. | {"id":42} |
400 |
object | status est absent, vide ou non textuel. |
{"errors":"Data status is not a string or empty"} |
400 |
object | L'expéditeur requis est absent. | {"errors":"Data sender email is not set"} |
400 |
object | Les destinataires requis sont absents. | {"errors":"Data recipients is not an array or empty"} |
400 |
object | isHtml n'est pas un booléen. |
{"errors":"Data isHtml is not a boolean or empty"} |
400 |
object | L'objet est invalide ou dépasse 255 caractères. | {"errors":"Data object is not a string or is more than 255 characters"} |
400 |
object | L'adresse ou l'entité de l'expéditeur n'est pas autorisée. | {"errors":"Data sender email is not allowed"} |
400 |
object | La structure de document est invalide. |
{"errors":"Data document errors"} |
400 |
object | L'empreinte du courrier ne correspond pas. | {"errors":"Document has fingerprints which do not match"} |
400 |
object | La configuration du serveur de courriel est absente. | {"errors":"Configuration is missing"} |
403 |
object | Le privilège sendmail est absent. |
{"errors":"Service forbidden"} |
403 |
object | Le courrier est hors périmètre. | {"errors":"Document out of perimeter"} |
403 |
object | Une pièce jointe ou une note est hors périmètre. | {"errors":"Attachment out of perimeter"} |
Les validateurs distinguent également les erreurs de structure Data document[attachments] is not an array, Data document[attachments] errors, Data document[notes] is not an array et Data document[notes] errors. Une note non visible renvoie Note out of perimeter avec le code 403.
Consulter un courriel¶
Cette action retourne un courriel lié à un courrier.
Authentification, privilège et périmètre¶
L'authentification REST est obligatoire. Aucun privilège fonctionnel supplémentaire n'est contrôlé. Le courrier lié doit appartenir au périmètre de l'utilisateur.
Le privilège view_confidential_contact_information détermine si les adresses confidentielles des contacts sont présentes dans la réponse.
Paramètre d'URL¶
| Valeur | Type | Obligatoire | Description |
|---|---|---|---|
id |
integer | Oui | Identifiant du courriel. |
Retours¶
| Code HTTP | Type | Description | Exemple |
|---|---|---|---|
200 |
object | Courriel et document associé. | Voir l'exemple. |
403 |
object | Le courriel n'existe pas. | {"errors":"Email not found"} |
403 |
object | Le courriel n'est pas lié à un courrier. | {"errors":"Email not linked to a resource"} |
403 |
object | Le courrier associé est hors périmètre. | {"errors":"Document out of perimeter"} |
{
"id": 42,
"sender": {
"email": "service@example.org",
"label": null
},
"recipients": [
{
"email": "destinataire@example.org",
"type": "email"
}
],
"cc": [],
"cci": [],
"userId": 19,
"object": "Réponse à votre courrier",
"body": "Bonjour",
"isHtml": false,
"status": "DRAFT",
"creationDate": "2026-08-06 10:30:00",
"sendDate": null,
"document": {
"id": 124,
"isLinked": false,
"original": false
}
}
Lister les courriels d'un courrier¶
Cette action retourne les courriels associés à un courrier. Les brouillons d'un autre utilisateur ne sont pas retournés.
Authentification, privilège et périmètre¶
L'authentification REST est obligatoire. Aucun privilège fonctionnel supplémentaire n'est contrôlé. Le courrier doit appartenir au périmètre de l'utilisateur. Le privilège view_confidential_contact_information régit l'affichage des adresses confidentielles.
Paramètres¶
| Emplacement | Valeur | Type | Obligatoire | Description |
|---|---|---|---|---|
| URL | resId |
integer | Oui | Identifiant du courrier. |
| Query string | limit |
integer | Non | Nombre maximal de courriels retournés. |
| Query string | type |
string | Non | ar filtre les accusés de réception, m2m les échanges machine à machine et email les autres courriels. Une autre valeur n'ajoute aucun filtre de type. |
Retours et erreurs¶
| Code HTTP | Type | Description | Exemple |
|---|---|---|---|
200 |
object | Tableau emails. Chaque élément reprend les données enregistrées du courriel. |
{"emails":[]} |
400 |
object | limit n'est pas un entier. |
{"errors":"Query limit is not an int value"} |
400 |
object | type n'est pas une chaîne. |
{"errors":"Query type is not a string value"} |
403 |
object | resId n'est pas un entier ou le courrier est hors périmètre. |
{"errors":"Document out of perimeter"} |
Modifier un courriel¶
Cette action remplace les données d'un courriel appartenant à l'utilisateur connecté. La valeur de status détermine si le courriel reste en brouillon ou entre dans le processus d'envoi.
Authentification, privilège et périmètre¶
L'authentification REST est obligatoire. Aucun privilège fonctionnel supplémentaire n'est contrôlé. Le courriel doit appartenir à l'utilisateur connecté.
Lorsqu'un courrier est référencé dans document, il doit appartenir au périmètre de l'utilisateur. Les pièces jointes doivent appartenir à ce courrier et les notes doivent être visibles par l'utilisateur. L'adresse de l'expéditeur doit faire partie des adresses autorisées pour l'utilisateur. Une configuration de serveur de courriel doit être présente.
Paramètre d'URL¶
| Valeur | Type | Obligatoire | Description |
|---|---|---|---|
id |
integer | Oui | Identifiant du courriel. |
Body JSON¶
| Valeur | Type | Obligatoire | Description |
|---|---|---|---|
status |
string | Oui | Valeurs acceptées : DRAFT, WAITING ou EXPRESS. DRAFT conserve le brouillon ; une autre valeur place le courriel au statut WAITING et déclenche le processus d'envoi. |
isHtml |
boolean | Oui | Indique si body contient du HTML. Le HTML est nettoyé avant enregistrement. |
sender |
object | Oui hors brouillon | Expéditeur ; email est obligatoire hors brouillon et entityId est facultatif. |
recipients |
array | Oui hors brouillon | Destinataires. Un élément peut être une adresse textuelle ou un objet identifiant une adresse, un contact, un utilisateur ou une entité. |
cc |
array | Non | Destinataires en copie. |
cci |
array | Non | Destinataires en copie cachée. |
object |
string | Non | Objet du courriel, de 1 à 255 caractères lorsqu'il est renseigné. |
body |
string | Non | Corps du courriel. |
document |
object | Non | Courrier et éléments joints au courriel. |
document.id |
integer | Oui si document est renseigné |
Identifiant du courrier. |
document.isLinked |
boolean | Oui si document est renseigné |
Indique si le courrier est joint. |
document.original |
boolean | Oui si document est renseigné |
Indique si le fichier original du courrier est utilisé. |
document.attachments |
array d'object | Non | Pièces jointes, chacune avec id entier et original booléen. |
document.notes |
array d'integer | Non | Identifiants des notes jointes. |
Cette route applique une mise à jour complète : les propriétés facultatives omises sont remplacées par leur valeur vide ou par null.
{
"document": {
"id": 124,
"isLinked": false,
"original": false,
"attachments": [],
"notes": []
},
"sender": {
"email": "service@example.org"
},
"recipients": [
{
"email": "destinataire@example.org",
"type": "email"
}
],
"cc": [],
"cci": [],
"object": "Réponse mise à jour",
"body": "Bonjour",
"isHtml": false,
"status": "DRAFT"
}
Retours et erreurs¶
| Code HTTP | Type | Description | Exemple |
|---|---|---|---|
204 |
aucun | Courriel modifié. Aucun contenu n'est retourné. | |
400 |
object | id est vide ou n'est pas un entier. |
{"errors":"Param id is not an integer or empty"} |
400 |
object | Le courriel n'existe pas. | {"errors":"Email does not exist"} |
400 |
object | status est absent, vide, non textuel ou non autorisé. |
{"errors":"Data status is not allowed"} |
400 |
object | L'expéditeur ou les destinataires requis sont absents. | {"errors":"Data recipients is not an array or empty"} |
400 |
object | isHtml, l'objet, le corps ou un destinataire est invalide. |
{"errors":"Data isHtml is not a boolean or empty"} |
400 |
object | L'adresse ou l'entité de l'expéditeur n'est pas autorisée. | {"errors":"Data sender email is not allowed"} |
400 |
object | La structure de document est invalide. |
{"errors":"Data document errors"} |
400 |
object | L'empreinte du courrier ne correspond pas. | {"errors":"Document has fingerprints which do not match"} |
400 |
object | La configuration du serveur de courriel est absente. | {"errors":"Configuration is missing"} |
403 |
object | Le courriel appartient à un autre utilisateur. | {"errors":"Email out of perimeter"} |
403 |
object | Le courrier est hors périmètre. | {"errors":"Document out of perimeter"} |
403 |
object | Une pièce jointe ou une note est hors périmètre. | {"errors":"Attachment out of perimeter"} |
Les validateurs distinguent également les erreurs de structure Data document[attachments] is not an array, Data document[attachments] errors, Data document[notes] is not an array et Data document[notes] errors. Une note non visible renvoie Note out of perimeter avec le code 403.
Supprimer son courriel¶
Cette action supprime un courriel créé par l'utilisateur connecté.
Authentification, privilège et périmètre¶
L'authentification REST est obligatoire. Aucun privilège fonctionnel supplémentaire n'est contrôlé. Le courriel doit appartenir à l'utilisateur connecté.
Paramètre d'URL¶
| Valeur | Type | Obligatoire | Description |
|---|---|---|---|
id |
integer | Oui | Identifiant du courriel. |
Retours et erreurs¶
| Code HTTP | Type | Description | Exemple |
|---|---|---|---|
204 |
aucun | Courriel supprimé. | |
400 |
object | Le courriel n'existe pas. | {"errors":"Email does not exist"} |
403 |
object | Le courriel appartient à un autre utilisateur. | {"errors":"Email out of perimeter"} |