Sample code for 30+ languages & platforms
PowerBuilder

Docusign: Return Brand Data Associated with a User

See more DocuSign Examples

Demonstrates a call using an OAuth2 access token in combination with the account ID for which we have authorization.

Chilkat PowerBuilder Downloads

PowerBuilder
integer li_rc
long li_Success
oleobject loo_Http
oleobject loo_JsonToken
oleobject loo_SbResponseBody
oleobject loo_Json
long li_RespStatusCode
string ls_BrandCompany
string ls_BrandId
string ls_BrandName
string ls_ErrorDetailsErrorCode
string ls_ErrorDetailsMessage
string ls_IsOverridingCompanyName
string ls_IsSendingDefault
string ls_IsSigningDefault
string ls_LogosPrimary
string ls_LogosSecondary
string ls_LogosEmail
string ls_ResourcesEmail
string ls_ResourcesSending
string ls_ResourcesSigning
string ls_ResourcesSigningCaptive
long j
long li_Count_j
string ls_LinkType
string ls_UrlOrMailTo
string ls_LinkText
string ls_ShowLink
string ls_EmailContentType
string ls_Content
string ls_EmailToLink
string ls_RecipientBrandIdDefault
string ls_SenderBrandIdDefault
long i
long li_Count_i

li_Success = 0

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

loo_Http = create oleobject
li_rc = loo_Http.ConnectToNewObject("Chilkat.Http")
if li_rc < 0 then
    destroy loo_Http
    MessageBox("Error","Connecting to COM object failed")
    return
end if

//  Implements the following CURL command:

//  curl --request GET https://account-d.docusign.com/restapi/v2/accounts/18b4799a-xxxx-xxxx-xxxx-b5b4b8a97604/brands --header "Authorization: Bearer eyJ0eXAi.....UE8Kl_V8KroQ"

//  Use the following online tool to generate HTTP code from a CURL command
//  Convert a cURL Command to HTTP Source Code

//  Adds the "Authorization: Bearer eyJ0eXAi.....UE8Kl_V8KroQ" header.
loo_JsonToken = create oleobject
li_rc = loo_JsonToken.ConnectToNewObject("Chilkat.JsonObject")

//  Load a previously obtained OAuth2 access token.
li_Success = loo_JsonToken.LoadFile("qa_data/tokens/docusign.json")
if li_Success = 0 then
    Write-Debug loo_JsonToken.LastErrorText
    destroy loo_Http
    destroy loo_JsonToken
    return
end if

loo_Http.AuthToken = loo_JsonToken.StringOf("access_token")

//  Use an account ID obtained from DocuSign Get User Account Data
loo_SbResponseBody = create oleobject
li_rc = loo_SbResponseBody.ConnectToNewObject("Chilkat.StringBuilder")

li_Success = loo_Http.QuickGetSb("https://account-d.docusign.com/restapi/v2/accounts/18b4799a-xxxx-xxxx-xxxx-b5b4b8a97604/brands",loo_SbResponseBody)
if li_Success = 0 then
    Write-Debug loo_Http.LastErrorText
    destroy loo_Http
    destroy loo_JsonToken
    destroy loo_SbResponseBody
    return
end if

loo_Json = create oleobject
li_rc = loo_Json.ConnectToNewObject("Chilkat.JsonObject")

loo_Json.LoadSb(loo_SbResponseBody)
loo_Json.EmitCompact = 0

Write-Debug "Response Body:"
Write-Debug loo_Json.Emit()

li_RespStatusCode = loo_Http.LastStatus
Write-Debug "Response Status Code = " + string(li_RespStatusCode)
if li_RespStatusCode >= 400 then
    Write-Debug "Response Header:"
    Write-Debug loo_Http.LastHeader
    Write-Debug "Failed."
    destroy loo_Http
    destroy loo_JsonToken
    destroy loo_SbResponseBody
    destroy loo_Json
    return
end if

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

