Introduction
The ESignSDK, also known as the S-Sign SDK, empowers developers to seamlessly integrate electronic signature functionality into their organizations. This SDK offers a range of methods designed to simplify the process of preparing and managing envelopes delivered for eSignature execution on signature documents. The following is an overview of its capabilities:
Supported Contexts
The following contexts are supported:
- Apex Invocable Class (that can be called from a Flow)
- Apex Queueable
- Apex Batch
- @future Apex method
- Visualforce Apex Controller (Custom and Controller extensions)
- AuraEnabled Apex method
- Apex class that supports an OmniScript
Use cases
With this SDK method you can programmatically create a e-signature envelope along with an associated document(s). In addition you can programmatically generate the unique link for the 1st signer to sign the document. Some of the use cases that this can solve for are:
- Being able to support signing in person through existing customizations like Screen Flow etc. without needing to use the S-Docs UI.
- Able to trigger envelope creation and signature link and any added automation from approval process or Flow components.
Limitations:
- You can only have 1 invocation of prepareEnvelope or sealEnvelopeAndGetSigningLink per Apex transaction. I.e. if you invoke it in the same transaction you will get a LimitsException
- If there is an error in generating the document, there is an Exception thrown that needs to be handled to introspect into the error details.
- Runtime prompts based templates aren’t supported in the SDK.
ESignSDK Methods
Envelope Creation
Usage:
in your apex class (Lightning Web component controller, Apex invocable, Queueable or Apex batch classes) you would invoke the above SDK method like below:
List<Id> sDocIdsInEnvelope = new List<Id>(); sDocIdsInEnvelope.add('...SDOC__SDOC__c.Id...'); sDocIdsInEnvelope.add('...SDOC__SDOC__c.Id...'); String ssign__SSEnvelope_Id = SDOC.ESignSDK.prepareEnvelope(sDocIdsInEnvelope);
Method Signature
prepareEnvelope(docsIds)
Parameters
docsIds
(Type: List<Id> ) : A list of IDs of SDOC__SDoc__c records that need to be included in the envelope.
Returns
Type:
String
The Id of the SSign_SSEnvelope__c record created
Generate PDFs and Signature Links
Usage:
In your apex class you would invoke the above SDK method like below:
Id ssign_SSEnvelope_Id = '<envelope id from prepareEnvelope()'; String signatureUrl = SDOC.ESignSDK.sealEnvelopeAndGetSigningLink(ssign_SSEnvelope_Id);
Method Signature
sealEnvelopeAndGetSigningLink(envelopeId)
Parameters
envelopeId
(Type: Id ) : The record id for the SSEnvelope__c record for which the signature URL is required.
Returns
Type:
String
The URL for the 1st signer of the envelope.