Sample code for 30+ languages & platforms
B4X

DocuSign List Envelope Documents

See more DocuSign Examples

Retrieve a list of all documents within a specific envelope.

Chilkat B4X Downloads

B4X
Dim success As Boolean = False

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

Dim http As ChilkatHttp
http.Initialize("http")

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

'  Adds the "Authorization: Bearer eyJ0eXAi.....UE8Kl_V8KroQ" header.
Dim jsonToken As ChilkatJsonObject
jsonToken.Initialize
'  Load a previously obtained OAuth2 access token.
success = jsonToken.LoadFile("qa_data/tokens/docusign.json")
If success = False Then
    Log(jsonToken.LastErrorText)
    Return
End If


http.AuthToken = jsonToken.StringOf("access_token")

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

Dim sbResponseBody As ChilkatStringBuilder
sbResponseBody.Initialize
success = http.QuickGetSb("https://demo.docusign.net/restapi/v2.1/accounts/{$accountId}/envelopes/{$envelopeId}/documents", sbResponseBody)
If success = False Then
    Log(http.LastErrorText)
    Return
End If


Dim jResp As ChilkatJsonObject
jResp.Initialize
jResp.LoadSb(sbResponseBody)
jResp.EmitCompact = False

Log("Response Body:")
Log(jResp.Emit)

Dim respStatusCode As Int = http.LastStatus
Log("Response Status Code = " & respStatusCode)
If respStatusCode >= 400 Then
    Log("Response Header:")
    Log(http.LastHeader)
    Log("Failed.")
    Return
End If


'  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



Dim documentId As String
Dim documentIdGuid As String
Dim name As String
Dim v_type As String
Dim uri As String
Dim order As String
Dim display As String
Dim includeInDownload As String
Dim signerMustAcknowledge As String
Dim templateRequired As String
Dim authoritativeCopy As String
Dim j As Int
Dim count_j As Int
Dim pageId As String
Dim sequence As String
Dim height As String
Dim width As String
Dim dpi As String
Dim isDefault As String

Dim envelopeId As String = jResp.StringOf("envelopeId")
Dim i As Int = 0
Dim count_i As Int = jResp.SizeOfArray("envelopeDocuments")
Do While i < count_i
    jResp.I = i
    documentId = jResp.StringOf("envelopeDocuments[i].documentId")
    documentIdGuid = jResp.StringOf("envelopeDocuments[i].documentIdGuid")
    name = jResp.StringOf("envelopeDocuments[i].name")
    v_type = jResp.StringOf("envelopeDocuments[i].type")
    uri = jResp.StringOf("envelopeDocuments[i].uri")
    order = jResp.StringOf("envelopeDocuments[i].order")
    display = jResp.StringOf("envelopeDocuments[i].display")
    includeInDownload = jResp.StringOf("envelopeDocuments[i].includeInDownload")
    signerMustAcknowledge = jResp.StringOf("envelopeDocuments[i].signerMustAcknowledge")
    templateRequired = jResp.StringOf("envelopeDocuments[i].templateRequired")
    authoritativeCopy = jResp.StringOf("envelopeDocuments[i].authoritativeCopy")
    j = 0
    count_j = jResp.SizeOfArray("envelopeDocuments[i].pages")
    Do While j < count_j
        jResp.J = j
        pageId = jResp.StringOf("envelopeDocuments[i].pages[j].pageId")
        sequence = jResp.StringOf("envelopeDocuments[i].pages[j].sequence")
        height = jResp.StringOf("envelopeDocuments[i].pages[j].height")
        width = jResp.StringOf("envelopeDocuments[i].pages[j].width")
        dpi = jResp.StringOf("envelopeDocuments[i].pages[j].dpi")
        j = j + 1
    Loop
    j = 0
    count_j = jResp.SizeOfArray("envelopeDocuments[i].availableDocumentTypes")
    Do While j < count_j
        jResp.J = j
        v_type = jResp.StringOf("envelopeDocuments[i].availableDocumentTypes[j].type")
        isDefault = jResp.StringOf("envelopeDocuments[i].availableDocumentTypes[j].isDefault")
        j = j + 1
    Loop
    i = i + 1
Loop