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}}.