1
votes

I tried calling DocuSign sales and support (transferred around 3 times) and no one could give me a straight answer on this. Their "support" actually told be to try stackoverflow, so here I am...

I'm looking at their API pricing levels here: https://www.docusign.com/products-and-pricing/api-plans-b

If I have the Intermediate API, can I make the following API requests?

GET /restapi/v2.1/accounts/{accountId}/envelopes/{envelopeId}/documents/{documentId}

GET /restapi/v2.1/accounts/{accountId}/envelopes/{envelopeId}/form_data

The part that's throwing me for a loop is the DocuSign Connect feature in the Advanced API plan. The description of it is:

The DocuSign Connect module lets you configure webhooks for envelope events and recipient actions for some or all users in your account. It can also be used to transport the completed documents back to your app or website and to retrieve any form field data entered by your recipients.

I don't need the webhooks, but I need to be able to get the completed documents as PDFs and get the form field data. Do I really need the DocuSign Connect feature for that?

1

1 Answers

2
votes

You will be fine with the intermediate plan. Here is the basic distinction between polling and Connect - With Connect, we will proactively notify YOU when key envelope events occur.

Otherwise, it's up to you to call GET /envelopes and/or GET /form_data to retrieve that information. Be wary of the resource limits when you poll.

As a quick aside, instead of making two requests to retrive that information, just make one - GET /envelopes?include=recipients,tabs. This will provide you all the information you seek in one request.

The important excerpt from that guide:

You may not exceed one GET request per unique envelope endpoint per 15 minutes. If you exceed this limit the request will not fail, but it will be flagged as a violation of rate limits which can cause your app to fail review to go-live review.

For example, the following transactions violate API rules due to the repeated GET requests to the first document and second recipient:

[12:00:00] POST /accounts/12345/envelopes
[12:01:00] GET  /accounts/12345/envelopes/AAA/documents/1
[12:02:00] GET  /accounts/12345/envelopes/AAA/recipients/2
[12:03:00] POST /accounts/12345/envelopes
[12:04:00] GET  /accounts/12345/envelopes/AAA/documents/1 *
[12:05:00] GET  /accounts/12345/envelopes/AAA/recipients/2 *

However, the following set of requests comply with API rules and limits and would not be flagged by the platform:

[12:00:00] POST /accounts/12345/envelopes
[12:01:00] GET  /accounts/12345/envelopes/AAA
[12:16:00] GET  /accounts/12345/envelopes/AAA
[12:17:00] GET  /accounts/12345/envelopes/AAA/documents/1 
[12:32:00] GET  /accounts/12345/envelopes/AAA/documents/1 
[12:40:00] PUT  /accounts/12345/envelopes/AAA/recipients/1
[12:41:00] PUT  /accounts/12345/envelopes/AAA/recipients/1