Data Synchronization with Okra

Learn how Okra enables data synchronization to help you provide seamless open finance experiences for your users.

Data Synchronization with Okra


Imagine being in a situation where you have to wait for a transaction to be confirmed for an item you purchased via transfer on your mobile banking app or a USSD code channel because the vendor did not receive the transfer. While the delay could be attributed mainly to a slow bank network or any other factor, the experience is ultimately frustrating.

The above scenario is one among many users face daily and causes friction in managing finances. For businesses building fintech products that need transaction or balance data of customers in real-time, this is an opportunity to leverage a data sync feature.

The Okra data sync feature seamlessly synchronizes your application with users who have linked their accounts on your platform to retrieve transaction and balance data without requiring them to log in each time.

How Okra solves this problem

To tackle this problem, when a user links a new bank account for the first time, Okra scans the data resource. We make the data available for retrieval by calling an HTTP endpoint to inform you about the event and sending webhook events to the URL on your dashboard to notify you of data updates. What we send to you contains payloads for every event in every product to the webhook URL on your dashboard.

For example, we'll send a balance.success event to your server as soon as a balance is retrieved or a transaction.success as soon as a transaction occurs.

You can configure some webhooks to also return the complete resource. In these situations, you don't have to ask for the data. Instead, you get it as it becomes available.

For other webhooks, you receive properties that help you build optimal queries. For example, you can trigger a webhook associated with a particular record ID(s). If you need to troubleshoot or verify anything related to the record ID, when you receive a notification from these webhooks, you will know that the data is available, you will have relevant properties, and you can then initiate data retrieval.

This implies that once you have your backend set up to receive requests and updates via webhooks, you could then save the updated account to your database with the account ID provided in the data field. As a result, your web or mobile application will gradually receive data when it becomes available from users' accounts linked to your platform. Hence, you never have stale data.

Also, you can leverage the transaction and balance refresh endpoints to sync data to your Okra integration.

Data sync via the widget

While setting up your widget, you can send refresh as an option to the widget, which is set to true by default. The refresh option is usually set daily for balance and transaction products. Another way this can be done via the widget is to send an object to the refresh option, with the following format {interval, products, webhook_url}.

.......//Other widget options


refresh: {

interval: "thirty_minute",

products:[balance, transaction],

webhook_url: "Your-webhooks-URL"



.......//Other widget options

NOTE: All connected accounts are automatically refreshed once every 24 hours. You can contact us at support if you want to change the update interval to:

['one_minute', 'five_minute', 'fifteen_minute', 'thirty_minute', 'one_hour', 'six_hours', 'twelve_hours', 'daily']

That's how Okra data sync features work when you design your infrastructure to maximize webhooks!

Start building right away!

Check out our documentation to learn more about all Okra products. Also, sign up for a free account to start building with the Okra today.

If you are passionate about available finance, you should visit our website to see other services that might appeal to you.

Contact sales or send an email to to get started.