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
(Delphi ActiveX) Send DocuSign XML RequestDemonstrates how to send a DocuSign XML request. Important:This example requires Chillkat v9.5.0.75 or greater.
uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Chilkat_TLB; ... procedure TForm1.Button1Click(Sender: TObject); var req: TChilkatHttpRequest; xmlCred: TChilkatXml; xml: TChilkatXml; http: TChilkatHttp; resp: IChilkatHttpResponse; envelopeId: WideString; status: WideString; statusDateTime: WideString; uri: WideString; begin // This requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. req := TChilkatHttpRequest.Create(Self); req.HttpVerb := 'POST'; // Replace "12999999" with your own account number. (12999999 is a ficticious account number) req.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.ContentType := 'multipart/form-data'; xmlCred := TChilkatXml.Create(Self); xmlCred.Tag := 'DocuSignCredentials'; xmlCred.UpdateChildContent('Username','YOUR_DOCUSIGN_USERNAME'); xmlCred.UpdateChildContent('Password','YOUR_DOCUSIGN_PASSWORD'); xmlCred.UpdateChildContent('IntegratorKey','ABCD-12345678-1234-AAAA-BBBB-abcdabcdabcd'); xmlCred.EmitXmlDecl := 0; xmlCred.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 := TChilkatXml.Create(Self); xml.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.EmitXmlDecl := 0; Memo1.Lines.Add(xml.GetXml()); xml.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 := TChilkatHttp.Create(Self); http.SessionLogFilename := 'qa_output/log.txt'; resp := http.SynchronousRequest('na2.docusign.net',443,1,req.ControlInterface); if (http.LastMethodSuccess <> 1) then begin Memo1.Lines.Add(http.LastErrorText); Exit; end; if (resp.StatusCode <> 201) then begin Memo1.Lines.Add(resp.BodyStr); Memo1.Lines.Add('Response status code: ' + IntToStr(resp.StatusCode)); Memo1.Lines.Add('Failed.'); Exit; end; // Examine the response.. xml.LoadXml(resp.BodyStr); envelopeId := xml.GetChildContent('envelopeId'); Memo1.Lines.Add('envelopeId = ' + envelopeId); status := xml.GetChildContent('status'); Memo1.Lines.Add('status = ' + status); statusDateTime := xml.GetChildContent('statusDateTime'); Memo1.Lines.Add('statusDateTime = ' + statusDateTime); uri := xml.GetChildContent('uri'); Memo1.Lines.Add('uri = ' + uri); end; |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.