Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(Perl) Send DocuSign XML RequestDemonstrates how to send a DocuSign XML request. Important:This example requires Chillkat v9.5.0.75 or greater.
use chilkat(); # This requires the Chilkat API to have been previously unlocked. # See Global Unlock Sample for sample code. $req = chilkat::CkHttpRequest->new(); $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"); $xmlCred = chilkat::CkXml->new(); $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(0); $xmlCred->put_EmitCompact(1); $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.. $xml = chilkat::CkXml->new(); $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(0); print $xml->getXml() . "\r\n"; $xml->put_EmitCompact(1); # 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"); $http = chilkat::CkHttp->new(); $http->put_SessionLogFilename("qa_output/log.txt"); # resp is a HttpResponse $resp = $http->SynchronousRequest("na2.docusign.net",443,1,$req); if ($http->get_LastMethodSuccess() != 1) { print $http->lastErrorText() . "\r\n"; exit; } if ($resp->get_StatusCode() != 201) { print $resp->bodyStr() . "\r\n"; print "Response status code: " . $resp->get_StatusCode() . "\r\n"; print "Failed." . "\r\n"; exit; } # Examine the response.. $xml->LoadXml($resp->bodyStr()); $envelopeId = $xml->getChildContent("envelopeId"); print "envelopeId = " . $envelopeId . "\r\n"; $status = $xml->getChildContent("status"); print "status = " . $status . "\r\n"; $statusDateTime = $xml->getChildContent("statusDateTime"); print "statusDateTime = " . $statusDateTime . "\r\n"; $uri = $xml->getChildContent("uri"); print "uri = " . $uri . "\r\n"; |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.