This article describes using Adobe Sign in Aem/Aem Forms.Adobe Sign provides rich set of REST API for signing documents. The OSGI bundle that is provided here, encapsulates some of these API and allows you to use them within AEM. The following steps describe the process of sending a document for signing using the OSGI bundle.The first step is to deploy the bundle. Once the bundle is deployed, you will need to provide some configuration settings to the bundle.
These are your Adobe Sign specific settings. In this example I am using callback url to do some additional processing when document is signed. It is not mandatory to provide callback url
Once you have the bundle deployed and configured the following are the steps that need to be performed to send a document for signing
Get the service
Get the transeint document id
String transienDocId = adobeSignService.getTransientDocumentID(inputstreamofDocument);
getTransientDocumentID- The document uploaded through this call is referred to as transient since it is available only for 7 days after the upload. The returned transient document ID can be used to refer to the document in api calls like that to the API which creates agreements where uploaded file needs to be referred.
String jsonRequest = adobeSignService.getJSONRequest(recipientsEmail,transienDocId );
getJSONRequest – This method creates the JSON request that needs to be sent to Adobe Sign. The
method accepts String array of recipientEmails and transienDocId.
Send the Document For Signing
String agreementId = adobeSignService.sendDocumentForSigning(jsonRequest);
sendDocumentForSigning – This method sends the document for signing. Method accepts the jsonRequest as input parameter.
Method returns the agreementid that can be used to query the status of the document that was sent for signing.