Lua
Lua
Isabel Connect List Transactions
See more Ibanity Examples
Get a list of transactions for an account.Chilkat Lua Downloads
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