Signers vs Recipients - docusignapi

We are integrating our BPM application with Docusign. We have a document which should be signed by n individuals. Should we have multiple recipient tags or just 1 recipient tag with multiple signer tags inside that? What would be the difference between both the approaches?

Each Recipient object has properties that identify a specific signer including a property that represents the signer's name, for example). Your "Create Envelope" API request will need to include a separate Recipient object for each Signer -- and then, for each recipient, you'll specify tags that belong to the recipient. (The other approach you describe -- i.e., facilitating multiple people signing an envelope by specifying only one recipient with multiple 'sign here' tags -- is not feasible under any circumstances.)
For example, the recipients structure that represents two Signers, each having one place to sign and one text box to complete, would look something like this:
"recipients": {
"signers": [
{
"name": "John Doe",
"email": "johnsemail#outlook.com",
"recipientId": "1",
"routingOrder": "1",
"clientUserId": "123",
"tabs":{
"signHereTabs":[
{
"tabLabel":"BSign1",
"documentId": "1",
"pageNumber": "1",
"xPosition": "200",
"yPosition": "200"
}
],
"textTabs":[
{
"tabLabel":"BorrowerPhone",
"value":"717-717-7171",
"documentId": "1",
"pageNumber": "1",
"xPosition": "100",
"yPosition": "100"
}
]
}
},
{
"name": "Jane Doe",
"email": "janesemail#outlook.com",
"recipientId": "2",
"routingOrder": "2",
"clientUserId": "567",
"tabs":{
"signHereTabs":[
{
"tabLabel":"CBSign1",
"documentId": "1",
"pageNumber": "2",
"xPosition": "200",
"yPosition": "200"
}
],
"textTabs":[
{
"tabLabel":"Co-BorrowerPhone",
"value":"111-222-3333",
"documentId": "1",
"pageNumber": "2",
"xPosition": "100",
"yPosition": "100"
}
]
}
}
]
}
Taking some time to review the information (and code samples) on the DocuSign Developer Center (https://www.docusign.com/developer-center) and within the REST API Guide (https://10226ec94e53f4ca538f-0035e62ac0d194a46695a3b225d72cc8.ssl.cf2.rackcdn.com/rest-api-guide-v2.pdf) would be time well spent.

Related

Error NOTARY_HOSTED_SIGNER_ID_REQUIRED when trying to send an eNotary envelope

Let my envelope be as below :
{
"allowReassign": "false",
"documents": [
{
"documentBase64": "JVBE",
"documentId": "1",
"fileExtension": "PDF",
"name": "DocumentToNotarize"
}
],
"emailSubject": "Notary Test",
"enableWetSign": "false",
"notification": {
"expirations": {
"expireAfter": "4",
"expireEnabled": "True"
}
},
"recipients": {
"inPersonSigners": [
{
"email": "signer#domain.com",
"inPersonSigningType": "notary",
"name": "Signer",
"notaryHost": {
"deliveryMethod": "email",
"email": "notary#domain.com",
"name": "Notary",
"recipientId": "995a0019-f0bc-47bf-94d5-426607388f7b",
"tabs": {
"notarizeTabs": [
{
"documentId": "1",
"pageNumber": "1",
"xPosition": "100",
"yPosition": "100"
}
]
}
},
"recipientId": "3fa6ffaf-f87e-4f27-9129-6d12d987f59b",
"tabs": {
"signHereTabs": [
{
"documentId": "1",
"pageNumber": "1",
"recipientId": "3fa6ffaf-f87e-4f27-9129-6d12d987f59b",
"scaleValue": "0.6",
"xPosition": "45",
"yPosition": "527"
}
]
}
}
]
},
"status": "sent"
}
Which triggers the following error :
{
"errorCode": "NOTARY_HOSTED_SIGNER_ID_REQUIRED",
"message": "The host signer Id is required to associate with notary in person signer."
}
I have found, surprisingly, that if I only change the signer's recipientId to an integer as below, it works !?
Am I missing something ? GUIDs are allowed right ?
"recipientId": "3",
"tabs": {
"signHereTabs": [
{
"documentId": "2",
"pageNumber": "1",
"recipientId": "3",
"scaleValue": "0.6",
"xPosition": "45",
"yPosition": "527"
}
]
}
}
I have found, surprisingly, that if I only change the signer's recipientId to an integer as below, it works !? Am I missing something ? GUIDs are allowed right ?
If it works when you use an integer, then I recommend you use an integer.
If you want to store a guid with the recipient as metadata that you can later retrieve from the envelope, then use the customFields attribute of the signer object.
For most API calls, there isn't a problem to set a GUID for recipientId because most recipient types aren't dependent on another recipient.
The problem here with notary is that the notary and signer recipient are associated by the recipientId and the API logic is designed to parse recipientId as Int, which likely caused the issue. You would also run into the same issue if using in-person signing as it's a very similar process where the host and the in-person signer are a single recipient.

dateSignedTabs is not giving right date

