eSIM provider configuration
This guide explains how to connect eSIM suppliers — where to get credentials for each provider, what to paste into esimScan, how to test the connection, and how to sync the catalog.
Connect providers under Admin → eSIM Providers (/admin/esim/providers).
Credentials are stored encrypted, tied to your
APP_KEY. KeepAPP_KEYstable — changing it after saving makes stored credentials unreadable and you’ll have to re-enter them.
Supported providers: Airalo, eSIM Access, Maya Mobile, eSIM Go.
The connect → test → sync flow
For every provider the steps are the same:
- Open the provider under Admin → eSIM Providers.
- Enter credentials and a Base URL, set your margin % and sync interval, then save.
- Test — esimScan calls a lightweight endpoint (typically merchant balance) to confirm the credentials work.
- Sync — pulls that provider’s packages, regions, and countries into your catalog.
- Enable the provider so its packages are sellable on the storefront.
Common fields (all providers)
| Field | Meaning |
|---|---|
| Base URL | The provider API root. Use the value from the provider’s docs (no trailing slash needed — it’s trimmed). |
| Margin % | Your profit added on top of wholesale (0–100). Selling price = wholesale + margin. Tune per-package later in eSIM Catalog. |
| Sync interval (minutes) | How often the catalog re-syncs (5–525600). |
| API rate limit / hour | Optional cap esimScan respects when calling the provider. |
| Enabled | Turn on only after Test succeeds. |
Secret fields (client secret, secret key, API secret) are write-only: enter them on first save; leave blank on later edits to keep the stored value.
Airalo (Partner API)
Airalo uses OAuth 2.0 client credentials (Partner API).
1. Get credentials
- Apply for / sign in to the Airalo Partners program.
- In the partner dashboard, open the API / developer section and create credentials — you’ll receive a Client ID and Client Secret.
2. Configure in esimScan
In Configure Airalo:
- Base URL — the Airalo Partner API base from their docs (e.g. the production partners API URL; use their sandbox URL while testing).
- OAuth Client ID — Airalo Client ID.
- OAuth Client Secret — Airalo Client Secret (required on first save).
- Margin %, Sync interval, optional rate limit.
3. Test & sync
Test authenticates and checks access; Sync imports Airalo packages. For live auto-issuing of eSIMs on payment, also set ESIM_PROVISIONING_DRIVER=live (Airalo has a dedicated provisioner). Until then, Airalo orders are fulfilled manually.
eSIM Access (reseller API)
See the eSIM Access developer docs. Authentication uses an access code and secret key.
1. Get credentials
- Sign in to the eSIM Access console and open the developer page.
- Copy your Access Code and Secret Key.
2. Configure in esimScan
In Configure eSIM Access:
- Base URL —
https://api.esimaccess.com(default). - Access Code — your access code.
- Secret Key — your secret key (required on first save).
- Margin %, Sync interval, optional rate limit.
Advanced (optional): if your API version differs, you can override Merchant balance path, Package list path, and Package list body. Leave blank to use the built-in defaults (e.g. api/v1/open/getMerchantBalance).
3. Test & sync
Test calls Get Merchant Balance; Sync imports the package list. If Test fails, re-check the access code/secret and the balance path for your API version.
Maya Mobile
Maya supports Bearer or Basic authentication — choose the Auth mode that matches your account.
1. Get credentials
- From your Maya Mobile partner account, obtain your API key (and API secret if your account uses Basic auth).
2. Configure in esimScan
In Configure Maya Mobile:
- Base URL — Maya API root from their docs.
- Auth mode —
bearerorbasic. - API Key — required.
- API Secret — required on first save when Auth mode = basic; optional for bearer.
- Margin %, Sync interval, optional rate limit.
Advanced (optional): override Merchant balance path / Package list path if your API version differs.
3. Test & sync
Test verifies auth against the balance endpoint; Sync imports packages.
eSIM Go
eSIM Go authenticates with a single API key.
1. Get credentials
- From the eSIM Go dashboard, create/copy your API Key.
2. Configure in esimScan
In Configure eSIM Go:
- Base URL — eSIM Go API root from their docs.
- API Key — required.
- Margin %, Sync interval, optional rate limit.
Advanced (optional): override Merchant balance path / Package list path if needed.
3. Test & sync
Test confirms the key; Sync imports packages.
After configuration
- Test each provider and confirm it succeeds before enabling it.
- Sync to populate the catalog (packages, regions, countries). Large catalogs can take a while — the sync time budget is
MASTER_ESIM_SYNC_MAX_SECONDS(default1800s). - Enable the provider so its packages appear on the storefront.
- Review and fine-tune prices in Admin → eSIM Catalog (per-package margins; enable/disable individual packages).
- Choose how orders are fulfilled with
ESIM_PROVISIONING_DRIVER:manual,stub(demo), orlive(auto-issue via provider).
Quick reference — credentials per provider
| Provider | Slug | Auth | Required fields |
|---|---|---|---|
| Airalo | airalo | OAuth 2.0 client credentials | Base URL, OAuth Client ID, OAuth Client Secret |
| eSIM Access | esim-access | Access code + secret key | Base URL (https://api.esimaccess.com), Access Code, Secret Key |
| Maya Mobile | maya | Bearer or Basic | Base URL, Auth mode, API Key, API Secret (Basic) |
| eSIM Go | esim-go | API key | Base URL, API Key |
All providers also take Margin % and Sync interval (minutes); secret fields are write-only after the first save.
Troubleshooting
| Symptom | What to check |
|---|---|
| Test fails immediately | Base URL, credentials, and (eSIM Access/Maya/eSIM Go) the balance/package paths for your API version |
| Credentials “disappeared” after deploy | APP_KEY changed — re-enter the secrets |
| Sync runs but catalog stays empty | Provider enabled? Sync completed without timeout? Raise MASTER_ESIM_SYNC_MAX_SECONDS for large catalogs |
| Orders not auto-issued | ESIM_PROVISIONING_DRIVER=live and a configured provisioner are required; otherwise fulfill manually |
| Storefront prices look wrong | Check the provider margin % and per-package overrides in eSIM Catalog |