Back to Collection Items
IncludeFile "CkJsonObject.pb"
IncludeFile "CkStringBuilder.pb"
IncludeFile "CkHttp.pb"
Procedure ChilkatExample()
; 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
success.i
CkHttp::setCkBasicAuth(http, 1)
CkHttp::setCkLogin(http, "{{secretId}}")
CkHttp::setCkPassword(http, "{{secretPassword}}")
sbResponseBody.i = CkStringBuilder::ckCreate()
If sbResponseBody.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
success = CkHttp::ckQuickGetSb(http,"https://domain.com/api/statements/:id/",sbResponseBody)
If success = 0
Debug CkHttp::ckLastErrorText(http)
CkHttp::ckDispose(http)
CkStringBuilder::ckDispose(sbResponseBody)
ProcedureReturn
EndIf
jResp.i = CkJsonObject::ckCreate()
If jResp.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
CkJsonObject::ckLoadSb(jResp,sbResponseBody)
CkJsonObject::setCkEmitCompact(jResp, 0)
Debug "Response Body:"
Debug CkJsonObject::ckEmit(jResp)
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)
CkJsonObject::ckDispose(jResp)
ProcedureReturn
EndIf
; Sample JSON response:
; (Sample code for parsing the JSON response is shown below)
; {
; "id": "<uuid>",
; "link": "<string>",
; "account": {
; "id": "<uuid>",
; "name": "<string>",
; "category": "non consequat",
; "currency": "<string>"
; },
; "collected_at": "<dateTime>",
; "account_number": "<string>",
; "client_number": "<string>",
; "RFC": "<string>",
; "CLABE": "<string>",
; "period_start_date": "<date>",
; "period_end_date": "<date>",
; "cut_date": "<string>",
; "final_balance": "<number>",
; "previous_balance": "<number>",
; "total_inflow_amount": "<number>",
; "total_outflow_amount": "<number>",
; "total_inflow_transactions": "<number>",
; "total_outflow_transactions": "<number>",
; "transactions": [
; {
; "collected_at": {
; "value": "<Error: Too many levels of nesting to fake this schema>"
; },
; "accounting_date": {
; "value": "<Error: Too many levels of nesting to fake this schema>"
; },
; "value_date": {
; "value": "<Error: Too many levels of nesting to fake this schema>"
; },
; "reference": {
; "value": "<Error: Too many levels of nesting to fake this schema>"
; },
; "observations": {
; "value": "<Error: Too many levels of nesting to fake this schema>"
; },
; "additional_data": {
; "value": "<Error: Too many levels of nesting to fake this schema>"
; },
; "balance": {
; "value": "<Error: Too many levels of nesting to fake this schema>"
; },
; "status": {
; "value": "<Error: Too many levels of nesting to fake this schema>"
; },
; "type": {
; "value": "<Error: Too many levels of nesting to fake this schema>"
; },
; "currency": {
; "value": "<Error: Too many levels of nesting to fake this schema>"
; },
; "description": {
; "value": "<Error: Too many levels of nesting to fake this schema>"
; },
; "internal_identification": {
; "value": "<Error: Too many levels of nesting to fake this schema>"
; },
; "account": {
; "value": "<Error: Too many levels of nesting to fake this schema>"
; }
; },
; {
; "collected_at": {
; "value": "<Error: Too many levels of nesting to fake this schema>"
; },
; "accounting_date": {
; "value": "<Error: Too many levels of nesting to fake this schema>"
; },
; "value_date": {
; "value": "<Error: Too many levels of nesting to fake this schema>"
; },
; "reference": {
; "value": "<Error: Too many levels of nesting to fake this schema>"
; },
; "observations": {
; "value": "<Error: Too many levels of nesting to fake this schema>"
; },
; "additional_data": {
; "value": "<Error: Too many levels of nesting to fake this schema>"
; },
; "balance": {
; "value": "<Error: Too many levels of nesting to fake this schema>"
; },
; "status": {
; "value": "<Error: Too many levels of nesting to fake this schema>"
; },
; "type": {
; "value": "<Error: Too many levels of nesting to fake this schema>"
; },
; "currency": {
; "value": "<Error: Too many levels of nesting to fake this schema>"
; },
; "description": {
; "value": "<Error: Too many levels of nesting to fake this schema>"
; },
; "internal_identification": {
; "value": "<Error: Too many levels of nesting to fake this schema>"
; },
; "account": {
; "value": "<Error: Too many levels of nesting to fake this schema>"
; }
; }
; ],
; "pdf": "<binary>"
; }
; Sample code for parsing the JSON response...
; Use this online tool to generate parsing code from sample JSON: Generate JSON Parsing Code
Value.s
accounting_dateValue.s
value_dateValue.s
referenceValue.s
observationsValue.s
additional_dataValue.s
balanceValue.s
statusValue.s
typeValue.s
currencyValue.s
descriptionValue.s
internal_identificationValue.s
accountValue.s
id.s = CkJsonObject::ckStringOf(jResp,"id")
link.s = CkJsonObject::ckStringOf(jResp,"link")
Id.s = CkJsonObject::ckStringOf(jResp,"account.id")
Name.s = CkJsonObject::ckStringOf(jResp,"account.name")
Category.s = CkJsonObject::ckStringOf(jResp,"account.category")
v_Currency.s = CkJsonObject::ckStringOf(jResp,"account.currency")
collected_at.s = CkJsonObject::ckStringOf(jResp,"collected_at")
account_number.s = CkJsonObject::ckStringOf(jResp,"account_number")
client_number.s = CkJsonObject::ckStringOf(jResp,"client_number")
RFC.s = CkJsonObject::ckStringOf(jResp,"RFC")
CLABE.s = CkJsonObject::ckStringOf(jResp,"CLABE")
period_start_date.s = CkJsonObject::ckStringOf(jResp,"period_start_date")
period_end_date.s = CkJsonObject::ckStringOf(jResp,"period_end_date")
cut_date.s = CkJsonObject::ckStringOf(jResp,"cut_date")
final_balance.s = CkJsonObject::ckStringOf(jResp,"final_balance")
previous_balance.s = CkJsonObject::ckStringOf(jResp,"previous_balance")
total_inflow_amount.s = CkJsonObject::ckStringOf(jResp,"total_inflow_amount")
total_outflow_amount.s = CkJsonObject::ckStringOf(jResp,"total_outflow_amount")
total_inflow_transactions.s = CkJsonObject::ckStringOf(jResp,"total_inflow_transactions")
total_outflow_transactions.s = CkJsonObject::ckStringOf(jResp,"total_outflow_transactions")
pdf.s = CkJsonObject::ckStringOf(jResp,"pdf")
i.i = 0
count_i.i = CkJsonObject::ckSizeOfArray(jResp,"transactions")
While i < count_i
CkJsonObject::setCkI(jResp, i)
Value = CkJsonObject::ckStringOf(jResp,"transactions[i].collected_at.value")
accounting_dateValue = CkJsonObject::ckStringOf(jResp,"transactions[i].accounting_date.value")
value_dateValue = CkJsonObject::ckStringOf(jResp,"transactions[i].value_date.value")
referenceValue = CkJsonObject::ckStringOf(jResp,"transactions[i].reference.value")
observationsValue = CkJsonObject::ckStringOf(jResp,"transactions[i].observations.value")
additional_dataValue = CkJsonObject::ckStringOf(jResp,"transactions[i].additional_data.value")
balanceValue = CkJsonObject::ckStringOf(jResp,"transactions[i].balance.value")
statusValue = CkJsonObject::ckStringOf(jResp,"transactions[i].status.value")
typeValue = CkJsonObject::ckStringOf(jResp,"transactions[i].type.value")
currencyValue = CkJsonObject::ckStringOf(jResp,"transactions[i].currency.value")
descriptionValue = CkJsonObject::ckStringOf(jResp,"transactions[i].description.value")
internal_identificationValue = CkJsonObject::ckStringOf(jResp,"transactions[i].internal_identification.value")
accountValue = CkJsonObject::ckStringOf(jResp,"transactions[i].account.value")
i = i + 1
Wend
CkHttp::ckDispose(http)
CkStringBuilder::ckDispose(sbResponseBody)
CkJsonObject::ckDispose(jResp)
ProcedureReturn
EndProcedure
Curl Command
curl -X GET
-u '{{secretId}}:{{secretPassword}}'
https://domain.com/api/statements/:id/
Postman Collection Item JSON
{
"name": "Detail",
"request": {
"method": "GET",
"header": [
],
"url": {
"raw": "{{baseUrl}}/api/statements/:id/",
"host": [
"{{baseUrl}}"
],
"path": [
"api",
"statements",
":id",
""
],
"variable": [
{
"key": "id",
"value": "consequa",
"description": "(Required) The `statement.id` you want to get detailed information about."
}
]
},
"description": "Get the details of a specific statement."
},
"response": [
{
"name": "Ok",
"originalRequest": {
"method": "GET",
"header": [
{
"description": "Added as a part of security scheme: basic",
"key": "Authorization",
"value": "Basic <credentials>"
}
],
"url": {
"raw": "{{baseUrl}}/api/statements/:id",
"host": [
"{{baseUrl}}"
],
"path": [
"api",
"statements",
":id"
],
"variable": [
{
"key": "id"
}
]
}
},
"status": "OK",
"code": 200,
"_postman_previewlanguage": "json",
"header": [
{
"key": "Content-Type",
"value": "application/json"
}
],
"cookie": [
],
"body": "{\n\t\"id\": \"<uuid>\",\n\t\"link\": \"<string>\",\n\t\"account\": {\n\t\t\"id\": \"<uuid>\",\n\t\t\"name\": \"<string>\",\n\t\t\"category\": \"non consequat\",\n\t\t\"currency\": \"<string>\"\n\t},\n\t\"collected_at\": \"<dateTime>\",\n\t\"account_number\": \"<string>\",\n\t\"client_number\": \"<string>\",\n\t\"RFC\": \"<string>\",\n\t\"CLABE\": \"<string>\",\n\t\"period_start_date\": \"<date>\",\n\t\"period_end_date\": \"<date>\",\n\t\"cut_date\": \"<string>\",\n\t\"final_balance\": \"<number>\",\n\t\"previous_balance\": \"<number>\",\n\t\"total_inflow_amount\": \"<number>\",\n\t\"total_outflow_amount\": \"<number>\",\n\t\"total_inflow_transactions\": \"<number>\",\n\t\"total_outflow_transactions\": \"<number>\",\n\t\"transactions\": [\n\t\t{\n\t\t\t\"collected_at\": {\n\t\t\t\t\"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n\t\t\t},\n\t\t\t\"accounting_date\": {\n\t\t\t\t\"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n\t\t\t},\n\t\t\t\"value_date\": {\n\t\t\t\t\"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n\t\t\t},\n\t\t\t\"reference\": {\n\t\t\t\t\"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n\t\t\t},\n\t\t\t\"observations\": {\n\t\t\t\t\"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n\t\t\t},\n\t\t\t\"additional_data\": {\n\t\t\t\t\"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n\t\t\t},\n\t\t\t\"balance\": {\n\t\t\t\t\"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n\t\t\t},\n\t\t\t\"status\": {\n\t\t\t\t\"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n\t\t\t},\n\t\t\t\"type\": {\n\t\t\t\t\"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n\t\t\t},\n\t\t\t\"currency\": {\n\t\t\t\t\"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n\t\t\t},\n\t\t\t\"description\": {\n\t\t\t\t\"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n\t\t\t},\n\t\t\t\"internal_identification\": {\n\t\t\t\t\"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n\t\t\t},\n\t\t\t\"account\": {\n\t\t\t\t\"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"collected_at\": {\n\t\t\t\t\"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n\t\t\t},\n\t\t\t\"accounting_date\": {\n\t\t\t\t\"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n\t\t\t},\n\t\t\t\"value_date\": {\n\t\t\t\t\"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n\t\t\t},\n\t\t\t\"reference\": {\n\t\t\t\t\"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n\t\t\t},\n\t\t\t\"observations\": {\n\t\t\t\t\"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n\t\t\t},\n\t\t\t\"additional_data\": {\n\t\t\t\t\"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n\t\t\t},\n\t\t\t\"balance\": {\n\t\t\t\t\"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n\t\t\t},\n\t\t\t\"status\": {\n\t\t\t\t\"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n\t\t\t},\n\t\t\t\"type\": {\n\t\t\t\t\"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n\t\t\t},\n\t\t\t\"currency\": {\n\t\t\t\t\"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n\t\t\t},\n\t\t\t\"description\": {\n\t\t\t\t\"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n\t\t\t},\n\t\t\t\"internal_identification\": {\n\t\t\t\t\"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n\t\t\t},\n\t\t\t\"account\": {\n\t\t\t\t\"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n\t\t\t}\n\t\t}\n\t],\n\t\"pdf\": \"<binary>\"\n}"
},
{
"name": "Unauthorized",
"originalRequest": {
"method": "GET",
"header": [
{
"description": "Added as a part of security scheme: basic",
"key": "Authorization",
"value": "Basic <credentials>"
}
],
"url": {
"raw": "{{baseUrl}}/api/statements/:id",
"host": [
"{{baseUrl}}"
],
"path": [
"api",
"statements",
":id"
],
"variable": [
{
"key": "id"
}
]
}
},
"status": "Unauthorized",
"code": 401,
"_postman_previewlanguage": "json",
"header": [
{
"key": "Content-Type",
"value": "application/json"
}
],
"cookie": [
],
"body": "[\n\t{\n\t\t\"code\": \"<string>\",\n\t\t\"message\": \"<string>\",\n\t\t\"request_id\": \"<string>\"\n\t},\n\t{\n\t\t\"code\": \"<string>\",\n\t\t\"message\": \"<string>\",\n\t\t\"request_id\": \"<string>\"\n\t}\n]"
},
{
"name": "Too Many Sessions",
"originalRequest": {
"method": "GET",
"header": [
{
"description": "Added as a part of security scheme: basic",
"key": "Authorization",
"value": "Basic <credentials>"
}
],
"url": {
"raw": "{{baseUrl}}/api/statements/:id",
"host": [
"{{baseUrl}}"
],
"path": [
"api",
"statements",
":id"
],
"variable": [
{
"key": "id"
}
]
}
},
"status": "Not Found",
"code": 404,
"_postman_previewlanguage": "json",
"header": [
{
"key": "Content-Type",
"value": "application/json"
}
],
"cookie": [
],
"body": "[\n\t{\n\t\t\"code\": \"<string>\",\n\t\t\"message\": \"<string>\",\n\t\t\"request_id\": \"<string>\"\n\t},\n\t{\n\t\t\"code\": \"<string>\",\n\t\t\"message\": \"<string>\",\n\t\t\"request_id\": \"<string>\"\n\t}\n]"
}
]
}