Guides

Personnalisez chaque e-mail : Comment les modèles d'e-mails personnalisés de Firma.dev fonctionnent

Texte alternatif : « Interface au thème sombre affichant un panneau de notifications personnalisable. Le texte indique « Personnalisez tout », avec « Tout » entouré en violet, ce qui évoque la personnalisation. »

Lorsque vous intégrez les signatures électroniques dans votre produit, vos clients ne devraient pas savoir quelle plateforme en est le moteur. L'expérience de signature doit être à votre image, y compris chaque e-mail automatisé envoyé au cours du processus. Firma.dev vous permet désormais de personnaliser chaque e-mail de notification que la plateforme envoie en votre nom, avec un contrôle total sur les objets, le corps HTML et les surcharges par espace de travail.

Vos clients voient votre marque, pas la nôtre

Chaque flux de travail de signature déclenche une série d'e-mails automatisés : l'invitation initiale, la notification du signataire suivant dans un flux séquentiel, les avis d'expiration, les messages d'annulation et les notifications de refus. Avant les modèles d'e-mail personnalisés, tous ces e-mails étaient envoyés avec les textes et la mise en forme par défaut de Firma.dev.

Désormais, vous contrôlez ces cinq éléments :

Type d'e-mail

Quand il est envoyé

signing_invite

Lorsqu'une demande de signature est envoyée pour la première fois à un destinataire

next_signer

Quand c'est au tour du signataire suivant dans l'ordre des signatures

signing_expired

Lorsqu'une demande de signature expire

signing_cancelled

Lorsqu'un expéditeur annule une demande de signature

signing_declined

Lorsqu'un signataire refuse de signer

L'objet (texte brut, 500 caractères max.) et le corps du message (HTML, 50 000 caractères max.) sont entièrement personnalisables pour chaque type. Vous pouvez faire correspondre exactement le ton, la mise en page, les couleurs et les textes de votre marque.

Variables dynamiques

Les modèles prennent en charge une syntaxe {{placeholder}} pour injecter des valeurs dynamiques au moment de l'envoi. La liste complète des variables disponibles peut être consultée via GET /email-templates/placeholders, et comprend celles que vous utiliserez le plus :

  • {{signing_link}} — le lien unique du signataire pour accéder au document

  • {{signer_name}} — le nom du destinataire

  • {{document_name}} — le nom de la demande de signature

Un exemple pratique de corps pour signing_invite :

<p>Bonjour {{signer_name}},</p>
<p>
  {{sender_name}} vous a envoyé un document à relire et à signer.
  Veuillez utiliser le lien ci-dessous pour y accéder.
</p>
<p>
  <a href="{{signing_link}}" style="background:#1a1a1a;color:#fff;padding:12px 24px;border-radius:4px;text-decoration:none;">
    Relire et Signer
  </a>
</p>
<p>Ce lien expire dans {{expiration_hours}} heures.</p>
<p>L'équipe {{company_name}}</p>
<p>Bonjour {{signer_name}},</p>
<p>
  {{sender_name}} vous a envoyé un document à relire et à signer.
  Veuillez utiliser le lien ci-dessous pour y accéder.
</p>
<p>
  <a href="{{signing_link}}" style="background:#1a1a1a;color:#fff;padding:12px 24px;border-radius:4px;text-decoration:none;">
    Relire et Signer
  </a>
</p>
<p>Ce lien expire dans {{expiration_hours}} heures.</p>
<p>L'équipe {{company_name}}</p>
<p>Bonjour {{signer_name}},</p>
<p>
  {{sender_name}} vous a envoyé un document à relire et à signer.
  Veuillez utiliser le lien ci-dessous pour y accéder.
</p>
<p>
  <a href="{{signing_link}}" style="background:#1a1a1a;color:#fff;padding:12px 24px;border-radius:4px;text-decoration:none;">
    Relire et Signer
  </a>
</p>
<p>Ce lien expire dans {{expiration_hours}} heures.</p>
<p>L'équipe {{company_name}}</p>

Note pour les développeurs : si le corps de votre modèle ne contient pas {{signing_link}}, l'API renvoie un avertissement lors de la sauvegarde. La sauvegarde réussit tout de même, mais l'avertissement est là pour éviter que le signataire ne reçoive un e-mail sans aucun moyen d'accéder à son document.

Modèles au niveau de l'entreprise et de l'espace de travail

Le système de modèles utilise une hiérarchie à trois niveaux : le modèle d'espace de travail est prioritaire, puis le modèle d'entreprise, puis le modèle par défaut intégré de Firma.dev. Cela vous offre deux modèles d'intégration naturels.

Définir un modèle par défaut au niveau de l'entreprise

Configurez votre modèle personnalisé une seule fois au niveau de l'entreprise et il s'appliquera à tous les espaces de travail qui n'ont pas leur propre surcharge. Le format du point de terminaison issu du journal des modifications de l'API :

