Sample code for 30+ languages & platforms
AutoIt

Isabel Connect List Transactions

See more Ibanity Examples

Get a list of transactions for an account.

Chilkat AutoIt Downloads

AutoIt
Local $bSuccess = False

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

$oHttp = ObjCreate("Chilkat.Http")

; 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.)
$bSuccess = $oHttp.SetSslClientCertPfx("qa_data/pfx/my_ibanity_certificate.pfx","my_pfx_password")
If ($bSuccess = False) Then
    ConsoleWrite($oHttp.LastErrorText & @CRLF)
    Exit
EndIf

; Load the previously obtained access token.
$oJsonToken = ObjCreate("Chilkat.JsonObject")
$bSuccess = $oJsonToken.LoadFile("qa_data/tokens/isabel_access_token.json")
If ($bSuccess = False) Then
    ConsoleWrite("No existing access token." & @CRLF)
    Exit
EndIf

; This causes the "Authorization: Bearer ***" header to be added to the HTTP request.
$oHttp.AuthToken = $oJsonToken.StringOf("access_token")

$oHttp.Accept = "application/vnd.api+json"

$oHttp.SetUrlVar("id","93ecb1fdbfb7848e7b7896c0f2d207aed3d8b4c1")
Local $sJsonStr = $oHttp.QuickGetStr("https://api.ibanity.com/isabel-connect/accounts/{$id}/transactions")
If ($oHttp.LastMethodSuccess = False) Then
    ConsoleWrite($oHttp.LastErrorText & @CRLF)
    Exit
EndIf

$oJResp = ObjCreate("Chilkat.JsonObject")
$oJResp.Load($sJsonStr)
$oJResp.EmitCompact = False

ConsoleWrite("Response Body:" & @CRLF)
ConsoleWrite($oJResp.Emit() & @CRLF)

Local $iRespStatusCode = $oHttp.LastStatus
ConsoleWrite("Response Status Code = " & $iRespStatusCode & @CRLF)
If ($iRespStatusCode >= 400) Then
    ConsoleWrite("Response Header:" & @CRLF)
    ConsoleWrite($oHttp.LastResponseHeader & @CRLF)
    ConsoleWrite("Failed." & @CRLF)
    Exit
EndIf

; 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 $iAttributesAmount
Local $sAttributesCounterpartAccountReference
Local $sAttributesCounterpartFinancialInstitutionBic
Local $sAttributesCounterpartName
Local $sAttributesEndToEndId
Local $sAttributesExecutionDate
Local $sAttributesInternalId
Local $sAttributesRemittanceInformation
Local $sAttributesRemittanceInformationType
Local $sAttributesStatus
Local $sAttributesValueDate
Local $sId
Local $sV_type

Local $iMetaPagingOffset = $oJResp.IntOf("meta.paging.offset")
Local $iMetaPagingTotal = $oJResp.IntOf("meta.paging.total")
Local $i = 0
Local $iCount_i = $oJResp.SizeOfArray("data")
While $i < $iCount_i
    $oJResp.I = $i
    $iAttributesAmount = $oJResp.IntOf("data[i].attributes.amount")
    $sAttributesCounterpartAccountReference = $oJResp.StringOf("data[i].attributes.counterpartAccountReference")
    $sAttributesCounterpartFinancialInstitutionBic = $oJResp.StringOf("data[i].attributes.counterpartFinancialInstitutionBic")
    $sAttributesCounterpartName = $oJResp.StringOf("data[i].attributes.counterpartName")
    $sAttributesEndToEndId = $oJResp.StringOf("data[i].attributes.endToEndId")
    $sAttributesExecutionDate = $oJResp.StringOf("data[i].attributes.executionDate")
    $sAttributesInternalId = $oJResp.StringOf("data[i].attributes.internalId")
    $sAttributesRemittanceInformation = $oJResp.StringOf("data[i].attributes.remittanceInformation")
    $sAttributesRemittanceInformationType = $oJResp.StringOf("data[i].attributes.remittanceInformationType")
    $sAttributesStatus = $oJResp.StringOf("data[i].attributes.status")
    $sAttributesValueDate = $oJResp.StringOf("data[i].attributes.valueDate")
    $sId = $oJResp.StringOf("data[i].id")
    $sV_type = $oJResp.StringOf("data[i].type")
    $i = $i + 1
Wend