Confused on how to use accesscode - docusignapi

I'm trying to figure out how to use the access code for a signer. In the api there is the accesscode field and a addaccesscodetoemail field. If I want the signer to see the accesscode in the email, do I just set that value to the accesscode and then set addaccesscodetoemail = true?

Yes, If you want the signer to see the accesscode in the email, then you just set that value to the accesscode and then set addaccesscodetoemail = true and signer will see the accesscode in the email itself. But it is not a good practice as it defeats the purpose of using the accesscode. Ideally, you should set accesscode via API and then communicate accesscode to the signer via another channel (not by sending the accesscode in an envelope notification email).

DocuSign's Access code authentication is similar to sms authentication except that for access code it's up to the sender to determine how to actually get the code over to the recipient.
They can send their own SMS outside of DocuSign platform with the code, they can send their own custom email, call the person, etc - but the bottom line is that DocuSign will not include the code in the system generated email.
To configure an access code for a recipient you have to set it on the specific type of recipient, in this case signer for example:
"recipients":
{
"signers": [
{
"email": "test_1#email.com",
"name": "Name 1",
"accessCode": "1234",
...

Related

How to ask fopr the RecipientView

I want to get a specific recipient view from an enveloppe. Here is the data I have for the recipient from an API call:
[#<DocuSign_eSign::Signer:0x0055e9239b8388 #creation_reason="sender", #email="email#qsdqsd.com",
#is_bulk_recipient="false",
#name="fake name",
#note="",
#recipient_id="1",
#recipient_id_guid="XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX", #recipient_supplies_tabs="true", #require_id_lookup="false", #role_name="customer",
#routing_order="1",
#status="sent",
#user_id="XXXXXXXXX-XXX-XXXX-XXXXXXXXXXXXXXXXXX">]>
And here is my current request payload.
recipient_view_request={
"user_id": user_id_from_previous_request,
"userName": unrelated_name,
'email': unrelated_email,
"returnUrl": return_url,
"authenticationMethod": "email"
}
The link that is returned is for the wrong user, allowing to sign as this incorrect user. It ignore the user_id param. How do I make a request with the correct user ?
I don't see you setting clientuserid for the recipient, RecipientView can only be generated for embeddedrecipients. You need to set clientUserId for the recipient for whom you want to do embedded signing. You can find embedded signing examples at https://docs.docusign.com/esign/guide/usage/embedded_signing.html also you can check embedded signing example at https://www.docusign.com/developer-center/api-overview, check section [2] Create Envelope with an Embedded Recipient and [3] Create Recipient View (Embedded Signing)

Docusign - editing email address

I am using Docusign and have an issue with an envelope that has been sent to multiple recipients. 3 have signed electronically but the 4th can not as we have sent it to an invalid email. I do not have the option to edit the email address when I resend. How can I fix this?
You can edit the emailaddress of the recipient by doing call to below endpoint
PUT https://{{env}}.docusign.net/restapi/{{version}}/accounts/{{acctId}}/envelopes/{{envelopeId}}/recipients?resend_envelope=true
{
"signers": [
{
"recipientId": "3",
"name": "Signer Name",
"email": "signercorrectemail#domain.com"
}
]
}
In above example name and email will be updated for recipientId - 3. And envelope will be resend to only recipientId 3 only. For details please refer to https://docs.docusign.com/esign/restapi/Envelopes/EnvelopeRecipients/update/
Amit K Bist's answer shows the Rest Api approach.
There is also an alternate option. You can use the Advanced Correct feature in Docusign Web console to edit the email address of a recipient.
You can correct the details of in process envelopes that you sent or are shared with you, including both the recipient and document information.
Web Console URL's:
https://www.docusign.net/
(Sandbox) https://demo.docusign.net/

C# Docusign API - Getting Remote Signing View URL

After running the console app, our users get an email with the signing link to Docusign making them remote signers.
What I want to be able to do is get those links from their emails.
I did some research and this is what each url is made of
https://demo.docusign.net/Member/EmailStart.aspx?
a=65d11cf7-d3b7-49a1-8000-6192b6227d71& <<< Unique Activity ID? Always different in all URLs
acct=a0e816ac-3919-475e-a826-34c2c33f90e7& <<< Some kind of role ID (stays same between envelopes and users of the same role, I have it
for my roles..just don't know how to get it programmatically
er=62378ec0-39ce-495e-84e4-e0e598fab3cc& <<<< envelopesApi.ListRecipients(.....) .Signers[n].RecipientIdGuid, able to get it
espei=30cec285-39cd-45a3-bb8e-7bd0560dcd80 <<<< ENVELOPE ID, able to get it
The first parameter is the main focus of my question - it is a total mistery what is it and how to get it
The second parameter looks like a role_id, but I don't know how to get it other than hard-coding values for each of my roles
The other two parameters aren't a concern.
Does anybody know how to get ahold of the first two parameters using the C# Docusign API?
Or even better, is there a way to get the recipients signing url links using the same API?
To obtain the signing URL you will have to set the recipient as an embedded recipient.
After the envelope is created, use the createRecipient:EnvelopeViews api to retrieve the Signing URL.
You have to set the recipient clientUserId parameter to mark a recipient as an embedded recipient.
Request
{
"userName": "name",
"email": "examble#email.com",
"clientUserId": "clientUserId",
"authenticationMethod": "email",
"returnUrl": "your app url"
}

DocuSign API - Embedded Recipients

I would like to create envelopes for embedded/captive recipients using SOAP based API calls and generate a token with which a recipient can sign the envelope right after it gets created.
I have followed your documentation but am not able to create token(s) for the embedded signer(s). I am able to create an envelope but while creating the tokens, I get an error
"Invalid Signature Credentials".
According to your documentation, while creating an envelope with captive recipient,I need to pass in clientuserid for the recipient. I need to use the same clientuserid for the same recipient each time.
It looks like, I might have created an envelope with a captive recipient before but I am not using the right combination..Recipient name, email address and clientuserid every time I am creating an envelope with captive recipient(s).
1) Is there a way to reassign the clientuserid to the recipient?
2) Is there a way to retrieve the clientuserid for the recipient?
3) From the DocuSign account, how do we check if an envelope has been created with a captive recipient(s)?
4) Do we have to turn any setting on from our DocuSign account to create envelopes with captive recipients?
1) You might be able to use the Recipient Correction call to update the clientUserId for a given recipient, but if that does not work you can always remove the recipient from the envelope, then re-add as an Embedded recipient.
2) To retrieve the clientUserId value and other information for your recipients you need to make the following API call:
Get Envelope Recipient Status
URI:
/accounts/{accountId}/envelopes/{envelopeId}/recipients
Method:
GET
Sample Response:
{
"recipientCount":"String content",
"signers":[{
"deliveredDateTime": "String content",
"recipientAuthenticationStatus":{
"(authentication status result)":
"eventTimestamp":"String content"
"status":"String content"
}
},
"recipientId": "String content",
"clientUserId": "String content",
"requireIdLookup": "String content",
"roleName":"String content",
"routingOrder": "String content",
"signedDateTime": "String content",
"status": "String content",
"email": "String content",
"name": "String content" }]
}]
}
3) I'm not sure if you can check through the DocuSign Console, the API call described above will indicate if a given recipient is captive or not. If the have a clientUserId value defined, they are embedded - otherwise they are a remote signer.
4) Yes, this is a feature that you're API integration would need to include in its account plan. Talk to your DocuSign account manager for more information.

