Java
Java
Send DocuSign XML Request
See more HTTP Misc Examples
Demonstrates how to send a DocuSign XML request.Chilkat Java Downloads
import com.chilkatsoft.*;
public class ChilkatExample {
static {
try {
System.loadLibrary("chilkat");
} catch (UnsatisfiedLinkError e) {
System.err.println("Native code library failed to load.\n" + e);
System.exit(1);
}
}
public static void main(String argv[])
{
boolean success = false;
// This requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
CkHttpRequest req = new CkHttpRequest();
req.put_HttpVerb("POST");
// Replace "12999999" with your own account number. (12999999 is a ficticious account number)
req.put_Path("/restapi/v2/accounts/12999999/envelopes");
req.AddHeader("Accept","application/xml");
// Don't worry about the boundary string. Chilkat will automatically generate one and include it.
req.put_ContentType("multipart/form-data");
CkXml xmlCred = new CkXml();
xmlCred.put_Tag("DocuSignCredentials");
xmlCred.UpdateChildContent("Username","YOUR_DOCUSIGN_USERNAME");
xmlCred.UpdateChildContent("Password","YOUR_DOCUSIGN_PASSWORD");
xmlCred.UpdateChildContent("IntegratorKey","ABCD-12345678-1234-AAAA-BBBB-abcdabcdabcd");
xmlCred.put_EmitXmlDecl(false);
xmlCred.put_EmitCompact(true);
req.AddHeader("X-DocuSign-Authentication",xmlCred.getXml());
// Don't worry about Host or Content-Length headers, Chilkat automatically adds them...
// Build the XML for the 1st body part..
CkXml xml = new CkXml();
xml.put_Tag("envelopeDefinition");
xml.AddAttribute("xmlns","http://www.docusign.com/restapi");
xml.UpdateChildContent("emailSubject","Signature Request: Test Test:001019:033611");
xml.UpdateChildContent("status","sent");
xml.UpdateChildContent("documents|document|documentId","1");
xml.UpdateChildContent("documents|document|name","001019_TestTest_RetailDeals_163357");
xml.UpdateChildContent("recipients|inPersonSigners|inPersonSigner|hostEmail","admin@chilkatsoft.com");
xml.UpdateChildContent("recipients|inPersonSigners|inPersonSigner|hostName","Chilkat Admin");
xml.UpdateChildContent("recipients|inPersonSigners|inPersonSigner|signerName","Test Test");
xml.UpdateChildContent("recipients|inPersonSigners|inPersonSigner|recipientId","1");
xml.UpdateChildContent("recipients|inPersonSigners|inPersonSigner|routingOrder","1");
xml.UpdateChildContent("recipients|inPersonSigners|inPersonSigner|signerEmail","test@tyest.com");
xml.UpdateChildContent("recipients|inPersonSigners|inPersonSigner|tabs|signHereTabs|signHere|anchorIgnoreIfNotPresent","True");
xml.UpdateChildContent("recipients|inPersonSigners|inPersonSigner|tabs|signHereTabs|signHere|anchorString","\\SDP");
xml.UpdateChildContent("recipients|inPersonSigners|inPersonSigner|tabs|signHereTabs|signHere|optional","False");
xml.UpdateChildContent("recipients|inPersonSigners|inPersonSigner|tabs|signHereTabs|signHere[1]|anchorIgnoreIfNotPresent","True");
xml.UpdateChildContent("recipients|inPersonSigners|inPersonSigner|tabs|signHereTabs|signHere[1]|anchorString","\\OSDP");
xml.UpdateChildContent("recipients|inPersonSigners|inPersonSigner|tabs|signHereTabs|signHere[1]|optional","True");
xml.UpdateChildContent("recipients|inPersonSigners|inPersonSigner|tabs|signHereTabs|signHere[2]|anchorIgnoreIfNotPresent","True");
xml.UpdateChildContent("recipients|inPersonSigners|inPersonSigner|tabs|signHereTabs|signHere[2]|anchorString","\\OPSSDP");
xml.UpdateChildContent("recipients|inPersonSigners|inPersonSigner|tabs|signHereTabs|signHere[2]|optional","True");
xml.UpdateChildContent("recipients|inPersonSigners|inPersonSigner|tabs|signHereTabs|signHere[2]|scaleValue","0.7");
xml.UpdateChildContent("recipients|inPersonSigners|inPersonSigner|tabs|signHereTabs|signHere[3]|anchorIgnoreIfNotPresent","True");
xml.UpdateChildContent("recipients|inPersonSigners|inPersonSigner|tabs|signHereTabs|signHere[3]|anchorString","\\PSSDP");
xml.UpdateChildContent("recipients|inPersonSigners|inPersonSigner|tabs|signHereTabs|signHere[3]|optional","False");
xml.UpdateChildContent("recipients|inPersonSigners|inPersonSigner|tabs|signHereTabs|signHere[3]|scaleValue","0.7");
xml.UpdateChildContent("recipients|inPersonSigners|inPersonSigner|tabs|initialHereTabs|initialHere|anchorIgnoreIfNotPresent","True");
xml.UpdateChildContent("recipients|inPersonSigners|inPersonSigner|tabs|initialHereTabs|initialHere|anchorString","\\IDP");
xml.UpdateChildContent("recipients|inPersonSigners|inPersonSigner|tabs|initialHereTabs|initialHere|optional","False");
xml.UpdateChildContent("recipients|inPersonSigners|inPersonSigner|tabs|initialHereTabs|initialHere[1]|anchorIgnoreIfNotPresent","True");
xml.UpdateChildContent("recipients|inPersonSigners|inPersonSigner|tabs|initialHereTabs|initialHere[1]|anchorString","\\OIDP");
xml.UpdateChildContent("recipients|inPersonSigners|inPersonSigner|tabs|initialHereTabs|initialHere[1]|optional","True");
xml.UpdateChildContent("recipients|inPersonSigners|inPersonSigner|tabs|initialHereTabs|initialHere[2]|anchorIgnoreIfNotPresent","True");
xml.UpdateChildContent("recipients|inPersonSigners|inPersonSigner|tabs|initialHereTabs|initialHere[2]|anchorString","\\OPSIDP");
xml.UpdateChildContent("recipients|inPersonSigners|inPersonSigner|tabs|initialHereTabs|initialHere[2]|optional","True");
xml.UpdateChildContent("recipients|inPersonSigners|inPersonSigner|tabs|initialHereTabs|initialHere[2]|scaleValue","0.5");
xml.UpdateChildContent("recipients|inPersonSigners|inPersonSigner|tabs|initialHereTabs|initialHere[3]|anchorIgnoreIfNotPresent","True");
xml.UpdateChildContent("recipients|inPersonSigners|inPersonSigner|tabs|initialHereTabs|initialHere[3]|anchorString","\\PSIDP");
xml.UpdateChildContent("recipients|inPersonSigners|inPersonSigner|tabs|initialHereTabs|initialHere[3]|optional","False");
xml.UpdateChildContent("recipients|inPersonSigners|inPersonSigner|tabs|initialHereTabs|initialHere[3]|scaleValue","0.5");
xml.UpdateChildContent("recipients|inPersonSigners|inPersonSigner[1]|hostEmail","admin@chilkatsoft.com");
xml.UpdateChildContent("recipients|inPersonSigners|inPersonSigner[1]|hostName","Chilkat Admin");
xml.UpdateChildContent("recipients|inPersonSigners|inPersonSigner[1]|signerName","Dealer Representative");
xml.UpdateChildContent("recipients|inPersonSigners|inPersonSigner[1]|recipientId","2");
xml.UpdateChildContent("recipients|inPersonSigners|inPersonSigner[1]|routingOrder","2");
xml.UpdateChildContent("recipients|inPersonSigners|inPersonSigner[1]|tabs|signHereTabs|signHere|anchorIgnoreIfNotPresent","True");
xml.UpdateChildContent("recipients|inPersonSigners|inPersonSigner[1]|tabs|signHereTabs|signHere|anchorString","\\DSDP");
xml.UpdateChildContent("recipients|inPersonSigners|inPersonSigner[1]|tabs|signHereTabs|signHere|optional","False");
xml.UpdateChildContent("recipients|inPersonSigners|inPersonSigner[1]|tabs|signHereTabs|signHere[1]|anchorIgnoreIfNotPresent","True");
xml.UpdateChildContent("recipients|inPersonSigners|inPersonSigner[1]|tabs|signHereTabs|signHere[1]|anchorString","\\DOSDP");
xml.UpdateChildContent("recipients|inPersonSigners|inPersonSigner[1]|tabs|signHereTabs|signHere[1]|optional","True");
xml.UpdateChildContent("recipients|inPersonSigners|inPersonSigner[1]|tabs|initialHereTabs|initialHere|anchorIgnoreIfNotPresent","True");
xml.UpdateChildContent("recipients|inPersonSigners|inPersonSigner[1]|tabs|initialHereTabs|initialHere|anchorString","\\DIDP");
xml.UpdateChildContent("recipients|inPersonSigners|inPersonSigner[1]|tabs|initialHereTabs|initialHere|optional","False");
xml.UpdateChildContent("recipients|inPersonSigners|inPersonSigner[1]|tabs|initialHereTabs|initialHere[1]|anchorIgnoreIfNotPresent","True");
xml.UpdateChildContent("recipients|inPersonSigners|inPersonSigner[1]|tabs|initialHereTabs|initialHere[1]|anchorString","\\DOIDP");
xml.UpdateChildContent("recipients|inPersonSigners|inPersonSigner[1]|tabs|initialHereTabs|initialHere[1]|optional","True");
xml.put_EmitXmlDecl(false);
System.out.println(xml.getXml());
xml.put_EmitCompact(true);
req.AddStringForUpload2("","",xml.getXml(),"utf-8","application/xml");
req.AddFileForUpload2("","qa_data/pdf/signatureForm.pdf","application/pdf");
req.AddSubHeader(1,"Content-Disposition","file; filename=\"signatureForm.pdf\";documentid=1");
CkHttp http = new CkHttp();
http.put_SessionLogFilename("qa_output/log.txt");
CkHttpResponse resp = new CkHttpResponse();
success = http.HttpSReq("na2.docusign.net",443,true,req,resp);
if (success == false) {
System.out.println(http.lastErrorText());
return;
}
if (resp.get_StatusCode() != 201) {
System.out.println(resp.bodyStr());
System.out.println("Response status code: " + resp.get_StatusCode());
System.out.println("Failed.");
return;
}
// Examine the response..
xml.LoadXml(resp.bodyStr());
String envelopeId = xml.getChildContent("envelopeId");
System.out.println("envelopeId = " + envelopeId);
String status = xml.getChildContent("status");
System.out.println("status = " + status);
String statusDateTime = xml.getChildContent("statusDateTime");
System.out.println("statusDateTime = " + statusDateTime);
String uri = xml.getChildContent("uri");
System.out.println("uri = " + uri);
}
}