Back to Collection Items
Use ChilkatAx-win32.pkg
Procedure Test
Handle hoHttp
Boolean iSuccess
Variant vSbResponseBody
Handle hoSbResponseBody
Handle hoJResp
Integer iRespStatusCode
Variant vDate_paid
Handle hoDate_paid
String sAccountid
String sAccounting_systemid
String sAddress
String sAmount
String sCode
Boolean iAuto_bill
String sAutobill_status
Integer iBasecampid
String sCity
String sInvoiceCode
String sCountry
String sCreate_date
String sCreated_at
String sCurrency_code
String sCurrent_organization
Integer iCustomerid
String sDeposit_amount
String sDeposit_percentage
String sDeposit_status
String sDescription
String sDiscount_description
String sDiscount_totalAmount
String sDiscount_totalCode
String sDiscount_value
String sDisplay_status
String sDispute_status
String sDue_date
Integer iDue_offset_days
Integer iEstimateid
Integer iExt_archive
String sFname
String sFulfillment_date
String sGeneration_date
Boolean iGmail
Integer iId
String sInvoice_number
Integer iInvoiceid
String sLanguage
String sLast_order_status
String sLname
String sNotes
String sOrganization
String sOutstandingAmount
String sOutstandingCode
Integer iOwnerid
String sPaidAmount
String sPaidCode
Integer iParent
String sPayment_details
String sPayment_status
String sPo_number
String sProvince
String sReturn_uri
Integer iSentid
Boolean iShow_attachments
Integer iStatus
String sStreet
String sStreet2
String sTemplate
String sTerms
String sUpdated
String sV3_status
String sVat_name
String sVat_number
Integer iVis_state
String sTemp1
// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
Get Create (RefClass(cComChilkatHttp)) To hoHttp
If (Not(IsComObjectCreated(hoHttp))) Begin
Send CreateComObject of hoHttp
End
// Adds the "Authorization: Bearer <access_token>" header.
Set ComAuthToken Of hoHttp To "<access_token>"
Send ComSetRequestHeader To hoHttp "Content-Type" "application/json"
Get Create (RefClass(cComChilkatStringBuilder)) To hoSbResponseBody
If (Not(IsComObjectCreated(hoSbResponseBody))) Begin
Send CreateComObject of hoSbResponseBody
End
Get pvComObject of hoSbResponseBody to vSbResponseBody
Get ComQuickGetSb Of hoHttp "https://api.freshbooks.com/accounting/account/{{accountId}}/invoices/invoices/{{invoiceId}}" vSbResponseBody To iSuccess
If (iSuccess = False) Begin
Get ComLastErrorText Of hoHttp To sTemp1
Showln sTemp1
Procedure_Return
End
Get Create (RefClass(cComChilkatJsonObject)) To hoJResp
If (Not(IsComObjectCreated(hoJResp))) Begin
Send CreateComObject of hoJResp
End
Get pvComObject of hoSbResponseBody to vSbResponseBody
Get ComLoadSb Of hoJResp vSbResponseBody To iSuccess
Set ComEmitCompact Of hoJResp To False
Showln "Response Body:"
Get ComEmit Of hoJResp To sTemp1
Showln sTemp1
Get ComLastStatus Of hoHttp To iRespStatusCode
Showln "Response Status Code = " iRespStatusCode
If (iRespStatusCode >= 400) Begin
Showln "Response Header:"
Get ComLastHeader Of hoHttp To sTemp1
Showln sTemp1
Showln "Failed."
Procedure_Return
End
// Sample JSON response:
// (Sample code for parsing the JSON response is shown below)
// {
// "response": {
// "result": {
// "invoice": {
// "accountid": "wkMd2g",
// "accounting_systemid": "wkMd2g",
// "address": "",
// "amount": {
// "amount": "180.00",
// "code": "USD"
// },
// "auto_bill": false,
// "autobill_status": null,
// "basecampid": 0,
// "city": "",
// "code": "",
// "country": "Canada",
// "create_date": "2019-04-20",
// "created_at": "2019-04-22 10:50:19",
// "currency_code": "USD",
// "current_organization": "first company",
// "customerid": 31006,
// "date_paid": null,
// "deposit_amount": null,
// "deposit_percentage": null,
// "deposit_status": "none",
// "description": "",
// "discount_description": null,
// "discount_total": {
// "amount": "0.00",
// "code": "USD"
// },
// "discount_value": "0",
// "display_status": "viewed",
// "dispute_status": null,
// "due_date": "2019-04-20",
// "due_offset_days": 0,
// "estimateid": 0,
// "ext_archive": 0,
// "fname": "Client",
// "fulfillment_date": "2019-04-20",
// "generation_date": null,
// "gmail": false,
// "id": 29618,
// "invoice_number": "0000012",
// "invoiceid": 29618,
// "language": "en",
// "last_order_status": null,
// "lname": "one",
// "notes": "",
// "organization": "first company",
// "outstanding": {
// "amount": "180.00",
// "code": "USD"
// },
// "ownerid": 31004,
// "paid": {
// "amount": "0.00",
// "code": "USD"
// },
// "parent": 0,
// "payment_details": "",
// "payment_status": "unpaid",
// "po_number": null,
// "province": "",
// "return_uri": null,
// "sentid": 31004,
// "show_attachments": true,
// "status": 3,
// "street": "",
// "street2": "",
// "template": "clean-grouped",
// "terms": "",
// "updated": "2019-04-23 17:59:12",
// "v3_status": "overdue",
// "vat_name": "",
// "vat_number": "",
// "vis_state": 0
// }
// }
// }
// }
// Sample code for parsing the JSON response...
// Use this online tool to generate parsing code from sample JSON: Generate JSON Parsing Code
Get Create (RefClass(cComChilkatDtObj)) To hoDate_paid
If (Not(IsComObjectCreated(hoDate_paid))) Begin
Send CreateComObject of hoDate_paid
End
Get ComStringOf Of hoJResp "response.result.invoice.accountid" To sAccountid
Get ComStringOf Of hoJResp "response.result.invoice.accounting_systemid" To sAccounting_systemid
Get ComStringOf Of hoJResp "response.result.invoice.address" To sAddress
Get ComStringOf Of hoJResp "response.result.invoice.amount.amount" To sAmount
Get ComStringOf Of hoJResp "response.result.invoice.amount.code" To sCode
Get ComBoolOf Of hoJResp "response.result.invoice.auto_bill" To iAuto_bill
Get ComStringOf Of hoJResp "response.result.invoice.autobill_status" To sAutobill_status
Get ComIntOf Of hoJResp "response.result.invoice.basecampid" To iBasecampid
Get ComStringOf Of hoJResp "response.result.invoice.city" To sCity
Get ComStringOf Of hoJResp "response.result.invoice.code" To sInvoiceCode
Get ComStringOf Of hoJResp "response.result.invoice.country" To sCountry
Get ComStringOf Of hoJResp "response.result.invoice.create_date" To sCreate_date
Get ComStringOf Of hoJResp "response.result.invoice.created_at" To sCreated_at
Get ComStringOf Of hoJResp "response.result.invoice.currency_code" To sCurrency_code
Get ComStringOf Of hoJResp "response.result.invoice.current_organization" To sCurrent_organization
Get ComIntOf Of hoJResp "response.result.invoice.customerid" To iCustomerid
Get pvComObject of hoDate_paid to vDate_paid
Get ComDtOf Of hoJResp "response.result.invoice.date_paid" False vDate_paid To iSuccess
Get ComStringOf Of hoJResp "response.result.invoice.deposit_amount" To sDeposit_amount
Get ComStringOf Of hoJResp "response.result.invoice.deposit_percentage" To sDeposit_percentage
Get ComStringOf Of hoJResp "response.result.invoice.deposit_status" To sDeposit_status
Get ComStringOf Of hoJResp "response.result.invoice.description" To sDescription
Get ComStringOf Of hoJResp "response.result.invoice.discount_description" To sDiscount_description
Get ComStringOf Of hoJResp "response.result.invoice.discount_total.amount" To sDiscount_totalAmount
Get ComStringOf Of hoJResp "response.result.invoice.discount_total.code" To sDiscount_totalCode
Get ComStringOf Of hoJResp "response.result.invoice.discount_value" To sDiscount_value
Get ComStringOf Of hoJResp "response.result.invoice.display_status" To sDisplay_status
Get ComStringOf Of hoJResp "response.result.invoice.dispute_status" To sDispute_status
Get ComStringOf Of hoJResp "response.result.invoice.due_date" To sDue_date
Get ComIntOf Of hoJResp "response.result.invoice.due_offset_days" To iDue_offset_days
Get ComIntOf Of hoJResp "response.result.invoice.estimateid" To iEstimateid
Get ComIntOf Of hoJResp "response.result.invoice.ext_archive" To iExt_archive
Get ComStringOf Of hoJResp "response.result.invoice.fname" To sFname
Get ComStringOf Of hoJResp "response.result.invoice.fulfillment_date" To sFulfillment_date
Get ComStringOf Of hoJResp "response.result.invoice.generation_date" To sGeneration_date
Get ComBoolOf Of hoJResp "response.result.invoice.gmail" To iGmail
Get ComIntOf Of hoJResp "response.result.invoice.id" To iId
Get ComStringOf Of hoJResp "response.result.invoice.invoice_number" To sInvoice_number
Get ComIntOf Of hoJResp "response.result.invoice.invoiceid" To iInvoiceid
Get ComStringOf Of hoJResp "response.result.invoice.language" To sLanguage
Get ComStringOf Of hoJResp "response.result.invoice.last_order_status" To sLast_order_status
Get ComStringOf Of hoJResp "response.result.invoice.lname" To sLname
Get ComStringOf Of hoJResp "response.result.invoice.notes" To sNotes
Get ComStringOf Of hoJResp "response.result.invoice.organization" To sOrganization
Get ComStringOf Of hoJResp "response.result.invoice.outstanding.amount" To sOutstandingAmount
Get ComStringOf Of hoJResp "response.result.invoice.outstanding.code" To sOutstandingCode
Get ComIntOf Of hoJResp "response.result.invoice.ownerid" To iOwnerid
Get ComStringOf Of hoJResp "response.result.invoice.paid.amount" To sPaidAmount
Get ComStringOf Of hoJResp "response.result.invoice.paid.code" To sPaidCode
Get ComIntOf Of hoJResp "response.result.invoice.parent" To iParent
Get ComStringOf Of hoJResp "response.result.invoice.payment_details" To sPayment_details
Get ComStringOf Of hoJResp "response.result.invoice.payment_status" To sPayment_status
Get ComStringOf Of hoJResp "response.result.invoice.po_number" To sPo_number
Get ComStringOf Of hoJResp "response.result.invoice.province" To sProvince
Get ComStringOf Of hoJResp "response.result.invoice.return_uri" To sReturn_uri
Get ComIntOf Of hoJResp "response.result.invoice.sentid" To iSentid
Get ComBoolOf Of hoJResp "response.result.invoice.show_attachments" To iShow_attachments
Get ComIntOf Of hoJResp "response.result.invoice.status" To iStatus
Get ComStringOf Of hoJResp "response.result.invoice.street" To sStreet
Get ComStringOf Of hoJResp "response.result.invoice.street2" To sStreet2
Get ComStringOf Of hoJResp "response.result.invoice.template" To sTemplate
Get ComStringOf Of hoJResp "response.result.invoice.terms" To sTerms
Get ComStringOf Of hoJResp "response.result.invoice.updated" To sUpdated
Get ComStringOf Of hoJResp "response.result.invoice.v3_status" To sV3_status
Get ComStringOf Of hoJResp "response.result.invoice.vat_name" To sVat_name
Get ComStringOf Of hoJResp "response.result.invoice.vat_number" To sVat_number
Get ComIntOf Of hoJResp "response.result.invoice.vis_state" To iVis_state
End_Procedure
Curl Command
curl -X GET
-H "Authorization: Bearer <access_token>"
-H "Content-Type: application/json"
https://api.freshbooks.com/accounting/account/{{accountId}}/invoices/invoices/{{invoiceId}}
Postman Collection Item JSON
{
"name": "Single Invoice",
"event": [
{
"listen": "test",
"script": {
"exec": [
"let jsonData = JSON.parse(responseBody);",
"pm.environment.set(\"invoiceId\", jsonData.response.result.invoice.id);",
""
],
"type": "text/javascript"
}
}
],
"protocolProfileBehavior": {
"disableBodyPruning": true
},
"request": {
"method": "GET",
"header": [
{
"key": "Content-Type",
"value": "application/json",
"type": "text"
}
],
"body": {
"mode": "raw",
"raw": ""
},
"url": {
"raw": "https://api.freshbooks.com/accounting/account/{{accountId}}/invoices/invoices/{{invoiceId}}",
"protocol": "https",
"host": [
"api",
"freshbooks",
"com"
],
"path": [
"accounting",
"account",
"{{accountId}}",
"invoices",
"invoices",
"{{invoiceId}}"
]
}
},
"response": [
{
"name": "Single Invoice",
"originalRequest": {
"method": "GET",
"header": [
{
"key": "Content-Type",
"value": "application/json",
"type": "text"
}
],
"url": {
"raw": "https://api.freshbooks.com/accounting/account/{{accountId}}/invoices/invoices/{{invoiceId}}",
"protocol": "https",
"host": [
"api",
"freshbooks",
"com"
],
"path": [
"accounting",
"account",
"{{accountId}}",
"invoices",
"invoices",
"{{invoiceId}}"
]
}
},
"status": "OK",
"code": 200,
"_postman_previewlanguage": "json",
"header": [
{
"key": "Server",
"value": "nginx"
},
{
"key": "Content-Type",
"value": "application/json"
},
{
"key": "X-NewRelic-App-Data",
"value": "PxQBWV5TCBABVlVSAwEOVlcTGhE1AwE2QgNWEVlbQFtcCxYnRA9QFg1ZWU4DFVdfRgFPCkNFR0gNX0BcCwUGEQoLVhRXUVdXEUkJTQFPA1pXAAVTUlYNBglSWFAECQRKSQAaEQZTUAYAUw5QWgpXUwtUD1ATTVUDCEVSPA=="
},
{
"key": "Access-Control-Allow-Origin",
"value": "*"
},
{
"key": "Expires",
"value": "Tue, 24 Apr 2018 18:05:19 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:05:19 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 \"invoice\": {\n \"accountid\": \"wkMd2g\",\n \"accounting_systemid\": \"wkMd2g\",\n \"address\": \"\",\n \"amount\": {\n \"amount\": \"180.00\",\n \"code\": \"USD\"\n },\n \"auto_bill\": false,\n \"autobill_status\": null,\n \"basecampid\": 0,\n \"city\": \"\",\n \"code\": \"\",\n \"country\": \"Canada\",\n \"create_date\": \"2019-04-20\",\n \"created_at\": \"2019-04-22 10:50:19\",\n \"currency_code\": \"USD\",\n \"current_organization\": \"first company\",\n \"customerid\": 31006,\n \"date_paid\": null,\n \"deposit_amount\": null,\n \"deposit_percentage\": null,\n \"deposit_status\": \"none\",\n \"description\": \"\",\n \"discount_description\": null,\n \"discount_total\": {\n \"amount\": \"0.00\",\n \"code\": \"USD\"\n },\n \"discount_value\": \"0\",\n \"display_status\": \"viewed\",\n \"dispute_status\": null,\n \"due_date\": \"2019-04-20\",\n \"due_offset_days\": 0,\n \"estimateid\": 0,\n \"ext_archive\": 0,\n \"fname\": \"Client\",\n \"fulfillment_date\": \"2019-04-20\",\n \"generation_date\": null,\n \"gmail\": false,\n \"id\": 29618,\n \"invoice_number\": \"0000012\",\n \"invoiceid\": 29618,\n \"language\": \"en\",\n \"last_order_status\": null,\n \"lname\": \"one\",\n \"notes\": \"\",\n \"organization\": \"first company\",\n \"outstanding\": {\n \"amount\": \"180.00\",\n \"code\": \"USD\"\n },\n \"ownerid\": 31004,\n \"paid\": {\n \"amount\": \"0.00\",\n \"code\": \"USD\"\n },\n \"parent\": 0,\n \"payment_details\": \"\",\n \"payment_status\": \"unpaid\",\n \"po_number\": null,\n \"province\": \"\",\n \"return_uri\": null,\n \"sentid\": 31004,\n \"show_attachments\": true,\n \"status\": 3,\n \"street\": \"\",\n \"street2\": \"\",\n \"template\": \"clean-grouped\",\n \"terms\": \"\",\n \"updated\": \"2019-04-23 17:59:12\",\n \"v3_status\": \"overdue\",\n \"vat_name\": \"\",\n \"vat_number\": \"\",\n \"vis_state\": 0\n }\n }\n }\n}"
}
]
}