--- title: "Personnalisation des e-mails d’invitation" slug: "customizing-invitation-emails" updated: 2026-11-02T14:26:18Z published: 2026-11-02T14:26:18Z canonical: "docs.onespan.com/customizing-invitation-emails" --- > ## Documentation Index > Fetch the complete documentation index at: https://docs.onespan.com/llms.txt > Use this file to discover all available pages before exploring further. # Personnalisation des e-mails d’invitation [Java SDK](/v1/docs/fr/customizing-invitation-emails#java-sdk) [.NET SDK](/v1/docs/fr/customizing-invitation-emails#net-sdk) [REST API](/v1/docs/fr/customizing-invitation-emails#rest-api) [APEX SDK](/v1/docs/fr/customizing-invitation-emails#apex-sdk) ## Java SDK Pour télécharger l’exemple complet de code, consultez notre site [de partage de code](https://community.onespan.com/documentation/onespan-sign/codeshare/signer-specific-email-message-java-sdk/) . Lors de l’envoi de transactions à signer, vous pouvez personnaliser entièrement les emails reçus par vos signataires. La personnalisation peut être appliquée aussi bien au niveau de la transaction que par le signataire. Il y a une limite de 4 000 caractères pour les messages. La limite de 4 000 caractères s’applique au message tel qu’il est stocké, pas seulement au texte que vous voyez. Si votre message contient du HTML, les balises comptent dans la limite ainsi que le texte visible. Par exemple, Hello est stocké en 12 caractères, même si seulement 5 sont affichés. Ainsi, un message avec HTML peut dépasser la limite même lorsque le texte visible est bien en dessous de 4 000 caractères. Pour éviter cela, limitez la mise en forme HTML au minimum, ou laissez de la place en dessous de la limite lors de l’utilisation. ### Personnalisation des e-mails par transaction Vous pouvez ajouter un message au niveau de la transaction pour tous les signataires de la transaction. Le code suivant le fera. ```java DocumentPackage pkg = PackageBuilder.newPackageNamed("Example Package " + System.currentTimeMillis()).withEmailMessage("This is a package level email message.").......build(); ``` ### Personnalisation des e-mails par signataire Vous pouvez ajouter un message au niveau de la transaction pour chaque signataire dans la transaction. Les messages au niveau du signataire supplantent le message au niveau de la transaction. Le code suivant le fera. ```java Signer signer2=SignerBuilder.newSignerWithEmail("signer2@example.com") .withEmailMessage("This is a signer level email message for signer2.") ...... .build(); ``` ### Personnalisation des e-mails par transaction et signataire Le code suivant personnalisera les messages à la fois au niveau de la transaction et par signataire. ```java DocumentPackage pkg1 = PackageBuilder.newPackageNamed("Example Package " + System.currentTimeMillis())   .withSigner(SignerBuilder.newSignerWithEmail("signer1@example.com" )   .withFirstName("John")   .withLastName("Smith"))   .withSigner(SignerBuilder.newSignerWithEmail("signer2@example.com" )   .withFirstName("Marry")   .withLastName("Doe")    .withEmailMessage("This is a signer level email message for signer2."))   .withDocument(DocumentBuilder.newDocumentWithName("document 1")   .fromFile("P:\\Documents\\documents-example\\Test PDF.pdf")   .withSignature(SignatureBuilder.signatureFor("signer1@example.com")   .onPage(0)   .atPosition(100, 100)   .withSize(250, 75))   .withSignature(SignatureBuilder.signatureFor("signer2@example.com")   .onPage(0)   .atPosition(200, 100)   .withSize(250, 75)))    .withEmailMessage("This is a package level email message.")   .build(); ``` ### Résultats Voici un exemple de ce à quoi vous pouvez vous attendre une fois votre code exécuté. ![](https://cdn.document360.io/038f59a7-abd0-4c14-9de7-3434d28b49fd/Images/Documentation/email-message-1(3).png?sv=2026-02-06&spr=https&st=2026-11-13T10%3A21%3A05Z&se=2026-11-13T11%3A21%3A05Z&sr=c&sp=r&sig=lVzWYy2vW4jH2uACr0hjfckh%2BDYg3%2BRrP0yXDed9phk%3D) Signataire2 : ![](https://cdn.document360.io/038f59a7-abd0-4c14-9de7-3434d28b49fd/Images/Documentation/email-message-2-1.png?sv=2026-02-06&spr=https&st=2026-11-13T10%3A21%3A05Z&se=2026-11-13T11%3A21%3A05Z&sr=c&sp=r&sig=lVzWYy2vW4jH2uACr0hjfckh%2BDYg3%2BRrP0yXDed9phk%3D) ## .NET SDK Pour télécharger l’exemple complet de code, consultez notre site [de partage de code](https://community.onespan.com/documentation/onespan-sign/codeshare/signer-specific-email-message-net-sdk/) . Lors de l’envoi de transactions à signer, vous pouvez personnaliser entièrement les emails reçus par vos signataires. La personnalisation peut être appliquée aussi bien au niveau de la transaction que par le signataire. Il y a une limite de 4 000 caractères pour les messages. La limite de 4 000 caractères s’applique au message tel qu’il est stocké, pas seulement au texte que vous voyez. Si votre message contient du HTML, les balises comptent dans la limite ainsi que le texte visible. Par exemple, Hello est stocké en 12 caractères, même si seulement 5 sont affichés. Ainsi, un message avec HTML peut dépasser la limite même lorsque le texte visible est bien en dessous de 4 000 caractères. Pour éviter cela, limitez la mise en forme HTML au minimum, ou laissez de la place en dessous de la limite lors de l’utilisation. ### Personnalisation des e-mails par transaction Vous pouvez ajouter un message au niveau de la transaction pour tous les signataires de la transaction. Le code suivant le fera. ```csharp DocumentPackage pkg = PackageBuilder.NewPackageNamed("Example Package " + System.DateTime.Now)   .WithEmailMessage("This is a package level email message.")   ...... .Build(); ``` ### Personnalisation des e-mails par signataire Vous pouvez ajouter un message au niveau de la transaction pour chaque signataire dans la transaction. Les messages au niveau du signataire supplantent le message au niveau de la transaction. Le code suivant le fera. ```csharp Signer signer2 = SignerBuilder.NewSignerWithEmail("signer2@example.com")   .WithEmailMessage("This is a signer level email message for signer2.")   ...... .Build(); ``` ### Personnalisation des e-mails par transaction et signataire Le code suivant personnalisera les messages à la fois au niveau de la transaction et par signataire. ```csharp DocumentPackage pkg1 = PackageBuilder.NewPackageNamed("Example Package " + System.DateTime.Now)   .WithSigner(SignerBuilder.NewSignerWithEmail("signer1@example.com" )   .WithFirstName("John")   .WithLastName("Smith"))   .WithSigner(SignerBuilder.NewSignerWithEmail("signer2@example.com" )   .WithFirstName("Marry")   .WithLastName("Doe")    .WithEmailMessage("This is a signer level email message for signer2."))   .WithDocument(DocumentBuilder.NewDocumentNamed("document 1")   .FromFile("P:\\Documents\\documents-example\\Test PDF.pdf")   .WithSignature(SignatureBuilder.SignatureFor("signer1@example.com")   .OnPage(0)   .AtPosition(100, 100)   .WithSize(250, 75))   .WithSignature(SignatureBuilder.SignatureFor("signer2@example.com")   .OnPage(0)   .AtPosition(200, 100)   .WithSize(250, 75)))    .WithEmailMessage("This is a package level email message.")   .Build(); ``` ### Résultats Voici un exemple de ce à quoi vous pouvez vous attendre une fois votre code exécuté. ![](https://cdn.document360.io/038f59a7-abd0-4c14-9de7-3434d28b49fd/Images/Documentation/email-message-1(4).png?sv=2026-02-06&spr=https&st=2026-11-13T10%3A21%3A05Z&se=2026-11-13T11%3A21%3A05Z&sr=c&sp=r&sig=lVzWYy2vW4jH2uACr0hjfckh%2BDYg3%2BRrP0yXDed9phk%3D) Signataire2 : ![](https://cdn.document360.io/038f59a7-abd0-4c14-9de7-3434d28b49fd/Images/Documentation/email-message-2(2).png?sv=2026-02-06&spr=https&st=2026-11-13T10%3A21%3A05Z&se=2026-11-13T11%3A21%3A05Z&sr=c&sp=r&sig=lVzWYy2vW4jH2uACr0hjfckh%2BDYg3%2BRrP0yXDed9phk%3D) ## REST API Pour télécharger l’exemple complet de code, consultez notre site [de partage de code](https://community.onespan.com/documentation/onespan-sign/codeshare/signer-specific-email-message-rest-api/) . Lors de l’envoi de transactions à signer, vous pouvez personnaliser entièrement les emails reçus par vos signataires. La personnalisation peut être appliquée aussi bien au niveau de la transaction que par le signataire. Il y a une limite de 4 000 caractères pour les messages. La limite de 4 000 caractères s’applique au message tel qu’il est stocké, pas seulement au texte que vous voyez. Si votre message contient du HTML, les balises comptent dans la limite ainsi que le texte visible. Par exemple, Hello est stocké en 12 caractères, même si seulement 5 sont affichés. Ainsi, un message avec HTML peut dépasser la limite même lorsque le texte visible est bien en dessous de 4 000 caractères. Pour éviter cela, limitez la mise en forme HTML au minimum, ou laissez de la place en dessous de la limite lors de l’utilisation. ### Personnalisation des e-mails par transaction Vous pouvez ajouter un message au niveau de la transaction pour tous les signataires de la transaction. Le code suivant le fera. #### Requête HTTP `PUT /api/packages/{packageId}` #### En-têtes HTTP ```http Accept: application/json   Content-Type: application/json   Authorization: Basic api_key ``` #### Charge utile de demande ```http {   "emailMessage": "Changed package level email message."   } ``` ### Personnalisation des e-mails par signataire Vous pouvez ajouter un message au niveau de la transaction pour chaque signataire dans la transaction. Les messages au niveau du signataire supplantent le message au niveau de la transaction. Le code suivant le fera. #### Requête HTTP `POST /api/packages/{packageId}/roles` #### En-têtes HTTP ```http Accept: application/json   Content-Type: application/json   Authorization: Basic api_key ``` #### Charge utile de demande ```json { "emailMessage": { "content": "Please sign the documents ASAP." } , "id": "Signer5", "reassign": true, "type": "SIGNER", "signers": [ { "email": "mail32@example.com", "firstName": "John", "lastName": "Smith", "id": "Signer5" } ], "name": "Signer5" } ``` Pour une description complète de chaque champ, voir le tableau des charges utiles de demande ci-dessous. #### Charge utile de réponse ```json { "id": "Signer5", "data": null, "specialTypes": [], "emailMessage": { "content": "Please sign the documents ASAP." } , "attachmentRequirements": [], "locked": false, "reassign": true, "index": 0, "signers": [ { "group": null, "language": "en", "signature": null, "id": "Signer5", "delivery": { "provider": false, "email": false, "download": false } , "auth": { "scheme": "NONE", "challenges": [] } , "knowledgeBasedAuthentication": null, "data": null, "title": "", "company": "", "email": "mail32@example.com", "firstName": "John", "lastName": "Smith", "external": null, "updated": "2017-11-16T16:53:01Z", "phone": "", "professionalIdentityFields": [], "userCustomFields": [], "address": null, "created": "2017-11-16T16:53:01Z", "name": "", "specialTypes": [] } ], "name": "Signer5", "type": "SIGNER" } ``` ### Résultats Voici un exemple de ce à quoi vous pouvez vous attendre une fois votre code exécuté. ![](https://cdn.document360.io/038f59a7-abd0-4c14-9de7-3434d28b49fd/Images/Documentation/email-message-1-1.png?sv=2026-02-06&spr=https&st=2026-11-13T10%3A21%3A05Z&se=2026-11-13T11%3A21%3A05Z&sr=c&sp=r&sig=lVzWYy2vW4jH2uACr0hjfckh%2BDYg3%2BRrP0yXDed9phk%3D) ### Table des charges utiles de requêtes | Propriété | Type | Modifiable | Obligatoire | Par défaut | Valeurs d’échantillonnage | | --- | --- | --- | --- | --- | --- | | Propriété | Type | Modifiable | Obligatoire | Par défaut | Valeurs d’échantillonnage | | id | Corde | Oui | Non | N/D | Signer5 | | emailMessage | | | | | | | Contenu | Corde | Oui | Non | N/D | Veuillez signer les documents dès que possible. | | Nom | Corde | Oui | Non | N/D | Signer5 | | id | Corde | Oui | Non | N/D | Signer5 | | Type | Corde | Oui | Non | SIGNATAIRE | SIGNATAIRE / EXPÉDITEUR | | Signataires | | | | | | | Email | Corde | Oui | Non | N/D | mail32@example.com | | Prénom | Corde | Oui | Non | N/D | John | | Nom de famille | Corde | Oui | Non | N/D | Smith | | id | Corde | Oui | Non | N/D | Signer5 |