Get Data via Connect

Overview

Connect delegates the task to Tarabut to request permission and aggregate your customers’ account and transactions on your behalf. This process is facilitated through a unique URL, termed as an Intent, provided by Tarabut. Leveraging this URL, you gain access to an "out of the box" authentication flow via Open Banking. This enables seamless connection to numerous banks in the MENA region with just a single line of code.

It's imperative to understand that Connect necessitates user consent. Consent duration can vary, ranging from a one-time consent to a long-term consent (capped at 12 months). For Categorisation, long-term consent is imperative.

In this article, we will guide you on how to:

  • Create a user
  • Initiate the authentication flow to aggregate your customers’ transactions
  • Keep the customer’s data updated post-consent.

Note: The frequency of transaction updates depends on the bank chosen. Additionally, for a deep dive into direct ingestion, refer to our API reference. We ardently recommend going through it prior to moving to production.

Steps to Follow

  1. Create a Client Token
  2. Create a User
  3. Create Intent
  4. Get Transaction

🚧

Pre- requisite

Generate a token using the Generate Access Token endpoint.

Link your first account using Link your first account endpoint

Get Transactions

Use the Link your first accountto allow your customers to initiate the account linking process.

The request below will get categorised transactions from a specific linked account of the user.

📘

Note: Transaction history length

By default Tarabut will fetch 1 year's worth of transaction from the linked account. However it's worth noting, the history length we can fetch may depend on a bank by bank basis.

url --location -g --request GET 'https://api.sau.sandbox.tarabutgateway.io/accountInformation/v1/accounts/<selected-accountId>/transactions' \
--header 'Authorization: Bearer <your_access_token>' \
--header 'Content-Type: application/json'

A successful GET transaction request returns with the first page of the categorised transaction history from the selected account.

{
  "transactions": [
    {
      "transactionId": "65a1f9a3-2b0d-4d76-07bb-99badfb6933a",
      "accountId": "<selected-accountId>",
      "providerId": "BLUE",
      "transactionDescription": "FDR-POS-APR18 USD14.99 Netflix.com",
      "category": {
        "group": "Expense",
        "name": "Entertainment & Leisure"
      },
      "merchant": {
        "name": "NETFLIX.COM"
      },
      "creditDebitIndicator": "DEBIT",
      "amount": {
        "value": 70.00,
        "currency": "SAR"
      },
      "bookingDateTime": "2021-12-22T01:59:30.208+00:00"
    }
  ],
  "meta": {
    "totalCountOfRecords": 100,
    "totalCountOfPages": 10,
    "pageNumber": 1,
    "pageSize": 10
  },
  "links": [
    {
      "rel": "FIRST",
      "href": "https://api.sandbox.tarabutgateway.io/accountInformation/v1/accounts/<selected-accountId>/transactions?page=1"
    },
    {
      "rel": "NEXT",
      "href": "https://api.sandbox.tarabutgateway.io/accountInformation/v1/accounts/<selected-accountId>/transactions?page=5"
    },
    {
      "rel": "LAST",
      "href": "https://api.sandbox.tarabutgateway.io/accountInformation/v1/accounts/<selected-accountId>/transactions?page=10"
    }
  ]
}