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 Recipients to a Draft EnvelopeSee more DocuSign ExamplesDemonstrates how to add one or more recipients to a DocuSign draft envelope. For more information, see https://developers.docusign.com/docs/esign-rest-api/reference/envelopes/enveloperecipients/create/
Use ChilkatAx-win32.pkg Procedure Test Handle hoHttp Token Handle hoJsonToken Boolean iSuccess Handle hoJson Integer i Variant vSbJson Handle hoSbJson String sUrl Variant vResp Handle hoResp Handle hoJResp Integer iRespStatusCode String sCreationReason String sRequireUploadSignature String sEmail String sRecipientId String sRequireIdLookup String sRoutingOrder String sStatus String sCompletedCount String sDeliveryMethod String sRecipientType String sRecipientCount 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) // POST https://demo.docusign.net/restapi/v2.1/accounts/<account ID>/envelopes/<envelope ID>/recipients HTTP/1.1 // Accept: application/json // Cache-Control: no-cache // Authorization: Bearer eyJ0eX... // Content-Length: ... // Content-Type: application/json // // { // "carbonCopies": [ // { // "email": "support@chilkatsoft.com", // "name": "Chilkat Support", // "recipientId": "101", // "tabs": {} // } // ], // "signers": [ // { // "email": "admin@chilkatsoft.com", // "name": "Chilkat Admin", // "recipientId": "1", // "tabs": { // "signHereTabs": [{ // "anchorString": "Please Sign Here", // "anchorXOffset": "1", // "anchorYOffset": "0", // "anchorIgnoreIfNotPresent": "false", // "anchorUnits": "inches" // }] // } // }, // { // "email": "matt@chilkat.io", // "name": "Matt", // "recipientId": "2", // "tabs": { // "signHereTabs": [{ // "anchorString": "Please Also Sign Here", // "anchorXOffset": "1", // "anchorYOffset": "0", // "anchorIgnoreIfNotPresent": "false", // "anchorUnits": "inches" // }] // } // } // ] // } 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 "carbonCopies[i].email" "support@chilkatsoft.com" To iSuccess Get ComUpdateString Of hoJson "carbonCopies[i].name" "Chilkat Support" To iSuccess Get ComUpdateString Of hoJson "carbonCopies[i].recipientId" "101" To iSuccess Get ComUpdateNewObject Of hoJson "carbonCopies[i].tabs" To iSuccess Move 0 To i Set ComI Of hoJson To i Get ComUpdateString Of hoJson "signers[i].email" "admin@chilkatsoft.com" To iSuccess Get ComUpdateString Of hoJson "signers[i].name" "Chilkat Admin" To iSuccess Get ComUpdateString Of hoJson "signers[i].recipientId" "1" To iSuccess Get ComUpdateString Of hoJson "signers[i].tabs.signHereTabs[0].anchorString" "Please Sign Here" To iSuccess Get ComUpdateString Of hoJson "signers[i].tabs.signHereTabs[0].anchorXOffset" "1" To iSuccess Get ComUpdateString Of hoJson "signers[i].tabs.signHereTabs[0].anchorYOffset" "0" To iSuccess Get ComUpdateString Of hoJson "signers[i].tabs.signHereTabs[0].anchorIgnoreIfNotPresent" "false" To iSuccess Get ComUpdateString Of hoJson "signers[i].tabs.signHereTabs[0].anchorUnits" "inches" To iSuccess Move (i + 1) To i Set ComI Of hoJson To i Get ComUpdateString Of hoJson "signers[i].email" "matt@chilkat.io" To iSuccess Get ComUpdateString Of hoJson "signers[i].name" "Matt" To iSuccess Get ComUpdateString Of hoJson "signers[i].recipientId" "2" To iSuccess Get ComUpdateString Of hoJson "signers[i].tabs.signHereTabs[0].anchorString" "Please Also Sign Here" To iSuccess Get ComUpdateString Of hoJson "signers[i].tabs.signHereTabs[0].anchorXOffset" "1" To iSuccess Get ComUpdateString Of hoJson "signers[i].tabs.signHereTabs[0].anchorYOffset" "0" To iSuccess Get ComUpdateString Of hoJson "signers[i].tabs.signHereTabs[0].anchorIgnoreIfNotPresent" "false" To iSuccess Get ComUpdateString Of hoJson "signers[i].tabs.signHereTabs[0].anchorUnits" "inches" 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 "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" "cee4191c-f94e-4089-9d7c-8033685cbc1a" To iSuccess Move "https://demo.docusign.net/restapi/v2.1/accounts/{$accountId}/envelopes/{$envelopeId}/recipients" To sUrl Get pvComObject of hoSbJson to vSbJson Get ComPTextSb Of hoHttp "POST" 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) // { // "signers": [ // { // "creationReason": "sender", // "requireUploadSignature": "false", // "email": "admin@chilkatsoft.com", // "recipientId": "1", // "requireIdLookup": "false", // "routingOrder": "1", // "status": "created", // "completedCount": "0", // "deliveryMethod": "email", // "recipientType": "signer" // }, // { // "creationReason": "sender", // "requireUploadSignature": "false", // "email": "matt@chilkat.io", // "recipientId": "2", // "requireIdLookup": "false", // "routingOrder": "1", // "status": "created", // "completedCount": "0", // "deliveryMethod": "email", // "recipientType": "signer" // } // ], // "agents": [], // "editors": [], // "intermediaries": [], // "carbonCopies": [ // { // "email": "support@chilkatsoft.com", // "recipientId": "101", // "requireIdLookup": "false", // "routingOrder": "1", // "status": "created", // "completedCount": "0", // "deliveryMethod": "email", // "recipientType": "carboncopy" // } // ], // "certifiedDeliveries": [], // "inPersonSigners": [], // "seals": [], // "witnesses": [], // "recipientCount": "3" // } // 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 hoJson "recipientCount" To sRecipientCount Move 0 To i Get ComSizeOfArray Of hoJson "signers" To iCount_i While (i < iCount_i) Set ComI Of hoJson To i Get ComStringOf Of hoJson "signers[i].creationReason" To sCreationReason Get ComStringOf Of hoJson "signers[i].requireUploadSignature" To sRequireUploadSignature Get ComStringOf Of hoJson "signers[i].email" To sEmail Get ComStringOf Of hoJson "signers[i].recipientId" To sRecipientId Get ComStringOf Of hoJson "signers[i].requireIdLookup" To sRequireIdLookup Get ComStringOf Of hoJson "signers[i].routingOrder" To sRoutingOrder Get ComStringOf Of hoJson "signers[i].status" To sStatus Get ComStringOf Of hoJson "signers[i].completedCount" To sCompletedCount Get ComStringOf Of hoJson "signers[i].deliveryMethod" To sDeliveryMethod Get ComStringOf Of hoJson "signers[i].recipientType" To sRecipientType Move (i + 1) To i Loop Move 0 To i Get ComSizeOfArray Of hoJson "agents" To iCount_i While (i < iCount_i) Set ComI Of hoJson To i // ... Move (i + 1) To i Loop Move 0 To i Get ComSizeOfArray Of hoJson "editors" To iCount_i While (i < iCount_i) Set ComI Of hoJson To i // ... Move (i + 1) To i Loop Move 0 To i Get ComSizeOfArray Of hoJson "intermediaries" To iCount_i While (i < iCount_i) Set ComI Of hoJson To i // ... Move (i + 1) To i Loop Move 0 To i Get ComSizeOfArray Of hoJson "carbonCopies" To iCount_i While (i < iCount_i) Set ComI Of hoJson To i Get ComStringOf Of hoJson "carbonCopies[i].email" To sEmail Get ComStringOf Of hoJson "carbonCopies[i].recipientId" To sRecipientId Get ComStringOf Of hoJson "carbonCopies[i].requireIdLookup" To sRequireIdLookup Get ComStringOf Of hoJson "carbonCopies[i].routingOrder" To sRoutingOrder Get ComStringOf Of hoJson "carbonCopies[i].status" To sStatus Get ComStringOf Of hoJson "carbonCopies[i].completedCount" To sCompletedCount Get ComStringOf Of hoJson "carbonCopies[i].deliveryMethod" To sDeliveryMethod Get ComStringOf Of hoJson "carbonCopies[i].recipientType" To sRecipientType Move (i + 1) To i Loop Move 0 To i Get ComSizeOfArray Of hoJson "certifiedDeliveries" To iCount_i While (i < iCount_i) Set ComI Of hoJson To i // ... Move (i + 1) To i Loop Move 0 To i Get ComSizeOfArray Of hoJson "inPersonSigners" To iCount_i While (i < iCount_i) Set ComI Of hoJson To i // ... Move (i + 1) To i Loop Move 0 To i Get ComSizeOfArray Of hoJson "seals" To iCount_i While (i < iCount_i) Set ComI Of hoJson To i // ... Move (i + 1) To i Loop Move 0 To i Get ComSizeOfArray Of hoJson "witnesses" To iCount_i While (i < iCount_i) Set ComI Of hoJson To i // ... Move (i + 1) To i Loop // If the recipient already exists within the envelope, we would get // a success (201) response status code, but errors within the JSON response, such as this: // { // "signers": [ // { // "creationReason": "sender", // "requireUploadSignature": "false", // "email": "admin@chilkatsoft.com", // "recipientId": "1", // "requireIdLookup": "false", // "routingOrder": "1", // "status": "error", // "completedCount": "0", // "deliveryMethod": "email", // "errorDetails": { // "errorCode": "RECIPIENT_ALREADY_EXISTS_IN_ENVELOPE", // "message": "This recipientId already exists." // }, // "recipientType": "signer" // }, // { // "creationReason": "sender", // "requireUploadSignature": "false", // "email": "matt@chilkat.io", // "recipientId": "2", // "requireIdLookup": "false", // "routingOrder": "1", // "status": "error", // "completedCount": "0", // "deliveryMethod": "email", // "errorDetails": { // "errorCode": "RECIPIENT_ALREADY_EXISTS_IN_ENVELOPE", // "message": "This recipientId already exists." // }, // "recipientType": "signer" // } // ], // "agents": [ // ], // "editors": [ // ], // "intermediaries": [ // ], // "carbonCopies": [ // { // "email": "support@chilkatsoft.com", // "recipientId": "101", // "requireIdLookup": "false", // "routingOrder": "1", // "status": "error", // "completedCount": "0", // "deliveryMethod": "email", // "errorDetails": { // "errorCode": "RECIPIENT_ALREADY_EXISTS_IN_ENVELOPE", // "message": "This recipientId already exists." // }, // "recipientType": "carboncopy" // } // ], // "certifiedDeliveries": [ // ], // "inPersonSigners": [ // ], // "seals": [ // ], // "witnesses": [ // ], // "recipientCount": "3" // } // End_Procedure |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.