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
(DataFlex) DocuSign Add Documents to a Draft EnvelopeSee more DocuSign ExamplesDemonstrates how to add one or more additional documents to a DocuSign draft envelope. For more information, see https://developers.docusign.com/docs/esign-rest-api/reference/envelopes/envelopedocuments/updatelist/
Use ChilkatAx-win32.pkg Procedure Test Handle hoHttp Handle hoJsonToken Boolean iSuccess Handle hoBd1 Handle hoBd2 Handle hoJson Integer i Variant vSbJson Handle hoSbJson String sUrl Variant vResp Handle hoResp Handle hoJResp Integer iRespStatusCode String sDocumentId String sDocumentIdGuid String sName String sV_type String sUri String sOrder String sContainsPdfFormFields String sTemplateRequired String sAuthoritativeCopy String sEnvelopeId Integer iCount_i String sTemp1 Boolean bTemp1 // This example assumes the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. Get Create (RefClass(cComChilkatHttp)) To hoHttp If (Not(IsComObjectCreated(hoHttp))) Begin Send CreateComObject of hoHttp End // Load a previously obtained OAuth2 access token. Get Create (RefClass(cComChilkatJsonObject)) To hoJsonToken If (Not(IsComObjectCreated(hoJsonToken))) Begin Send CreateComObject of hoJsonToken End Get ComLoadFile Of hoJsonToken "qa_data/tokens/docusign.json" To iSuccess If (iSuccess = False) Begin Get ComLastErrorText Of hoJsonToken To sTemp1 Showln sTemp1 Procedure_Return End // Adds the "Authorization: Bearer eyJ0eXAi.....UE8Kl_V8KroQ" header. Get ComStringOf Of hoJsonToken "access_token" To sTemp1 Set ComAuthToken Of hoHttp To sTemp1 // Send the following request. // Make sure to use your own account ID (obtained from Get Docusign User Account Information) // PUT https://demo.docusign.net/restapi/v2.1/accounts/<account ID>/envelopes/<envelope ID>/documents HTTP/1.1 // Expect: 100-continue // Accept: application/json // Cache-Control: no-cache // Authorization: Bearer eyJ0eX... // Content-Length: ... // Content-Type: application/json // // { // "documents": [ // { // "documentId": "1", // "name": "hello.pdf", // "pages": "1", // "documentBase64": "<insert base64 content here>" // }, // { // "documentId": "2", // "name": "hello2.pdf", // "pages": "1", // "documentBase64": "<insert base64 content here>" // } // ] // } Get Create (RefClass(cComChilkatBinData)) To hoBd1 If (Not(IsComObjectCreated(hoBd1))) Begin Send CreateComObject of hoBd1 End Get ComLoadFile Of hoBd1 "qa_data/pdf/hello.pdf" To iSuccess Get Create (RefClass(cComChilkatBinData)) To hoBd2 If (Not(IsComObjectCreated(hoBd2))) Begin Send CreateComObject of hoBd2 End Get ComLoadFile Of hoBd2 "qa_data/pdf/hello2.pdf" To iSuccess Get Create (RefClass(cComChilkatJsonObject)) To hoJson If (Not(IsComObjectCreated(hoJson))) Begin Send CreateComObject of hoJson End Move 0 To i Set ComI Of hoJson To i Get ComUpdateString Of hoJson "documents[i].documentId" "1" To iSuccess Get ComUpdateString Of hoJson "documents[i].name" "hello.pdf" To iSuccess Get ComUpdateString Of hoJson "documents[i].pages" "1" To iSuccess Get ComGetEncoded Of hoBd1 "base64" To sTemp1 Get ComUpdateString Of hoJson "documents[i].documentBase64" sTemp1 To iSuccess Move (i + 1) To i Set ComI Of hoJson To i Get ComUpdateString Of hoJson "documents[i].documentId" "2" To iSuccess Get ComUpdateString Of hoJson "documents[i].name" "hello2.pdf" To iSuccess Get ComUpdateString Of hoJson "documents[i].pages" "1" To iSuccess Get ComGetEncoded Of hoBd2 "base64" To sTemp1 Get ComUpdateString Of hoJson "documents[i].documentBase64" sTemp1 To iSuccess Get Create (RefClass(cComChilkatStringBuilder)) To hoSbJson If (Not(IsComObjectCreated(hoSbJson))) Begin Send CreateComObject of hoSbJson End Set ComEmitCompact Of hoJson To False Get pvComObject of hoSbJson to vSbJson Get ComEmitSb Of hoJson vSbJson To iSuccess Send ComSetRequestHeader To hoHttp "Expect" "100-continue" Send ComSetRequestHeader To hoHttp "Cache-Control" "no-cache" Send ComSetRequestHeader To hoHttp "Accept" "application/json" // Use your own account ID here. Get ComSetUrlVar Of hoHttp "accountId" "7f3f65ed-5e87-418d-94c1-92499ddc8252" To iSuccess // Use the envelope ID returned by DocuSign when creating the draft envelope). Get ComSetUrlVar Of hoHttp "envelopeId" "e01f2043-3850-4fcb-afd1-b1726216e099" To iSuccess Move "https://demo.docusign.net/restapi/v2.1/accounts/{$accountId}/envelopes/{$envelopeId}/documents" To sUrl Get pvComObject of hoSbJson to vSbJson Get ComPTextSb Of hoHttp "PUT" sUrl vSbJson "utf-8" "application/json" False False To vResp If (IsComObject(vResp)) Begin Get Create (RefClass(cComChilkatHttpResponse)) To hoResp Set pvComObject Of hoResp To vResp End Get ComLastMethodSuccess Of hoHttp To bTemp1 If (bTemp1 = False) Begin Get ComLastErrorText Of hoHttp To sTemp1 Showln sTemp1 Procedure_Return End Get Create (RefClass(cComChilkatJsonObject)) To hoJResp If (Not(IsComObjectCreated(hoJResp))) Begin Send CreateComObject of hoJResp End Get ComBodyStr Of hoResp To sTemp1 Get ComLoad Of hoJResp sTemp1 To iSuccess Set ComEmitCompact Of hoJResp To False Showln "Response Body:" Get ComEmit Of hoJResp To sTemp1 Showln sTemp1 // If you get a 401 response status code, it's likely you need to refresh the DocuSign OAuth2 token). Get ComStatusCode Of hoResp To iRespStatusCode Showln "Response Status Code = " iRespStatusCode If (iRespStatusCode >= 400) Begin Showln "Response Header:" Get ComHeader Of hoResp To sTemp1 Showln sTemp1 Showln "Failed." Send Destroy of hoResp Procedure_Return End Send Destroy of hoResp // Sample JSON response: // (Sample code for parsing the JSON response is shown below) // { // "envelopeId": "da9fb811-e6a4-48c0-a9fb-81ed18b989af", // "envelopeDocuments": [ // { // "documentId": "1", // "documentIdGuid": "38e919fc-0a77-4b0c-9da0-e3530f4e6fc7", // "name": "hello.pdf", // "type": "content", // "uri": "/envelopes/da9fb811-e6a4-48c0-a9fb-81ed18b989af/documents/1", // "order": "3", // "containsPdfFormFields": "false", // "templateRequired": "false", // "authoritativeCopy": "false" // }, // { // "documentId": "2", // "documentIdGuid": "2cbd0fcc-c1ca-4a3a-b8b5-fe252dd89731", // "name": "hello2.pdf", // "type": "content", // "uri": "/envelopes/da9fb811-e6a4-48c0-a9fb-81ed18b989af/documents/2", // "order": "4", // "containsPdfFormFields": "false", // "templateRequired": "false", // "authoritativeCopy": "false" // } // ] // } // Sample code for parsing the JSON response... // Use the following online tool to generate parsing code from sample JSON: // Generate Parsing Code from JSON Get ComStringOf Of hoJResp "envelopeId" To sEnvelopeId Move 0 To i Get ComSizeOfArray Of hoJResp "envelopeDocuments" To iCount_i While (i < iCount_i) Set ComI Of hoJResp To i Get ComStringOf Of hoJResp "envelopeDocuments[i].documentId" To sDocumentId Get ComStringOf Of hoJResp "envelopeDocuments[i].documentIdGuid" To sDocumentIdGuid Get ComStringOf Of hoJResp "envelopeDocuments[i].name" To sName Get ComStringOf Of hoJResp "envelopeDocuments[i].type" To sV_type Get ComStringOf Of hoJResp "envelopeDocuments[i].uri" To sUri Get ComStringOf Of hoJResp "envelopeDocuments[i].order" To sOrder Get ComStringOf Of hoJResp "envelopeDocuments[i].containsPdfFormFields" To sContainsPdfFormFields Get ComStringOf Of hoJResp "envelopeDocuments[i].templateRequired" To sTemplateRequired Get ComStringOf Of hoJResp "envelopeDocuments[i].authoritativeCopy" To sAuthoritativeCopy Move (i + 1) To i Loop End_Procedure |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.