DocuSign: Rest API C# get permanent links for signers - docusignapi

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.

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.

Docusign RequestRecipientToken no longer working

I am using Docusign SOAP API for signing the documents. When using the RequestRecipientToken method, it returns the URL for signing the document, but it was no longer working and it asks docusign username and password.
How can I get a URL that will used in anytime and will do auto signing?
Typically if you want to bypass the login screen you'll either want to turn off the signer login requirement, or use an embedded signing session.
When creating the envelope, specify a clientUserId for the recipient. Then when you make the POST call to retrieve the recipient view, if you include that ID a URL will be sent back that will allow them to click and access their envelope without having to authenticate.
These URLs do expire after 5 minutes, so you can't really have a static link that works at all times.
DocuSign also does not support automatic signing, as the manual signing process is part of what validates an envelopes audit trail.

Using docusign EnvelopeViews: createSender as preview

createSender creates a URL, which I would like to use to let the sender preview the document before it's send out. Hence the documents are created using templates and and the API.
The link which is created would lead me out of my UI. Does the user need to sign in? Future plan is to have many user's, which have no DocuSign account.
For embedded sending Your app will have to authenticate the user. If you are doing a Service Integration then your Api account will be used as the sender.
Once the sending url is generated using the createSenderView api, there is no authentication required to access the URL.
You also have an option to build a User Application using the docusign Api where your App can support sending from multiple accounts.
The createSenderView requires that the person is a DocuSign user (with their own account and password).
Only DocuSign users can send. We charge for sending, not for signing or receiving.
What exactly do you want to preview? (And why?)
the documents themselves? Use the EnvelopeDocuments resource. You can also preview the thumbnails of the documents.
the documents with the "fields" ("tabs") that indicate where people will sign? I'm not sure that is do-able.
or the recipients and their routing order? Use EnvelopeRecipients: list method.
Added
Another solution is to use a dummy certified delivery "recipient". Add this recipient as the first recipient. This will block the envelope from proceeding on the recipient routing.
Then get the envelope's documents to show as a preview.
Then, if ok, alter the envelope's recipients to remove the certified delivery recipient. The envelope will then continue on with the first "real" recipient.

Docusign : How to send confirmation email with link to embedded signer

I am using the DocuSign API in an embedded manner. I create an envelope and add signers, the first signer always being set as embedded. This allows me to retrieve a URL that is then embedded in an iframe.
However, I also wish, to trigger an email (as soon as the envelope has been created, NOT upon completion) that gets sent to the primary recipient/signer as if they were a nonembedded signer.
I tried adding the signer twice, with the same role, to the recipients, but that didn't work. No email was sent.
Is there a way to accomplish this?
I believe there is a setting to enable this but that it needs to be enabled by someone on DocuSign's side, like your account manager. If you do not have an account manager yet please respond to the auto-generated emails that were sent out to you once you created your account, you should have 3 of them.
The account settings available are only for Completion emails. However, the REST API also supports an embeddedRecipientStartURL parameter on the signer object that triggers a normal DocuSign email. The value of this parameter is the URL that should be included in the email. This means you can link back to your own application and request the recipient view as normal.
Check here for more detail: Signer embeddedRecipientStartURL. Note: if you set this to a value of "SIGN_AT_DOCUSIGN" then DocuSign will provide its own URL and take care of signing. The trade-off is that you won't be able to initiate any bespoke authentication you are doing in your own application.

Where can I find the security code in the Envelope

When DocuSign sends an email to a user requesting a signature, the View Documents button contains a link to a URL such as this:
https://demo.docusign.net/Member/EmailStart.aspx?a=564ffc65-28s7-402b-a499-cfec5526db3c&er=ac335504-8a6d-49a0-bfb6-3793887c0722
I know that the second parameter in the URL call is the recipient Id, which I can see in the envelope. However, I cannot find the first parameter.
Is there anyway I can regenerate the URL?
The reason I ask is that we have a website with a message center. Upon logging into our website, if the user has documents that require signature, I want to display a list of links for them to click and sign.
If you have a website with a message center and login I believe you should shift your paradigm of how you use DocuSign. DocuSign has a concept of an embedded signer. That means you notify the signer and when they log into your site you can make a web service call to present the person with a signing in an IFRAME or a separate window.
You can find the breakdown of that scenario in this code walkthrough:
http://iodocs.docusign.com/APIWalkthrough/embeddedSigning
A broader overview is here:
http://www.docusign.com/developer-center/explore/features/embedding-docusign
It is impossible for you to figure out or regenerate the GUIDs that are passed with envelope notification. That's one of the security features of DocuSign notifications.
Hope this helps.

Resources