PUT /company/email-templates/{email_type}
{
  "subject": "Veuillez signer : {{document_name}}",
  "body": "<p>Bonjour {{signer_name}},</p><p>Veuillez relire et signer en utilisant ce lien : {{signing_link}}</p>"
}
PUT /company/email-templates/{email_type}
{
  "subject": "Veuillez signer : {{document_name}}",
  "body": "<p>Bonjour {{signer_name}},</p><p>Veuillez relire et signer en utilisant ce lien : {{signing_link}}</p>"
}
PUT /company/email-templates/{email_type}
{
  "subject": "Veuillez signer : {{document_name}}",
  "body": "<p>Bonjour {{signer_name}},</p><p>Veuillez relire et signer en utilisant ce lien : {{signing_link}}</p>"
}

Surcharger par espace de travail

Pour les partenaires utilisant le modèle d'espace de travail client de Firma.dev, chaque espace de travail peut avoir ses propres modèles d'e-mail. Cet exemple curl est extrait du guide de marque blanche :

curl -X PUT https://api.firma.dev/functions/v1/signing-request-api/workspace/{workspace_id}/email-templates/signing_invite \
  -H "Authorization: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "subject": "Action requise : Veuillez signer {{document_name}}",
    "body": "<p>Bonjour {{signer_name}},</p><p>{{sender_name}} a demandé votre signature sur {{document_name}}.</p><p><a href=\"{{signing_link}}\">Signer maintenant</a></p><p>— L’équipe {{workspace_name}}</p>"
  }'
curl -X PUT https://api.firma.dev/functions/v1/signing-request-api/workspace/{workspace_id}/email-templates/signing_invite \
  -H "Authorization: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "subject": "Action requise : Veuillez signer {{document_name}}",
    "body": "<p>Bonjour {{signer_name}},</p><p>{{sender_name}} a demandé votre signature sur {{document_name}}.</p><p><a href=\"{{signing_link}}\">Signer maintenant</a></p><p>— L’équipe {{workspace_name}}</p>"
  }'
curl -X PUT https://api.firma.dev/functions/v1/signing-request-api/workspace/{workspace_id}/email-templates/signing_invite \
  -H "Authorization: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "subject": "Action requise : Veuillez signer {{document_name}}",
    "body": "<p>Bonjour {{signer_name}},</p><p>{{sender_name}} a demandé votre signature sur {{document_name}}.</p><p><a href=\"{{signing_link}}\">Signer maintenant</a></p><p>— L’équipe {{workspace_name}}</p>"
  }'

Un espace de travail desservant des clients en Allemagne pourrait utiliser des modèles en langue allemande aux couleurs spécifiques de ce client, tandis qu'un autre espace de travail utiliserait vos paramètres par défaut au niveau de l'entreprise.

La suppression d'un modèle d'espace de travail rétablit la valeur par défaut au niveau de l'entreprise pour cet espace de travail. La suppression du modèle d'entreprise rétablit le modèle par défaut intégré de Firma.dev. La chaîne de repli dispose ainsi toujours d'une option de secours.

Référence complète de l'API

Point de terminaison

Description

GET /company/email-templates

Lister tous les modèles au niveau de l'entreprise

PUT /company/email-templates/{email_type}

Créer ou mettre à jour un modèle d'entreprise

DELETE /company/email-templates/{email_type}

Supprimer un modèle d'entreprise

GET /workspace/{id}/email-templates

Lister tous les modèles d'espace de travail

GET /workspace/{id}/email-templates/{email_type}

Obtenir un modèle d'espace de travail spécifique

PUT /workspace/{id}/email-templates/{email_type}

Créer ou mettre à jour un modèle d'espace de travail

DELETE /workspace/{id}/email-templates/{email_type}

Supprimer un modèle d'espace de travail

GET /email-templates/defaults/{language}

Obtenir les valeurs par défaut intégrées pour une langue

GET /email-templates/placeholders

Obtenir toutes les variables disponibles

Le point de terminaison GET /email-templates/defaults/{language} est particulièrement utile comme point de départ : récupérez le modèle intégré pour votre langue cible, personnalisez-le, puis enregistrez-le. Pas besoin d'écrire le texte de l'e-mail de zéro.

Prise en main

Les modèles d'e-mail personnalisés sont disponibles à partir de la version 1.8.0 de l'API sans aucun changement perturbateur. Si vous êtes déjà intégré, vous pouvez commencer à personnaliser les e-mails dès aujourd'hui sans toucher à la logique existante des demandes de signature.

Commencez à utiliser Firma.dev gratuitement, sans carte de crédit requise. Toutes les demandes de signature sont au tarif de 0,049 par enveloppe, sans minimum mensuel.

  1. Titre

Image de fond

Prêt à ajouter des signatures électroniques à votre application ?

Commencez gratuitement. Aucune carte de crédit requise. Payez seulement 0,049 € par enveloppe lorsque vous serez prêt à lancer votre activité.

Image de fond

Prêt à ajouter des signatures électroniques à votre application ?

Commencez gratuitement. Aucune carte de crédit requise. Payez seulement 0,049 € par enveloppe lorsque vous serez prêt à lancer votre activité.

Image de fond

Prêt à ajouter des signatures électroniques à votre application ?

Commencez gratuitement. Aucune carte de crédit requise. Payez seulement 0,049 € par enveloppe lorsque vous serez prêt à lancer votre activité.