.NET SDK GetRecipientView() example and existing envelope - docusignapi

I'm using the DocuSign .NET SDK library to create the recipient view. It works fine when I pass a document into the Create Envelope Method but I don't want to create a new envelope... I want to set the EnvelopeId and get the recipient view specifically for the my already existing envelope;

TL;DR version: To provide the Recipient View, your app must also create the envelope. In particular, you need to set the clientUserId value. This is an important security issue. Your app then supplies the same clientUserId when your app creates the Recipient view
Details
When your app creates the Recipient View to enable the signer to review/sign the document, your app is providing authentication assurance to DocuSign. That is, your app is guaranteeing that the human is the right person to review/sign the document.
But how does DocuSign know that your app is itself authorized to authenticate the signer? The clientUserId value is used for this. Your app supplies this field and its value when you create/send the envelope. Your app must then provide the same value for the field when you ask DocuSign to create the Recipient View.

Related

Using DocuSign SOAP API to send to a signing group removes all tags

We're using Salesforce and the DocuSign SOAP API to send documents for signature. For a specific case we have created a template in DocuSign and are using the SOAPs CreateEnvelopeFromTemplates method to create the envelope for this template.
In this particular case, the template has two roles. The first role is always an individual signer but the second role is to be a signing group. Each role has tags on the envelope to fill out.
I set up the recipients in the API, using the signingGroupId for the signing group and send away. The first recipient is able to interact with the document without issues, but the second recipient - the signing group - opens the document to find the tags they should be able to interact with gone.
If I explicitly set the second recipient to be an individual and not a signing group, the tags for the second recipient persist. But they get blown away when the recipient is set as a signing group. Is there any way to use the DocuSign SOAP API to set a recipient as a signing group and not have the tags for the recipient be removed from the template?
You are using an older not quite deprecated method. Try using CreateEnvelopeFromTemplatesAndForms as this link suggests. https://developers.docusign.com/docs/esign-soap-api/reference/sending-group/createenvelopefromtemplates/

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.

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 : 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.

DocuSign API : Captive recipient

I am using SOAP based API call "CreateAndSendEnvelope" to create an envelope into my DocuSign account for remote recipients. I haven't used captive recipients and I also have not created any envelopes from templates so far.
My main reason for not creating envelopes from templates is my document to be included in the DocuSign envelope is not static, it gets generated dynamically based upon certain conditions.
If I need to include recipients as captive recipients in an envelope, do I always have to create an envelope from a template?
As I mentioned earlier, I cannot create an envelope using template as then every time I need to create an envelope, I need to create a template first.
Is there a way to create an envelope first and then redirect a recipient to a signing page/console/URL?
I assume that as remote recipients, captive recipients need not be the DocuSign account users.
Yes you can definitely embed recipients without using any templates - they are two separate, unrelated things. To configure embedded recipients through the SOAP API you just need to set their captive info.
On each recipient there is CaptiveInfo property which has a clientUserId element that you need to set if you want to embed them. It's up to you what value to use for each recipient, but you just need to remember that info when later requesting the URL for them.
There's a whole page on the DocuSign Developer Center that discusses Embedding functionality and even though it's tailored for the REST API it will still give you some needed info:
https://www.docusign.com/developer-center/explore/features/embedding-docusign
Then to link it back to the SOAP API you can view sample code through the DocuSign SOAP SDK that's up on GitHub. It has 5 sample projects, written in Java, PHP, .NET, Ruby, and Salesforce (apex).
https://github.com/docusign/DocuSign-eSignature-SDK

Resources