Tooltips not being passed through REST API to docusign - docusignapi

I'm having trouble getting tooltips to be populated in Docusign when making a create envelope request. I am using the REST API and am able to successfully send fairly complex documents. I have a text tab that looks like this
{
"anchorString": "The proposed draw down date is",
"anchorIgnoreIfNotPresent": "true",
"anchorUnits": "mms",
"required": "false",
"tabLabel": "settlementDrawdownDate",
"anchorXOffset": "60",
"anchorYOffset": "-10",
"fontSize": "Size12",
"tooltip": "DD/MM/YYYY",
"validationPattern": "^[0-3][0-9]\/[0-1][0-9]\/2\d{3}$",
"validationMessage": "Date must in format DD/MM/YYYY"
}
When I look at the envelope as it is in the Docusign portal the tooltip field is not populated, and it certainly isn't there in the actual signing screens. I have also attempted to add a tooltip to a number tab with the same result.

try this, instead of "tooltip" use "name":
{
"anchorString": "The proposed draw down date is",
"anchorIgnoreIfNotPresent": "true",
"anchorUnits": "mms",
"required": "false",
"tabLabel": "settlementDrawdownDate",
"anchorXOffset": "60",
"anchorYOffset": "-10",
"fontSize": "Size12",
"name": "DD/MM/YYYY",
"validationPattern": "^[0-3][0-9]\/[0-1][0-9]\/2\d{3}$",
"validationMessage": "Date must in format DD/MM/YYYY"
}

Related

How set a textTabs into a embedded signer and then remove the signer

