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
; Adds the "Authorization: Bearer <access_token>" header.
CkHttp::setCkAuthToken(http, "<access_token>")
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.freshbooks.com/accounting/account/{{accountId}}/systems/systems/{{businessId}}",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)
; {
; "response": {
; "result": {
; "system": {
; "accountid": "wkMd2g",
; "active": true,
; "auto_bill": 5,
; "billing_status": "uptodate",
; "bus_phone": "",
; "business_type": null,
; "business_uuid": null,
; "city": "",
; "code": "",
; "country": "Canada",
; "currency_code": "USD",
; "date": "2019-04-18 09:14:53",
; "discountid": null,
; "dst": true,
; "duration": 12,
; "email": "api.freshbooks@gmail.com",
; "fax": "",
; "gst_amount": {
; "amount": "0.00",
; "code": "USD"
; },
; "heard_about_us_via": null,
; "id": 4236410,
; "info_email": "api.freshbooks@gmail.com",
; "ip": "62.205.194.4",
; "landing_url": null,
; "masterlock_billing": true,
; "migrated_to_smux_at": null,
; "mob_phone": "",
; "modern_system": true,
; "name": "Postman Sandbox",
; "num_clients": null,
; "num_staff": null,
; "payment_amount": {
; "amount": "0.00",
; "code": "USD"
; },
; "payment_frequency": 1,
; "province": "",
; "referralid": "multibiz",
; "referring_url": null,
; "salutation": null,
; "size_limit": null,
; "split_token": null,
; "street": "",
; "street2": null,
; "systemid": 4236410,
; "test_system": false,
; "timezone": "UTC",
; "timezoneid": 14,
; "vat_name": null,
; "vat_number": null
; }
; }
; }
; }
; Sample code for parsing the JSON response...
; Use this online tool to generate parsing code from sample JSON: Generate JSON Parsing Code
Accountid.s = CkJsonObject::ckStringOf(jResp,"response.result.system.accountid")
Active.i = CkJsonObject::ckBoolOf(jResp,"response.result.system.active")
Auto_bill.i = CkJsonObject::ckIntOf(jResp,"response.result.system.auto_bill")
Billing_status.s = CkJsonObject::ckStringOf(jResp,"response.result.system.billing_status")
Bus_phone.s = CkJsonObject::ckStringOf(jResp,"response.result.system.bus_phone")
Business_type.s = CkJsonObject::ckStringOf(jResp,"response.result.system.business_type")
Business_uuid.s = CkJsonObject::ckStringOf(jResp,"response.result.system.business_uuid")
City.s = CkJsonObject::ckStringOf(jResp,"response.result.system.city")
Code.s = CkJsonObject::ckStringOf(jResp,"response.result.system.code")
Country.s = CkJsonObject::ckStringOf(jResp,"response.result.system.country")
Currency_code.s = CkJsonObject::ckStringOf(jResp,"response.result.system.currency_code")
Date.s = CkJsonObject::ckStringOf(jResp,"response.result.system.date")
Discountid.s = CkJsonObject::ckStringOf(jResp,"response.result.system.discountid")
Dst.i = CkJsonObject::ckBoolOf(jResp,"response.result.system.dst")
Duration.i = CkJsonObject::ckIntOf(jResp,"response.result.system.duration")
v_Email.s = CkJsonObject::ckStringOf(jResp,"response.result.system.email")
Fax.s = CkJsonObject::ckStringOf(jResp,"response.result.system.fax")
Amount.s = CkJsonObject::ckStringOf(jResp,"response.result.system.gst_amount.amount")
Gst_amountCode.s = CkJsonObject::ckStringOf(jResp,"response.result.system.gst_amount.code")
Heard_about_us_via.s = CkJsonObject::ckStringOf(jResp,"response.result.system.heard_about_us_via")
Id.i = CkJsonObject::ckIntOf(jResp,"response.result.system.id")
Info_email.s = CkJsonObject::ckStringOf(jResp,"response.result.system.info_email")
Ip.s = CkJsonObject::ckStringOf(jResp,"response.result.system.ip")
Landing_url.s = CkJsonObject::ckStringOf(jResp,"response.result.system.landing_url")
Masterlock_billing.i = CkJsonObject::ckBoolOf(jResp,"response.result.system.masterlock_billing")
Migrated_to_smux_at.s = CkJsonObject::ckStringOf(jResp,"response.result.system.migrated_to_smux_at")
Mob_phone.s = CkJsonObject::ckStringOf(jResp,"response.result.system.mob_phone")
Modern_system.i = CkJsonObject::ckBoolOf(jResp,"response.result.system.modern_system")
Name.s = CkJsonObject::ckStringOf(jResp,"response.result.system.name")
Num_clients.s = CkJsonObject::ckStringOf(jResp,"response.result.system.num_clients")
Num_staff.s = CkJsonObject::ckStringOf(jResp,"response.result.system.num_staff")
Payment_amountAmount.s = CkJsonObject::ckStringOf(jResp,"response.result.system.payment_amount.amount")
Payment_amountCode.s = CkJsonObject::ckStringOf(jResp,"response.result.system.payment_amount.code")
Payment_frequency.i = CkJsonObject::ckIntOf(jResp,"response.result.system.payment_frequency")
Province.s = CkJsonObject::ckStringOf(jResp,"response.result.system.province")
Referralid.s = CkJsonObject::ckStringOf(jResp,"response.result.system.referralid")
Referring_url.s = CkJsonObject::ckStringOf(jResp,"response.result.system.referring_url")
Salutation.s = CkJsonObject::ckStringOf(jResp,"response.result.system.salutation")
Size_limit.s = CkJsonObject::ckStringOf(jResp,"response.result.system.size_limit")
Split_token.s = CkJsonObject::ckStringOf(jResp,"response.result.system.split_token")
Street.s = CkJsonObject::ckStringOf(jResp,"response.result.system.street")
Street2.s = CkJsonObject::ckStringOf(jResp,"response.result.system.street2")
Systemid.i = CkJsonObject::ckIntOf(jResp,"response.result.system.systemid")
Test_system.i = CkJsonObject::ckBoolOf(jResp,"response.result.system.test_system")
Timezone.s = CkJsonObject::ckStringOf(jResp,"response.result.system.timezone")
Timezoneid.i = CkJsonObject::ckIntOf(jResp,"response.result.system.timezoneid")
Vat_name.s = CkJsonObject::ckStringOf(jResp,"response.result.system.vat_name")
Vat_number.s = CkJsonObject::ckStringOf(jResp,"response.result.system.vat_number")
CkHttp::ckDispose(http)
CkStringBuilder::ckDispose(sbResponseBody)
CkJsonObject::ckDispose(jResp)
ProcedureReturn
EndProcedure
Curl Command
curl -X GET
-H "Authorization: Bearer <access_token>"
-H "Content-Type: application/json"
https://api.freshbooks.com/accounting/account/{{accountId}}/systems/systems/{{businessId}}
Postman Collection Item JSON
{
"name": "Get System ",
"request": {
"method": "GET",
"header": [
{
"key": "Content-Type",
"value": "application/json",
"type": "text"
}
],
"url": {
"raw": "https://api.freshbooks.com/accounting/account/{{accountId}}/systems/systems/{{businessId}}",
"protocol": "https",
"host": [
"api",
"freshbooks",
"com"
],
"path": [
"accounting",
"account",
"{{accountId}}",
"systems",
"systems",
"{{businessId}}"
]
},
"description": "The value of `<id>` here is only meaningful if a user has access to multiple systems. See the Identity Model for more information."
},
"response": [
{
"name": "Get System ",
"originalRequest": {
"method": "GET",
"header": [
{
"key": "Content-Type",
"value": "application/json",
"type": "text"
}
],
"url": {
"raw": "https://api.freshbooks.com/accounting/account/{{accountId}}/systems/systems/{{businessId}}",
"protocol": "https",
"host": [
"api",
"freshbooks",
"com"
],
"path": [
"accounting",
"account",
"{{accountId}}",
"systems",
"systems",
"{{businessId}}"
]
}
},
"status": "OK",
"code": 200,
"_postman_previewlanguage": "json",
"header": [
{
"key": "Server",
"value": "nginx"
},
{
"key": "Content-Type",
"value": "application/json"
},
{
"key": "X-NewRelic-App-Data",
"value": "PxQBWV5TCBABVlVSAwEOVlcTGhE1AwE2QgNWEVlbQFtcCxYnRA9QFg1ZWU4DFVdfRgFPCkNFR0gXSEVHBwsQWEMbSxZdVRYeA0kJTwFZC1VXAgRZXlANAgRQUVYEHRpXSBNUVlBfBwAFAQlUDw8GVwFUG01XAF8RAWs="
},
{
"key": "Access-Control-Allow-Origin",
"value": "*"
},
{
"key": "Expires",
"value": "Tue, 24 Apr 2018 18:38:32 GMT"
},
{
"key": "Cache-Control",
"value": "no-cache"
},
{
"key": "Content-Encoding",
"value": "gzip"
},
{
"key": "Via",
"value": "1.1 google"
},
{
"key": "Via",
"value": "1.1 varnish"
},
{
"key": "Accept-Ranges",
"value": "bytes"
},
{
"key": "Accept-Ranges",
"value": "bytes"
},
{
"key": "Age",
"value": "0"
},
{
"key": "Age",
"value": "0"
},
{
"key": "Transfer-Encoding",
"value": "chunked"
},
{
"key": "Date",
"value": "Wed, 24 Apr 2019 18:38:32 GMT"
},
{
"key": "Connection",
"value": "keep-alive"
},
{
"key": "X-Served-By",
"value": "cache-mdw17369-MDW"
},
{
"key": "X-Cache",
"value": "MISS"
},
{
"key": "X-Cache-Hits",
"value": "0"
},
{
"key": "Vary",
"value": "Accept-Encoding"
},
{
"key": "Country",
"value": "CA"
},
{
"key": "Strict-Transport-Security",
"value": "max-age=31536000; includeSubDomains; preload"
}
],
"cookie": [
],
"body": "{\n \"response\": {\n \"result\": {\n \"system\": {\n \"accountid\": \"wkMd2g\",\n \"active\": true,\n \"auto_bill\": 5,\n \"billing_status\": \"uptodate\",\n \"bus_phone\": \"\",\n \"business_type\": null,\n \"business_uuid\": null,\n \"city\": \"\",\n \"code\": \"\",\n \"country\": \"Canada\",\n \"currency_code\": \"USD\",\n \"date\": \"2019-04-18 09:14:53\",\n \"discountid\": null,\n \"dst\": true,\n \"duration\": 12,\n \"email\": \"api.freshbooks@gmail.com\",\n \"fax\": \"\",\n \"gst_amount\": {\n \"amount\": \"0.00\",\n \"code\": \"USD\"\n },\n \"heard_about_us_via\": null,\n \"id\": 4236410,\n \"info_email\": \"api.freshbooks@gmail.com\",\n \"ip\": \"62.205.194.4\",\n \"landing_url\": null,\n \"masterlock_billing\": true,\n \"migrated_to_smux_at\": null,\n \"mob_phone\": \"\",\n \"modern_system\": true,\n \"name\": \"Postman Sandbox\",\n \"num_clients\": null,\n \"num_staff\": null,\n \"payment_amount\": {\n \"amount\": \"0.00\",\n \"code\": \"USD\"\n },\n \"payment_frequency\": 1,\n \"province\": \"\",\n \"referralid\": \"multibiz\",\n \"referring_url\": null,\n \"salutation\": null,\n \"size_limit\": null,\n \"split_token\": null,\n \"street\": \"\",\n \"street2\": null,\n \"systemid\": 4236410,\n \"test_system\": false,\n \"timezone\": \"UTC\",\n \"timezoneid\": 14,\n \"vat_name\": null,\n \"vat_number\": null\n }\n }\n }\n}"
}
]
}