DocuSign Integration
Prereq
To setup the integration an account with one of the following criteria is needed.
Either it should be a DocuSign-partner or subscribed to the "Advanced developer plan".
The integration will be created in demo mode and has to be approved, before it can be moved to production.
The criteria for that is: the last 20 uploads have to be successful and performed within the last 30 days.
After that, an account with the proper access has to sign in and the integration will be transferred to their account.
Setup in DocuSign
First: Sign in with an admin account and create a new "Integration" under "Settings" -> "Integrations" -> "Apps and Keys". Give it a descriptive name, it will be shown to all who upload documents via the integration.
Second: Add a "Secret Key", save it, it is needed for docuSignSecretKey.
Third: Under "Redirect URIs" add one using the following formular:
https://[TS-domain]/[TS-app-name]/[docuSignAuthCallbackUrl]
Sample: https://omega.tempusserva.dk/TempusServa/main?command=dk.tempusserva.signing.docusign.PageLoginCallback
Setup in TS
There are 11 parameters available, 7 of them have to be set for the integration to work.
- docuSignActive*
- docuSignLog
- docuSignApiHost*
- docuSignAuthHost*
- docuSignHost*
- docuSignAccountId*
- docuSignIntegrationKey*
- docuSignSecretKey*
- docuSignAuthCallbackUrl
- docuSignEventCallbackUrl
- docuSignBrandId
And the type of the field with documents where DocuSign upload should be available, has to be changed from "Files: Documents" to "Files: Documents with signing".
docuSignActive
To enable the DocuSign functionality, this has to be set to "true".
docuSignLog
This is for debugging and should not be enabled in production.
It enables debuggin-logs on all uploads, both in TS and in DocuSign, thus breaking confidentiality, because all parameters will be saved to a log somewhere.
docuSignApiHost
This parameter is account-dependant.
It can be found on the "Apps and Keys" page in DocuSign, labeled "Account Base URI".
docuSignAuthHost
This parameter should always be "https://account-d.docusign.com/oauth/" when testing the integration and "https://account.docusign.com/oauth/", when the integration is in production.
docuSignHost
This parameter is account-dependant.
This parameter is used to redirect the user, after a successful upload.
It's value should be "https://appdemo.docusign.com" during testing.
The production value is found by signing in with an account, that will be using the integration, and then copying the url from the browser. Remember to only copy from beginning to end of docusign.com, don't include the trailing /.
docuSignAccountId
This attribute is account-dependant.
It can be found on the "Apps and Keys" page in DocuSign, labeled "API Account ID".
It's a GUID, formattet like this: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
docuSignIntegrationKey
This parameter is integration-dependant.
It can be found on the "Apps and Keys" page in DocuSign, or when viewing the details about the integration.
It's a GUID, formattet like this: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
docuSignSecretKey
This parameter is integration-dependant.
It can be found when viewing the details about the integration, in DocuSign.
You will only have access to the entire key when creating it, but you can just add a new one if the key is lost. Remember to delete the old one.
It's a GUID, formattet like this: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
docuSignAuthCallbackUrl
Should always be "main?command=dk.tempusserva.signing.docusign.PageLoginCallback".
docuSignEventCallbackUrl
Should always be "docusign-event-callback".
docuSignBrandId
This parameter is optional.
In DocuSign it is possible to create "Brands" ("Settings" -> "Account" -> "Brands").
All brands have a unique ID, it doesn't have to be the owner of the integration that creates the brand.
To enable custom branding on email, the signing formula, etc., input the brandId here.
If this is empty, the default DocuSign branding will be used.
It's a GUID, formattet like this: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
Moving to production
When moving the integration to production, the following should be taken into account.
Make sure to successfully upload 20 documents in a row.
They don't have to be actual documents, empty ones will do, and they don't have to be different documents, you can upload the same one 20 times.
If the production account is different from the test account, the following parameters should be updated:
- docuSignAccountId
- docuSignApiHost
Make sure to change the following parameters:
- docuSignHost
- docuSignAuthHost
If there is a different TS-application for test and production (different base url), remember to add the "Redirect URIs" in DocuSign.
And make sure that docuSignLog is set to false.