Articles in this section
Category / Section

How to request the signatures without email notifications using BoldSign API?

Published:
7 mins read

BoldSign allows you to request signatures without sending email notifications to signers and get signatures from signers through signing link using embedded signing.This guide will go through the process of requesting signature without sending emails using BoldSign API.

Disable Emails Notification

If you want to manage the signature process within your application and prevent email notifications from being sent to signers, BoldSign allows you to disable email notifications when sending documents using the API. This ensures that recipients will not receive any email communication associated with the signing process. By setting DisableEmails to true, you can disable the email notifications. Here are example codes that can be used to achieve this:

Code snippet

cURL


curl -X 'POST' \ 'https://api.boldsign.com/v1/template/send?templateId=b8085b47-63b3-47f8-8d5e-cb0acfe2d916' \
     -H 'accept: application/json' \
     -H 'X-API-KEY: {your API key}' \
     -H 'Content-Type: application/json;odata.metadata=minimal;odata.streaming=true' \
     -d '{
       "title": "Invitation form",
       "message": "Kindly review and sign this.",
       "roles": [
    {
      "roleIndex": 1,
      "signerName": "Richard",
      "signerOrder": 1,
      "signerEmail": "david@cubeflakes.com",
      "privateMessage": "Please check and sign the document.",
      "signerType": "Signer",
      "signerRole": "Manager",
     "formFields": [
    {
      "id": "SignField",
      "fieldType": "Signature",
      "pageNumber": 1,
      "bounds": {
        "x": 100,
        "y": 100,
        "width": 100,
        "height": 50
      },
      "isRequired": true
    },
  ],      
      "locale": "EN"
    }
  ],
  
  "disableEmails": true,
  }`

C#

      var apiClient = new ApiClient("https://api.boldsign.com", "{Your API Key}");
      var templateClient = new TemplateClient(apiClient);
      var signatureField = new FormField(
        id: "sign_id",
        type: FieldType.Signature,
        pageNumber: 1,
        bounds: new Rectangle(x: 100, y: 100, width: 100, height: 50));

      var formFieldsCollections = new List<FormField>
{
  signatureField,
};

      var templateRole = new Roles(
        roleSignerName: "David",
        roleSignerEmailAddress: "david@cubeflakes.com",
        roleSignerIndex: 1,
        formFields: formFieldsCollections,
        locale: Locales.EN);

      var roles = new List<Roles>
{
  templateRole,
};

      var sendForSignFromTemplate = new SendForSignFromTemplate()
      {
          TemplateId = "01c19aef-2dad-476d-b801-7178ef2e1036",
          Roles = roles,
          DisableEmails=true,
      };

      var documentCreated = templateClient.SendUsingTemplate(sendForSignFromTemplate);
      Console.WriteLine(documentCreated.DocumentId.ToString());

Python


import boldsign

configuration = boldsign.Configuration(api_key="Your APi Key")

with boldsign.ApiClient(configuration) as api_client:
    template_api = boldsign.TemplateApi(api_client)

    roles = [
        boldsign.Role(
            role_index=1,
            signer_name="David",
            signer_email="david@cubeflakes.com",
            signer_order=1,
            signer_type="Signer",
            role="Admin"
        )
    ]

    send_for_sign_from_template = boldsign.SendForSignFromTemplateForm(
        roles=roles,
        enable_signing_order=True,
        disable_emails=True  
    )

    send_using_template_response = template_api.send_using_template(
        template_id="9f29bb2b-b9d8-4420-8a94-5d1362106fab",
        send_for_sign_from_template_form=send_for_sign_from_template
    )

    print(send_using_template_response)


NodeJS

async function GetData(){
const axios = require('axios');
const response = await axios.post(
    'https://api.boldsign.com/v1/template/send',
    {
        'roles': [
            {
                'roleIndex': 1,
                'signerName': 'David',
                'signerEmail': 'david@cubeflakes.com',
                'formFields': [
                    {
                        'fieldType': 'Signature',
                        'pageNumber': 1,
                        'bounds': {
                            'x': 100,
                            'y': 100,
                            'width': 100,
                            'height': 50
                        }
                    }
                ]
            }
        ],
      
      'disableEmails': true,

    },
    {
        params: {
            'templateId': '01c19aef-2dad-476d-b801-7178ef2e1036'
        },
        headers: {
            'accept': 'application/json',
            'X-API-KEY': '{Your API Key}',
            'Content-Type': 'application/json;odata.metadata=minimal;odata.streaming=true'
        }
    }
);

    console.log(JSON.stringify(response.data));

Get Signing Link

If email notifications disabled, you can obtain the signatures from signers using signing link through embedded signing. You can embed the signing request in your application to facilitate the signature process without sending email notifications.

Code snippet

Here are example codes that can be used to achieve this:

cURL


curl -X 'GET' \
  'https://api.boldsign.com/v1/document/getEmbeddedSignLink?DocumentId=17882g56-6686-46d9-dhg3-ce5737751234&SignerEmail=david@cubeflakes.com' \
  -H 'accept: application/json;odata.metadata=minimal;odata.streaming=true' \
  -H 'X-API-KEY: {your API key}'

C#


      var documentClient = new DocumentClient(apiClient);
      EmbeddedSigningLink embeddedSigningLink = await documentClient.GetEmbeddedSignLinkAsync(documentCreated.DocumentId, "david@cubeflakes.com").ConfigureAwait(false);
      string signLink = embeddedSigningLink.SignLink;
      Console.WriteLine(signLink);

Python


url = f"https://api.boldsign.com/v1/document/getEmbeddedSignLink?documentId={response.json()['documentId']}&signerEmail=david@cubeflakes.com"

payload = {}
response = requests.request("GET", url, headers=headers, data=payload)
print(response.text)

NodeJS


    const response1 = await axios.get("https://api.boldsign.com/v1/document/getEmbeddedSignLink", {
          headers: {
            'X-API-KEY': '{Your API key}'
        },
          params: { documentId: response.data.documentId, signerEmail: "david@cubeflakes.com" },
        });

        console.log(response1.data.signLink);
      }

In conclusion, enabling the DisableEmails option prevents signers from receiving email notifications. Meanwhile, utilizing embedded signing provides a signing link. Consequently, you can seamlessly acquire the signer’s signature within your application using embedded signing.

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