Aller au contenu
Documentation

Personnaliser l'email d'invitation à signer

Changer l'objet de l'invitation, y ajouter un mot pour le signataire, ou lui donner votre propre modèle d'email — pour un envoi, ou une fois pour toutes dans un modèle de parcours.

5 min de lecture Mise à jour le 11 novembre 2026

Quand vient son tour, chaque signataire reçoit une invitation par email, avec le lien de sa page. Sans réglage, c'est le modèle d'email de Docage « Invitation à faire une action (participant) » :

  • objet : « Atelier Lumière vous invite à signer le parcours Contrat de prestation » ;
  • corps : « Bonjour Camille Martin, », la place d'un mot pour le signataire, le nom du parcours et de qui l'envoie, le bouton Accéder au parcours, et le rappel que ce lien lui est personnel.

L'email part sous la marque de l'organisation du parcours, et se traduit dans la langue du signataire.

Où se règle l'invitation

Les emails d'un parcours se règlent dans sa propriété MailSettings, par famille d'actions — jamais par participant : tous les signataires reçoivent la même invitation. Celle des signataires est MailSettings.SignatureMemberMailSettings.Invitation :

JSON
{
  "MailSettings": {
    "SignatureMemberMailSettings": {
      "Invitation": {
        "MailId": "abababab-0000-4000-8000-000000000007",
        "MailSubject": "{{Recipient_FirstName}}, votre contrat « {{Transaction_Name}} » est prêt à signer",
        "MailNote": "Comme convenu, voici le contrat de prestation.\nMerci de le signer avant vendredi."
      }
    }
  }
}
Propriété Ce qu'elle règle
MailId Le modèle d'email ; vide, celui de Docage. Un modèle de votre organisation, ou un modèle de Docage.
MailSubject L'objet, qui remplace celui du modèle ; vide, celui du modèle.
MailNote Un mot pour le signataire, posé à la place que le modèle lui réserve, sous la formule d'appel.

Les autres emails se règlent de même : Reminder (le rappel) et Completion (la signature faite) dans SignatureMemberMailSettings ; la validation dans ValidationMemberMailSettings, le formulaire dans FormMemberMailSettings ; la fin, le refus, l'annulation et l'expiration du parcours dans TransactionMemberMailSettings. Les réglages par défaut : GET https://staging-api.docage.com/Transactions/DefaultMailSettings.

1Un objet et un mot, pour un envoi sans modèle de parcours

Dans la clé Transaction de la création, ou dans le corps de POST https://staging-api.docage.com/Transactions :

cURL
curl -X POST "https://staging-api.docage.com/Transactions/CreateFullTransaction" \
  -H "Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9…" \
  -F 'Transaction={"Name":"Contrat de prestation","TransactionFiles":[{"FriendlyName":"Contrat","Name":"Contrat de prestation"}],"TransactionMembers":[{"FriendlyName":"Client","MemberRole":0,"SignMode":1}],"MailSettings":{"SignatureMemberMailSettings":{"Invitation":{"MailSubject":"{{Recipient_FirstName}}, votre contrat est prêt à signer","MailNote":"Comme convenu, voici le contrat de prestation.\nMerci de le signer avant vendredi."}}}}' \
  -F "Client=00000000-0000-4000-8000-000000000201" \
  -F "Contrat=@contrat-atelier-lumiere.pdf;type=application/pdf"

Ce que vous envoyez est gardé ; ce que vous laissez vide reprend les réglages de Docage.

  • La note est du texte : ses sauts de ligne sont gardés, ses champs ({{Recipient_FirstName}}…) remplis, et elle est traduite avec le reste de l'email.
  • L'objet accepte les mêmes champs. Un objet vide n'impose rien : l'email garde celui de son modèle.

2Avec un modèle de parcours : MailSettings remplace tout

