Hi Bruce,
Two years ago I posted about building a NT app to listen for forms and form data coming from DocuSign. It has worked well for two years and I continue to receive form data daily. You mentioned previously that this is essentially a Webhook scenario, where DocuSign acts as a client and sends me a "request" when one is available. My NT Service app (listener) acts as the server.
Today, my local University DocuSign Administrator emailed saying DocuSign has an issue. Here is what he received from DocuSign:
"Information from DocuSign:
SUMMARY:
This email is to inform you that your account has been identified for containing a DocuSign Connect configuration that is no longer working or has not been configured to the HTTP standards we require to be considered a successful configuration. This email provides important information and resources to assist you with removing or correcting this configuration. Failure to complete this update by this date may result in an interruption of this service.
OVERVIEW:
Administrators will often set up testing configurations and then forget that they have an active configuration that they are not intending to use. When this is done in our demo environment we automatically disable a configuration14 days after it begins to fail. Starting in September 2022 we are going to begin implementing this same protocol within our production environments.
CONFIGURATION ID(s):
11118409, 11118409
Here are the configuration IDs on this account that will need to be addressed.
UPDATE OPTIONS:
To review the Connect Configurations go to your Connect Dashboard for your account. If you find that these configurations are no longer relevant or not being used you can select the Actions button to the right of the configuration and select the Deactivate or remove it entirely by using the Delete option from the drop-down menu.
If you find that your listener appears to be working but the configuration Id for this listener has been identified as failing your listener may not be reporting a http 200 message back to DocuSign as we require. To review best practices for healthy Connect configurations, see the API Usage Guidelines.
Disabling a configuration stops Connect from sending new event messages to the endpoint. It does not affect API access to those envelopes, templates, or clickwraps. After you address the issue, you can reactivate the configuration."
I checked the DocuSign API Usage Guidelines and here is the entry for web hooks:
"Webhooks
When receiving webhook notifications from DocuSign, your computer is the server. DocuSign makes POST requests to your server.
Status: your server must be designed to always return a 200 status response to DocuSign when the message is successfully received. If your application does not need a particular notification message, it should respond with a 200 to DocuSign, then discard the message.
Availability: your server should be designed for 99% or better availability. It can have limited maintenance windows. It should be designed to be available 24 hours a day, 7 days a week. If this is difficult to achieve, you can use a PaaS (cloud) system to receive the messages from DocuSign and buffer them for your application. This configuration also enables your application server to receive the notification messages behind your firewall with no changes to your firewall.
Speed: your server should be designed to respond to each request from DocuSign within five seconds. Your server should use an asynchronous architecture: add incoming notification messages to an internal non-volatile queue, then send a 200 response to DocuSign. Asynchronously, one or more worker processes should process the messages from the queue."
I'm not sure I have all the information I need yet, but thought I would post here to get your input. In the guidelines above, it mentions that the NT Service app (server/listener) should return a 200 status response to DocuSign when the message is received successfully. Does a NT Service app do this automatically or do I need to add something to do this? I'm not sure where to do this if it is not automatic.
Thanks,
Jeff King