Optional Parameters

The following section will detail any additional fields that are not required, but can be used to add more functionality to the API where necessary.

Optional Fields:

  • User Identifier
  • AccountId
  • TransactionId
  • Balances

User Identifier

UserIdentifier is an optional ID used to identify a request. It replaces the randomly generated GUID value within the Card when it is present and is normally used to map to an ID on your side to relate the user once a response has been received. It is simply passed through to the response.

...
{
    "UserIdentifier": "User Identifier Value",
    "Attributes": {
        "Card": [
            "sum_debits_30_days"
        ]
},
...

AccountId, TransactionId

AccountId and TransactionId are not mandatory, but if present, have to be present on all transactions. If you provide AccountId or TransactionId and it is missing in a single transaction, your request will fail before being processed. This is primarily only used if the data being imported already has these characteristics.

AccountId can also be used to submit multiple Account Types within the same request, but they will be aggregated together and you will only receive a singular Attributes response.

These identifiers are displayed on the response back only when ‘AttributesDetail’ has been used, and are used to identify specific transactions within an account/attribute.

...       
{
   "AccountId": "Custom Account Id",
   "TransactionId": "Custom Transaction Id",
   "TransactionDate": "2021/01/22",
   "Description": "payroll - flinks technologies",
   "Debit": "100.00",
   "Credit": null,
   "Balance": "900.00"
 }
...

Balances

Balances are a required field in order to run Attributes - they can be provided in multiple ways. If you have a ‘Running Balance’ you can include this within the ‘balance’ field per transaction. If you do not (or do not trust the balance per transaction from your external data) you have the option to provide a ‘MostRecent’ or ‘Oldest’ Balance.

🚧

Precedence of Balance Fields

MostRecentBalance takes precedence over OldestBalance - therefore if both are provided, only MostRecentBalance will be used.

Option 1 - MostRecentBalance (recommended)

{
    "Attributes": {
        "Card": [
            "{{Attribute List}}"
        ]
    },
    "Options": {
        "OriginCountry": "{{Country Code}}",
        "MostRecentBalance": "{{MostRecentBalance}}",
        "AttributesDetail": [
           "{{Attribute List}}"
        ]
    },
}

Option 2 - OldestBalance

{
    "Attributes": {
        "Card": [
           " {{Attribute List}}"
        ]
    },
    "Options": {
        "OriginCountry": "{{Country Code}}",
        "OldestBalance": "{{MostRecentBalance}}",
        "AttributesDetail": [
            "{{Attribute List}}"
        ]
    },
}

Option 3 - Submitting multiple accounts and multiple MostRecentBalance options

If you have submitted multiple accounts, and wish to apply a MostRecentBalance to each account, you can use the following structure to do so.

{
    "Attributes": {
        "Card": [
            "{{Attribute List}}"
        ]
    },
    "Options": {
        "OriginCountry": "{{Country Code}}",
        "AttributesDetail": [
            "{{Attribute List}}"
        ],
    "AccountOptions”: {
     "{{AccountID1}}” : {
            "MostRecentBalance”: "{{Most Recent Balance1}}"
          },
     "{{AccountID2}}”: {
            "MostRecentBalance”: "{{Most Recent Balance2}}"
          }
    }
},

In the example above, transactions from “AccountID1” would get balance “Most Recent Balance1” and “AccountID2” would get balance “Most Recent Balance2}}.