DocuSign Embedded Signing Workflow - docusignapi

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.

Related

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.

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: when using an embedded signer, how do you send email to user if they select "Finish Later"

DocuSign: when using an embedded signer, how do you send email to the signer if they select "Finish Later?"
I have tried to deselect the "Suppress Emails to Embedded Signers". But that did not seem to change anything.
If it is not possible to send a signer an email, how does they get back to the document, since the url that is generated is only good for 5 minutes?
DocuSign offers two main methods for initiating workflows with your recipients: Remote Recipients or Embedded Recipients.
Remote Recipients, which is the default, receive an email from the DocuSign platform which has a link that they use to open the signature request through a browser and sign through the DocuSign Web App (i.e. website). In this scenario recipients are guided through the DocuSign website and have full access to all features and settings.
On the other hand, Embedded Recipients do not context-switch, wait for an email, and then sign through the website. Instead, when you embed a given recipient you are telling the DocuSign platform that YOU are taking care of everything, such as preparing the signing URL, delivering to the user (recipient), and handling the callback once they are done signing.
In this case, whether they sign the document, decline to sign, close the window, or do something else like hit the "Finish Later" button, there will be a query parameter appended to the return URL you configure so that you can determine what action they took. For instance if they declined to sign the document and your returnUrl was set to https://www.docusign.com/developer-center the callback would look like:
https://www.docusign.com/developer-center?event=decline
Therefore, when you Embed a recipient and they either do not sign in time (due to the 5 min expiration of the URL) or they try to access it more than once (they are one-time use only) your app will need to parse the returnUrl to determine what action they took and simply generate a new signing URL when needed.

Create an envelope without sending an email to signer

I'm working on a C#.net website and using DuoSecurity services to request electronic signatures. I want the users to sign the documents trough my web site so I decided to use the embedded signing feature.
To use this feature, you first need to create an envelope, but while creating an envelope I'm required to enter the signer's email address so DocuSign sends him an email with a link to the document, but I don't want this email to be sent.
To make it short, is there any way to create a DocuSign envelope without having DocuSign send an email to the signer? (I don't mind entering the signer's email, I have all the required information, it's just that for security purposes I don't want the end-user to receive the document URL trough email).
If not, is there any way to use the embedded signing feature without creating an envelope (I doubt it, but I really need a way to upload a document to DocuSign without them sending an email to the signer).
Thanks in advance,
The system will not send them an email if you are using Embedding functionality. To make use of Embedding and generate a URL token for a given envelope you need to set the clientUserId property for your recipients.
When the clientUserId property is present and its value is not null no email is sent to the recipient (only the envelope complete email gets sent once signing is done, but that is configurable). Basically the only thing you have to remember with embedding is that you set the clientUserId property for your recipients at the time they are added to the envelope, then when you are request a URL token you need to reference the same email, name, and clientUserId combination.
You're two best resources on this are the Embedding API Walkthroughs (see the bottom 3):
http://iodocs.docusign.com/APIWalkthroughs
And the DocuSign Dev Center page on Embedding functionality:
Features -> Embedding

Resources