DocuSign - Get Signature URL using eSignature REST API v2.1 - docusignapi

For the envelope which has been already created and notification has been sent to the recipients, how do we get the signature URL using eSignature REST API? The signature URL is nothing but the link which is embedded in the DocuSign email to the recipients.
Update: Once the envelopes are created, I am trying to show the signing links in a web portal so that users can view all the signing links and take action.

If you would like to use this URL inside your app, we call this Embedded Signing. You can follow a code example in multiple languages to do that here.
You make an API call to this URL:
POST /restapi/v2.1/accounts/{accountId}/envelopes/{envelopeId}/views/recipient
And you provide something called clientUserId which is a unique string that represents your app/user/envelope.
You can also provide a redirect URI where the user would land after they're done signing.

Related

docusign REST API How to return signer to a url after signing PHP

I am building some functions to create my JSON using the sign-client PHP API and Models. I am create an envelope on docusign using the API and sending signers emails where they go to docusign to sign. I am not using embedded signing. I am doing this all though the API and plan to get and API plan so will not have all the web-based access.
I have one or more signers and after they sign I need to direct them to a URL on my site where they can make a payment. This URL us specific to each envelope, not the same for all signers.
I believe what I need to add is a 'returnUrl' to the createEnvelope so after the users sign, they are redirected back to my site. Here is what I have, but it is not working.
$signer = new \DocuSign\eSign\Model\Signer();
$signer->setName($signer_details['name']);
$signer->setEmail($signer_details['email']);
$signer->setRoleName($signer_details['role']);
$signer->setRecipientId(1);
$signer->setRoutingOrder(1);
$signer->setEmailRecipientPostSigningUrl('https://www.example.com');
By default, after signing the signer is given a docusign page. I am pretty sure there is a variable I can use to redirect them to my site. Anyone know how to do this?
Thom
Thanks!
If you want to redirect signer back to your App after signing is completed then you can configure Destination URL in your Branding. You can find details here, check Destination URLs for post-signing navigation section. Destination URL in Branding will be used only for Remote Signing.
The returnUrl property only applies for embedded signing.
Otherwise you would not be able to set it via the API - you would need to set it in the Branding options under "Go to Admin" and then "Brands" and then default brand, "Edit" and then "Destination URLs" and you can set the return URL for signing there based on the action that the signer takes.
Embedded signing allows you to set the returnUrl parameter and use a distinct URL for every session to return back to a specific place in your application instead of a generic one.
See https://docs.docusign.com/esign/guide/usage/embedded_signing.html
Unfortunately, the emailRecipientPostSigningUrl parameter is currently undocumented. I've asked the DocuSign engineering group for more information on it.
Meanwhile, please provide more information on what you want to do. Are you using embedded signing or signing via email notification from DocuSign?
Please edit your question to provide the additional information.
Added
As indicated in other answers, if you want to have a per-envelope URL then you either:
Use embedded signing. This is probably your best bet.
Or use the one url for all envelopes (via branding), then that url determines the real url for the envelope and further redirects the signer. I don't know if your first url receives the envelope_id or other information about what the signer did.

Generate Signing Link through API

Currently using DocuSign-Powerform which generates signing link to recipient. I need to know if signing link can be generated by envelope ID through DocuSign API for specific project requirement.
In order to use the API to generate a link that can be used to initiate the recipient signing session, the envelope must have been created via the API in the first place. (In the API documentation, this scenario -- creating the envelope via API and then subsequently using the API to generate the link that can be used to initiate the recipient signing session -- is referred to as "embedded" signing or "captive" signing.)
If you're creating the envelope via any other means (e.g., Powerforms or the DocuSign web UI), it's not possible to use the API to generate a link that can be used to initiate the recipient signing session.

DocuSign: Rest API C# get permanent links for signers