Avec un TemplateId, une clé MailSettings dans Transaction remplace l'objet entier du modèle : les autres emails que le modèle avait personnalisés reviennent à ceux de Docage. Pour ne changer que l'invitation :

  1. créez le parcours en brouillon (?launchTransaction=false) ;
  2. lisez-le (GET https://staging-api.docage.com/Transactions/{id}) et modifiez MailSettings.SignatureMemberMailSettings.Invitation ;
  3. renvoyez l'objet MailSettings complet :
HTTP
PUT https://staging-api.docage.com/Transactions/cccccccc-0000-4000-8000-000000000003
Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9…
Content-Type: application/json

{ "MailSettings": { "SignatureMemberMailSettings": { "Invitation": { "MailId": "…", "MailSubject": "…", "MailNote": "…" }, "Reminder": { … }, "Start": { … }, "Completion": { … } }, "TransactionMemberMailSettings": { … }, … } }
  1. lancez-le : POST https://staging-api.docage.com/Transactions/LaunchTransaction/{id}.

Attention

Un PUT remplace l'objet entier, et ne complète rien : un email dont l'entrée manque perd son modèle, et ne part plus, sans erreur. Renvoyez toujours l'objet que vous avez lu, modifié.

3Votre propre modèle d'email

Un modèle d'email se crée par l'API, en HTML :

POST https://staging-api.docage.com/Mails
Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9…
Content-Type: application/json

{
  "Name": "Invitation à signer – Atelier Lumière",
  "IsTemplate": true,
  "DefaultMailType": 1,
  "Language": 1,
  "Subject": "{{Recipient_FirstName}}, votre contrat « {{Transaction_Name}} » est prêt à signer",
  "BodyType": 2,
  "BodyHtml": "<p>Bonjour {{Recipient_FirstName}},</p><p>{{Transaction_MailNote}}{{Organization_Name}} vous invite à {{Action_ToDoFullExpression}}.</p><p><a href=\"{{Link_Action}}\">Ouvrir le document</a></p><p>Ce lien vous est personnel : ne le transférez pas.</p>{{MessageSignature}}"
}

La réponse est l'identifiant du modèle. BodyType 2 est un corps HTML écrit à la main ; Language la langue dans laquelle il est écrit (1 français, 0 anglais) ; DefaultMailType 1 le range parmi les invitations.

Pour garder la mise en page de Docage, partez plutôt d'une copie de son modèle : son identifiant est le MailId de SignatureMemberMailSettings.Invitation dans GET https://staging-api.docage.com/Transactions/DefaultMailSettings ; POST https://staging-api.docage.com/Mails/Duplicate, avec la liste ["<identifiant>"], en fait une copie à votre organisation, que PUT https://staging-api.docage.com/Mails/{id} modifie. Le modèle de Docage lui-même ne se modifie pas.

Désignez ensuite le modèle dans Invitation :

JSON
{ "Invitation": { "MailId": "abababab-0000-4000-8000-000000000007", "MailSubject": "", "MailNote": "Merci de le signer avant vendredi." } }

Les champs d'une invitation

Champ Ce qu'il donne
{{Recipient_FirstName}}, {{Recipient_LastName}}, {{Recipient_Name}} Le signataire.
{{Transaction_Name}} Le nom du parcours.
{{Action_ToDoFullExpression}} Ce qu'il doit faire : « signer le parcours Contrat de prestation ».
{{Link_Action}} L'adresse de sa page : à mettre dans un lien ou un bouton.
{{Transaction_MailNote}} La place de la note.
{{Sender_Name}} Qui a créé le parcours — l'utilisateur de l'API.
{{Organization_Name}}, {{Organization_BrandName}} Votre organisation, et le nom de la marque sous laquelle elle est servie.
{{TransactionMember[Client]_FirstName}} Un participant désigné par son identifiant convivial.
{{MessageSignature}} La signature de message de qui a créé le parcours.

4Une fois pour toutes, dans un modèle de parcours

Préparez l'invitation dans le modèle de parcours — dans l'application, onglet Emails, ou par PUT https://staging-api.docage.com/Transactions/{id} sur le modèle, avec l'objet MailSettings complet. Chaque parcours créé depuis ce modèle en hérite, tant que sa création n'envoie pas de MailSettings. C'est la seule façon de changer l'invitation pour tous les envois : aucun réglage de l'organisation ne remplace le modèle de Docage.

5Vérifier avant d'envoyer

  • POST https://staging-api.docage.com/Transactions/MailPreview, avec MailId, MailType (1, l'invitation) et ActionType (3, la signature), rend le modèle et des valeurs d'exemple pour ses champs ; HasNoteSlot dit s'il a la place de la note.
  • Pour recevoir l'email lui-même, envoyez-vous un parcours d'essai ("IsTest": true), où vous êtes le signataire : il ne consomme rien.

Les pièges

  • Un MailId sans MailSubject reprend l'objet de Docage, dont les champs n'existent pas dans votre modèle : ils resteraient visibles. Donnez votre objet, ou "" pour garder celui de votre modèle.
  • Sans la place de la note ({{Transaction_MailNote}}), votre modèle ignore MailNote, sans erreur.
  • Un MailId qui n'est pas un modèle que vous voyez, de votre organisation ou de Docage, est refusé : « Ce modèle de message n'existe pas, ou vous n'y avez pas accès. » — 422 sur POST https://staging-api.docage.com/Transactions et PUT https://staging-api.docage.com/Transactions/{id}, 400 sur la création complète. La même règle vaut pour le SMS et le message WhatsApp du code de sécurité (SecurityCodeSms, SecurityCodeWhatsApp). Le modèle d'email qu'un modèle de parcours désigne déjà n'est pas jugé de nouveau.
  • Le lien du signataire n'existe que dans son email : n'éteignez pas l'invitation (NotifySignatureInvitationByMail à false) si vous ne lui donnez pas accès autrement.
  • Un champ qui ne se remplit pas reste écrit dans l'email : relisez l'aperçu.
  • Ne posez aucun destinataire « À » sur le modèle : le signataire l'est ; une copie (Cc, Cci) du modèle part avec chaque invitation.
  • Les anciennes propriétés InvitationEmailSubject, InvitationEmailBody, ReminderEmailSubject… sont encore acceptées, mais plus aucun envoi ne les lit ; MailBody, l'ancien réglage qui remplaçait tout le corps, est à éviter.
  • L'email du code de sécurité, envoyé au moment de signer, n'est pas un modèle : son texte est fixe.