i am trying to set "effective date" without Routing Order. So I have 3 signers one of them is an embedded signer. So the idea (thanks Larry K) is after the regular signers completed their signs, I will set a textTabs with the current date and then remove the embedder signer so the envelope change their status to completed.
So I am doing this.
POST /restapi/v2.1/accounts/{accountId}/envelopes/{envelopeId}/recipients/{recipientId}/tabs
recipientId = is the id of the embedded signer
{
"textTabs": [
{
"tabId": "effectiveDate",
"value": "31 August 2020",
"locked": "true",
"font": "Calibri",
"fontSize": "Size9",
"bold": "true",
"anchorString": "**sd**",
"anchorUnits": "pixels",
"anchorYOffset": "-2",
"anchorXOffset": "-5"
}
]
}
After that I delete the embedded signer and the envelope is completed, but the value of the textTabs is not showing in any document.
This is part of the response of the POST after created the textTabs in the embedded signer.
{
"textTabs": [
{
"isPaymentAmount": "false",
"shared": "false",
"requireInitialOnSharedChange": "false",
"requireAll": "false",
"value": "31 August 2020",
"required": "true",
"locked": "true",
"concealValueOnDocument": "false",
"disableAutoSize": "false",
"maxLength": "0",
"font": "calibri",
"bold": "true",
"italic": "false",
"underline": "false",
"fontColor": "black",
"fontSize": "size9",
"localePolicy": {},
"documentId": "3",
"recipientId": "1",
"pageNumber": "1",
"xPosition": "130",
"yPosition": "74",
"width": "0",
"height": "0",
"anchorString": "**sd**",
"anchorXOffset": "-5",
"anchorYOffset": "-2",
"anchorUnits": "pixels",
"anchorCaseSensitive": "false",
"anchorMatchWholeWord": "true",
"anchorHorizontalAlignment": "left",
"anchorTabProcessorVersion": "v1_3",
"tabId": "3cf87755-ee56-4bb2-94bb-25fc5309c66c",
"tabType": "text"
}...
Can anyone tell me what I am doing wrong?
Tabs are associated with signers, if you remove the signer - the tabs for it will be removed.
So, not sure what you were trying to do here, but if you remove a recipient in DocuSign, it will remove any tabs (text tabs, sign her tabs, date tabs) that were tied to this recipient.
Your requirements are complicated, here is a modified solution to your original question that was answered by Larry that should work if you follow this:
Add a new integration user as a Certified Delivery recipient at the end of the envelope
once everyone signs, webhook pings the app
app checks the Date Signed values for each recipient
app creates a text field for the CD recipient and populates it with the last value (test in demo, this used to be possible and likely still is but isn't actually supported)
app changes CD recipient to CC (also test to make sure the role change doesn't wipe the field. Again, used to work, likely still does)
envelope completes with text field populated

How do I set Signed Date with the last Signer without Routing Order?

I'm facing a problem and to me is very hard to understand why something so simple is so hard to find a solution. Basically I want so set a Signed Date in each document (contained in the envelope) when the last signer complete the process.
I have this documents and signers
Documents: Doc A, Doc B, Doc C
Signers: Signer 1, Signer 2, Signer 3
Now the combination
Signers by documents:
Doc A: Signer 1, Signer 2 and Signer 3
Doc B: Signer 1 and Signer 2
Doc C: Signer 2 and Signer 3
So, the idea is create an envelope with all this information and without setting the Routing Order I would like to set a Signed Date in each document when the last signer (I don't know which one was) make the sign.
There is some magical way to do that?
I will appreciate any tip/help :)
PS: This is my first question, so sorry if i'm doing something wrong.
{
"recipients": {
"signers": [
{
"email": "signer1#yopmail.com",
"name": "Signer 1",
"recipientId": 1,
"tabs": {
"dateSignedTabs": [
{
"font": "Calibri",
"fontSize": "Size9",
"bold": "true",
"anchorString": "Signer1 Signed Date",
"anchorUnits": "pixels",
"anchorYOffset": "-2",
"anchorXOffset": "-5"
}
],
"signHereTabs": [
{
"anchorString": "Signer 1",
"anchorUnits": "pixels",
"anchorYOffset": "10",
"anchorXOffset": "-40"
}
]
}
},
{
"email": "signer2#yopmail.com",
"name": "Signer 2",
"recipientId": 2,
"tabs": {
"dateSignedTabs": [
{
"font": "Calibri",
"fontSize": "Size9",
"bold": "true",
"anchorString": "Signer2 Signed Date",
"anchorUnits": "pixels",
"anchorYOffset": "-2",
"anchorXOffset": "-5"
}
],
"signHereTabs": [
{
"anchorString": "Signer 2",
"anchorUnits": "pixels",
"anchorYOffset": "10",
"anchorXOffset": "-40"
}
]
}
},
{
"email": "signer3#yopmail.com",
"name": "Signer 3",
"recipientId": 3,
"tabs": {
"dateSignedTabs": [
{
"font": "Calibri",
"fontSize": "Size9",
"bold": "true",
"anchorString": "Signer3 Signed Date",
"anchorUnits": "pixels",
"anchorYOffset": "-2",
"anchorXOffset": "-5"
}
],
"signHereTabs": [
{
"anchorString": "Signer 3",
"anchorUnits": "pixels",
"anchorYOffset": "10",
"anchorXOffset": "-40"
}
]
}
}
]
},
"emailSubject": "DocuSign API - Signature Request on Document Call",
"documents": [
{
"documentId": "1",
"name": "Doc A.pdf",
"documentBase64": <Document1_Base64>
},
{
"documentId": "2",
"name": "Doc B.pdf",
"documentBase64": <Document2_Base64>
},
{
"documentId": "3",
"name": "Doc C.pdf",
"documentBase64": <Document3_Base64>
}
],
"status": "sent"
}
POST /restapi/v2.1/accounts/{accountId}/envelopes
Using REST API v2.1 I create an envelope with the payload code as example.
As you can see I don't want to use Routing Order, so, each signers has its own dateSignedTabs witch for mi is OK, but I want so get the date of the last signer to put it at the begin of the Document, thats is my real deal.
Each dateSigned tab belongs to a specific signer recipient. So you have a couple of options:
Use a routing order. Then the dateSigned of the last person will be the date of the last signer.
On the signing page of the document add verbiage such as "This agreement was finalized on the date of the last signature" -- followed by the three signatures and three dateSigned tabs. Consult a lawyer, I'm sure your goal can be accomplished by contract language. Here is an example by a contract writer.
You can add more programming to add an "effective date" field with the date the last person signed. See below.
To add an "effective date" of the last signer
Set all of your signers to routing order 1. Since they're all the same routing order, this is the same as no routing order for the enveloper signers.
Add a fake embedded signer as routing order 2. Something like "System" with email address "system_signer#example.com". Since this is an embedded signer, they will not be sent any email.
Add a webhook either at the account (Connect) or envelope (eventNotification) level. You can receive the webhook behind the firewall with no firewall changes by using an intermediate PaaS system. See my blog post
The webhook notifies your app when the envelope has been "sent" to the system signer. Correct the envelope: set the value of your "effective date" tab (a text tab) to the current date. And delete the "system" signer. The envelope will now proceed to completion.
Success.

Is there a way to automatically check all check boxes in group A by checking another individual check box with DocuSign API

let's say I defined mutilple check boxes with DocuSign eSignature Java SDK, each of the check box been given unique Tab Label, then group them together in tabs group A and all the check boxes in tabs group A are mandatory (with Validator).
Is there any way that I can define another individual check box (call it B) in the envelope, by checking the check box B will automaticly check/uncheck all the check boxes in tabs group A by using DocuSign Java SDK or eSignature REST API.
I would appreciate it if any one could provide a solution, thank you^_^.
To the best of my knowledge, no. I would instead suggest playing with Tab Replication feature. It might serve as a good replacement for this requirement.
Here's an example use case...
Let's assume you have a job application that asks the applicant to specify which languages she is familiar with. At the top of the list of languages, there is a checkbox labeled "All". If the user selects this option, all checkboxes next to the individual languages are hidden from view. Otherwise, the user can select the languages that are applicable.
Once the user completes her signing, the business logic of your app can check if that "all" checkbox was selected and interpret it to mean that the user is comfortable with all languages, otherwise, you would check the individual values of the other checkboxes.
Here is how you would build that envelope from scratch: Notice that each checkbox references its parent via conditionalParentLabel. conditionalParentValue": "off"tells DocuSign to hide the children from view if the parent is checked.
POST /envelopes
{
"emailSubject": "Please sign this document set",
"documents": [
{
"documentBase64": "JVBERi0xLj...UlRU9GCg==",
"name": "Test Doc",
"fileExtension": "pdf",
"documentId": "1"
}
],
"recipients": {
"signers": [
{
"email": "test#test.com",
"name": "Matthew Roknich",
"recipientId": "1",
"routingOrder": "1",
"tabs": {
"checkboxTabs": [
{
"tabLabel": "all",
"locked": "false",
"xPosition": "100",
"yPosition": "100",
"documentId": "1",
"pageNumber": "1"
},
{
"tabLabel": "english",
"locked": "false",
"xPosition": "130",
"yPosition": "110",
"documentId": "1",
"pageNumber": "1",
"conditionalParentLabel": "all",
"conditionalParentValue": "off"
},
{
"tabLabel": "spanish",
"locked": "false",
"xPosition": "160",
"yPosition": "110",
"documentId": "1",
"pageNumber": "1",
"conditionalParentLabel": "all",
"conditionalParentValue": "off"
},
{
"tabLabel": "french",
"locked": "false",
"xPosition": "190",
"yPosition": "110",
"documentId": "1",
"pageNumber": "1",
"conditionalParentLabel": "all",
"conditionalParentValue": "off"
}
]
}
}
]
},
"status": "sent"
}

Customize the hyperlink

Thanks for the tip on how to Create An Active Hyperlink From a Datafield. Can the link style be customized? I do not wish to have a border and would like to change its font to match rest of my document.
Not sure if the community site is still active. So posting here.
Thanks in advance.
Naresh
Using the SOAP API, you can specify the font style, color, and size of text within a data field by using the following properties within the Tab element in the API Request:
<Tab>
...
<Font>Arial or ArialNarrow or Calibri or CourierNew or Garamond or Georgia or Helvetica or LucidaConsole or Tahoma or TimesNewRoman or Trebuchet or Verdana</Font>
<FontColor>Black or BrightBlue or BrightRed or DarkRed or DarkGreen or Gold or Green or NavyBlue or Purple or White</FontColor>
<FontSize>Size7 or Size8 or Size9 or Size10 or Size11 or Size12 or Size14 or Size16 or Size18 or Size20 or Size22 or Size24 or Size26 or Size28 or Size36 or Size48 or Size72</FontSize>
...
</Tab>
For more information about these properties, see the DocuSign SOAP API guide (http://www.docusign.com/sites/default/files/DocuSignAPI_Guide.pdf).
As specified in the Community forum (http://community.docusign.com/t5/Templates-and-Powerforms/Hyperlink-in-contract/td-p/25837), it's not currently possible to remove the border around the hyperlink.
If using the DocuSign Web Console, as Kim has mentioned you should be using DocuSign's internal community for such questions, but you can simply edit the font settings of the data field to match your document settings.
If sending through the API, which is what the DocuSignAPI tag on Stack Overflow is used for (i.e. api and development questions), then you can set the font settings of your datafield through an API call. In the DocuSign REST API, data fields are called "textTabs" and the three that related to font settings are:
"font": "arial",
"fontColor": "black",
"fontSize": "size12",
The full body of a textTab has the following potential properties that you can include:
"textTabs": [{
"anchorString": null,
"anchorXOffset": null,
"anchorYOffset": null,
"anchorIgnoreIfNotPresent": null,
"anchorUnits": null,
"conditionalParentLabel": null,
"conditionalParentValue": null,
"documentId": "1",
"pageNumber": "1",
"recipientId": "1",
"templateLocked": false,
"templateRequired": false,
"xPosition": "24",
"yPosition": "153",
"bold": false,
"font": "arial",
"fontColor": null,
"fontSize": null,
"italic": false,
"tabLabel": "Data Field 13",
"underline": false,
"concealValueOnDocument": false,
"disableAutoSize": false,
"locked": false,
"name": "Text",
"required": true,
"value": "",
"width": 42,
"mergeFieldXml": "",
"requireInitialOnSharedChange": false,
"shared": false,
"validationMessage": "",
"validationPattern": "",
"height": 11,
"isPaymentAmount": false
}]
http://www.docusign.com/p/RESTAPIGuide/RESTAPIGuide.htm

Downloading populated pdf after generating envelope

We are using embedded Signing feature. We are using templates for generating envelopes for embedded signing. We have a requirement for downloading pdf (before signing). This pdf should contain pre-populated data in envelope. We have tried to download pdf by using rest API as below, but it is giving blank (without prepopulated value - as in template) pdf. Is there any way to achieve the same?
https://demo.docusign.net/restapi/v2/accounts/{our account id}/envelopes/{envolopID}/documents/{documentId}
The way that DocuSign works is that when you layer data fields and other DocuSign tabs onto your documents they are not part of the document until it is signed by the recipients who are to take actions on those tabs. One of the reasons is because someone might change the initial data to something else when it is their turn to sign (if they have permissions to) so when the document is still pending the pre-populated values are not included in the download.
You can, however, still retrieve the values of your fields while the envelope is still pending. Since tabs are always specific to recipients you need to download tab information for whichever recipients they are configured for.
To download the tabs for this recipient including the initial pre-populated values you would make the following api call:
URL:
/accounts/{accountId}/envelopes/{envelopeId}/recipients/{recipientId}/tabs
Formats:
XML, JSON
HTTP Method:
GET
HTTP Body:
(empty)
If the envelope in question had one data field (textTab) which has the value "test data", then the response would look like:
"textTabs": [
{
"height": 11,
"validationPattern": "",
"validationMessage": "",
"shared": "false",
"requireInitialOnSharedChange": "false",
"name": "Text",
"value": "test data",
"width": 138,
"required": "true",
"locked": "false",
"concealValueOnDocument": "false",
"disableAutoSize": "false",
"tabLabel": "Data Field 3",
"bold": "false",
"italic": "false",
"underline": "false",
"documentId": "1",
"recipientId": "58576405-2f0b-45a4-998b-1cb81b769d22",
"pageNumber": "1",
"xPosition": "105",
"yPosition": "499",
"tabId": "7e1441bc-700e-43d4-b968-b7fa36887ee2"
}
]

Resources