I'm using DocuSign's REST API to create envelopes in embedded signing mode. With the function CreateRecipientView i get only a temporary link. But i would prefer to get an permanent link like in the notification mail. How can i get this link/URL?
Getting permanent signing links is not possible using the DocuSign rest API.
For remote signers, only the signer can receive the signing link through email. No one else will have access to the signing URL.
Setting permanent signing/access link is possible with "embeddedRecipientStartURL" by using a captive recipient aka "clientUserId" and your own URL endpoint whereby you authenticate your users and determine if they can access the envelope via a Request Recipient View.
Documentation here.
You can also request emails be sent per captive recipients as well as many other "Portal" centric options that put you in full control of the user experience.
To give your signers permanent links, your application creates the links by itself. Eg myapp.myserver.com/signing_links/95a086f7-a76e-40ec-938e-987be996d220
The number should be a guid, not a database record key. This is needed to prevent someone from guessing what one of these permanent links is, so they can't read (or sign!) someone else's documents.
When someone opens their browser to go to one of the signer links, your application looks up the guid in the your app's database. The database record will include the DocuSign envelope_id and the recipient_id that the link represents.
Next your app uses that data to request an embedded recipient view link from DocuSign. Then (if you get a good response back from DocuSign), your app redirects the user's browser to the signing page on DocuSign.
(You'd get back an error from DocuSign if the recipient had already signed, or the envelope had been voided, etc.)
Guess what? The above is more or less how DocuSign gives out the "permanent" links in its emails--those links always redirect to one of the 5-minutes-only signing ceremony links.
Remember that you need to authenticate the signers, or include additional authentication options in your envelope, since you don't know who is going to end up pressing one of your app's signer links.
Setting vs Getting permanent signing/access link is possible with "embeddedRecipientStartURL" by using a captive recipient aka "clientUserId" and your own URL endpoint whereby you authenticate your users and determine if they can access the envelope via a Request Recipient View.
https://www.docusign.com/p/RESTAPIGuide/RESTAPIGuide.htm#REST%20API%20References/Recipients/Signers%20Recipient.htm
You can also request emails be sent per captive recipients as well as many other "Portal" centric options that put you in full control of the user experience.
So Net/Net, LarryK and CodingDawg are correct, each from a specific view. It ultimately is up to you to decide which way works best for your application and users.

Getting an embed url for an already created docusign envelope

In docusign is it possible to create a signing request via the web interface and then retrieve the sigining URL via the API
at the moment, I update the Envelope using the API to attach a clientUserID as this is lacking when created via the web interface.
Then I retrieve the signing view url however, there is no signing tab when navigating to that url. The only action I have is to close.
I have tested using the API and the envelope contains signing tabs so I'm not sure what the issue would be.
Any help would be much appreciated!
When you send a DocuSign envelope if you assign one or more tabs to your recipient it becomes what's known as a Free Form signing experience, where the recipient decides where to sign the document.
On the other hand if you specify one or more tabs for the recipient then it's a Guided Signing experience. In guided signing the recipient can only sign and take actions at the tabs the sender has specified.
It sounds like you are successfully creating the envelope and signing URL but that there are no tabs configured for the signer. If that's the case you should confirm your code is identifying the recipient correctly by specifying the name, email, recipientId, and clientUserId values.
I would also check that the tabs are being set in your request body correctly for the given recipient. First get the recipient information for the envelope using the EnvelopeRecipients: list API to ensure the data is what you expect, then generate the signing URL using the corresponding data.

DocuSign Embedded Signing Workflow

Using this python example from github as an example, I wrote an R package for interacting with the DocuSign embedded signing API.
I don't appear to fully understand the workflow for embedded signing, and I am hoping someone can help.
Here is what I would like:
I have an application with a sign up page. When users sign up I would like them to sign a document. So when they submit the sign up form, I generate an envelope using a template, and use their name and email in the templateRole parameter. I get a URL which I send the user to, which allows them to sign the document.
It appears though that the actual workflow involves sending an email to the signer first, and having them sign from a link in the email. This does not seem very "embedded" so I am a bit confused. Is this because I am using the sandbox API?
I see that that there is an authenticationMethod parameter, which takes values of either email, or HTTPBasicAuth or Password or PaperDocuments. Is this the reason it is using email instead of directly sending the user to a page where they can sign because I am chooseing email as the authenticationMethod?
Have I fundamentally misunderstood embedded signing?
The script you are referencing is for Embedded Sending.
The Embedded Sending view of an envelope allows users to edit the tabs, documents, recipients, and other settings of draft envelopes before sending them out for approval
So you are basically giving the Signer access to potentially modify the envelope(Add more signers, remove documents etc). The sender view should never be presented to the Signer.
If you are looking for Embedded Signing, then see this code
Embedded Signing - or the Recipient View workflow - allows users to sign directly through your app or website. When you embed your recipients you are telling the DocuSign platform your app will generate signing URLs, authenticate your recipients, present the signing request, and re-direct once the transaction is complete.

Resources