Retroactively refresh document names in Envelopes - docusignapi

Can we "refresh" the document names in envelopes retroactively? We've already sent out our envelopes but need to change the document names inside of the completed/sent out envelopes. There is around a few hundred envelopes to update so updating each one individually will be problematic. The reason we need to do this is that we have a few different envelopes but when setting up the documents inside of the envelope the documents were setup with the same name so when we receive the Document through the API the documents had the same name so each document was overwriting the previous entry.

Sorry but I don't believe this is possible. Once an envelope has been sent and its status is "In-Process" the only aspects you can change are recipient(s), tab(s), and or custom fields (which are at the envelope level, not document level), and if it's in "Completed" status then there's nothing you can change about it.
So there's currently no way to change the document names of a sent envelope, and I'm not sure if there ever will be as that's like having someone sign something, then changing an aspect about that something that they signed underneath them.
With regards to what you CAN change once an envelope has been sent, you can edit the following recipient info:
email, userName, signerName, routingOrder, faxNumber, and deliveryMethod
And you can modify tabs for a given recipient as well. You can also modify any envelope custom fields you might have in the envelope. One final point I'll make, is that in our system a POST http request is always to add or create things, and a PUT http requests is for modifying existing envelopes - so whenever you are modifying a recipient, tab, or custom field make sure your requests are PUT requests.
References:
Modify or Correct and Resend Recipient Information
Modify Envelope Custom Fields for an Envelope
Modify Tabs for a Recipient

Related

How do I prevent recipients from changing the routing order?

DocuSign the sender view Image
Details
No1.
Create an envelope with the following API.
https://developers.docusign.com/docs/esign-rest-api/reference/envelopes/envelopes/create/
At this time, include the following in the request body. This will invalidate any recipient edits that have already been set.
recipients.signers[0].templateRequired = 'true';
recipients.signers[0].templateLocked = 'true'.
No2.
Get the URL of the sender view of the envelope created in No1 with the following API.
https://developers.docusign.com/docs/esign-rest-api/reference/envelopes/envelopeviews/createsender/
No3.
Access the sender view URL obtained in No2 by specifying the following in the query parameter This will enable the envelope destination edit action.
?showHeaderActions=true&showEditRecipients=true
At this time, the Add Recipients button is pressed from the Edit Recipients action on the Senders view screen of the DocuSign UI. By default, they are sequentially numbered. (See image)
Is there any way to prevent this added recipient order from being changed by changing the settings from the screen or by specifying options when creating a recipient?
I have read the documentation but have not found a good way to do this.
Recipients should not be able to change the routing order unless they are an Editor Recipient (who can change the envelope and everything about it)
If they are all signers or other recipients with no editing privileges, the routing order will respect what you have put in.
If you are looking to make a template and lock the routing order in the template, that is possible too.
But otherwise if there are no editor type recipients, the routing order will stay the same

Enforce user & document specific tabs/fields within DocuSign embedded Sender screen

I have an ASP.NET MVC application that's using the DocuSign REST API to create a draft envelope, then redirect to the DocuSign Sender view, for the user to then manually add the relevant tabs/fields for each recipient, to each document.
Is there any way when creating the envelope, to state that for a given recipient, at least one signature field needs to be added (within the sender view) to a given document; for another recipient, they must add both a signature and initials field/tab to a given document, and so on. The result being that unless those criteria are met within the sender view, i.e. the sender has not added those necessary tabs/fields, then the sender cannot send the envelope until they've been added?
Basically, we don't know where on any documents these tabs/fields need to be applied, so we leave it up to the sender to add them in the DocuSign sender view, but it would be nice if we can ensure the sender does actually add the necessary tabs/fields accordingly - preventing the envelope from being sent with documents that have missing fields.
Is this possible?
You can do this but it is tricky. Here's another way to look at solving the use case; what I think you're asking for:
Your application creates the envelope in draft format
Your application opens a sender view for the human to do their tagging of the document(s) for the recipient(s)
You want your application to now have the ability to check that the human did add a certain number of tabs for various recipients. If they did, then the envelope should continue on its way to the first recipient. Else, you want to have the human try again with the sender view, or abort the send, or make the alarms go off, etc.
Here's how you can do the above:
When your app creates the envelope in draft form, add an additional signer recipient, as an embedded signer. Something like
{email: "noone#example.com", name: "App check tabs step", clientUserId: "1", routingOrder: "1"}
All the real recipients will also need their routingOrder to be set, and to a number above 1.
After the human completes the sender view (where they hopefully added the tags correctly), the envelope will be set to sent status and it will start to be routed. But since the first recipient is the embedded signer, the envelope will wait for your application to handle that recipient (because it is an embedded recipient).
After the human completes the sender view, your application can then "check" the envelope to see if the tabs were added per your specification--your app will just need to get the envelope recipients/tabs and check to see if the tabs were created.
Next step if the tabs were added correctly: your application should obtain an EnvelopeLock, then delete the embedded recipient, then delete the EnvelopeLock. Once you do this, the envelope routing will resume with the next recipient, the first "real" recipient.
If the the tabs were NOT added correctly, then you can probably open an Editing View screen for the human to fix the tabs. Or you could void the envelope. (Then re-check the envelope's tabs and then remove the embedded signer when you're ready for the envelope to proceed.)
The above works fine. There is a downside that the certificate of completion will show that the envelope was "corrected" when the "application user" was deleted.

