Skip to content

Instantly share code, notes, and snippets.

@Ergin008
Last active November 21, 2021 12:44
Show Gist options
  • Save Ergin008/892f17cf24ee4d61c69e to your computer and use it in GitHub Desktop.
Save Ergin008/892f17cf24ee4d61c69e to your computer and use it in GitHub Desktop.
Full code sample for DocuSign Embedded Signing Quickstart - uses open source Java Client: https://github.com/docusign/DocuSign-Java-Client
//
// DocuSign API Quickstart - Embedded Signing
//
import java.io.IOException;
import java.io.File;
import java.net.MalformedURLException;
import java.util.Arrays;
import java.util.List;
// Download client and add to your project:
// https://github.com/docusign/DocuSign-Java-Client
import com.docusign.esignature.*;
import com.docusign.esignature.json.*;
public class EmbeddedSigning {
public static void main(String[] args) throws MalformedURLException, IOException {
System.out.println("Starting sample...");
//=======================================================================================================================
// STEP 1: Login API
//=======================================================================================================================
DocuSignClient dsClient = new DocuSignClient("EMAIL", "PASSWORD", "INTEGRATOR_KEY");
dsClient.login();
//=======================================================================================================================
// STEP 2: Create and Send Envelope API (with embedded recipient)
//=======================================================================================================================
RequestSignatureFromDocuments request = new RequestSignatureFromDocuments();
Signer signer = new Signer();
signer.setEmail("RECIPIENT_EMAIL");
signer.setName("RECIPIENT_NAME");
signer.setRecipientId("1");
// Note: clientUserId property must be set to indicate recipient is embedded
signer.setClientUserId("101");
SignHereTab tab1 = new SignHereTab();
tab1.setDocumentId("1");
tab1.setPageNumber("1");
tab1.setXPosition("100");
tab1.setYPosition("150");
List<SignHereTab> signatureTabs = Arrays.asList(tab1);
Tabs tabs = new Tabs();
tabs.setSignHereTabs(signatureTabs);
signer.setTabs(tabs);
Document document = new Document();
document.setName("TEST.PDF");
document.setDocumentId("1");
List<Document> documents = Arrays.asList(document);
List<Signer> signers = Arrays.asList(signer);
Recipients recipients = new Recipients();
recipients.setSigners(signers);
// configure the request object
request.setRecipients(recipients);
request.setDocuments(documents);
request.setEmailSubject("Please sign my document");
request.setEmailBlurb("This goes in the email body");
request.setStatus("sent"); // "sent" to send, "created" to save as draft in cloud
File testFile = new File("/Users/ergin.dervisoglu/Dev/__SDKs/Java/QS/test.pdf");
File[] files = new File[]{testFile};
String envelopeId = dsClient.requestSignatureFromDocuments(request, files);
System.out.println("Envelope has been sent, envelopeId = " + envelopeId);
//=======================================================================================================================
// STEP 3: Request Recipient View API (aka Signing URL)
//=======================================================================================================================
String returnUrl = "http://www.docusign.com/devcenter";
String authMethod = "email";
String signingUrl = dsClient.requestRecipientView(envelopeId, "RECIPIENT_NAME", "RECIPIENT_EMAIL", "101", returnUrl, authMethod);
System.out.println("\nOpen the following URL in an iFrame or Webview: " + signingUrl);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment