According to DocuSign documentation, we have to use "Modify or Correct and Resend Recipient Information" method in order to resend an envelope. However, this method is also expecting a collection of recipients.
Is there a way to simply resend the envelope to the current recipients?
I had originally thought about something like this:
string requestUrl = string.Format("https://{0}/restapi/v2/accounts/{1}/envelopes/{2}?resend_envelope=true", Properties.Settings.Default.Domain, Properties.Settings.Default.AccountNumber, envelopeId);
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(requestUrl);
request.Method = "PUT";
request.Headers["Authorization"] = string.Format("bearer {0}", Properties.Settings.Default.AccessToken);
Related question: Resend DocuSign Emails
I don't believe it's currently possible to resend an Envelope to all recipients, without using the "Modify or Correct and Resend Recipient Information request (which requires that you supply the recipient information for each recipient you wish to resend the envelope to). As you noted in your question, this procedure is described in this related question.
Seems like the main use cases for 're-sending' an Envelope involve scenarios that would most commonly affect only a single/specific recipient within an Envelope. For example:
A recipient has misplaced or deleted their original "invitation to sign" email.
A recipient's email address was specified incorrectly the first time around, so you need to re-send the "invitation to sign" email to the new address.
Etc.
In scenarios like these, it makes sense for the 're-send Envelope' API call to require that you specifically identify the recipient(s) who should receive the email notification again -- because you only want to re-send to the specific recipient(s) who had trouble with the notification the first time around.
Related
Is it possible to send an Envelope to someone, have them fill it out and sign, do external validation, and then send the envelope to the next signer? Currently using the API, if I specify only one recipient, the Envelope is marked completed, and if I specify multiple recipients, the next signer is immediately notified after the previous person signs.
You could add a special recipient that is your "validator."
That recipient can be your system and using DocuSign Connect webhook, your system would be notified when it's your turn, between the first and third recipients. You can do the validation and decide how to proceed. You can do things like void the envelope or correct it. If you need the envelope to be routed differently - you can do that too.
The second recipient is just a mock one to stop the envelope from going to the next recipient upon signing of the first one.
I am using templates in DocuSign and want to be able to send custom email bodies not only when creating the envelope but also also for the completion emails.
Is there a way to change the body of emails sent from DocuSign for both signing and completion emails?
Yes, there are over 35 different email templates/events that you can customize: https://www.docusign.com/supportdocs/cdse-admin-guide/Content/account-admin/branding.htm.
However, you only have one opportunity to provide dynamic/custom content when generating the envelope, that is the emailBlurb property. You can re-use that emailBlurb in the various email templates.
You can provide a different message/blurb to different recipients, but you have to do that before you send your envelope (status change from "draft" to "sent"). You can correct an envelope that was not yet sent to a specific recipient but you cannot update an email after it was already sent...
using the DocuSign API is it possible to build a workflow where we send one document to two (or more) signers in such a way that the document envelope gets marked as "complete" as soon as one of the signers signs...e.g., we send a document to persons A and B, as soon as person A signs then DocuSign marks the envelope as complete and B no longer has to sign.
Cheers !
DocuSign behavior is such that each and every existing "signer" for an Envelope must access the Envelope and "confirm signing" before the Envelope can move to a status of "Completed". However, it IS possible to implement the workflow you describe -- with some coding on your part.
For this example, let's assume you create an Envelope with 3 recipients, each of type signer. As soon as any one of the 3 recipients completes/submits the Envelope, you want the Envelope to be considered Complete. You could achieve this by doing the following:
Implement DocuSign Connect either at the account level OR at the Envelope level (by setting eventNotification properties in the API request that creates/sends the Envelope) -- such that DocuSign Connect will send the "listener" endpoint you specify an HTTP POST message (in XML format) whenever a "Recipient Signed/Completed" event occurs for an Envelope.
Build/code your "listener" application to parse the XML messages it receives from DocuSign Connect, and if/when a message indicates that a recipient signed an Envelope, code your "listener" application such that it makes an API call to DocuSign to Delete each remaining signer recipient for the specified Envelope. In the example of an Envelope that contains 3 signers -- signer A, B, and C -- this would mean deleting signers A and C if the Envelope's been signed by signer B.
As soon as an Envelope no longer contains any recipients that must receive/acknowledge/complete the Envelope, the Envelope's status will automatically advance to "Completed". By implementing the procedure I've outlined above, you're essentially forcing an Envelope to complete by removing/deleting all incomplete recipients by using the API, as soon as DocuSign Connect notifies you that a recipient has signed. [Do note, however, that when you remove/delete a recipient from an Envelope, that recipient loses the ability to access the Envelope from that point forward.]
Create an envelope using Server Template and then get the return URL for Embedded signing and also send the Envelope to the recipient via email to sign the document. So that , User can sign the document either using Email Link (Remote) or Embedded link in Web. Please let me know there is any option to achieve this in DocuSign API ?
A solution is to specify both a clientUserId and an embeddedRecipientStartURL when creating a Recipient.
Specifying a clientUserId causes the recipient to be an "embedded" signer.
Specifying an embeddedRecipientStartURL causes the recipient to also receive an official DocuSign email inviting them to sign the documents.
The embeddedRecipientStartURL parameter is intended to be a URL that DocuSign can redirect the signer to within your app, and the idea is that you take care of any necessary authentication. However, rather than supply a URL to your own app, you can instead supply a magic value of "SIGN_AT_DOCUSIGN". In effect, this causes the recipient to be both embedded and receive an official "please sign" email from DocuSign."
A single recipient in an envelope workflow must be specified as EITHER a Remote recipient (so that DocuSign will send them an email when it's their turn in the routing order) OR an Embedded recipient (so that DocuSign will not send them an email) -- it's not possible to specify a recipient as both Remote and Embedded. However, in the scenario you describe, you might consider the following approach:
Specify the recipient as an Embedded recipient when you create the envelope.
Immediately after creating the envelope (or when it's that recipient's turn to view/sign the envelope), your application creates and sends an email to the recipient and includes a link to a page within your application (website) -- you can include querystring parameters on the link URL to contain recipient name and email address.
Develop the page in your application (the one that the email links to) such that it identifies the recipient (perhaps by reading the recipient name and email address from the querystring parameters in the URL), and then uses that information to make a "POST Recipient View" call to retrieve the URL from DocuSign that can be used to launch the recipient's signing session.
Using this approach, the recipient will still receive an email when it's their turn to sign -- but the email will be sent by your application -- and the link in the email will lead the recipient to your application where your application will then request (from DocuSign) and present (to the recipient/user) the URL to view/sign the envelope.
I have a requirement to add a new tab to a recipient on an existing envelope. The only catch is the envelope is already sent (but not signed) by the time the logic needs to add it.
The documentation mentions "This adds one or more tabs for a recipient to a draft envelope":
DocuSign REST Guide - Add Tabs for Recipient:
http://www.docusign.com/p/RESTAPIGuide/RESTAPIGuide.htm#REST API References/Add Tabs for a Recipient.htm%3FTocPath%3DREST%20API%20References%7C_____61
Is there a way to fulfill my requirement?
No you can not add recipient tabs to In-Process (or sent) envelopes. As you've read in the documentation you can only add recipient tabs to draft envelopes, or add them during the envelope creation step of course.
Once an envelope has been sent, you can only edit: email, userName, signerName, routingOrder, faxNumber, and deliveryMethod. That's directly from this page of the DocuSign REST Api Guide:
http://www.docusign.com/p/RESTAPIGuide/RESTAPIGuide.htm#REST API References/Modify or Correct and Resend Recipient Information.htm%3FTocPath%3DREST%20API%20References%7C_____57
EDIT
However, I have found out that the ability to add recipient tabs to a sent envelope IS in the works, and should be available with v3 of the api. Not sure when that comes out yet though...