Manual Data Sync
Last updated May 19th, 2022
Data sync enables you to retrieve updated information (such as balance, transactions, and statements) from a linked financial account provided by an institution.
This can be initiated using our Manual Data Sync Endpoint.
Manual Data Sync Scenarios
When the manual data sync endpoint is called manually, there are 4 possible scenarios that you will encounter. These include:
Sync Successful
When our data sync API runs successfully, you will receive SYNCED_SUCCESSFUL in your payload indicating that we have successfully refreshed your user's bank account via the provided account id. If new data was found on the user's account, we provide the hasNewData field to be true, else it will be returned as false.
Reauthorization Required
When you attempt to sync an account manually, and the user's bank account has MFA (Multi-factor authentication) enabled, we return a failed status while providing REAUTHORISATION_REQUIRED in the code field.
Sync Error
When a manual data sync API call has run and you receive a SYNC_ERROR in the code field, it means there was an issue while trying to sync an account. The reason could be that you haven’t activated data sync for your account or there is a bank downtime. It's advised to retry manual sync on your user's account at a later time.
Incomplete Bank Statement Error
If you receive an INCOMPLETE_STATEMENT_ERROR in the returned code field, it means that the user's bank or financial institution inadvertently returned transaction data that is less than the recorded transactions when your user initially linked their account or when Data sync was last initiated. Based on this regard, it is recommended to log the user's account ID on your system and retry this sync at a later time (e.g via Redis/Cron Job) when updated data would be available. Alternatively, you can set the query param: allow_incomplete_statement to true, to return updated data that is less than the recorded transactions of the user when they initially linked their account, or when Data sync was last initiated.
API Call Limits
Kindly note that there is a set limit of one API call per connected account every two minutes. What this means is that whenever you manually sync an account, you wouldn’t be able to sync this same account until after two minutes.
Manual Data Sync Object
Sync Sucessful
Request
{
"status": "successful",
"hasNewData": false,
"code": "SYNC_SUCCESSFUL",
"message": null
}
Data Sync Fields
Field | Description | Type |
status | This field represents the status of a sync action. e.g successful or failed. | string |
hasNewData | This field is to indicate whether new data is available or not, after a successful sync has been completed, and for when the status says "successful", e.g true or false. | boolean |
code | This field returns the sync action type. e.g SYNCED_SUCCESSFUL, REAUTHORISATION_REQUIRED, SYNC_ERROR, or INCOMPLETE_STATEMENT_ERROR. earning. | string |
message | This field provides a message text if available, whenever there is a sync error. received. | string |