Chilkat HOME Android™ Classic ASP C C++ C# Mono C# .NET Core C# C# UWP/WinRT DataFlex Delphi ActiveX Delphi DLL Visual FoxPro Java Lianja MFC Objective-C Perl PHP ActiveX PHP Extension PowerBuilder PowerShell PureBasic CkPython Chilkat2-Python Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ Visual Basic 6.0 VB.NET VB.NET UWP/WinRT VBScript Xojo Plugin Node.js Excel Go
(MFC) Send DocuSign XML RequestDemonstrates how to send a DocuSign XML request. Important:This example requires Chillkat v9.5.0.75 or greater.
#include <CkHttpRequest.h> #include <CkXml.h> #include <CkHttp.h> #include <CkHttpResponse.h> void ChilkatSample(void) { CkString strOut; // This requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. CkHttpRequest req; 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; 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; 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); strOut.append(xml.getXml()); strOut.append("\r\n"); xml.put_EmitCompact(true); // IMPORTANT: This example requires Chilkat v9.5.0.75 or greater. 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; http.put_SessionLogFilename("qa_output/log.txt"); CkHttpResponse *resp = http.SynchronousRequest("na2.docusign.net",443,true,req); if (http.get_LastMethodSuccess() != true) { strOut.append(http.lastErrorText()); strOut.append("\r\n"); SetDlgItemText(IDC_EDIT1,strOut.getUnicode()); return; } if (resp->get_StatusCode() != 201) { strOut.append(resp->bodyStr()); strOut.append("\r\n"); strOut.append("Response status code: "); strOut.appendInt(resp->get_StatusCode()); strOut.append("\r\n"); strOut.append("Failed."); strOut.append("\r\n"); delete resp; SetDlgItemText(IDC_EDIT1,strOut.getUnicode()); return; } // Examine the response.. xml.LoadXml(resp->bodyStr()); const char *envelopeId = xml.getChildContent("envelopeId"); strOut.append("envelopeId = "); strOut.append(envelopeId); strOut.append("\r\n"); const char *status = xml.getChildContent("status"); strOut.append("status = "); strOut.append(status); strOut.append("\r\n"); const char *statusDateTime = xml.getChildContent("statusDateTime"); strOut.append("statusDateTime = "); strOut.append(statusDateTime); strOut.append("\r\n"); const char *uri = xml.getChildContent("uri"); strOut.append("uri = "); strOut.append(uri); strOut.append("\r\n"); delete resp; SetDlgItemText(IDC_EDIT1,strOut.getUnicode()); } |
© 2000-2022 Chilkat Software, Inc. All Rights Reserved.