2 min read
Fetch on launch
Call GET /public/v1/loyalty/tiers when the app starts. It is a small, keyless, cacheable read.
Cache locally
Store the response with its generated timestamp. On next launch, show the cached ladder immediately and refresh in the background — see caching the ladder.
Render correctly
Show the tiers in the order received (Bronze→Platinum) and the discount as a percent directly (0.5 → "0.5%").
Getting the app experience right
In a native or mobile app the network is the enemy of a smooth first impression, so the pattern here matters. Fetching the ladder once and caching it locally means the tiers appear instantly on every subsequent launch, with a background refresh keeping them current without ever blocking the interface. Because the response carries no personal data, caching it on the device is perfectly safe. The two details people most often get wrong are rendering order and units: the tiers already arrive Bronze to Platinum, so show them as received, and the discount is in percent units, so a value of 0.5 is simply “0.5%”. Get those right and the ladder reads correctly everywhere.
Frequently asked questions
How do I avoid a blocking network call on launch?
Cache the ladder locally and render it instantly from cache, refreshing in the background. The generated timestamp tells you when to update.
Funding for UK limited companies
Credicorp lends to your company, not to you personally — short-term working capital with no personal guarantee. See what your business could access.