Global tabs for document templates

Is there a way to assign tabs to a document, without having a recipient declared?
Situation: We want to have a template for an employee application, and then use the API to fill the fields, assign the recipients, and embed for signing.
When I create the template with no recipient, it doesn't allow me to place any tags. Given that I don't know the recipient until the time I call the API, does that mean I can't place the tabs until then? I really don't want to have to place 50 tabs dynamically.
Thanks in advance.
Chase
DocuSign tabs are always with respect to a given recipient, never the document itself, however I believe you can still accomplish this workflow. If you create a Template through the DocuSign Console you can add a template role without providing any recipient info (i.e. name or email) at that time. Afterwards when you reference this template through a signature request API call you can then supply the actual recipient names and emails in the request and map them to your already configured envelope tabs through the
roleName
property for each recipient.
The very first DocuSign API Walkthrough has code that demonstrates how to do this with just one role, but note that this is just an example and you can have multiple roles.
DocuSign API Walkthroughs
From a high level these are the steps you want to take:
Create a template in the DocuSign Console.
Add document(s), then add at least one recipient but only fill in the role field.
Now on your document you'll see that you can add whatever tabs you want to the envelope, under that role.
Save the template.
Make an API call for requesting a signature, which references the templateId and has the roleName parameter present for your recipient(s). This roleName value should match the role that you saved with the template in step 2.
If you named the role Signer1 for instance, your request body (in JSON format) might look like this:
{
"accountId": "123456",
"emailSubject": "DocuSign API Call - Signature Request from Template",
"emailBlurb": "Sample email body",
"templateId": "B977F511-CAB0-...................",
"templateRoles": [
{
"roleName": "Signer1",
"email": "test#docusign.com",
"name": "John Doe"
}
],
"status": "sent"
}

Resources