Go
Go
DocuSign Download Envelope Document (PDF)
See more DocuSign Examples
Retrieves the specified document from the envelope. The response body of this method is the PDF file as a byte stream. You can get the file name and document ID from the response's Content-Disposition header.Chilkat Go Downloads
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/1
// 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")
url := "https://demo.docusign.net/restapi/v2.1/accounts/{$accountId}/envelopes/{$envelopeId}/documents/1"
bd := chilkat.NewBinData()
success = http.DownloadBd(url,bd)
if success == false {
fmt.Println(http.LastErrorText())
http.DisposeHttp()
jsonToken.DisposeJsonObject()
bd.DisposeBinData()
return
}
respStatusCode := http.LastStatus()
fmt.Println("Response Status Code = ", respStatusCode)
if respStatusCode != 200 {
fmt.Println("Response Header:")
fmt.Println(http.LastResponseHeader())
// The response body contains an error message.
fmt.Println(*bd.GetString("utf-8"))
fmt.Println("Failed.")
http.DisposeHttp()
jsonToken.DisposeJsonObject()
bd.DisposeBinData()
return
}
// The response indicated success.
// Get the filename from the Content-Disposition header and save to a file.
mime := chilkat.NewMime()
mime.LoadMime(http.LastResponseHeader())
filename := mime.GetHeaderFieldAttribute("Content-Disposition","filename")
fmt.Println("filename = ", *filename)
sbPath := chilkat.NewStringBuilder()
sbPath.Append("C:/aaworkarea/")
sbPath.Append(*filename)
success = bd.WriteFile(*sbPath.GetAsString())
if success == false {
fmt.Println("Failed to save to output file.")
} else {
fmt.Println("Wrote ", *sbPath.GetAsString())
}
http.DisposeHttp()
jsonToken.DisposeJsonObject()
bd.DisposeBinData()
mime.DisposeMime()
sbPath.DisposeStringBuilder()