PureBasic
PureBasic
SMSAPI - Get User Account Information
See more SMSAPI Examples
Get a list of subusers.Chilkat PureBasic Downloads
IncludeFile "CkHttp.pb"
IncludeFile "CkStringBuilder.pb"
IncludeFile "CkJsonArray.pb"
IncludeFile "CkJsonObject.pb"
Procedure ChilkatExample()
success.i = 0
; This example assumes the Chilkat API to have been previously unlocked.
; See Global Unlock Sample for sample code.
http.i = CkHttp::ckCreate()
If http.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
; Implements the following CURL command:
; curl -i -H "Authorization: Bearer token_api_oauth" \
; -H "Content-Type: application/json" -X GET https://api.smsapi.com/subusers
; 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 token_api_oauth" header.
CkHttp::setCkAuthToken(http, "token_api_oauth")
CkHttp::ckSetRequestHeader(http,"Content-Type","application/json")
sbResponseBody.i = CkStringBuilder::ckCreate()
If sbResponseBody.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
success = CkHttp::ckQuickGetSb(http,"https://api.smsapi.com/subusers",sbResponseBody)
If success = 0
Debug CkHttp::ckLastErrorText(http)
CkHttp::ckDispose(http)
CkStringBuilder::ckDispose(sbResponseBody)
ProcedureReturn
EndIf
jarrResp.i = CkJsonArray::ckCreate()
If jarrResp.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
CkJsonArray::ckLoadSb(jarrResp,sbResponseBody)
CkJsonArray::setCkEmitCompact(jarrResp, 0)
Debug "Response Body:"
Debug CkJsonArray::ckEmit(jarrResp)
respStatusCode.i = CkHttp::ckLastStatus(http)
Debug "Response Status Code = " + Str(respStatusCode)
If respStatusCode >= 400
Debug "Response Header:"
Debug CkHttp::ckLastHeader(http)
Debug "Failed."
CkHttp::ckDispose(http)
CkStringBuilder::ckDispose(sbResponseBody)
CkJsonArray::ckDispose(jarrResp)
ProcedureReturn
EndIf
; Sample JSON response:
; (Sample code for parsing the JSON response is shown below)
; [
; {
; "id": "5A5359173738303F2F95B7E2",
; "username": "subuser1",
; "active": "true",
; "description": "null",
; "from_account": "10.0000",
; "per_month": "0"
; },
; {
; "id": "5A5359173738303F2F95B7E2",
; "username": "subuser2",
; "active": "true",
; "description": "null",
; "from_account": "10.0000",
; "per_month": "0"
; }
; ]
; Sample code for parsing the JSON response...
; Use the following online tool to generate parsing code from sample JSON:
; Generate Parsing Code from JSON
json.i
id.s
username.s
active.s
description.s
from_account.s
per_month.s
i.i = 0
count_i.i = CkJsonArray::ckSize(jarrResp)
While i < count_i
json = CkJsonArray::ckObjectAt(jarrResp,i)
id = CkJsonObject::ckStringOf(json,"id")
username = CkJsonObject::ckStringOf(json,"username")
active = CkJsonObject::ckStringOf(json,"active")
description = CkJsonObject::ckStringOf(json,"description")
from_account = CkJsonObject::ckStringOf(json,"from_account")
per_month = CkJsonObject::ckStringOf(json,"per_month")
CkJsonObject::ckDispose(json)
i = i + 1
Wend
CkHttp::ckDispose(http)
CkStringBuilder::ckDispose(sbResponseBody)
CkJsonArray::ckDispose(jarrResp)
ProcedureReturn
EndProcedure