i have created an envelope using rest api
endpoint :- {{baseUrl}}/envelopes
method :-post
body:
{
"emailSubject": "Please sign this document sent from Node SDK",
"documents": [
{
"documentId": "1",
"name": "<NAME>",
"documentBase64": "base64DOC"
}
],
"recipients": {
"signers": [
{
"email": "<EMAIL#EMAIL>COM",
"name": "<USERNAME>",
"clientUserId": 1,
"recipientId": 1,
"tabs": {
"dateSignedTabs": [
{
"tabLabel": "todaysDate",
"xPosition": "20",
"yPosition": "75",
"documentId": "1",
"pageNumber": "1"
},
{
"anchorString": "/sn1/",
"anchorYOffset": "10",
"anchorUnits": "pixels",
"anchorXOffset": "20",
"documentId": "1",
"pageNumber": "1"
}
]
}
}
]
},
"status": "sent"
}
envelope is created succesfully ,when i am opening the url of recipient view UI. A static value "10/3/2018" is filled in the dateSignedTabs. Why current date is not filled in the dateSignedTabs.
The date is populated the first time the recipient opens the envelope for signing.
Each tab (including date tab) is for a specific recipient.
When that specific recipient first clicks on the link (or if using embedded signing - opens the view) then the date is populated. It will not be updated again if you open it again and it's not updated for other recipients, only for the one for which this tab was set.
Hope this helps.

How to handle documents for view only in Docusign

This is with the REST api. I have some documents which only need to be viewed, they have no anchor text tags on them. I found that if I gave such documents a server template id, that Docusign would use whichever document was part of the template and not the one I specified. Is the best practice to use certified viewers for such documents and not have them be signers? I noticed that if I had a server template and at least one of my documents had signing tabs, that all the other documents that I wanted to view would be viewable.
Yes, best practice here would be to use a different recipient type other than signer. The certified delivery recipient should work, the carbon copy (cc) recipients should also work well in this case.
Here's what a request with a Carbon Copy recipient in routing order 2 looks like:
{
"emailSubject": "Please sign this doc",
"status": "sent",
"documents": [
{
"documentId": "1",
"name": "test.pdf"
}
],
"recipients": {
"signers": [
{
"email": "signer#email.com",
"name": "John Doe",
"recipientId": "1",
"routingOrder": "1",
"tabs": {
"signHereTabs": [
{
"xPosition": "100",
"yPosition": "100",
"documentId": "1",
"pageNumber": "1"
}
]
}
}
],
"carbonCopies": [
{
"email": "carbonCopy#email.com",
"name": "Sally Doe",
"recipientId": "2",
"routingOrder": "2"
}
]
}
}

How can we add a attachment tab while creating an envelope via template using REST API?

Is there any REST API call to add a attachment tab while sending envelopes? For this I am referring to this link, but I don't know how to use this. Can you please tel me the full API call?
It's just like any other DocuSign tab, you just need to reference the name properly and set its parameters. Here's an example that would send one signature tab and one signer attachment tab:
POST v2/accounts/{accountId}/envelopes
{
"emailSubject": "Please sign this document",
"documents": [
{
"name": "test.pdf",
"documentId": "1"
}
],
"recipients": {
"signers": [
{
"tabs": {
"signHereTabs": [
{
"pageNumber": "1",
"documentId": "1",
"yPosition": "100",
"xPosition": "100",
"tabLabel": "Signature Tab",
}
],
"signerAttachmentTabs": [
{
"pageNumber": "1",
"documentId": "1",
"yPosition": "100",
"xPosition": "200",
"required": "true",
"tabLabel": "Signer Attachment Tab",
}
]
},
"routingOrder": "1",
"recipientId": "1",
"name": "Jon Dough",
"email": "jon.dough#email.com"
}
]
},
"status": "sent"
}

Passing multiple email addresses to a single array in templateRoles

Is it possible to pass a list of comma-separated email addresses to the email element in templateRoles, i.e., "email" => $to, where $to is a comma-separated list of emails? Or does each recipient have to be specified individually in its own array?
Each recipient has to be specified in their own array. The DocuSign platform identifies recipients by a combination of their name, email, recipientId (and if using Embedding Feature the clientUserId as well). So you can't just have a comma-separated list stemming off of the email property of a given recipient.
For example, using a JSON formatted request body your recipients should typically look something like this:
"recipients": {
"signers": [
{
"email": "firstemail#gmail.com",
"name": "First Recipient",
"recipientId": "1",
"routingOrder": "1",
"tabs": {
"signHereTabs": [
{
"xPosition": "100",
"yPosition": "100",
"documentId": "1",
"pageNumber": "1"
}
]
}
},
{
"email": "secondemail#gmail.com",
"name": "Second Recipient",
"recipientId": "2",
"routingOrder": "2",
"tabs": {
"initialHereTabs": [
{
"xPosition": "100",
"yPosition": "200",
"documentId": "1",
"pageNumber": "1"
}
],
"signHereTabs": [
{
"xPosition": "200",
"yPosition": "200",
"documentId": "1",
"pageNumber": "1"
}
]
}
}
],
"carbonCopies": [
{
"email": "thirdemail#gmail.com",
"name": "Third Recipient",
"recipientId": "3",
"routingOrder": "3"
},
{
"email": "forthemail#gmail.com",
"name": "Forth Email",
"recipientId": "4",
"routingOrder": "3"
}
]
}
The above JSON would add 4 recipients to a given envelope- 2 signing recipients (one with 1 signHere tab and the other with a signHere tab and an initialHere tab) and 2 carbon copy (CC) recipients.

Resources