Sample code for 30+ languages & platforms
Xbase++

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 Xbase++ Downloads

Xbase++
LOCAL nSuccess
LOCAL oHttp
LOCAL oJsonToken
LOCAL oSbResponseBody
LOCAL oJson
LOCAL nRespStatusCode
LOCAL cBrandCompany
LOCAL cBrandId
LOCAL cBrandName
LOCAL cErrorDetailsErrorCode
LOCAL cErrorDetailsMessage
LOCAL cIsOverridingCompanyName
LOCAL cIsSendingDefault
LOCAL cIsSigningDefault
LOCAL cLogosPrimary
LOCAL cLogosSecondary
LOCAL cLogosEmail
LOCAL cResourcesEmail
LOCAL cResourcesSending
LOCAL cResourcesSigning
LOCAL cResourcesSigningCaptive
LOCAL j
LOCAL nCount_j
LOCAL cLinkType
LOCAL cUrlOrMailTo
LOCAL cLinkText
LOCAL cShowLink
LOCAL cEmailContentType
LOCAL cContent
LOCAL cEmailToLink
LOCAL cRecipientBrandIdDefault
LOCAL cSenderBrandIdDefault
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 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.
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 an account ID obtained from DocuSign Get User Account Data
oSbResponseBody := CreateObject("Chilkat.StringBuilder")
nSuccess := oHttp:QuickGetSb("https://account-d.docusign.com/restapi/v2/accounts/18b4799a-xxxx-xxxx-xxxx-b5b4b8a97604/brands", oSbResponseBody)
IF (nSuccess == 0)
    ? oHttp:LastErrorText
    oHttp:destroy()
    oJsonToken:destroy()
    oSbResponseBody:destroy()
    RETURN
ENDIF

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

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

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

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

cRecipientBrandIdDefault := oJson:StringOf("recipientBrandIdDefault")
cSenderBrandIdDefault := oJson:StringOf("senderBrandIdDefault")
i := 0
nCount_i := oJson:SizeOfArray("brands")
DO WHILE i < nCount_i
    oJson:I := i
    cBrandCompany := oJson:StringOf("brands[i].brandCompany")
    cBrandId := oJson:StringOf("brands[i].brandId")
    cBrandName := oJson:StringOf("brands[i].brandName")
    cErrorDetailsErrorCode := oJson:StringOf("brands[i].errorDetails.errorCode")
    cErrorDetailsMessage := oJson:StringOf("brands[i].errorDetails.message")
    cIsOverridingCompanyName := oJson:StringOf("brands[i].isOverridingCompanyName")
    cIsSendingDefault := oJson:StringOf("brands[i].isSendingDefault")
    cIsSigningDefault := oJson:StringOf("brands[i].isSigningDefault")
    cLogosPrimary := oJson:StringOf("brands[i].logos.primary")
    cLogosSecondary := oJson:StringOf("brands[i].logos.secondary")
    cLogosEmail := oJson:StringOf("brands[i].logos.email")
    cResourcesEmail := oJson:StringOf("brands[i].resources.email")
    cResourcesSending := oJson:StringOf("brands[i].resources.sending")
    cResourcesSigning := oJson:StringOf("brands[i].resources.signing")
    cResourcesSigningCaptive := oJson:StringOf("brands[i].resources.signingCaptive")
    j := 0
    nCount_j := oJson:SizeOfArray("brands[i].colors")
    DO WHILE j < nCount_j
        oJson:J := j
        j := j + 1
    ENDDO
    j := 0
    nCount_j := oJson:SizeOfArray("brands[i].landingPages")
    DO WHILE j < nCount_j
        oJson:J := j
        j := j + 1
    ENDDO
    j := 0
    nCount_j := oJson:SizeOfArray("brands[i].links")
    DO WHILE j < nCount_j
        oJson:J := j
        cLinkType := oJson:StringOf("brands[i].links[j].linkType")
        cUrlOrMailTo := oJson:StringOf("brands[i].links[j].urlOrMailTo")
        cLinkText := oJson:StringOf("brands[i].links[j].linkText")
        cShowLink := oJson:StringOf("brands[i].links[j].showLink")
        j := j + 1
    ENDDO
    j := 0
    nCount_j := oJson:SizeOfArray("brands[i].emailContent")
    DO WHILE j < nCount_j
        oJson:J := j
        cEmailContentType := oJson:StringOf("brands[i].emailContent[j].emailContentType")
        cContent := oJson:StringOf("brands[i].emailContent[j].content")
        cEmailToLink := oJson:StringOf("brands[i].emailContent[j].emailToLink")
        cLinkText := oJson:StringOf("brands[i].emailContent[j].linkText")
        j := j + 1
    ENDDO
    i := i + 1
ENDDO

oHttp:destroy()
oJsonToken:destroy()
oSbResponseBody:destroy()
oJson:destroy()