I am using REST API (docusign). I need to get the field "sentDateTime" from the signers.
I use this Request:
/v2/accounts/{accountId}/envelopes/{envelopeId}/recipients
The REST API never returns the field "sentDateTime" from the signers.
How can I get this field from the signers?
Thanks
You can't get this field from the signers/recipients. Instead, you will get the field from the envelope they are included in. See below:
Currently API does not return "sentDateTime" for each signer, once Signer completes the signing ceremony then you can see two fields, "signedDateTime" and "deliveredDateTime" in the API response. I would propose to use DocuSign Connect for getting these values as it saves you from polling, In DS Connect, DocuSign sends below data for each recipient
<RecipientStatus>
<Type>Signer</Type>
<Email>signerEmail#gmail.com</Email>
<UserName>Signer1</UserName>
<RoutingOrder>1</RoutingOrder>
<Sent>2017-11-22T11:22:36.833</Sent>
<Delivered>2017-11-22T11:26:10.607</Delivered>
<Signed>2017-11-22T11:26:20.483</Signed>
Related
Please share docusign API to download signed document. Request body.
https://developers.docusign.com/docs/esign-rest-api/how-to/download-envelope-documents/ has this in 8 different coding languages.
the request is a GET call, so the request body is not needed (empty).
You make a GET call to this endpoint:
{base_path}/v2.1/accounts/${account_id}/envelopes/${envelope_id}/documents/${doc_choice}
You will need your:
base_path - in the developer account it would be https://demo.docusign.net/restapi/
account_id - your accountId for the account that was used to create the envelope
envelope_id - your envelopeId for the envelope sent for signing.
doc_choice - your documentId or if you want to get a ZIP file, combined or PDF portfolio.
After running the console app, our users get an email with the signing link to Docusign making them remote signers.
What I want to be able to do is get those links from their emails.
I did some research and this is what each url is made of
https://demo.docusign.net/Member/EmailStart.aspx?
a=65d11cf7-d3b7-49a1-8000-6192b6227d71& <<< Unique Activity ID? Always different in all URLs
acct=a0e816ac-3919-475e-a826-34c2c33f90e7& <<< Some kind of role ID (stays same between envelopes and users of the same role, I have it
for my roles..just don't know how to get it programmatically
er=62378ec0-39ce-495e-84e4-e0e598fab3cc& <<<< envelopesApi.ListRecipients(.....) .Signers[n].RecipientIdGuid, able to get it
espei=30cec285-39cd-45a3-bb8e-7bd0560dcd80 <<<< ENVELOPE ID, able to get it
The first parameter is the main focus of my question - it is a total mistery what is it and how to get it
The second parameter looks like a role_id, but I don't know how to get it other than hard-coding values for each of my roles
The other two parameters aren't a concern.
Does anybody know how to get ahold of the first two parameters using the C# Docusign API?
Or even better, is there a way to get the recipients signing url links using the same API?
To obtain the signing URL you will have to set the recipient as an embedded recipient.
After the envelope is created, use the createRecipient:EnvelopeViews api to retrieve the Signing URL.
You have to set the recipient clientUserId parameter to mark a recipient as an embedded recipient.
Request
{
"userName": "name",
"email": "examble#email.com",
"clientUserId": "clientUserId",
"authenticationMethod": "email",
"returnUrl": "your app url"
}
This is with the REST api and the GitHub C# client. I create an envelope and send it off using the CreateEnvelope call. I see the deserialize calls JsonConvert.DeserializeObject on the content using the EnvelopeSummary model and it works as expected. Can EnvelopeSummary return what it does now, but also custom fields if I supplied them. I can make an additional call with the envelopeid to get this info. I would like to avoid that.
You will have to make a separate API call to retrieve the envelope custom fields.
(listCustomFields)
As per the API documentation, CreateEnvelope returns the envelopeSummary object which contains the following four properties
envelopeId
status
statusDateTime
uri
Here is a sample response.
{
"envelopeId": "91d26c0d-2e5f-40d9-bf5e-de19539d5ebf",
"uri": "/envelopes/91d26c0d-2e5f-40d9-bf5e-de19539d5ebf",
"statusDateTime": "2017-01-24T18:33:06.8230000Z",
"status": "sent"
}
Use the Connect publishing service. Implement a "Connect Listener" (a Web application) and register to receive push envelope status messages, which include the envelope custom fields.
Using Connect is considered a "best practice" and does not use any API calls (does not impact your quota, does not require an API Certification). Go to the DocuSign Dev Center and look for info on Connect or "Webhooks".
In Docusign, given an envelope Id, how can I get at some identifying info (e.g. email address) as to who originated/created/sent the document using the API only?
Thanks.
It depends on your use-case. One way is to make the Get Envelope Recipient Status API call which will return status - and other metadata such as email, name, recipientId, etc. - for the envelope recipients:
Get Envelope Recipient Status
You can also make the Get Envelope Audit Events API call, which will return some identifying info such as email and name and also what actions were taken:
Get Envelope Audit Events
Lastly, I believe the Get Envelope Certificate API call will probably return the most complete audit trail since it's returns the CoC (Certificate of Completion) which lists anything and everything any recipient has ever done to the envelope. However the result of this call is a PDF (doc) so you'd have to parse that doc for specific information you're looking for.
Get Envelope Certificate
I'm working on a PHP application that has multiple products which require signing from a customer before going for the product.
I'm using powerforms link to embed them on my application (using iFrame).
They work fine. But the problem is I need to store the document signed status in my database.
The we can set a return URL in the Docusign Preferences Page. But that will be static and I won't have a clue of what product the user has selected.
References:
Powerform Docs
You can use DocuSign Connect to receive real-time notifications of envelope events (for example, Envelope Completed). At a high-level, it works like this:
You login to DocuSign web console (as Admin) and create a Custom Connect Configuration. As part of creating this configuration, you'll specify the endpoint (http address) that you want Connect to send notifications to, and which events you want to be notified of.
You build a "listener" -- i.e., the web page that will receive the HTTP POST messages from DocuSign Connect, and process those messages.
When an Envelope or Recipient event occurs (for which you've enabled notifications in your DocuSign Connect Configuration), Connect will almost immediately send an HTTP POST to your listener. This message contains XML with info about the Envelope, Recipients, Documents, Fields, etc. You'll develop your listener such that it parses the XML message to determine Envelope status, data field values, etc. and then can respond appropriately within the context of your application (i.e., in your scenario, your listener would use the XML message from Connect to determine envelope status and which product(s) the user selected).
See this guide (http://www.docusign.com/sites/default/files/DocuSign_Connect_Service_Guide.pdf) and this page in the DocuSign Dev Center (http://www.docusign.com/developer-center/explore/connect) for more detailed information on configuring/using DocuSign Connect.
UPDATE - Using Custom Fields to populate unique Identifier for Envelope
Depending on the nature of your use case, you might need to use an "envelope custom field" to populate a unique identifier for each Envelope in the "create/send envelope" request, so that your listener application has a way of identifying the envelope when it receives a Connect message. (An 'envelope custom field' is simply a custom piece of metadata on an envelope.) Simply set the customFields property in your Create Envelope request, and populate a single textCustomFields item with the unique identifier. For example:
{
"emailSubject": "Please sign this",
"emailBlurb": "Please sign...thanks!",
"customFields": {
"textCustomFields": [
{
"value": "1234567",
"required": "false",
"show": "true",
"name": "ProductId"
}
]
},
"status": "sent"
...
}
See the REST API Guide (http://www.docusign.com/sites/default/files/REST_API_Guide_v2.pdf) for more detailed info about using Custom Envelope Fields.