
What Is a Wholesale eSIM Provider and How Do B2B Resellers Choose One?
8 min read
Read
Integrating an eSIM API into a B2B platform or super-app is significantly more complex than a standard REST API integration. This technical guide covers the key flows, edge cases, error handling patterns, and operational considerations that engineering teams need to understand before starting.
Most REST API integrations follow a straightforward request-response pattern: you make a call, you get a response, you update your data model. eSIM API integration introduces asynchronous provisioning flows, physical device states that must be tracked over time, and failure modes that require specific handling strategies. Engineering teams that approach it like a standard API integration typically find themselves rebuilding significant parts of the implementation when they encounter edge cases in testing or production.
This guide is written for platform engineers and technical architects who are evaluating or planning an eSIM API integration, with the goal of ensuring the design handles production reality — not just the happy path. Understanding the full shape of the integration before starting will save significant rework and reduce the risk of reliability issues that damage user trust early in the product lifecycle.
The first integration is typically a catalogue query — fetching available plans, their pricing, data allowances, validity periods, and geographic coverage. This data should be cached at the platform level rather than queried in real time for every user request, since catalogue data changes infrequently. Design a cache invalidation strategy — whether event-driven via webhooks or time-based with a TTL — that keeps your displayed plans current without adding latency to user-facing flows. For large catalogues spanning hundreds of countries and plans, lazy-loading approaches that fetch country-specific data on demand can improve perceived performance significantly.
Provisioning is the core transaction: creating an eSIM profile for a specific plan and device. The critical design decision here is whether provisioning is synchronous or asynchronous. Some providers return a QR code or profile download link synchronously in the API response; others process provisioning asynchronously and deliver the result via webhook. Design your integration to handle both patterns, even if your initial provider uses one approach, because you may add providers with different patterns later and retrofitting async handling into a sync-only design is painful.
After a profile is provisioned and downloaded to the device, it must be activated before data service begins. The activation event is device-side and asynchronous — the user scans the QR code, installs the profile, and activates it at their convenience. Your integration should track profile state transitions (provisioned → downloaded → activated) via webhook events, and surface appropriate status information to users who check on their eSIM before activating it. A clear status display that tells the user what to do next at each state is significantly better UX than a generic "processing" message.
Users consuming data need real-time visibility into their remaining balance. Implement polling or webhook-based usage monitoring that keeps balance data reasonably current — not necessarily real-time to the byte, but accurate enough that users can make informed decisions about top-ups. Build low-balance alerts that trigger at configurable thresholds — typically 20% and 10% of the plan allowance — to reduce churn from users who run out of data unexpectedly. Usage notifications are also one of the highest-engagement touch points in the product — use them to prompt renewal rather than just informing the user of their remaining balance.
A high proportion of eSIM revenue comes from repeat purchases by users who have consumed their initial allocation. The renewal and top-up flow should be as frictionless as possible — ideally one-tap for a repeat of the previous plan. Design the purchase flow to pre-fill the plan and payment method for returning users. Measure conversion rates at each step of the renewal flow; unnecessary friction here has a direct revenue impact that compounds significantly at scale.
eSIM provisioning failures occur for reasons including device incompatibility, MNO network issues, and platform-side errors. When a provisioning request fails, the user experience should be clear and actionable: display a human-readable error message (not an error code), offer a retry option, and provide a fallback path to support. Implement idempotency in your provisioning requests so that network-level failures do not result in duplicate charges on the user's account — this is a critical requirement that is frequently overlooked in initial integration designs.
eSIM QR codes typically have a validity window — often 30 to 90 days — after which the code cannot be used to activate the profile. If a user purchases an eSIM but does not activate it before the QR code expires, you need a clear process for handling the re-provisioning request without charging the user again. Build this into your customer support tooling from the start rather than handling it manually when the first cases arise.
Users sometimes want to transfer an eSIM profile to a new device. Whether this is possible depends on the specific eSIM specification and MNO capabilities — RSP does not inherently support profile transfer between devices. Document clearly in your product UI what is and is not possible, to set user expectations correctly and reduce support volume from users who discover limitations they were not prepared for.
Production eSIM integrations require monitoring beyond standard API health checks. Instrument your integration to track provisioning success rates, activation rates, average time from provisioning to activation, and data consumption patterns. Anomalies in these metrics often indicate provider-side issues before they become visible to users through explicit failures. A provider whose activation rate drops unexpectedly may be experiencing a network issue that you want to surface to your support team before users start filing complaints, giving you the opportunity to proactively communicate with affected users rather than reactively responding to complaints.
More in eSIM & Telecom