Electronic signatures have become a cornerstone of business transactions, offering efficiency, convenience, and security. However, there are instances where the traditional method of in-person signing holds significant weight, ensuring trust and authenticity in important documents. BoldSign provides a seamless API integration for adding in-person signers to your documents. Let’s see how you can leverage BoldSign’s API to incorporate in-person signing into your workflow.
In-Person Signing
In-person signing requires physically meeting with the signer to execute a document. This method adds an extra layer of assurance and credibility to the signature process, particularly in scenarios where the legality and authenticity of signatures are paramount.
Integrating In-Person Signing with the BoldSign API
BoldSign simplifies the process of incorporating in-person signatures into your electronic documents through its comprehensive API. By designating a host email address, you can seamlessly facilitate in-person signing sessions within your organization. Please note that the host facilitating the in-person signing session must be a registered user within your organization and the host’s email must be different from the signer’s email. This requirement reinforces security measures, ensuring that only authorized personnel oversee the signing process.
For more detailed steps, you can refer to the official BoldSign documentation: Send document with in-person signing.
Example Code for Adding an In-Person Signer
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 'Message=' \
-F 'Signers={
"name": "Test",
"emailAddress": "[email protected]",
"signerType": "InPersonSigner",
"deliveryMode": "Email",
"formFields": [
{
"id": "signature1",
"name": "signature1",
"fieldType": "Signature",
"pageNumber": 1,
"bounds": { "x": 80, "y": 50, "width": 31, "height": 21 },
"isRequired": true
}
],
"locale": "EN"
}' \
-F 'Files=@{FILE_PATH}' \
-F 'Title=Title'
var apiClient = new ApiClient("https://api.boldsign.com", "{YOUR_API_KEY}");
var documentClient = new DocumentClient(apiClient);
var documentFilePath = new DocumentFilePath
{
ContentType = "application/pdf",
FilePath = "{FILE_PATH}",
};
var filesToUpload = new List<IDocumentFile>
{
documentFilePath,
};
var signatureField = new FormField(
id: "signature1",
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: "Hank",
signerType: SignerType.InPersonSigner,
signerEmail: "[email protected]",
hostEmail: "[email protected]",
formFields: formFieldCollections,
locale: Locales.EN);
var documentSigners = new List<DocumentSigner>
{
signer
};
var sendForSign = new SendForSign
{
Message = "please sign this",
Title = "Agreement",
Signers = documentSigners,
Files = filesToUpload
};
var documentCreated = documentClient.SendDocument(sendForSign);
import boldsign
configuration = boldsign.Configuration(api_key="YOUR_API_KEY")
with boldsign.ApiClient(configuration) as api_client:
document_api = boldsign.DocumentApi(api_client)
signatureField = boldsign.FormField(
fieldType="Signature",
pageNumber=1,
bounds=boldsign.Rectangle(x=100, y=100, width=100, height=50),
isRequired=True,
)
signer = boldsign.DocumentSigner(
name="Hank",
emailAddress="[email protected]",
signerType="InPersonSigner",
hostEmail="[email protected]",
formFields=[signatureField],
locale="EN"
)
send_for_sign = boldsign.SendForSign(
title="DOCUMENT_TITLE",
signers=[signer],
files=["FILE_PATH"],
)
document_created = document_api.send_document(send_for_sign=send_for_sign)
import { DocumentApi, DocumentSigner, FormField, Rectangle, SendForSign } from 'boldsign';
import * as fs from 'fs';
async function main() {
const data = new SendForSign();
const config = new DocumentApi();
config.setApiKey('YOUR_API_KEY');
const bounds = new Rectangle();
bounds.x = 50; bounds.y = 50; bounds.width = 100; bounds.height = 20;
const signatureField = new FormField();
signatureField.fieldType = FormField.FieldTypeEnum.Signature;
signatureField.pageNumber = 1;
signatureField.bounds = bounds;
signatureField.isRequired = true;
const signer = new DocumentSigner();
signer.name = 'Hank';
signer.emailAddress = '[email protected]';
signer.signerType = DocumentSigner.SignerTypeEnum.InPersonSigner;
signer.hostEmail = '[email protected]';
signer.formFields = [signatureField];
signer.locale = 'EN';
data.title = 'DOCUMENT_TITLE';
data.signers = [signer];
data.files = [fs.createReadStream('FILE_PATH')];
const response = await config.sendDocument(data);
}
main();
ApiClient client = Configuration.getDefaultApiClient();
client.setApiKey("YOUR_API_KEY");
DocumentApi documentApi = new DocumentApi(client);
FormField signatureField = new FormField();
signatureField.setFieldType(FieldTypeEnum.SIGNATURE);
signatureField.setPageNumber(1);
Rectangle bounds = new Rectangle().x(50f).y(50f).width(100f).height(20f);
signatureField.setBounds(bounds);
signatureField.setIsRequired(true);
List<FormField> formFields = new ArrayList<FormField>();
formFields.add(signatureField);
DocumentSigner signer = new DocumentSigner();
signer.setName("Hank");
signer.setEmailAddress("[email protected]");
signer.setSignerType(DocumentSigner.SignerTypeEnum.IN_PERSON_SIGNER);
signer.setHostEmail("[email protected]");
signer.setFormFields(formFields);
signer.setLocale(DocumentSigner.LocaleEnum.EN);
List<DocumentSigner> signers = new ArrayList<DocumentSigner>();
signers.add(signer);
File file = new File("FILE_PATH");
List<File> files = new ArrayList<File>();
files.add(file);
SendForSign sendForSign = new SendForSign();
sendForSign.setTitle("DOCUMENT_TITLE");
sendForSign.setSigners(signers);
sendForSign.setFiles(files);
DocumentCreated documentCreated = documentApi.sendDocument(sendForSign);
<?php
require_once "vendor/autoload.php";
$config = new BoldSign\Configuration();
$config->setApiKey('YOUR_API_KEY');
$document_api = new BoldSign\Api\DocumentApi($config);
$signatureField = new BoldSign\Model\FormField();
$signatureField->setFieldType('Signature');
$signatureField->setPageNumber(1);
$signatureField->setBounds(new BoldSign\Model\Rectangle([50, 50, 100, 20]));
$signatureField->setIsRequired(true);
$signer = new BoldSign\Model\DocumentSigner();
$signer->setName("Hank");
$signer->setEmailAddress("[email protected]");
$signer->setSignerType("InPersonSigner");
$signer->setHostEmail("[email protected]");
$signer->setFormFields([$signatureField]);
$signer->setLocale("EN");
$send_for_sign = new BoldSign\Model\SendForSign();
$send_for_sign->setTitle('DOCUMENT_TITLE');
$send_for_sign->setSigners([$signer]);
$send_for_sign->setFiles(['FILE_PATH']);
$documentCreated = $document_api->sendDocument($send_for_sign);
Conclusion
Incorporating in-person signing into your electronic documents can be necessary for certain kinds of transactions, depending on your local regulations. With BoldSign’s API, integrating in-person signatures into your workflow becomes a streamlined process, ensuring compliance and reliability in your document management.
By following the outlined steps and leveraging the provided sample codes, you can incorporate in-person signing capabilities into your applications. Start your 30-day free trial now to see how BoldSign can make your document signing processes easy and affordable. Please feel free to leave a comment below; your thoughts are much appreciated. Please schedule a demo or contact our support team via our support portal if you have any questions or would like more information about our services.