Sample code for 30+ languages & platforms
Lua

Isabel Connect List Accounts

See more Ibanity Examples

Get a list of accounts.

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 \
-- --cert certificate.pem:qwertyuiop1 \
-- --key private_key.pem  \
-- -H "Authorization: Bearer access_token_1603365407" \
-- -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"

local jsonStr = http:quick_get_str("https://api.ibanity.com/isabel-connect/accounts")
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": [
--     {
--       "id": "93ecb1fdbfb7848e7b7896c0f2d207aed3d8b4c1",
--       "type": "account"
--     }
--   ],
--   "meta": {
--     "paging": {
--       "offset": 0,
--       "total": 1
--     }
--   }
-- }

-- 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 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
    id = jResp:string_of("data[i].id")
    v_type = jResp:string_of("data[i].type")
    i = i + 1
end