General Description
Digital Signature(DS) API purpose to facilitate using DocuSign API for signing and delivering PDF documents.
Authentication and authorization
Only authorized users or applications can use this API.
There are two scopes of authorization:
DigitalSignature.Sign
DigitalSignature.Admin
User in first scope can perform all actions, except managing DocuSign users.
You should have Admin scope otherwise.
First you need to get bearer token:
var token = await app.AcquireTokenForClient(new string[] {“ClientId}/.default" }).ExecuteAsync();
Where ClientId is ClientId of application which is trying to access DS API.
Then we need to add this token to HttpClient header:
_client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token);
After this HttpClient can perform Http request to DS endpoints.
DS API has the following controllers:
Documents: managing and processing documents (certificates and envelops) in DocuSign.
- We can download PDF documents and envelops from DocuSign.
- Convert Html document to PDFEVE: generating QR code for links to EVE
Signing: signing documents (Html. PDF, JPG and MS Office docs) in DocuSign
Users: managing DocuSign users
- Create DocuSign user
- Update user information
- Delete user
These action require Admin scop
Versioning
There are two version of DS API.
Current version is 2.
How to sign documents
We can sign the following documents: Html, pdf, word, excel, power pint and jpeg. In either way we get signed PDF from DocuSign.
There are 3 ways to sign document:
Embedded
Email Request
Template
Documents
Get current environment
/api/v1/Documents/CurrentEnvironment/
This GET endpoint allows you to download PDF document, proving EnvelopeID and DocumentID:
/api/v1/Documents/Document/{EnvelopeID}/{DocumentID}
Get envelop by id
/api/v1/Documents/Envelop{EnvelopeID}