Sample code for 30+ languages & platforms
Go

DocuSign List Envelope Documents

See more DocuSign Examples

Retrieve a list of all documents within a specific envelope.

Chilkat Go Downloads

Go
    success := false

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

    http := chilkat.NewHttp()

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

    // Adds the "Authorization: Bearer eyJ0eXAi.....UE8Kl_V8KroQ" header.
    jsonToken := chilkat.NewJsonObject()
    // Load a previously obtained OAuth2 access token.
    success = jsonToken.LoadFile("qa_data/tokens/docusign.json")
    if success == false {
        fmt.Println(jsonToken.LastErrorText())
        http.DisposeHttp()
        jsonToken.DisposeJsonObject()
        return
    }

    http.SetAuthToken(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")

    sbResponseBody := chilkat.NewStringBuilder()
    success = http.QuickGetSb("https://demo.docusign.net/restapi/v2.1/accounts/{$accountId}/envelopes/{$envelopeId}/documents",sbResponseBody)
    if success == false {
        fmt.Println(http.LastErrorText())
        http.DisposeHttp()
        jsonToken.DisposeJsonObject()
        sbResponseBody.DisposeStringBuilder()
        return
    }

    jResp := chilkat.NewJsonObject()
    jResp.LoadSb(sbResponseBody)
    jResp.SetEmitCompact(false)

    fmt.Println("Response Body:")
    fmt.Println(*jResp.Emit())

    respStatusCode := http.LastStatus()
    fmt.Println("Response Status Code = ", respStatusCode)
    if respStatusCode >= 400 {
        fmt.Println("Response Header:")
        fmt.Println(http.LastHeader())
        fmt.Println("Failed.")
        http.DisposeHttp()
        jsonToken.DisposeJsonObject()
        sbResponseBody.DisposeStringBuilder()
        jResp.DisposeJsonObject()
        return
    }

    // 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

    var documentId *string = new(string)
    var documentIdGuid *string = new(string)
    var name *string = new(string)
    var v_type *string = new(string)
    var uri *string = new(string)
    var order *string = new(string)
    var display *string = new(string)
    var includeInDownload *string = new(string)
    var signerMustAcknowledge *string = new(string)
    var templateRequired *string = new(string)
    var authoritativeCopy *string = new(string)
    var j int
    var count_j int
    var pageId *string = new(string)
    var sequence *string = new(string)
    var height *string = new(string)
    var width *string = new(string)
    var dpi *string = new(string)
    var isDefault *string = new(string)

    envelopeId := jResp.StringOf("envelopeId")
    i := 0
    count_i := jResp.SizeOfArray("envelopeDocuments")
    for i < count_i {
        jResp.SetI(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")
        for j < count_j {
            jResp.SetJ(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
        }

        j = 0
        count_j = jResp.SizeOfArray("envelopeDocuments[i].availableDocumentTypes")
        for j < count_j {
            jResp.SetJ(j)
            v_type = jResp.StringOf("envelopeDocuments[i].availableDocumentTypes[j].type")
            isDefault = jResp.StringOf("envelopeDocuments[i].availableDocumentTypes[j].isDefault")
            j = j + 1
        }

        i = i + 1
    }


    http.DisposeHttp()
    jsonToken.DisposeJsonObject()
    sbResponseBody.DisposeStringBuilder()
    jResp.DisposeJsonObject()