Articles in this section
Category / Section

How to add Dropdown field for signers using BoldSign API?

Published:
5 mins read

BoldSign allows you to add Dropdown fields to your documents, enabling signers to select from a predefined list of options.

Send a document to the signer with Dropdown fields

You can set the dropdown form field by providing dropdownOptions presenting it as a dropdown list of choices.

Here are some example codes you can use to set dropdown form fields:

Code snippet

cURL

curl -X 'POST' \
  'https://api.boldsign.com/v1/document/send' \
  -H 'accept: application/json' \
  -H 'X-API-KEY: {your API key}' \
  -H 'Content-Type: multipart/form-data' \
  -F 'Title="Sample Document"' \
  -F 'Signers={
  "name": "hanky",
  "emailAddress": "hankyWhites@gmail.com",
  "signerType": "Signer",
  "signerRole": "Signer",
  "formFields": [
    {
      "id": "DropDown",
      "name": "DropDown",
      "fieldType": "DropDown",
      "pageNumber": 1,
      "bounds": {
        "x": 200,
        "y": 200,
        "width": 125,
        "height": 25
      },
      "isRequired": true,
      "dropdownOptions":["Male", "Female"],
      "value": "Male"
    }
  ],
  "locale": "EN"
}' \
  -F 'Files=@{your file}' \

C#

var apiClient = new ApiClient("https://api.boldsign.com", "{Your API key}");
var documentClient = new DocumentClient(apiClient);

var documentFilePath = new DocumentFilePath
{
    ContentType = "application/pdf",
    FilePath = "{Your File path}"
};

var filesToUpload = new List<IDocumentFile>
{
    documentFilePath,
};

var dropdownField = new DropdownField(
    id: "DropDown",
    isRequired: true,
    dropdownOptions: new List<string> { "Male", "Female" },
    value: "Male",
    pageNumber: 1,
    bounds: new Rectangle(x: 100, y: 100, width: 125, height: 25));

var formFieldCollections = new List<FormField>()
{
    dropdownField
};

var signer = new DocumentSigner(
    signerName: "David",
    signerType: SignerType.Signer,
    signerEmail: "david@cubeflakes.com",
    formFields: formFieldCollections,
    locale: Locales.EN);

var documentSigners = new List<DocumentSigner>()
{
    signer
};

var sendForSign = new SendForSign()
{
    Signers = documentSigners,
    Title = "Sample Document",
    Files = filesToUpload
};
var documentCreated = documentClient.SendDocument(sendForSign);

Python

import boldsign

configuration = boldsign.Configuration(
    api_key = "YOUR_API_KEY"
)

with boldsign.ApiClient(configuration) as api_client:

    document_api = boldsign.DocumentApi(api_client)
    
    send_for_sign = boldsign.SendForSign(
          title="Document SDK API",
          document_title = "SDK Document Test case",
          description="Testing document from SDK integration test case", 
          files=["YOUR_FILE_PATH"],
          signers=[
                boldsign.DocumentSigner(
                      name="Hanky",
                      emailAddress="hankyWhites@cubeflakes.com",
                      signerOrder=1,
                      signerType="Signer",
                      formFields=[
                            boldsign.FormField(
                                  name="DropDown",
                                  fieldType="Dropdown",
                                  font="Helvetica",
                                  pageNumber=1,
                                  isRequired=True,
                                  dropdownOptions=["Male", "Female"],
                                  bounds=boldsign.Rectangle(x=100, y=100, width=125, height=25)
                            )
                    ],
                    privateMessage="This is private message for signer"
                )
            ]
    )
    
    send_document_response = document_api.send_document(send_for_sign)

NodeJS

const axios = require('axios');
const FormData = require('form-data');
const fs = require('fs');
let data = new FormData();
data.append('Signers', '{\r\n  "name": "hanky",\r\n  "emailAddress": "hankyWhites@gmail.com",\r\n  "signerType": "Signer",\r\n  "signerRole": "Signer",\r\n  "formFields": [\r\n    {\r\n      "id": "DropDown",\r\n      "name": "DropDown",\r\n      "fieldType": "DropDown",\r\n      "pageNumber": 1,\r\n      "bounds": {\r\n        "x": 100,\r\n        "y": 100,\r\n        "width": 125,\r\n        "height": 25\r\n      },\r\n "dropdownOptions": ["Male", "Female"],\r\n  "value": "Male",\r\n "isRequired": true\r\n}\r\n  ],\r\n  "locale": "EN"\r\n}');
data.append('Files', fs.createReadStream('{Your file path}'));
data.append('Title', "Sample Document");

let config = {
  method: 'post',
  maxBodyLength: Infinity,
  url: 'https://api.boldsign.com/v1/document/send',
  headers: { 
    'accept': 'application/json', 
    'X-API-KEY': '{Your API key}', 
    ...data.getHeaders()
  },
  data : data
};

axios.request(config)
.then((response) => {
  console.log(JSON.stringify(response.data));
})
.catch((error) => {
  console.log(error);
});

In the given example, replace the dropDownOptions values with the desired values. Set the field type as DropDown. Upon executing the provided code, a document will be created with the specified dropDownOptions values for the DropDown form fields.

Was this article useful?
Like
Dislike
Help us improve this page
Please provide feedback or comments
Access denied
Access denied