Pentru reselleri & dezvoltatori
API-ul eSIM pentru reselleri, agenții și aplicații
Vinde eSIM-uri de călătorie prepaid pentru 190+ destinații sub brandul tău. REST API cu livrare instant, consum live per ICCID, chei sandbox și facturare din portofel.
Ce poți face cu API-ul
Catalog complet de planuri
Preia toate planurile de călătorie cu prețurile tale B2B, acoperire și valabilitate.
Livrare instant a comenzii
Plasezi comanda și primești codul QR / string-ul LPA de activare în câteva secunde.
Consum live per ICCID
Verifici starea liniei, data activării, datele consumate și expirarea pentru orice eSIM vândut.
Mediu sandbox
Dezvolți și testezi cu chei mega_test_ — fără să consumi portofelul sau un eSIM real.
Facturare din portofel
Portofel prepaid, fără comisioane per apel. Alimentezi cu cardul (Stripe) sau bancar (Wise).
Webhooks
Ești notificat la evenimentele comenzii ca să-ți automatizezi propria livrare.
WordPress & WooCommerce
Ai site pe WordPress? Instalezi pluginul și vinzi eSIM.
Plugin oficial WooCommerce: sincronizezi catalogul, clienții tăi plătesc pe site-ul tău, iar la plată se comandă automat eSIM-ul din portofelul MegaEsim. QR / LPA / ICCID ajung pe emailul clientului. Cheia API stă doar pe server, nu în frontend.
- Descarci zip-ul și îl încarci în WordPress → Pluginuri → Adaugă nou.
- WooCommerce → MegaEsim eSIM → lipești cheia (mega_test_ pentru teste, mega_live_ pentru vânzări reale).
- Test connection, apoi Sync catalog. Setezi adaosul tău de vânzare.
Documentație Partner API v1
Referință publică REST API. Creează un cont de partener ca să primești cheia live și cheia sandbox, apoi folosește exemplele de mai jos.
Base URL — browser
https://megaesim.us/api/v1Test manual sau apeluri din browser autentificat.
Base URL — server
https://api.megaesim.us/api/v1Recomandat pentru backend (Render, Node, Python) — ocolește verificarea Cloudflare anti-bot.
Autentificare: Authorization: Bearer mega_live_…
Endpoints
| Method | Path | Descriere |
|---|---|---|
| GET | /me | Verifică cheia și returnează contul |
| GET | /plans | Catalog planuri (prețuri B2B per cont) |
| GET | /plans/{id} | Detaliu plan |
| GET | /wallet | Sold portofel + ultimele tranzacții |
| GET | /orders | Listă comenzi (?limit=25, max 100) |
| POST | /orders | Plasează comandă (debitează portofelul) |
| GET | /orders/{id} | Status comandă |
| GET | /orders/{id}/esim | Date eSIM după livrare (QR, LPA, ICCID) |
| GET | /esims/{iccid}/usage | Consum live per ICCID (activare, date, expirare) |
Verificare cheie — GET /me▾
Răspuns 200: ok, accountEmail, apiKeyName, apiKeyId.
Request
GET https://megaesim.us/api/v1/me
Authorization: Bearer mega_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxCatalog — GET /plans▾
Returnează plans[]: id, name, nameEn, dataDescription, coverage, priceEuro, priceCents, validityDays, carrier, hasInstantDelivery, available, outOfStock.
Request
GET https://megaesim.us/api/v1/plans
Authorization: Bearer mega_live_…Portofel — GET /wallet▾
Returnează balanceCents, currency și transactions[]. Nu există endpoint de top-up în API — alimentarea e din portal: card (Stripe, cu comision) sau Wise (orice sumă de la €30, fără comision, credit 1:1).
Request
GET https://megaesim.us/api/v1/wallet
Authorization: Bearer mega_live_…Plasare comandă — POST /orders▾
Răspuns: orderId, amountCents, fulfillmentStatus, autoDelivered, autoRefunded, manualPending, emailSent, esimId (dacă livrat automat).
Poll status: GET /orders/{id} — același obiect comandă ca în listă.
| Câmp | Obligatoriu | Descriere |
|---|---|---|
| planId | da | ID plan din /plans |
| deliveryEmail | nu | Email client final; omit = contul tău |
| customerNote | nu | Notă internă (max 500 car.) |
| idempotencyKey | recomandat | Aceeași cheie → aceeași comandă |
Request
POST https://megaesim.us/api/v1/orders
Authorization: Bearer mega_live_…
Content-Type: application/json
{
"planId": 42,
"deliveryEmail": "[email protected]",
"customerNote": "Ref. internă #12345",
"idempotencyKey": "your-unique-key-2026-001"
}Poll eSIM — GET /orders/{id}/esim▾
După livrare: esim cu iccid, activationCode, qrCodeData, smdpAddress, deliveredAt.
Dacă eSIM-ul nu e gata: 404 cu code esim_not_ready.
Request
GET https://megaesim.us/api/v1/orders/123456/esim
Authorization: Bearer mega_live_…Consum live — GET /esims/{iccid}/usage▾
Interoghează consumul și starea liniei folosind ICCID-ul primit din /orders/{id}/esim.
Răspuns 200 → obiect usage: iccid, supported, status (active | inactive | paused | expired | unknown), dataPlanStatus, dataUsedMb, activatedAt, orderedAt, expiresAt, expiryKind (data_ends | install_by | after_activation), planValidityDays, dailyResetAt, refreshedAt.
Datele sunt cache-uite ~3 minute per eSIM. Adaugă ?refresh=1 pentru citire live (folosește cu moderație).
Câmpurile de date sunt disponibile doar pentru eSIM-urile pe rețele cu raportare de consum; altfel supported:false și câmpurile de consum sunt null. Consumul rămas nu este expus — doar dataUsedMb (total).
ICCID necunoscut în cont → 404 esim_not_found. Furnizor de consum indisponibil temporar → 503 usage_upstream_unavailable.
Request
GET https://megaesim.us/api/v1/esims/8939104610004735215/usage
Authorization: Bearer mega_live_…Erori frecvente
- 401 — Cheie invalidă, revocată sau acces API dezactivat
- 402 ·
insufficient_balance— Sold portofel insuficient - 404 ·
plan_not_found— Plan inexistent - 404 ·
esim_not_ready— eSIM încă nelivrat - 404 ·
esim_not_found— Niciun eSIM cu acest ICCID în cont - 409 ·
out_of_stock— Plan indisponibil - 429 — Rate limit depășit (vezi mai jos)
- 503 ·
usage_upstream_unavailable— Furnizorul de consum e temporar indisponibil
Rate limits (per cheie API)
Citiri (GET): 120 / minut · Comenzi (POST /orders): 30 / minut. La depășire: HTTP 429 + retryAfterSec.
Securitate
- Păstrează cheia doar server-side — nu o expune în frontend public.
- Folosește idempotencyKey la fiecare comandă (retry-safe).
- Revocă imediat cheile compromise din secțiunea de mai sus.
- Răspunsurile nu expun detalii interne de aprovisionare.
Flux recomandat
- GET /plans — afișează catalogul cu prețurile tale B2B.
- GET /wallet — verifică soldul înainte de comandă.
- POST /orders cu idempotencyKey — plasează comanda.
- Dacă autoDelivered: false, poll GET /orders/{id} până fulfillmentStatus = delivered.
- GET /orders/{id}/esim — preia QR / LPA / ICCID pentru client.
- GET /esims/{iccid}/usage — verifică oricând consumul, activarea și expirarea liniei.
Suport: Întrebări tehnice sau comerciale: [email protected]
Gata să integrezi?
Creează un cont de partener și primești imediat cheia sandbox pentru testare.
Întrebări tehnice sau comerciale: [email protected]