--- title: "Adding Fields" slug: "adding-fields" updated: 2024-11-18T12:49:46Z published: 2024-11-18T12:49:46Z canonical: "docs.onespan.com/adding-fields" --- > ## 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. # Ajout de champs [Java SDK](/v1/docs/fr/adding-fields#java-sdk) [.NET SDK](/v1/docs/fr/adding-fields#kit-de-développement-logiciel-sdk-net) [REST API](/v1/docs/fr/adding-fields#rest-api) [APEX SDK](/v1/docs/fr/adding-fields#apex-sdk) ## Java SDK Pour télécharger l’exemple de code complet, consultez notre site [Code Share](https://community.onespan.com/documentation/onespan-sign/codeshare/fields-example-java-sdk/) . Les champs permettent de placer des données supplémentaires dans un document au moment de la signature. À l’instar des champs de signature, les champs sans signature peuvent être placés n’importe où dans un document. Néanmoins, chaque champ est lié à une signature particulière. Seul le signataire de cette signature peut attribuer ou modifier la valeur du champ. Cependant, une fois la signature signée, la valeur du champ ne peut être modifiée par personne. Vous ne pouvez pas ajouter de champs à : (1) des documents qui sont Accepter uniquement ; (2) le formulaire de consentement électronique ; (3) les documents dans le cadre d’une transaction accessible. ### Ajout d’un champ à un document Pour ajouter un champ sur un document, vous devez d’abord créer votre objet Field à l’aide du OneSpan Sign FieldBuilder. Pour ce faire, le code suivant : ```java Field field = FieldBuilder.label()    .withId(new FieldId("myLabelField"))    .withValue("Example label field value")    .atPosition(100, 200)    .onPage(0)    .build(); ``` Ensuite, à l’aide duservice d’approbation OneSpan Sign, ajoutez votre champ à votre document. Utilisez l’objet Field , PackageID, SignatureID et documentID comme paramètres. Pour ce faire, le code suivant : ```java String labelFieldId = client.getApprovalService().addField(    packageId,    "sample-contract",    signatureid,    field ); ``` ### Mise à jour d’un champ dans un document Il est important de noter que lors de la mise à jour d’un champ, votre nouvel objet Field doit avoir le même id que le champ que vous souhaitez mettre à jour. Pour ce faire, le code suivant : ```java Field updatedField = FieldBuilder.signatureDate()    .onPage(0)    .withId(new FieldId("myLabelField"))    .atPosition(100, 200)    .build(); client.getApprovalService().updateField(    packageId,    "sample-contract",    new SignatureId("ExampleSignatureId"),    updatedField ); ``` ### Suppression d’un champ dans un document Pour supprimer un champ, utilisez leservice d’approbation OneSpan Sign. Utilisez l’objet Field , PackageID, SignatureID et documentID comme paramètres. Pour ce faire, le code suivant : ```java client.getApprovalService().deleteField(    packageId,    "sample-contract",    new SignatureId("ExampleSignatureId"),    new FieldId("myLabelField") ); ``` ### Résultats Une fois que vous avez exécuté votre code, vos champs apparaîtront dans les documents de votre transaction. ## Kit de développement logiciel (SDK) .NET Pour télécharger l’exemple de code complet, consultez notre site [Code Share](https://community.onespan.com/documentation/onespan-sign/codeshare/fields-example-net-sdk/) . Les champs permettent de placer des données supplémentaires dans un document au moment de la signature. À l’instar des champs de signature, les champs sans signature peuvent être placés n’importe où dans un document. Néanmoins, chaque champ est lié à une signature particulière. Seul le signataire de cette signature peut attribuer ou modifier la valeur du champ. Cependant, une fois la signature signée, la valeur du champ ne peut être modifiée par personne. Vous ne pouvez pas ajouter de champs à : (1) des documents qui sont Accepter uniquement ; (2) le formulaire de consentement électronique ; (3) les documents dans le cadre d’une transaction accessible. ### Ajout d’un champ à un document Pour ajouter un champ sur un document, vous devez d’abord créer votre objet Field à l’aide du OneSpan Sign FieldBuilder, comme indiqué ci-dessous. ```csharp Field field = FieldBuilder.Label()    .WithId("myLabelField")    .WithValue("Example label field value")    .AtPosition(100, 200)    .OnPage(0)    .Build(); ``` Ensuite, à l’aide duservice d’approbation OneSpan Sign, ajoutez votre champ à votre document. Utilisez l’objet Field , PackageID, SignatureID et documentID comme paramètres. Pour ce faire, le code suivant : ```csharp string labelFieldId = client.ApprovalService.AddField(    packageId,    "sample-contract",    signatureid,    field ); ``` ### Mise à jour d’un champ dans un document Il est important de noter que lors de la mise à jour d’un champ, votre nouvel objet Field doit avoir le même id que le champ que vous souhaitez mettre à jour. Pour ce faire, le code suivant : ```csharp Field updatedField = FieldBuilder.SignatureDate()    .OnPage(0)    .WithId("myLabelField")    .AtPosition(100, 200)    .Build(); client.ApprovalService.ModifyField(    packageId,    "sample-contract",    new SignatureId("ExampleSignatureId"),    updatedField ); ``` ### Suppression d’un champ dans un document Pour supprimer un champ, utilisez leservice d’approbation OneSpan Sign. Utilisez l’objet Field , PackageID, SignatureID et documentID comme paramètres. Pour ce faire, le code suivant : ```csharp client.ApprovalService.DeleteField(    packageId,    "sample-contract",    new SignatureId("ExampleSignatureId"),    "myLabelField" ); ``` ### Résultats Une fois que vous avez exécuté votre code, vos champs apparaîtront dans les documents de votre transaction. ## REST API Pour télécharger l’exemple de code complet, consultez notre site [Code Share](https://community.onespan.com/documentation/onespan-sign/codeshare/fields-example-rest-api/) . Les champs permettent de placer des données supplémentaires dans un document au moment de la signature. À l’instar des champs de signature, les champs sans signature peuvent être placés n’importe où dans un document. Néanmoins, chaque champ est lié à une signature particulière. Seul le signataire de cette signature peut attribuer ou modifier la valeur du champ. Cependant, une fois la signature signée, la valeur du champ ne peut être modifiée par personne. Vous ne pouvez pas ajouter de champs à : (1) des documents qui sont Accepter uniquement ; (2) le formulaire de consentement électronique ; (3) les documents dans le cadre d’une transaction accessible. ### Ajout d’un champ à un document L’exemple de demande ci-dessous vous montre comment ajouter un champ à un document existant : #### Requête HTTP ```http POST /api/packages/{packageId}/documents/{documentId}/approvals/{approvalId}/fields ``` #### En-têtes HTTP ```http Accept: application/json; esl-api-version=11.21   Content-Type: application/json   ``` #### Charge utile de la demande ```json {    "name": "Signer Name",    "top": 500,    "left": 300,    "width": 100,    "height": 30,    "page": 0,    "type": "INPUT",    "value": null,    "binding": "{signer.name}",    "subtype": "LABEL" } ``` #### Charge utile de réponse ```json {    "binding": "{signer.name}",    "validation": null,    "id": "BsZv3XvmpsMH",    "page": 0,    "data": null,    "subtype": "LABEL",    "top": 500,    "height": 30,    "extractAnchor": null,    "width": 100,    "extract": false,    "left": 300,    "type": "INPUT",    "value": "{signer.name}",    "name": "Signer Name" } ``` ### Mise à jour d’un champ dans un document Il est important de noter que lors de la mise à jour d’un champ, votre nouvel objet Field doit avoir le même id que le champ que vous souhaitez mettre à jour. Pour mettre à jour un champ, vous devrez effectuer une requête PUT à l’adresse suivante : ```plaintext https://sandbox.esignlive.com/api/packages/{packageId}/documents/{documentId}/approvals/{signatureId}/fields/{fieldId} ``` Avec les paramètres de champ mis à jour : ```json {    "id": "myLabelField",    "top": 200,    "left": 100,    "width": 250,    "height": 50,    "page": 0,    "type": "INPUT",    "binding": "{approval.signed}",    "subtype": "LABEL" } ``` ### Suppression d’un champ dans un document La suppression d’un champ se fait en effectuant une requête DELETE à : ```plaintext https://sandbox.esignlive.com/api/packages/{packageId}/documents/{documentId}/approvals/{signatureId}/fields/{fieldId} ``` ### Résultats Une fois que vous avez exécuté votre code, vos champs apparaîtront dans les documents de votre transaction. ### Champs de création de formulaires Vous trouverez ci-dessous une description des paramètres et du code JSON qui peuvent être utilisés pour ajouter des champs à un document. #### Champs de signature | **Champ** | **Usage** | **JSON** | | --- | --- | --- | | Signature | Utilisé pour recueillir la signature d’un destinataire. | ```json { "type": "SIGNATURE", "subtype": "FULLNAME", "id": "signer1_signature1", "name": "signer1_signature1", "width": 185.5958549222798, "height": 41.24352331606218, "left": 305.2020725388601, "top": 357.5083117443869, "page": 0 } ``` | #### Champs de saisie | **Champ** | **Usage** | **JSON** | | --- | --- | --- | | Champ de texte | Ce champ accepte tout texte saisi par le signataire avant la signature. | ```json { "type": "INPUT", "subtype": "TEXTFIELD", "id": "signer1_textfield1", "name": "signer1_textfield1", "validation": { "required": false, "maxLength": null, "errorMessage": "", "minLength": null, "pattern": "" }, "value": "default value", "width": 185.5958549222798, "height": 41.24352331606218, "left": 305.2020725388601, "top": 425, "page": 0 } ``` | | Zone de texte | Il s’agit d’une zone multiligne qui accepte tout texte saisi par le signataire avant la signature. | ```json { "type": "INPUT", "subtype": "TEXTAREA", "id": "signer1_textarea1", "name": "signer1_textarea1", "validation": { "required": false, "maxLength": null, "errorMessage": "", "minLength": null, "pattern": "" }, "value": "line1\nline2\nline3", "width": 185.5958549222798, "height": 41.24352331606218, "left": 305.2020725388601, "top": 476, "page": 0 } ``` | | Case à cocher (avec groupe de cases à cocher) | Il s’agit d’une case à cocher que le signataire peut sélectionner ou désactiver. Utilisez des cases à cocher lorsque vous souhaitez permettre aux signataires de choisir plusieurs options dans une liste. Utilisez l’option Groupe de cases à cocher pour placer les cases sélectionnées dans un groupe de cases associées. Si l’expéditeur définit une case dans un groupe comme requis, le signataire doit sélectionner au moins un membre du groupe lors de la signature. | ```json { "type": "INPUT", "subtype": "CHECKBOX", "id": "signer1_checkbox1", "name": "signer1_checkbox1", "validation": { "required": false, "group": "CheckboxGroup1", "minimumRequired": 1, "maximumRequired": null }, "value": "X", "tooltip": "field tooltip", "width": 20, "height": 20, "left": 453, "top": 789, "page": 0 } ``` | | Case à cocher (sans groupe de cases à cocher) | | ```json { "type": "INPUT", "subtype": "CHECKBOX", "id": "signer1_checkbox2", "name": "signer1_checkbox2", "value": "X", "tooltip": "field tooltip", "width": 20, "height": 20, "left": 453, "top": 789, "page": 0 } ``` | | Radio | Les cases d’option permettent aux signataires de sélectionner l’une des nombreuses options prédéfinies. Utilisez les cases d’option lorsque vous souhaitez que les signataires ne choisissent qu’une seule option. Utilisez Groupe radio pour placer les cases d’option sélectionnées dans un groupe de boutons associés. Vous pouvez identifier un bouton du groupe comme étant le bouton par défaut, ce qui vous permet de vous assurer qu’il sera présélectionné. | ```json { "type": "INPUT", "subtype": "RADIO", "id": "signer1_radio1", "name": "signer1_radio1", "validation": { "required": true, "enum": [ "RadioGroup1" ] }, "value": "X", "tooltip": "field tooltip", "width": 18.0, "height": 18.0, "left": 389.0, "top": 785.0, "page": 0 } } ``` | | Liste | Il s’agit d’une liste déroulante qui offre aux destinataires plusieurs options prédéfinies. Le signataire peut choisir une option dans la liste. Une fois cette option sélectionnée, seule cette option est affichée, minimisant ainsi la quantité d’espace que cet élément occupe à l’écran. | ```json { "type": "INPUT", "subtype": "LIST", "id": "signer1_list1", "name": "signer1_list1", "validation": { "required": false, "enum": [ "option1", "option2", "option3" ] }, "value": "option1", "tooltip": "field tooltip", "width": 249.0, "height": 55.0, "left": 274.0, "top": 813.0, "page": 0 } ``` | | Étiquette | Il s’agit d’une étiquette en lecture seule qui sera estampillée sur le PDF. | ```json { "type": "INPUT", "subtype": "LABEL", "id": "signer1_label1", "name": "signer1_label1", "value": "label value", "width": 185.5958549222798, "height": 41.24352331606218, "left": 305.2020725388601, "top": 626, "page": 0 } ``` | #### Champs de liaison | **Champ** | **Usage** | **JSON** | | --- | --- | --- | | Date de signature | Ce champ automatique tamponne le document avec la date et l’heure de la signature. | ```json { "type": "INPUT", "subtype": "LABEL", "id": "signer1_signingdate1", "name": "signer1_signingdate1", "binding": "{approval.signed}", "width": 185.5958549222798, "height": 41.24352331606218, "left": 305.2020725388601, "top": 357.5083117443869, "page": 0 } ``` | | Nom du signataire | Ce champ automatique tamponne le document avec le nom du signataire tel qu’il a été saisi dans la transaction. | ```json { "type": "INPUT", "subtype": "LABEL", "id": "signer1_signername", "name": "signer1_signername", "binding": "{signer.name}", "width": 185.5958549222798, "height": 41.24352331606218, "left": 305.2020725388601, "top": 562, "page": 0 } ``` | | Titre du signataire | Ce champ automatique tamponne le document avec le titre du signataire tel qu’il a été saisi dans la transaction. | ```json { "type": "INPUT", "subtype": "LABEL", "id": "signer1_signertitle", "name": "signer1_signertitle", "binding": "{signer.title}", "width": 185.5958549222798, "height": 41.24352331606218, "left": 305.2020725388601, "top": 613, "page": 0 } ``` | | Entreprise signataire | Ce champ automatique tamponne le document avec le nom de l’entreprise du signataire tel qu’il a été saisi dans la transaction. | ```json { "type": "INPUT", "subtype": "LABEL", "id": "signer1_signercompany", "name": "signer1_signercompany", "binding": "{signer.company}", "width": 185.5958549222798, "height": 41.24352331606218, "left": 305.2020725388601, "top": 664, "page": 0 } ``` | #### **Champs d’impression** | **Champ** | **Usage** | **JSON** | | --- | --- | --- | | Étiquette d’impression | Type de champ qui peut être placé sur les documents lors de la création de la transaction, qui n’est lié à aucun signataire ou signature. Cela garantit que les informations que l’expéditeur saisit dans ces champs sont visibles par tous les destinataires et restent inchangées tout au long du processus de signature. | ```json { "type": "INPUT", "subtype": "LABEL", "id": "imprintlabel1", "name": "imprintlabel1", "value": "imprint field value", "width": 185.5958549222798, "height": 41.24352331606218, "left": 305.2020725388601, "top": 357.5083117443869, "page": 0 } ``` | | Document ID | L’identificateur du document. | ```json { "type": "INPUT", "subtype": "LABEL", "id": "documentid1", "name": "documentid1", "binding": "{document.id}", "width": 185.5958549222798, "height": 41.24352331606218, "left": 305.2020725388601, "top": 409, "page": 0 } ``` | | Transaction ID | L’identifiant de la transaction. | ```json { "type": "INPUT", "subtype": "LABEL", "id": "transactionid1", "name": "transactionid1", "binding": "{transaction.id}", "width": 185.5958549222798, "height": 41.24352331606218, "left": 305.2020725388601, "top": 460, "page": 0 } ``` | ## APEX SDK Pour télécharger l’exemple de code complet, consultez notre site [Code Share](https://community.onespan.com/documentation/onespan-sign/codeshare/fields-example-apex-sdk/) . Les champs permettent de placer des données supplémentaires dans un document au moment de la signature. À l’instar des champs de signature, les champs sans signature peuvent être placés n’importe où dans un document. Néanmoins, chaque champ est lié à une signature particulière. Seul le signataire de cette signature peut attribuer ou modifier la valeur du champ. Cependant, une fois la signature signée, la valeur du champ ne peut être modifiée par personne. Vous ne pouvez pas ajouter de champs à : (1) des documents qui sont Accepter uniquement ; (2) le formulaire de consentement électronique ; (3) les documents dans le cadre d’une transaction accessible. ### Ajout d’un champ à un document Pour ajouter un champ sur un document, vous devez d’abord créer votre objet Field comme indiqué ci-dessous. ```plaintext // Create field to an existing approval ESignLiveAPIObjects.Field label_field = new ESignLiveAPIObjects.Field(); label_field.id = 'label_field'; label_field.type = 'INPUT'; label_field.subtype = 'LABEL'; label_field.value = 'old label value'; label_field.page = 0; label_field.top = 100.0; label_field.left = 50.0; label_field.width = 150.0; label_field.height = 50.0; ``` Ensuite, à l’aide de la fonction addField , ajoutez votre champ à votre document. Utilisez l’objet Field , PackageID, ApprovalID et documentID comme paramètres. Pour ce faire, le code suivant : ```plaintext // String packageId, String documentId, String approvalId, ESignLiveAPIObjects.Field fieldToCreate String label_field_response = sdk.addField(    'yjn7R9GyKU_BRhUjvLrWFp5vUEA=',    'f3e381eec45b4df851bd28087ad12104c620814bccca6b76',    '8ELNXeOxMHsD',    label_field ); label_field = (ESignLiveAPIObjects.Field)JSON.deserialize(    label_field_response,    ESignLiveAPIObjects.Field.class ); ``` ### Mise à jour d’un champ dans un document Il est important de noter que lors de la mise à jour d’un champ, votre nouvel objet Field doit avoir le même id que le champ que vous souhaitez mettre à jour. Pour ce faire, le code suivant : ```plaintext // Update field // String packageId, String documentId, String approvalId, String fieldId, ESignLiveAPIObjects.Field fieldToUpdate label_field.value = 'changed label value'; sdk.updateField(    'yjn7R9GyKU_BRhUjvLrWFp5vUEA=',    'f3e381eec45b4df851bd28087ad12104c620814bccca6b76',    '8ELNXeOxMHsD',    label_field.id,    label_field ); ``` ### Suppression d’un champ dans un document Pour supprimer un champ, utilisez leservice d’approbation OneSpan Sign. Utilisez l’objet Field , PackageID, SignatureID et documentID comme paramètres. Pour ce faire, le code suivant : ```plaintext // Delete field // String packageId, String documentId, String approvalId, String fieldId sdk.deleteField(    'yjn7R9GyKU_BRhUjvLrWFp5vUEA=',    'f3e381eec45b4df851bd28087ad12104c620814bccca6b76',    '8ELNXeOxMHsD',    label_field.id ); ``` ### Résultats Une fois que vous avez exécuté votre code, vos champs apparaîtront dans les documents de votre transaction.