Hi there,

After consultation with a customer, I checked that API cooperation with the electronic signature service DocuSign was possible, and confirmed that it can be realized.
Below, I will summarize how to set up that collaboration.

TOC
1: Background to DocuSign and Questetra collaboration study
2: Settings for connecting DocuSign and Questetra
2.1: OAuth settings for DocuSign
2.2: OAuth settings for Questetra
2.3: Settings for invoking DocuSign APIs from Questetra
3: Summary

1: Background to DocuSign and Questetra collaboration study

One of our customers who has already implemented DocuSign is considering business improvement using Questetra, so I verified if API linkage is possible or not.

2: Settings for collaborating DocuSign and Questetra

I proceeded with the verification following Docusign’s guide REST API: Getting Started with OAuth.

First, I created a Docusign Developer sandbox (development environment). It was prepared immediately after applying via the following webform.
https://go.docusign.com/o/sandbox/

Please refer to the following article for details of OAuth2 settings. In this article, I will focus specifically on the integration with DocuSign.
* Related Article: Settings when Calling REST API of Another Service from Questetra (Questetra to be OAuth2 client)

2.1: OAuth setting on the DocuSign side

I logged in to the sandbox according to the aforementioned guidance and displayed the administration screen from “Go To Admin”. Then I opened “API and Keys” on the left side menu, and added “Integrator Key”.

  • Set the redirect URI of Questetra, generate Secret Key (make a note) and SAVE
  • Make a note of the generated Integrator Key
  • Make a note of the API Account ID which is indicated in My Account Information on the Admin screen.

2.2: OAuth setting on the Questetra side

Obtain a token based on the information described in the Docusign guide page Authorization Code Grant.

2.3: Setting for invoking DocuSign APIs from Questetra

By using a Throwing Message Intermediate Event (HTTP) I could invoke the API.
* Related Manual: M225: Auto Sending of HTTP Request with Business data Inserted

  • Network Settings
    • Access URL, HTTP Method: Set up according to the API to be invoked
    • String-type Data Item that will contain error details when an error occurs: Although it is not mandatory, it is better to set this so that you can check any error details. Also, it is better to check the data item after this event to determine whether there is an error, and to take action at the time of error.
  • Security / Custom Header: Select “Connect with the OAuth 2.0” and enter the name which you have set in 2.2 “OAuth Setting name”
  • Request Body: When sending JSON, specify String-type that holds JSON in the Data Item that will transmit the request body, and specify application/JSON in the request body’s Content-Type
  • Response Settings: Although it is not mandatory, if you check “Save Response” and specify a String-type Data Item, you can confirm the result.

Even though it is not described in the aforementioned guide, I tried the retrieval API first. The following is what I did.
Create a template on Docusign screen, and make a note of its Template ID from the display URL of the Template Summary screen.
Execute Template: get. (HTTP Method is GET.)

https://demo.docusign.net/restapi/v2/accounts/{API ACCOUNT ID} /templates/{TEMPLATE ID}

Below is the received JSON data, and it seems to be working well.

{
"envelopeTemplateDefinition": {
"templateId": "●Template ID●",
"name": "●Template Name●",
"shared": "true",
・・・ (omitted below...quite long codes...)
}

Next, execute Envelopes: create. (Set the HTTP Method as POST (Specify Request Body),
“Data item to send as request body” is set to send JSON.)

https://demo.docusign.net/restapi/v2/accounts/{API ACCOUNT ID}/envelopes

Below is the sent JSON data. (Regarding roleName, it seems to be prepared in advance in the case below, I set that value temporarily.)

{
  "status": "sent",
  "emailSubject": "Docusign API test Questetra20190130",
  "templateId": "●Template ID●",
  "templateRoles": [{
    "name": "●USERNAME of who created this sandbox●",
    "email": "●EMAIL ADDRESS of who created this sandbox●",
    "roleName": "account_manager"
  }]
}

Below is the received JSON data. When I checked on the DocuSign screen a new request arrived in the Inbox.

{
"envelopeId": "●Emvelope ID●",
"uri": "/envelopes/●Emvelope ID●",
"statusDateTime": "2019-01-30T07:20:55.7970000Z",
"status": "sent"
}

3. Summary

This was a verification until the creation of an Envelope using a Template, and now you can see that process can be executed through the DocuSign API with instructions from Questetra with a simple set-up.

By using this, it is possible to automatically send a request for an electronic signature with DocuSignafter internal approval.

If you have any questions please feel free to contact us.

1 thought on “Setting Up API Cooperation between Electronic Signature System DocuSign and Cloud-based Workflow Questetra”

  1. Pingback: Examples of Collaborations with Other Systems and BPM Workflow (June, 2019) - Questetra

Comments are closed.

%d bloggers like this: