--- title: "Configuration des signatures facultatives" slug: "configuring-optional-signatures" updated: 2025-02-28T11:13:04Z published: 2025-02-28T11:13:04Z canonical: "docs.onespan.com/configuring-optional-signatures" --- > ## 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. # Configuration des signatures facultatives [SDK Java](/v1/docs/fr/configuring-optional-signatures#sdk-java) [.NET SDK](/v1/docs/fr/configuring-optional-signatures#net-sdk) [API REST](/v1/docs/fr/configuring-optional-signatures#api-rest) ## SDK Java Pour télécharger l'exemple complet de code, consultez notre site [Partage de code](https://community.onespan.com/documentation/onespan-sign/codeshare/text-tags-extraction-support-optional-signature-java-sdk). Les signatures facultatives donnent à vos signataires la possibilité de conclure une transaction sans qu'ils aient à signer tous les champs de signature de leurs documents. Cette fonction est utile pour les documents qui exigent du signataire qu'il accepte ou refuse certaines sections d'un formulaire. Remarque : Au moins un signataire doit avoir soit une signature requise, soit un document distinct « à accepter uniquement » pour qu'une transaction puisse être effectuée. Ceci n'inclut pas le formulaire de consentement par défaut. ### Création de signatures facultatives Le code suivant rendra l'objet Signature facultatif : ```java Signature fullnameOptionalSignature = SignatureBuilder.signatureFor("signer1@example.com")   .onPage(0)   .atPosition(100, 100)   .makeOptional()   .build(); ``` De même, makeOptional() est également disponible pour d'autres types de signature : ```java Signature captureOptionalSignature = SignatureBuilder.captureFor("signer1@example.com")   .onPage(0)   .atPosition(100, 200)   .makeOptional()   .build(); Signature initialsOptionalSignature = SignatureBuilder.initialsFor("signer1@example.com")   .onPage(0)   .atPosition(100, 300)   .makeOptional()   .build(); Signature mobileOptionalSignature = SignatureBuilder.mobileCaptureFor("signer1@example.com")   .onPage(0)   .atPosition(100, 400)   .makeOptional()   .build(); ``` Toute signature qui a été dénotée comme étant facultative sera clairement indiquée comme telle. Les signatures facultatives ne doivent pas nécessairement être signées pour confirmer une transaction. ### Création de signatures facultatives avec l'extraction de documents Pour rendre un champ de signature facultatif, appliquez le format suivant à votre formulaire PDF : ```java  [Signer.SigStyle#.Optional]   ``` La dernière partie .Optional est étendue afin de rendre la signature facultative. Voici quelques autres exemples : ![Capture](https://cdn.document360.io/038f59a7-abd0-4c14-9de7-3434d28b49fd/Images/Documentation/optional-signature-2(3).png?sv=2026-02-06&spr=https&st=2026-11-13T10%3A21%3A04Z&se=2026-11-13T11%3A21%3A04Z&sr=c&sp=r&sig=ZB7Zzi53rm6RNYGDEjP9A%2FrYbNwA2ck9ZVXj9qdnmXI%3D) > - Les signatures sont par défaut obligatoires; n'ajoutez donc .Optional que lorsque cela est nécessaire. > - La syntaxe des noms de formulaires PDF est insensible à la casse, y compris les éléments suivants : Role Name et Custom ID du signataire.[Agent1.Fullname1.Optional] est traité de la même manière que [AGENT1.FULLNAME1.OPTIONAL]. > - Cette extension syntaxique est uniquement disponible pour les signatures et ne sera pas reconnue lors de la création d'autres champs. Des noms comme [Agent1.Fullname1.Textfield1.Optional] ne fonctionneront pas. Une fois la transaction créée, toutes les signatures devraient apparaître comme prévu. ### Création de signatures facultatives avec l'extraction de balises de texte Le code suivant illustre la syntaxe d'une balise de texte : ```java {{Xesl[_fieldName]:roleName:fieldType[:parameter1,parameter2,...]}}   ``` Pour marquer cette signature comme facultative, changez le troisième caractère, X, en point d'interrogation ?. Sinon, toutes les signatures seront requises par défaut. Voici quelques exemples : ![Capture](https://cdn.document360.io/038f59a7-abd0-4c14-9de7-3434d28b49fd/Images/Documentation/2-20-3(2).png?sv=2026-02-06&spr=https&st=2026-11-13T10%3A21%3A04Z&se=2026-11-13T11%3A21%3A04Z&sr=c&sp=r&sig=ZB7Zzi53rm6RNYGDEjP9A%2FrYbNwA2ck9ZVXj9qdnmXI%3D) Dans cet exemple, {{?esl:Signer1:Signature}} signifie que la signature d'un nom complet facultatif est liée à Signer1. ## .NET SDK Pour télécharger l'exemple complet de code, consultez notre site [Partage de code](https://community.onespan.com/documentation/onespan-sign/codeshare/text-tags-extraction-support-optional-signature-net-sdk). Les signatures facultatives donnent à vos signataires la possibilité de conclure une transaction sans qu'ils aient à signer tous les champs de signature de leurs documents. Cette fonction est utile pour les documents qui exigent du signataire qu'il accepte ou refuse certaines sections d'un formulaire. Remarque : Au moins un signataire doit avoir soit une signature requise, soit un document distinct « à accepter uniquement » pour qu'une transaction puisse être effectuée. Ceci n'inclut pas le formulaire de consentement par défaut. ### Création de signatures facultatives Le code suivant rendra l'objet Signature facultatif : ```csharp Signature fullnameOptionalSignature = SignatureBuilder.SignatureFor("signer1@example.com")   .OnPage(0)   .AtPosition(100, 100)   .MakeOptional()   .Build(); ``` De même, la fonction MakeOptional() est également disponible pour d'autres types de signature : ```csharp Signature captureOptionalSignature = SignatureBuilder.CaptureFor("signer1@example.com")   .OnPage(0)   .AtPosition(100, 200)   .MakeOptional()   .Build(); Signature initialsOptionalSignature = SignatureBuilder.InitialsFor("signer1@example.com")   .OnPage(0)   .AtPosition(100, 300)   .MakeOptional()   .Build(); Signature mobileOptionalSignature = SignatureBuilder.MobileCaptureFor("signer1@example.com")   .OnPage(0)   .AtPosition(100, 400)   .MakeOptional()   .Build(); ``` ### Résultats Toute signature qui a été dénotée comme étant facultative sera clairement indiquée comme telle. Les signatures facultatives ne doivent pas nécessairement être signées pour confirmer une transaction. ### Création de signatures facultatives avec l'extraction de documents Pour rendre un champ de signature facultatif, appliquez le format suivant à votre formulaire PDF : ```csharp  [Signer.SigStyle#.Optional]   ``` La dernière partie .Optional est étendue afin de rendre la signature facultative. Voici quelques autres exemples : ![Capture](https://cdn.document360.io/038f59a7-abd0-4c14-9de7-3434d28b49fd/Images/Documentation/optional-signature-2(4).png?sv=2026-02-06&spr=https&st=2026-11-13T10%3A21%3A04Z&se=2026-11-13T11%3A21%3A04Z&sr=c&sp=r&sig=ZB7Zzi53rm6RNYGDEjP9A%2FrYbNwA2ck9ZVXj9qdnmXI%3D) > - Les signatures sont par défaut obligatoires; n'ajoutez donc .Optional que lorsque cela est nécessaire. > - La syntaxe des noms de formulaires PDF est insensible à la casse, y compris les éléments suivants : Role Name et Custom ID du signataire.[Agent1.Fullname1.Optional] est traité de la même manière que [AGENT1.FULLNAME1.OPTIONAL]. > - Cette extension syntaxique est uniquement disponible pour les signatures et ne sera pas reconnue lors de la création d'autres champs. Des noms comme [Agent1.Fullname1.Textfield1.Optional] ne fonctionneront pas. Une fois la transaction créée, toutes les signatures devraient apparaître comme prévu. ### Création de signatures facultatives avec l'extraction de balises de texte La ligne suivante illustre la syntaxe d'une balise de texte : ```csharp {{Xesl[_fieldName]:roleName:fieldType[:parameter1,parameter2,...]}}   ``` Pour marquer cette signature comme facultative, changez le troisième caractère, X, en point d'interrogation ?. Sinon, toutes les signatures seront requises par défaut. Voici quelques exemples : ![Capture](https://cdn.document360.io/038f59a7-abd0-4c14-9de7-3434d28b49fd/Images/Documentation/2-20-3(3).png?sv=2026-02-06&spr=https&st=2026-11-13T10%3A21%3A04Z&se=2026-11-13T11%3A21%3A04Z&sr=c&sp=r&sig=ZB7Zzi53rm6RNYGDEjP9A%2FrYbNwA2ck9ZVXj9qdnmXI%3D) Dans cet exemple, {{?esl:Signer1:Signature}} signifie que la signature d'un nom complet facultatif est liée à Signer1. ## API REST Pour télécharger l'exemple complet de code, consultez notre site [Partage de code](https://community.onespan.com/documentation/onespan-sign/codeshare/optional-signature-usage-net-rest). Les signatures facultatives donnent à vos signataires la possibilité de conclure une transaction sans qu'ils aient à signer tous les champs de signature de leurs documents. Cette fonction est utile pour les documents qui exigent du signataire qu'il accepte ou refuse certaines sections d'un formulaire. Remarque : Au moins un signataire doit avoir soit une signature requise, soit un document distinct « à accepter uniquement » pour qu'une transaction puisse être effectuée. Ceci n'inclut pas le formulaire de consentement par défaut. ### Création de signatures facultatives Le code suivant rendra l'objet Signature facultatif : Si vous avez besoin d'une comparaison avec la procédure de création d'objets de base, ou si c'est la première fois que vous créez une transaction, consultez la rubrique [](https://developer.esignlive.com/guides/quick-start/creating-and-sending-a-package-net/)[Création et envoi d'une transaction](/v1/docs/fr/creating-and-sending-a-transaction#api-rest). #### Requête HTTP ```http POST /api/packages ``` #### En-têtes HTTP ```http Accept: application/json   Content-Type: application/json   Authorization: Basic api_key ``` #### Données utiles de la demande ```json -- -- --WebKitFormBoundary1bNO60n7FqP5WO4t Content - Disposition: form - data; name = "file"; filename = "optional signature basic usage.pdf" Content - Type: application / pdf % PDF - 1.5 % µµµµ 1 0 obj < >>> endobj....-- -- --WebKitFormBoundary1bNO60n7FqP5WO4t Content - Disposition: form - data; name = "payload" {   "documents": [{      "approvals": [{         "fields": [{            "height": 50,            "left": 100,            "page": 0,            "subtype": "FULLNAME",            "top": 100,            "type": "SIGNATURE",            "width": 200         }],         "id": "signature1",         "role": "Role1"      }, {         "fields": [{            "height": 50,            "left": 100,            "page": 0,            "subtype": "FULLNAME",            "top": 300,            "type": "SIGNATURE",            "width": 200         }],         "id": "signature2",         "role": "Role1",         "optional": true      }],      "name": "Test Document"   }],   "name": "Optional Signature Basic Usage REST",   "roles": [{      "id": "Role1",      "signers": [{         "email": "signer1@example.com",         "firstName": "1.firstname",         "lastName": "1.lastname",         "company": "OneSpan Sign"      }]   }],   "type": "PACKAGE",   "status": "SENT" }-- -- --WebKitFormBoundary1bNO60n7FqP5WO4t-- ``` Pour une description complète de chaque champ, voir le tableau des données utiles de la demande ci-dessous. #### Données utiles de la réponse ```json {   "id": "7g-LhL0zEzN0jZi7Yccell7y6jA="   } ``` ### Résultats Toute signature qui a été dénotée comme étant facultative sera clairement indiquée comme telle. Les signatures facultatives ne doivent pas nécessairement être signées pour confirmer une transaction. ### Création de signatures facultatives avec l'extraction de documents Pour rendre un champ de signature facultatif, appliquez le format suivant à votre formulaire PDF : ```plaintext  [Signer.SigStyle#.Optional]   ``` La dernière partie .Optional est étendue afin de rendre la signature facultative. Voici quelques autres exemples : ![Capture](https://cdn.document360.io/038f59a7-abd0-4c14-9de7-3434d28b49fd/Images/Documentation/optional-signature-2(5).png?sv=2026-02-06&spr=https&st=2026-11-13T10%3A21%3A04Z&se=2026-11-13T11%3A21%3A04Z&sr=c&sp=r&sig=ZB7Zzi53rm6RNYGDEjP9A%2FrYbNwA2ck9ZVXj9qdnmXI%3D) > - Les signatures sont par défaut obligatoires; n'ajoutez donc .Optional que lorsque cela est nécessaire. > - La syntaxe des noms de formulaires PDF est insensible à la casse, y compris les éléments suivants : Role Name et Custom ID du signataire.[Agent1.Fullname1.Optional] est traité de la même manière que [AGENT1.FULLNAME1.OPTIONAL]. > - Cette extension syntaxique est uniquement disponible pour les signatures et ne sera pas reconnue lors de la création d'autres champs. Des noms comme [Agent1.Fullname1.Textfield1.Optional] ne fonctionneront pas.