Docusign Retrieve Signing Console URL: senderHost & mergeField details

Sign at Docusign
As per the above thread, it is possible to retrieve Signing console URL for email recipients too by setting EmbeddedRecipientStartURL property to value "SIGN_AT_DOCUSIGN", As per the documentation(Sign at Docusign), below example has to be framed in order to open Docusign Signing console.
http://senderHost/[[mergeField1]]/beginSigningSession?[[mergeField2]]&[[mergeField3]]
Please explain what is senderHost & what should be filled in the mergeField properties accordingly? Let me know if you need any additional information related to this query.
BVS, I believe that's the opposite. If you provide EmbeddedRecipientStartURL field with SIGN_AT_DOCUSIGN, the signature will happen completely on DocuSign, and you don't have to provide any URL or merge fields.
If the value SIGN_AT_DOCUSIGN is used for this node, the recipient
will be directed to an embedded signing or viewing process directly at
DocuSign.
On the other hand, if you want to route the client through your own application BEFORE he or she goes to DocuSign, you could provide this kind of template URL with merge fields to better handle the request.
Information can be appended to the embeddedRecipientStartURL using
merge fields. The available merge fields items are: envelopeId,
recipientId, recipientName, recipientEmail, and customFields. The
customFields must be part of the recipient or envelope. The merge
fields are enclosed in double brackets.
By example: if you wanted to handle the request before the signer goes to DocuSign, you could send something like https://senderHost?envId=[[envelopeId]]&email=[[recipientEmail]]. Sender host is your host, so it can be anything on the internet (www.yoursite.com, by example).
Hope it helps!

DocuSign for Salesforce - Removing Add Recipients button on Envelope

I am sending documents from Salesforce for Signature using DocuSign using Custom Button on the Custom Object record. I am capturing the recipients in the record and passing the details in CRL, CCRM, CCTM. Now i want to remove the feature to Add or delete or Edit the recipients that are showing in the Envelope just before send. Could any one subject what i could do to achieve this.
Thanks in-advance
Based on the documentation (http://www.docusign.com/sites/default/files/DocuSign_for_Salesforce_Administrator_Guide.pdf), I don't think it's possible to show the Envelope confirmation/review screen to the sender and NOT allow them to modify Recipients. The closest you could come would be to set OCO='Send' -- but that would result in the Envelope being sent immediately when the button is clicked (i.e., wouldn't display the Envelope confirmation/review screen at all) -- so your button code would need to supply all required Envelope information, and the sender wouldn't have the opportunity to review/change any of the information prior to the Envelope being sent.

SOAP API - deleting recipient

Looks like we can delete recipient in the REST API but is there a method in the SOAP API that will allow deleting recipients?
Currently we are calling CreateEnvelopeFromTemplatesAndForms() from the SOAP API to create the draft envelope. The template may have multiple recipients and some of them may be optional. Before we can send the envelope by setting ActivateEnvelope to true or calling SendEnvelope(), seems like all the recipients' info (i.e. name, email, etc) must be filled in, otherwise the call will throw an error "...email address is invalid...". So we would like to delete the optional recipients when they are not needed.
Can we somehow define an InlineTemplate for the CreateEnvelopeFromTemplatesAndForms() call to delete recipients?
We also looked at CorrectAndResendEnvelope(), seems like we can edit recipient info but not delete.
Thanks in advance!
No, there is no SOAP equivalent for deleting recipients. This is one of the reasons why DocuSign's REST API is encouraged over the SOAP API, and this feature gap is growing with every monthly release.
Three workarounds I can think of:
Use a recipient type like Editor or Agent to edit the recipient info after envelope has been sent.
Instead of deleting optional recipients, only add them later in the process if needed.
Use REST to delete your optional recipients.
For #1, there are recipient types like Editor, Agent, or Manage Recipients which allow you to edit the recipient info of recipients that are later in the routingOrder.
For #2, instead of adding your recipients at the beginning, only add the required recipients then at a later time if it's decided that optional ones are needed, add them through a Recipient Correction/Addition.
For #3, the nice thing is that you can intermix the APIs, and make some calls in SOAP and others in REST. The only thing you'd have to do is write code to send a REST request and parse the response.

Resources