Sample code for 30+ languages & platforms
Lua

Isabel Connect List Transactions

See more Ibanity Examples

Get a list of transactions for an account.

Chilkat Lua Downloads

Lua
local chilkat = require("chilkat")

-- This example assumes the Chilkat API to have been previously unlocked.
-- See Global Unlock Sample for sample code.

local http = chilkat.Http.new()

-- Implements the following CURL command:

-- curl -X GET https://api.ibanity.com/isabel-connect/accounts/93ecb1fdbfb7848e7b7896c0f2d207aed3d8b4c1/transactions \
-- --cert certificate.pem:qwertyuiop1 \
-- --key private_key.pem  \
-- -H "Authorization: Bearer access_token_1603365408" \
-- -H "Accept: application/vnd.api+json"

-- Ibanity provides the certificate + private key in PFX format.  This example will use the .pfx instead of the pair of PEM files.
-- (It is also possible to implement using Chilkat with the PEM files, but PFX is easier.)
local success = http:set_ssl_client_cert_pfx("qa_data/pfx/my_ibanity_certificate.pfx", "my_pfx_password")
if not success then
    print(http.last_error_text)
    return
end

-- Load the previously obtained access token.
local jsonToken = chilkat.JsonObject.new()
success = jsonToken:load_file("qa_data/tokens/isabel_access_token.json")
if not success then
    print("No existing access token.")
    return
end

-- This causes the "Authorization: Bearer ***" header to be added to the HTTP request.
http.auth_token = jsonToken:string_of("access_token")

http.accept = "application/vnd.api+json"

http:set_url_var("id", "93ecb1fdbfb7848e7b7896c0f2d207aed3d8b4c1")
local jsonStr = http:quick_get_str("https://api.ibanity.com/isabel-connect/accounts/{$id}/transactions")
if not http.last_method_success then
    print(http.last_error_text)
    return
end

local jResp = chilkat.JsonObject.new()
jResp:load(jsonStr)
jResp.emit_compact = false

print("Response Body:")
print(jResp:emit())

local respStatusCode = http.last_status
print("Response Status Code = " .. respStatusCode)
if respStatusCode >= 400 then
    print("Response Header:")
    print(http.last_response_header)
    print("Failed.")
    return
end

-- Sample JSON response:
-- (Sample code for parsing the JSON response is shown below)

-- {
--   "data": [
--     {
--       "attributes": {
--         "amount": 80000,
--         "counterpartAccountReference": "BE21210123456703",
--         "counterpartFinancialInstitutionBic": "GEBABEBB",
--         "counterpartName": "MYBESTCLIENT",
--         "endToEndId": "UNIQUE CODE CUSTOMER",
--         "executionDate": "2018-10-15T08:34:17.417Z",
--         "internalId": "UNIQUE CODE BANK",
--         "remittanceInformation": "123456789002",
--         "remittanceInformationType": "structured-be",
--         "status": "Booked",
--         "valueDate": "2018-10-15T08:52:43.962Z"
--       },
--       "id": "14e2bff5-e365-4bc7-bf48-76b7bcd464e9",
--       "type": "transaction"
--     },
--     {
--       "attributes": {
--         "amount": 40000,
--         "counterpartAccountReference": "BE58400101010179",
--         "counterpartFinancialInstitutionBic": "KREDBEBB",
--         "counterpartName": "MYGOODCLIENT",
--         "endToEndId": null,
--         "executionDate": "2018-10-15T08:34:17.417Z",
--         "internalId": null,
--         "remittanceInformation": "FREE COMMUNICATION",
--         "remittanceInformationType": "unstructured",
--         "status": "Booked",
--         "valueDate": "2018-10-15T08:52:43.962Z"
--       },
--       "id": "29b0f52e-a389-4ff8-88e1-cc30c12b789f",
--       "type": "transaction"
--     },
--     {
--       "attributes": {
--         "amount": -20000,
--         "counterpartAccountReference": "BE56300694353788",
--         "counterpartFinancialInstitutionBic": null,
--         "counterpartName": "MY SUPPLIER",
--         "endToEndId": null,
--         "executionDate": "2018-10-15T08:34:17.417Z",
--         "internalId": null,
--         "remittanceInformation": "999000000171",
--         "remittanceInformationType": "structured-be",
--         "status": "Booked",
--         "valueDate": "2018-10-15T08:52:43.962Z"
--       },
--       "id": "7d79a28e-b45d-4595-b98e-7c18871ee208",
--       "type": "transaction"
--     }
--   ],
--   "meta": {
--     "paging": {
--       "offset": 0,
--       "total": 3
--     }
--   }
-- }

-- Sample code for parsing the JSON response...
-- Use the following online tool to generate parsing code from sample JSON:
-- Generate Parsing Code from JSON

local attributesAmount = 0
local attributesCounterpartAccountReference = ""
local attributesCounterpartFinancialInstitutionBic = ""
local attributesCounterpartName = ""
local attributesEndToEndId = ""
local attributesExecutionDate = ""
local attributesInternalId = ""
local attributesRemittanceInformation = ""
local attributesRemittanceInformationType = ""
local attributesStatus = ""
local attributesValueDate = ""
local id = ""
local v_type = ""

local metaPagingOffset = jResp:int_of("meta.paging.offset")
local metaPagingTotal = jResp:int_of("meta.paging.total")
local i = 0
local count_i = jResp:size_of_array("data")
while i < count_i do
    jResp.i = i
    attributesAmount = jResp:int_of("data[i].attributes.amount")
    attributesCounterpartAccountReference = jResp:string_of("data[i].attributes.counterpartAccountReference")
    attributesCounterpartFinancialInstitutionBic = jResp:string_of("data[i].attributes.counterpartFinancialInstitutionBic")
    attributesCounterpartName = jResp:string_of("data[i].attributes.counterpartName")
    attributesEndToEndId = jResp:string_of("data[i].attributes.endToEndId")
    attributesExecutionDate = jResp:string_of("data[i].attributes.executionDate")
    attributesInternalId = jResp:string_of("data[i].attributes.internalId")
    attributesRemittanceInformation = jResp:string_of("data[i].attributes.remittanceInformation")
    attributesRemittanceInformationType = jResp:string_of("data[i].attributes.remittanceInformationType")
    attributesStatus = jResp:string_of("data[i].attributes.status")
    attributesValueDate = jResp:string_of("data[i].attributes.valueDate")
    id = jResp:string_of("data[i].id")
    v_type = jResp:string_of("data[i].type")
    i = i + 1
end