BoldSign AI Assistant
Chat with the BoldSign AI AssistantHow to Configure Recipient Notifications
When sending a document using the BoldSign API, you can control the notifications that recipients receive through the recipientNotificationSettings property for each signer. This article provides guidance on how to customize recipient notifications by updating the recipientNotificationSettings property in your API requests. If this property is not provided, the default notification settings configured in your business profile will apply.
Following are the notifications available in recipientNotificationSettings.
| SignatureRequest | Indicates whether the recipient or CC should be notified when a document is sent. |
| Declined | Indicates whether the recipient or CC should be notified when a document is declined. |
| Revoked | Indicates whether the recipient or CC should be notified when a document is revoked. |
| Signed | Indicates whether the recipient or CC should be notified when a document is signed by other recipient. |
| Completed | Indicates whether the recipient or CC should be notified when the document is completed. |
| Expired | Indicates whether the recipient or CC should be notified when a document expires. |
| Reassigned | Indicates whether the recipient or CC should be notified when the document is reassigned. |
| Deleted | Indicates whether the recipient or CC should be notified when a document is deleted. |
| Reminders | Indicates whether the recipient should receive reminders for pending signature requests. |
| EditRecipient | Indicates whether the recipient should be notified when there is a change in the recipient. |
Code snippet
curl -X 'POST' \
'https://api.boldsign.com/v1/document/send' \
-H 'accept: application/json' \
-H 'X-API-KEY: {your API key}' \
-H 'Content-Type: application/json' \
-d '{
"Signers": [
{
"name": "Alex",
"emailAddress": "[email protected]",
"signerType": "Signer",
"formFields": [
{
"id": "string",
"name": "string",
"fieldType": "Signature",
"pageNumber": 1,
"bounds": {
"x": 50,
"y": 50,
"width": 125,
"height": 25
},
"isRequired": true
}
],
"recipientNotificationSettings": {
"signatureRequest": true,
"declined": true,
"revoked": true,
"signed": true,
"completed": true,
"expired": true,
"reassigned": true,
"deleted": true,
"reminders": true,
"editRecipient": true
}
}
],
"Files": [
"data:application/pdf;base64,JVBERi0xLjcKJcfs..."
],
"Title": "Sampledocument",
}'
var apiClient = new ApiClient("https://api.boldsign.com", "{your API key}");
var documentClient = new DocumentClient(apiClient);
var documentFilePath = new DocumentFilePath
{
ContentType = "application/pdf",
FilePath = "agreement.pdf",
};
var filesToUpload = new List<IDocumentFile>
{
documentFilePath,
};
var signatureField = new FormField(
id: "sign",
isRequired: true,
type: FieldType.Signature,
pageNumber: 1,
bounds: new Rectangle(x: 100, y: 100, width: 100, height: 50));
var formFieldCollections = new List<FormField>()
{
signatureField,
};
var signer = new DocumentSigner(
signerName: "David",
signerType: SignerType.Signer,
signerEmail: "[email protected]",
formFields: formFieldCollections);
signer.RecipientNotificationSettings = new RecipientNotificationSettings()
{
SignatureRequest = true,
Declined = true,
Revoked = true,
Signed= true,
Completed= true,
Expired = true,
Reassigned = true,
Deleted = true,
Reminders = true,
EditRecipient = true
};
var documentSigners = new List<DocumentSigner>()
{
signer
};
var sendForSign = new SendForSign()
{
Title = "Agreement",
Signers = documentSigners,
Files = filesToUpload,
};
var documentCreated = documentClient.SendDocument(sendForSign);
import boldsign
configuration = boldsign.Configuration(host = "https://api.boldsign.com", 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 = "[email protected]",
signerOrder = 1,
signerType = "Signer",
authenticationType = "AccessCode",
authenticationCode = "123456",
formFields = [
boldsign.FormField(
name = "Sign",
fieldType = "Signature",
font = "Helvetica",
pageNumber = 1,
isRequired = True,
bounds = boldsign.Rectangle(x = 50, y = 50, width = 100, height = 150)
)
],
privateMessage = "This is private message for signer",
recipientNotificationSettings = boldsign.RecipientNotificationSettings(
viewed = True,
completed = True,
declined = True,
expired = True,
reassigned = True,
reminders = True,
revoked = True,
sent = True,
signed = True
)
),
]
)
document_created = document_api.send_document(send_for_sign)
<?php require_once "vendor/autoload.php";
use BoldSign\Configuration;
use BoldSign\Api\DocumentApi;
use BoldSign\Model\{FormField, Rectangle, DocumentSigner, SendForSign, DocumentInfo, FileInfo, DocumentCC, RecipientNotificationSettings};
$config = new Configuration();
$config->setHost("https://api.boldsign.com");
$config->setApiKey('YOUR_API_KEY');
$document_api = new DocumentApi($config);
$form_field = new FormField();
$form_field->setName('Sign');
$form_field->setFieldType('Signature');
$form_field->setPageNumber(1);
$form_field->setFont('Helvetica');
$form_field->setIsRequired(true);
$bounds = new Rectangle([50, 50, 100, 150]);
$form_field->setBounds($bounds);
$document_signer = new DocumentSigner();
$document_signer->setName('Hanky');
$document_signer->setEmailAddress('[email protected]');
$document_signer->setSignerOrder(1);
$document_signer->setSignerType('Signer');
$document_signer->setAuthenticationType('AccessCode');
$document_signer->setAuthenticationCode('123456');
$document_signer->setFormFields([$form_field]);
$document_signer->setPrivateMessage('This is private message for signer');
$recipient_notification_settings = new RecipientNotificationSettings();
$recipient_notification_settings ->setCompleted(true);
$recipient_notification_settings ->setDeclined(true);
$recipient_notification_settings ->setExpired(true);
$recipient_notification_settings ->setReassigned(true);
$recipient_notification_settings ->setReminders(true);
$recipient_notification_settings ->setRevoked(true);
$recipient_notification_settings ->setSigned(true);
$document_signer->setRecipientNotificationSettings($recipient_notification_settings);
$send_for_sign = new SendForSign();
$send_for_sign->setTitle('SDK Document Test case');
$send_for_sign->setSigners([$document_signer]);
$documentInfo = new DocumentInfo();
$documentInfo->setTitle('Document SDK API');
$documentInfo->setDescription('Testing document from SDK integration test case');
$send_for_sign->setDocumentInfo([$documentInfo]);
$files = new FileInfo();
$files = 'YOUR_FILE_PATH';
$send_for_sign->setFiles([$files]);
$document_created = $document_api->sendDocument($send_for_sign);
ApiClient client = Configuration.getDefaultApiClient();
client.setBasePath("https://api.boldsign.com");
client.setApiKey("YOUR_API_KEY");
DocumentApi documentApi = new DocumentApi(client);
FormField signatureField = new FormField();
signatureField.setName("Signature");
signatureField.setFieldType(FormField.FieldTypeEnum.SIGNATURE);
signatureField.setFont(FormField.FontEnum.HELVETICA);
signatureField.setPageNumber(1);
signatureField.setIsRequired(true);
Rectangle bounds = new Rectangle().x(100f).y(100f).width(100f).height(50f);
signatureField.setBounds(bounds);
DocumentSigner signer = new DocumentSigner();
signer.setName("Hanky");
signer.setEmailAddress("[email protected]");
signer.setSignerOrder(1);
signer.setSignerType(DocumentSigner.SignerTypeEnum.SIGNER);
signer.setFormFields(Arrays.asList(signatureField));
signer.setAuthenticationType(DocumentSigner.AuthenticationTypeEnum.ACCESS_CODE);
signer.setAuthenticationCode("123456");
signer.setPrivateMessage("This is private message for signer");
RecipientNotificationSettings recipientNotificationSettings = new RecipientNotificationSettings();
recipientNotificationSettings.setCompleted(true);
recipientNotificationSettings.setDeclined(true);
recipientNotificationSettings.setExpired(true);
recipientNotificationSettings.setReassigned(true);
recipientNotificationSettings.setReminders(true);
recipientNotificationSettings.setRevoked(true);
recipientNotificationSettings.setViewed(true);
recipientNotificationSettings.setSigned(true);
signer.setRecipientNotificationSettings(recipientNotificationSettings);
SendForSign sendForSign = new SendForSign();
File file = new File("YOUR_FILE_PATH");
sendForSign.setFiles(Arrays.asList(file));
sendForSign.setSigners(Arrays.asList(signer));
sendForSign.setTitle("Document SDK API");
DocumentCreated documentCreated = documentApi.sendDocument(sendForSign);
import { DocumentApi, DocumentSigner, DocumentInfo, FormField, Rectangle, SendForSign, DocumentCC, RecipientNotificationSettings } from "boldsign";
import * as fs from 'fs';
const documentApi = new DocumentApi("https://api.boldsign.com");
documentApi.setApiKey("YOUR_API_KEY");
const bounds = new Rectangle();
bounds.x = 100;
bounds.y = 50;
bounds.width = 100;
bounds.height = 100;
const formField = new FormField();
formField.name = "Sign";
formField.fieldType = FormField.FieldTypeEnum.Signature;
formField.font = FormField.FontEnum.Helvetica;
formField.pageNumber = 1;
formField.isRequired = true;
formField.bounds = bounds;
const documentSigner = new DocumentSigner();
documentSigner.name = "David";
documentSigner.emailAddress = "[email protected]";
documentSigner.signerOrder = 1;
documentSigner.signerType = DocumentSigner.SignerTypeEnum.Signer;
documentSigner.authenticationType = DocumentSigner.AuthenticationTypeEnum.AccessCode;
documentSigner.authenticationCode = "123456";
documentSigner.formFields = [formField];
documentSigner.privateMessage = "This is private message for signer";
const recipientNotificationSettings = new RecipientNotificationSettings();
recipientNotificationSettings.viewed = true;
recipientNotificationSettings.completed = true;
recipientNotificationSettings.declined = true;
recipientNotificationSettings.expired = true;
recipientNotificationSettings.reassigned = true;
recipientNotificationSettings.reminders = true;
recipientNotificationSettings.revoked = true;
recipientNotificationSettings.signed = true;
documentSigner.recipientNotificationSettings = recipientNotificationSettings;
const files = fs.createReadStream("YOUR_FILE_PATH");
const sendForSign = new SendForSign();
const documentInfo = new DocumentInfo();
documentInfo.title = "SDK Document Test case";
documentInfo.description = "Testing document from SDK integration test case";
sendForSign.documentInfo = [documentInfo];
sendForSign.title = "Document SDK API";
sendForSign.signers = [documentSigner];
sendForSign.files = [files];
const documentCreated = documentApi.sendDocument(sendForSign);
By customizing the recipientNotificationSettings, you can control the notification experience for each recipient according to your requirements.