In my DocuSign integration, I have successfully been able to set up authentication for any signer. I am now trying to set it up for the Editor of the package. While my Editor receives the signing email, when he clicks on the link to proceed to the signing ceremony, the authentication doesn't seem to work and instead of having to verify his identity, the document is displayed and ready to sign.
Is it a feature or a bug ? I was thinking maybe since the editor has to have a DocuSign account, hence any authentication is unnecessary ?
My JSON code below :
{
"name": "John Doe",
"email": "John.Doe#mailinator.com",
"recipientId": "2",
"requireIdLookup": "True",
"idCheckConfigurationName": "ID Check $",
"customFields": [
"PARTY-8"
]
}
Editor should be prompted for ID check during the signing ceremony, if it was setup correctly during sending.
Here is a sample CreateEnvelope call for setting up Id check for the Editor. I have tried this in the Docusign Demo environment and it works fine for me.
{
"recipients": {
"editors": [
{
"name": "john smith",
"email": "johnsmith#foo.com",
"recipientId": "1",
"routingOrder": "1",
"requireIdLookup": "true",
"idCheckConfigurationName": "ID Check $"
}
]
},
"documents": [
{
"documentId": "1",
"name": "Agreememt",
"fileExtension": "pdf",
"documentBase64": "[Document bytes go here]"
}
],
"status": "sent",
"emailSubject": "Envelope with id check enabled for Editore"
}
Related
I am creating an envelope from a template and then getting the URL for the recipient view.
During my request DocuSign sends an email to the recipient and that is merged and ready to sign but the signing url goes to an unmerged version of the document that cannot be signed.
I dont really want the email sent, I just want to redirect the customer straight into the signing session.
What am I missing here?
ENVELOPE CREATION REQUEST:
{
"emailSubject": "Agreement",
"templateId": "xxx",
"templateRoles": [
{
"email": "johndoe#inter.net",
"name": "john doe",
"roleName": "Customer",
"tabs": {
"textTabs": [
{
"tabLabel": "Name",
"value": "john doe"
},
{
"tabLabel": "Date",
"value": "1/18/2019"
}
]
}
}
],
"status": "sent"
}
RESPONSE:
{
"envelopeId": "yyy",
"uri": "/envelopes/yyy",
"statusDateTime": "2019-01-18T19:45:04.2870000Z",
"status": "sent"
}
RECIPIENT VIEW REQUEST:
{
"userName": "john doe",
"email": "johndoe#inter.net",
"recipientId": "1",
"authenticationMethod": "email",
"returnUrl": "http://www.inter.net/docusign.asp?Status=complete"
}
RESPONSE:
{
"url": "https://demo.docusign.net/Signing/StartInSession.aspx?t=zzzz"
}
To indicate that you want to use an embedded signing ceremony for the template role, add the clientUserId attribute to the templateRole object.
Example of doing this: line 203 of the Number 17 example workflow (for PHP). This example workflow is also available for Node.js.
For a general example of using embedded signing, see example workflow 1 of the eg-03 series of example launchers--see the list of repositories at the bottom of the page.
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"
}
]
}
}
I need to create an application where user could sign the document on my website without any docusign authentication I guess just like LoanCo Sample Demo.
I'm using Embedded Signing and following the steps listed here, and getting the URI on EnvelopeViews: createRecipient call, but when I'm trying to access that URI it redirect to "/Signing/SessionTimeout.aspx" and says "SESSION ENDED" and then nothing happens, attaching the snapshot of "session ended" page.
Here is the create envelopes request JSON.
{
"documents": [
{
"documentBase64": "<Base64BytesHere>",
"documentId": "1",
"fileExtension": "pdf",
"name": "PDF Doc"
}
],
"emailSubject": "Doc Sign",
"recipients": {
"signers": [
{
"clientUserId": "clientUserId",
"email": "examble#email.com",
"name": "Shah",
"recipientId": "1",
"tabs": {
"signHereTabs": [
{
"documentId": "1",
"pageNumber": "1",
"tabLabel": "Sign Here",
"xPosition": "100",
"yPosition": "100"
}
]
}
}
]
}
}
Here is my createRecipient request JSON.
{
"authenticationMethod": "email",
"email": "examle#email.com",
"returnUrl": "https://localhost/index.php",
"userName": "Shah"
}
After the envelope is created, use the createRecipient:EnvelopeViews api to retrieve the Signing URL.
In your request you are missing the clientUserId parameter.
Request
{
"userName": "Shah",
"email": "examble#email.com",
"clientUserId": "clientUserId",
"authenticationMethod": "email",
"returnUrl": "https://localhost/index.php"
}
I am facing issue while trying to enable "ID Check $" through docusign Rest API.
I could see there were lot of work arounds provided. Still following I am not successful.
It would be great if someone can comment if the issue with KBA is still there or any sample code for REST JSON would be greatly appreciated.
Due to this I am thinking of TWO templates one with KBA enabled and other without. So I can take a decision to use the template based on my business rule
Appreciate your time
The following way of creating the envelope did not result in KBA to the signer
{
"accountId": "YYY",
"templateId":"ZZZ",
"status": "SENT",
"templateRoles": [
{
"name": "AAA",
"roleName": "CCC",
"email": "test#test.com",
"tabs": {
"textTabs": [],
"checkBoxTabs": [],
"emailTabs": [],
"dateTabs": [],
}
},
{
"name": "BBB",
"roleName": "DDD",
"email": "example#example.com",
"accessCode": "A380",
"requireIdLookup": "true",
"idCheckConfigurationName": "ID Check $",
"tabs": {
"textTabs": [],
"checkBoxTabs": [],
"emailTabs": [],
"dateTabs": []
}
}
]
}
If you're creating an Envelope using a DocuSign Template, and want to sometimes require ID Check authentication and other times not, the way you can accomplish this is to use Composite Templates in your Create Envelope API call.
In your template (i.e., via the DocuSign UI), don't select any form of advanced recipient authentication (i.e., simply set Identify = "Email").
Then, to create an envelope using the template via the API, and specify ID Check as the recipient authentication method, the Create Envelope request would look like this:
POST https://{{env}}.docusign.net/restapi/{{version}}/accounts/{{acctId}}/envelopes
{
"emailSubject": "Please sign",
"emailBlurb": "Please sign...thanks!",
"status": "sent",
"compositeTemplates": [
{
"serverTemplates": [
{
"sequence": 1,
"templateId": "YOUR_TEMPLATE_ID"
}
],
"inlineTemplates": [
{
"sequence": 2,
"recipients": {
"signers": [
{
"email": "sallysemail#test.com",
"name": "Sally Adamson",
"recipientId": "1",
"roleName": "Signer1",
"requireIdLookup": "true",
"idCheckConfigurationName": "ID Check $"
}
]
}
}
]
}
]
}
The request for creating an envelope (using the same template) that does NOT require any advanced form of recipient authentication would look identical to the request above -- except that it would NOT include the requireIdLookup property or the idCheckConfigurationName property.
I'm looking to build some C# desktop client application that will send out a large number of PDF to sign to a large number of different individual so I'm wondering if the docusign API provide access to automate the Phone identity feature? I was not able to find out the page on their site.
Yes you can access this through the api, the DocuSign Developer Center has pages on the more prevalent features, for full information always check the documentation:
DocuSign API Documentation
You can add a recipient parameter in your request body that sets the idCheckConfigurationName which can be used for an RSA ID check or SMS authentication, and there's also a phoneAuthentication setting which I believe is what you are looking for. The JSON would look something like:
"recipients": {
"signers": [{
"idCheckConfigurationName": "string1",
"phoneAuthentication": "string2"
}]
}
where string1 could be ID Check $ for an RSA ID Check or SMS Auth $ for SMS auth for instance, and string2 is actually made up of a boolean and a list which are used to configure the phone authentication. Please see DocuSign's documentation for more info.
To specify phone authentication for a recipient, you need to specify the following properties for the recipient in the Create Envelope request:
"idCheckConfigurationName": "Phone Auth $",
"requireIdLookup": "true",
"phoneAuthentication": {
"recipMayProvideNumber": "false",
"senderProvidedNumbers": [
"206-222-1111"
]
}
For example, here's a Create Envelope request that specifies phone authentication for the first (and only) recipient.
POST https://{{env}}.docusign.net/restapi/{{version}}/accounts/{{acctId}}/envelopes
{
"status" : "sent",
"emailBlurb":"Test Email Body",
"emailSubject": "-- Test Email Subject --",
"recipients": {
"signers" : [
{
"email": "bobsemail#outlook.com",
"name": "Bob Adamson",
"idCheckConfigurationName": "Phone Auth $",
"requireIdLookup": "true",
"phoneAuthentication": {
"recipMayProvideNumber": "false",
"senderProvidedNumbers": [
"206-111-2222"
]
},
"recipientId": "1",
"routingOrder": "1",
"tabs": {
"signHereTabs": [
{
"recipientId": "1",
"tabLabel": "Customer_Signature",
"documentId": "1",
"pageNumber": "1",
"xPosition": "99",
"yPosition": "424"
}],
"dateSignedTabs": [
{
"recipientId": "1",
"tabLabel": "Customer_Date",
"documentId": "1",
"pageNumber": "1",
"xPosition": "373",
"yPosition": "456"
}]
}
}]
},
"documents": [
{
"name": "TestDocAPI.pdf",
"documentId": 1,
"documentBase64": "BASE_64_ENCODED_DOCUMENT_BYTE_STREAM"
}]
}
This is just one example -- the properties you set under the phoneAuthentication object may differ depending on your specific requirements. See the DocuSign REST API Guide (http://www.docusign.com/sites/default/files/REST_API_Guide_v2.pdf) for information about additional properties available under phoneAuthentication.