Verify Income via Direct Input

In addition to verifying income by obtaining customers’ transaction through Connect, Tarabut also offers push ingestion of transactions through our Direct Input API. This is the default choice if you already have access to your end users’ transactional data.

This article walks you through the steps of how to manually create a user and ingest transactions for that user. There are some additional technical details for direct ingestion which goes more in detail in our API reference. We encourage you to read it before going into production.

The steps we will guide you in this article is:

  1. Create a client access token
  2. Create a user
  3. Ingest Salary

🚧

Pre- requisite

Generate a token using the Generate Access Token endpoint.

Get your Salary Report

When you generate an access token, you need to define a customerUserId that is linked with the end-user.

📘

Note: You can define the history length of salary lookup

If your user has multiple accounts that needs salary identification, you will have to send each account as a separate request.

📘

Note: You can define the history length of salary lookup

By sending the months option <?months=3>, you can defined the length of the transaction history where we are looking for salary transactions.

Example:

If a customer accesses our API on 19th April, for instance, with the <?months=3> option, we will return transaction data from January, February, and March in their entirety. Additionally, we will provide data for April up to the current date.

This inclusion of partial current month data ensures that if a salary transaction hasn't occurred yet for the month, the customer still has comprehensive information to assess and evaluate the borrower.

curl --location --request POST 'https://api.sandbox.tarabutgateway.io/ingest/v1/salary' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer <your-access-token>' \
--data-raw '{
  "accountId": "1028374082309",
  "accountType": "account",
  "providerId": "BLUE",
  "transactions": [
    {
      "transactionId": "100",
      "description": "A SALARY FOR SOMEONE",
      "amount": {
        "value": 500.00,
        "currency": "SAR"
      },
      "bookingDateTime": "2023-06-28T11:11:30Z",
      "creditDebitIndicator": "Credit"
    },
    {
      "transactionId": "SAR",
      "description": "Fund transfer from XXXX",
      "amount": {
        "value": 47.00,
        "currency": "SAR"
      },
      "bookingDateTime": "2023-06-29T10:00:00Z",
      "creditDebitIndicator": "Credit"
    }    
  ]
}'

A successful POST Salary request returns a list of incoming transactions from the requested account.

{
    "accountId": "1028374082309",
    "providerId": "BLUE",
    "transactions": [
        {
            "transactionId": "100",
            "amount": {
                "value": "5000.000",
                "currency": "SAR"
            },
            "monthIndicator": 6,
            "bookingDateTime": "2023-06-28T11:11:30.000Z"
        }
    ]
}