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"
}
Related
How do I create a recipient with both email and SMS?
I've been unable to find example JSON that addresses this issue. The documentation on Docusign's website shows either email or SMS, not both together (that I can find, anyway). I found a note somewhere that suggested it's possible, but I can't find it again.
If your account has SMS Delivery enabled, you can make an API Request in the following format to send an envelope with Email + SMS Delivery
{
"documents": [
{
"documentBase64": "Base 64 here",
"documentId": 1,
"fileExtension": "txt",
"name": "Filename"
}
],
"emailSubject": "Blurb",
"recipients": {
"signers": [
{
"email": "Recipient Email Here",
"name": "DocuSigner",
"recipientId": "1",
"tabs": {
"signHereTabs": [
{
"xPosition": "10",
"yPosition": "10"
}
]
},
"additionalNotifications": [
{
"secondaryDeliveryMethod": "SMS",
"phoneNumber": {
"countryCode": "Code",
"number": "Phone number"
}
}
]
}
]
},
"status": "sent"
}
I'm creating an envelope using the following params
Endpoint {{baseUrl}}/envelopes
{
"recipients": {
"signers": [
{
"email": "{{signer1Email}}",
"name": "{{signer1Name}}",
"clientUserId": 22,
"recipientId": 22,
"smsAuthentication": {
"senderprovidednumbers": ["{{signerPhoneNumber}}"]
},
"idCheckConfigurationName": "SMS Auth $",
"requireIdLookup": true,
"recipMayProvideNumber": true,
"tabs": {
"signHereTabs": [
{
"xPosition": "100",
"yPosition": "100",
"documentId": "1",
"pageNumber": "1"
}
]
}
}
]
},
"emailSubject": "DocuSign API - Signature Request on Document Call",
"documents": [
{
"documentId": "1",
"name": "blank1.pdf",
"documentBase64": "{{BASE64_DOCUMENT}}"
}
],
"status": "sent"
}
Then i'm creating a recepient view for this envelope to fetch the url using the following code.
{
"assertionId": null,
"authenticationInstant": null,
"pingFrequency": null,
"pingUrl": null,
"securityDomain": null,
"userId": null,
"returnUrl": "http://localhost:3000/webhooks/souscription-bis?project_id=111",
"authenticationMethod": "none",
"email": "{{signer1Email}}",
"userName": "{{signer1Name}}",
"clientUserId": 22,
"recipientId": 22,
"xFrameOptions": "allow_from",
"xFrameOptionsAllowFromUrl": "http://localhost:3000"
}
And i'm getting the url as expected.
And when the user is redirected to this url and i'm requesting the sms code to be sent i'm not receiving anything.
So i just wanted to make sure that i'm not doing something wrong here.
so you have the actual phone number instead of
{{signerPhoneNumber}}
in our API call?
and that number is not receiving a text message?
After i contacted directly docusign support through the phone, it seems that it was an issue related with their SMS service provider. Now it's working fine
Could anyone explain to me that how to set email subject line and email message using JSON in Docusign.
Note:(JSON string has to be passed as HTTP request).
Thank you,
Vignesh.B
Use the emailNotification property to set separate email subject and email body per each individual recipient. The emailNotification property should be set per recipient.
Here is a sample Json for the createEnvelope request.
POST /v2/accounts/{accountId}/envelopes
{
"recipients": {
"signers": [
{
"email": "recipientone#acme.com",
"name": "recipient one",
"recipientId": "1",
"routingOrder": "1",
"emailNotification": {
"emailSubject": "Please sign the document Recipient One ",
"emailBody": "Hello Recipient One,\r\n\r\nYour consultant has sent you a new document to view and sign. Please click on the View Documents link below, review the content, and sign the document. If you have any questions, please contact your consultant.\r\n\r\nThank you!",
"supportedLanguage": "en"
},
"tabs": {"signHereTabs": [{"documentId": "1", "pageNumber": "1", "xPosition": "100", "yPosition": "100"}]}
},
{
"email": "recipienttwo#acme.com",
"name": "recipient two",
"recipientId": "2",
"routingOrder": "2",
"emailNotification": {
"emailSubject": "Please sign the document Recipient Two ",
"emailBody": "Hello Recipient Two,\r\n\r\nYour consultant has sent you a new document to view and sign. Please click on the View Documents link below, review the content, and sign the document. If you have any questions, please contact your consultant.\r\n\r\nThank you!",
"supportedLanguage": "en"
},
"tabs": {"signHereTabs": [{"documentId": "1", "pageNumber": "1", "xPosition": "100", "yPosition": "200"}]}
}
]
},
"documents": [
{
"documentBase64": "RG9jIFRXTyBUV08gVFdP",
"documentId": "1",
"fileExtension": "txt",
"name": "Simple Contract",
"order": "1"
}
],
"status": "Sent"
}
Use the emailSubject and emailBlurb properties to set the subject and message for all the recipients in the envelope. These properties have to be set at the root level of your json request.
Note: You can override the properties at the envelope level by specifying the emailNotification property for each recipient as suggested in this answer
Here is a sample Json for the createEnvelope request.
POST /v2/accounts/{accountId}/envelopes
{
"emailSubject": "Email subject for all recipients",
"emailBlurb": "Email body for all recipients",
"status": "Sent",
"recipients": {
"signers": [
{
"email": "recipientone#acme.com",
"name": "recipientone",
"recipientId": "1",
"routingOrder": "1",
"tabs": { "signHereTabs": [ { "documentId": "1", "pageNumber": "1", "xPosition": "100", "yPosition": "100" } ] }
},
{
"email": "recipienttwo#acme.com",
"name": "recipient two",
"recipientId": "2",
"routingOrder": "1",
"tabs": { "signHereTabs": [ { "documentId": "1", "pageNumber": "1", "xPosition": "100", "yPosition": "200" } ] }
}
]
},
"documents": [
{
"documentBase64": "RG9jIFRXTyBUV08gVFdP",
"documentId": "1",
"fileExtension": "txt",
"name": "Simple Contract",
"order": "1"
}
]
}
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'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.