How to send document to the signer via email using BoldSign API?
BoldSign offers three options to send the documents to signers:
- SMS
- Email & SMS
In this article, we will walk through how to request a signature from a signer via email using the BoldSign API.
Send document to the signer via Email
Below are example codes for sending a document to the signer via email:
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: multipart/form-data' \ -F 'Message=' \ -F 'Signers={ "name": "Hanky", "emailAddress": "hankyWhites@cubeflakes.com", "signerType": "Signer", "deliveryMode": "Email", "formFields": [ { "id": "string", "name": "string", "fieldType": "Signature", "pageNumber": 1, "bounds": { "x": 50, "y": 50, "width": 1, "height": 1 }, "isRequired": true } ], "locale": "EN" }' \ -F 'Files=@{your file}' \ -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 = "{Your file path}", }; 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: "david@cubeflakes.com", formFields: formFieldCollections, locale: Locales.EN); signer.DeliveryMode = DeliveryMode.Email; 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 requests import json url = "https://api.boldsign.com/v1/document/send" signer_data = { "name": "Hanky", "emailAddress": "hankyWhites@cubeflakes.com", "signerType": "Signer", "deliveryMode": "Email", "formFields": [ { "id": "string", "name": "string", "fieldType": "Signature", "pageNumber": 1, "bounds": { "x": 50, "y": 50, "width": 1, "height": 1 }, "isRequired": True } ], "locale": "EN" } payload = { 'Message': '', 'Signers': json.dumps(signer_data), 'Title': '{title}' } files = [ ('Files', ( 'doc-2.pdf', open('{Your file path}', 'rb'), 'application/pdf' )) ] headers = { 'accept': 'application/json', 'X-API-KEY': '{Your API Key}' } response = requests.request("POST", url, headers=headers, data=payload, files=files) print(response.text)
const axios = require('axios'); const FormData = require('form-data'); const fs = require('fs'); let data = new FormData(); data.append('Message', ''); data.append('Signers', '{\r\n "name": "Hanky",\r\n "emailAddress": "hankyWhites@cubeflakes.com",\r\n "signerType": "Signer", \r\n "deliveryMode": "Email",\r\n "formFields": [\r\n {\r\n "id": "string",\r\n "name": "string",\r\n "fieldType": "Signature",\r\n "pageNumber": 1,\r\n "bounds": {\r\n "x": 50,\r\n "y": 50,\r\n "width": 1,\r\n "height": 1\r\n },\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', '{title}'); 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 above examples, update the emailAddress
with the email address of the signer. Update the deliveryMode
as Email
. Additionally, replace the Files
and Title
properties with the appropriate document you want to send and its title. Also, provide form fields for the document in the formFields
array.
After executing the above code, the document will be created, and an email will be sent to the signer. Now, the signer can sign the document by clicking the link in the email.
Email received by the signer after executing the above code