//  {
//    "recipientBrandIdDefault": "sample string 1",
//    "senderBrandIdDefault": "sample string 2",
//    "brands": [
//      {
//        "brandCompany": "sample string 1",
//        "brandId": "sample string 2",
//        "brandName": "sample string 3",
//        "colors": [
//          {}
//        ],
//        "errorDetails": {
//          "errorCode": "sample string 1",
//          "message": "sample string 2"
//        },
//        "isOverridingCompanyName": "sample string 4",
//        "isSendingDefault": "sample string 5",
//        "isSigningDefault": "sample string 6",
//        "landingPages": [
//          {}
//        ],
//        "links": [
//          {
//            "linkType": "sample string 1",
//            "urlOrMailTo": "sample string 2",
//            "linkText": "sample string 3",
//            "showLink": "sample string 4"
//          }
//        ],
//        "emailContent": [
//          {
//            "emailContentType": "sample string 1",
//            "content": "sample string 2",
//            "emailToLink": "sample string 3",
//            "linkText": "sample string 4"
//          }
//        ],
//        "logos": {
//          "primary": "sample string 1",
//          "secondary": "sample string 2",
//          "email": "sample string 3"
//        },
//        "resources": {
//          "email": "sample string 1",
//          "sending": "sample string 2",
//          "signing": "sample string 3",
//          "signingCaptive": "sample string 4"
//        }
//      }
//    ]
//  }

//  Sample code for parsing the JSON response...
//  Use the following online tool to generate parsing code from sample JSON:
//  Generate Parsing Code from JSON

ls_RecipientBrandIdDefault = loo_Json.StringOf("recipientBrandIdDefault")
ls_SenderBrandIdDefault = loo_Json.StringOf("senderBrandIdDefault")
i = 0
li_Count_i = loo_Json.SizeOfArray("brands")
do while i < li_Count_i
    loo_Json.I = i
    ls_BrandCompany = loo_Json.StringOf("brands[i].brandCompany")
    ls_BrandId = loo_Json.StringOf("brands[i].brandId")
    ls_BrandName = loo_Json.StringOf("brands[i].brandName")
    ls_ErrorDetailsErrorCode = loo_Json.StringOf("brands[i].errorDetails.errorCode")
    ls_ErrorDetailsMessage = loo_Json.StringOf("brands[i].errorDetails.message")
    ls_IsOverridingCompanyName = loo_Json.StringOf("brands[i].isOverridingCompanyName")
    ls_IsSendingDefault = loo_Json.StringOf("brands[i].isSendingDefault")
    ls_IsSigningDefault = loo_Json.StringOf("brands[i].isSigningDefault")
    ls_LogosPrimary = loo_Json.StringOf("brands[i].logos.primary")
    ls_LogosSecondary = loo_Json.StringOf("brands[i].logos.secondary")
    ls_LogosEmail = loo_Json.StringOf("brands[i].logos.email")
    ls_ResourcesEmail = loo_Json.StringOf("brands[i].resources.email")
    ls_ResourcesSending = loo_Json.StringOf("brands[i].resources.sending")
    ls_ResourcesSigning = loo_Json.StringOf("brands[i].resources.signing")
    ls_ResourcesSigningCaptive = loo_Json.StringOf("brands[i].resources.signingCaptive")
    j = 0
    li_Count_j = loo_Json.SizeOfArray("brands[i].colors")
    do while j < li_Count_j
        loo_Json.J = j
        j = j + 1
    loop
    j = 0
    li_Count_j = loo_Json.SizeOfArray("brands[i].landingPages")
    do while j < li_Count_j
        loo_Json.J = j
        j = j + 1
    loop
    j = 0
    li_Count_j = loo_Json.SizeOfArray("brands[i].links")
    do while j < li_Count_j
        loo_Json.J = j
        ls_LinkType = loo_Json.StringOf("brands[i].links[j].linkType")
        ls_UrlOrMailTo = loo_Json.StringOf("brands[i].links[j].urlOrMailTo")
        ls_LinkText = loo_Json.StringOf("brands[i].links[j].linkText")
        ls_ShowLink = loo_Json.StringOf("brands[i].links[j].showLink")
        j = j + 1
    loop
    j = 0
    li_Count_j = loo_Json.SizeOfArray("brands[i].emailContent")
    do while j < li_Count_j
        loo_Json.J = j
        ls_EmailContentType = loo_Json.StringOf("brands[i].emailContent[j].emailContentType")
        ls_Content = loo_Json.StringOf("brands[i].emailContent[j].content")
        ls_EmailToLink = loo_Json.StringOf("brands[i].emailContent[j].emailToLink")
        ls_LinkText = loo_Json.StringOf("brands[i].emailContent[j].linkText")
        j = j + 1
    loop
    i = i + 1
loop


destroy loo_Http
destroy loo_JsonToken
destroy loo_SbResponseBody
destroy loo_Json