Sample code for 30+ languages & platforms
Xbase++

DocuSign List Envelope Documents

See more DocuSign Examples

Retrieve a list of all documents within a specific envelope.

Chilkat Xbase++ Downloads

Xbase++
LOCAL nSuccess
LOCAL oHttp
LOCAL oJsonToken
LOCAL oSbResponseBody
LOCAL oJResp
LOCAL nRespStatusCode
LOCAL cDocumentId
LOCAL cDocumentIdGuid
LOCAL cName
LOCAL cV_type
LOCAL cUri
LOCAL cOrder
LOCAL cDisplay
LOCAL cIncludeInDownload
LOCAL cSignerMustAcknowledge
LOCAL cTemplateRequired
LOCAL cAuthoritativeCopy
LOCAL j
LOCAL nCount_j
LOCAL cPageId
LOCAL cSequence
LOCAL cHeight
LOCAL cWidth
LOCAL cDpi
LOCAL cIsDefault
LOCAL cEnvelopeId
LOCAL i
LOCAL nCount_i

nSuccess := 0

//  This example assumes the Chilkat API to have been previously unlocked.
//  See Global Unlock Sample for sample code.

oHttp := CreateObject("Chilkat.Http")

//  Implements the following HTTP request:
//  GET /restapi/v2.1/accounts/{accountId}/envelopes/{envelopeId}/documents

//  Adds the "Authorization: Bearer eyJ0eXAi.....UE8Kl_V8KroQ" header.
oJsonToken := CreateObject("Chilkat.JsonObject")
//  Load a previously obtained OAuth2 access token.
nSuccess := oJsonToken:LoadFile("qa_data/tokens/docusign.json")
IF (nSuccess == 0)
    ? oJsonToken:LastErrorText
    oHttp:destroy()
    oJsonToken:destroy()
    RETURN
ENDIF

oHttp:AuthToken := oJsonToken:StringOf("access_token")

//  Use your account ID and a valid envelopeId here:
oHttp:SetUrlVar("accountId", "7f3f65ed-5e87-418d-94c1-92499ddc8252")
oHttp:SetUrlVar("envelopeId", "90d7e40a-b4bd-4ccd-bf38-c80e37954a13")

oSbResponseBody := CreateObject("Chilkat.StringBuilder")
nSuccess := oHttp:QuickGetSb("https://demo.docusign.net/restapi/v2.1/accounts/{$accountId}/envelopes/{$envelopeId}/documents", oSbResponseBody)
IF (nSuccess == 0)
    ? oHttp:LastErrorText
    oHttp:destroy()
    oJsonToken:destroy()
    oSbResponseBody:destroy()
    RETURN
ENDIF

oJResp := CreateObject("Chilkat.JsonObject")
oJResp:LoadSb(oSbResponseBody)
oJResp:EmitCompact := 0

? "Response Body:"
? oJResp:Emit()

nRespStatusCode := oHttp:LastStatus
? "Response Status Code = " + Str(nRespStatusCode)
IF (nRespStatusCode >= 400)
    ? "Response Header:"
    ? oHttp:LastHeader
    ? "Failed."
    oHttp:destroy()
    oJsonToken:destroy()
    oSbResponseBody:destroy()
    oJResp:destroy()
    RETURN
ENDIF

//  Sample JSON response:
//  (Sample code for parsing the JSON response is shown below)

//  {
//    "envelopeId": "90d7e40a-b4bd-4ccd-bf38-c80e37954a13",
//    "envelopeDocuments": [
//      {
//        "documentId": "1",
//        "documentIdGuid": "ca1d3cc6-9bc3-48d6-a5d8-a85d9acdcde1",
//        "name": "helloWorld.pdf",
//        "type": "content",
//        "uri": "/envelopes/90d7e40a-b4bd-4ccd-bf38-c80e37954a13/documents/1",
//        "order": "1",
//        "pages": [
//          {
//            "pageId": "fbf93a36-6b60-484d-94bd-ee3c08c0a546",
//            "sequence": "1",
//            "height": "842",
//            "width": "595",
//            "dpi": "72"
//          }
//        ],
//        "availableDocumentTypes": [
//          {
//            "type": "electronic",
//            "isDefault": "true"
//          }
//        ],
//        "display": "inline",
//        "includeInDownload": "true",
//        "signerMustAcknowledge": "no_interaction",
//        "templateRequired": "false",
//        "authoritativeCopy": "false"
//      },
//      {
//        "documentId": "certificate",
//        "documentIdGuid": "7479a5de-8d91-44a2-bc33-b76a9ba0f6e2",
//        "name": "Summary",
//        "type": "summary",
//        "uri": "/envelopes/90d7e40a-b4bd-4ccd-bf38-c80e37954a13/documents/certificate",
//        "order": "999",
//        "availableDocumentTypes": [
//          {
//            "type": "electronic",
//            "isDefault": "true"
//          }
//        ],
//        "display": "inline",
//        "includeInDownload": "true",
//        "signerMustAcknowledge": "no_interaction",
//        "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

cEnvelopeId := oJResp:StringOf("envelopeId")
i := 0
nCount_i := oJResp:SizeOfArray("envelopeDocuments")
DO WHILE i < nCount_i
    oJResp:I := i
    cDocumentId := oJResp:StringOf("envelopeDocuments[i].documentId")
    cDocumentIdGuid := oJResp:StringOf("envelopeDocuments[i].documentIdGuid")
    cName := oJResp:StringOf("envelopeDocuments[i].name")
    cV_type := oJResp:StringOf("envelopeDocuments[i].type")
    cUri := oJResp:StringOf("envelopeDocuments[i].uri")
    cOrder := oJResp:StringOf("envelopeDocuments[i].order")
    cDisplay := oJResp:StringOf("envelopeDocuments[i].display")
    cIncludeInDownload := oJResp:StringOf("envelopeDocuments[i].includeInDownload")
    cSignerMustAcknowledge := oJResp:StringOf("envelopeDocuments[i].signerMustAcknowledge")
    cTemplateRequired := oJResp:StringOf("envelopeDocuments[i].templateRequired")
    cAuthoritativeCopy := oJResp:StringOf("envelopeDocuments[i].authoritativeCopy")
    j := 0
    nCount_j := oJResp:SizeOfArray("envelopeDocuments[i].pages")
    DO WHILE j < nCount_j
        oJResp:J := j
        cPageId := oJResp:StringOf("envelopeDocuments[i].pages[j].pageId")
        cSequence := oJResp:StringOf("envelopeDocuments[i].pages[j].sequence")
        cHeight := oJResp:StringOf("envelopeDocuments[i].pages[j].height")
        cWidth := oJResp:StringOf("envelopeDocuments[i].pages[j].width")
        cDpi := oJResp:StringOf("envelopeDocuments[i].pages[j].dpi")
        j := j + 1
    ENDDO
    j := 0
    nCount_j := oJResp:SizeOfArray("envelopeDocuments[i].availableDocumentTypes")
    DO WHILE j < nCount_j
        oJResp:J := j
        cV_type := oJResp:StringOf("envelopeDocuments[i].availableDocumentTypes[j].type")
        cIsDefault := oJResp:StringOf("envelopeDocuments[i].availableDocumentTypes[j].isDefault")
        j := j + 1
    ENDDO
    i := i + 1
ENDDO

oHttp:destroy()
oJsonToken:destroy()
oSbResponseBody:destroy()
oJResp:destroy()