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