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.

  1. Descarci zip-ul și îl încarci în WordPress → Pluginuri → Adaugă nou.
  2. WooCommerce → MegaEsim eSIM → lipești cheia (mega_test_ pentru teste, mega_live_ pentru vânzări reale).
  3. 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/v1

Test manual sau apeluri din browser autentificat.

Base URL — server

https://api.megaesim.us/api/v1

Recomandat pentru backend (Render, Node, Python) — ocolește verificarea Cloudflare anti-bot.

Autentificare: Authorization: Bearer mega_live_…

Endpoints

MethodPathDescriere
GET/meVerifică cheia și returnează contul
GET/plansCatalog planuri (prețuri B2B per cont)
GET/plans/{id}Detaliu plan
GET/walletSold portofel + ultimele tranzacții
GET/ordersListă comenzi (?limit=25, max 100)
POST/ordersPlasează comandă (debitează portofelul)
GET/orders/{id}Status comandă
GET/orders/{id}/esimDate eSIM după livrare (QR, LPA, ICCID)
GET/esims/{iccid}/usageConsum 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_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Catalog — 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âmpObligatoriuDescriere
planIddaID plan din /plans
deliveryEmailnuEmail client final; omit = contul tău
customerNotenuNotă internă (max 500 car.)
idempotencyKeyrecomandatAceeaș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

  • 401Cheie invalidă, revocată sau acces API dezactivat
  • 402 · insufficient_balanceSold portofel insuficient
  • 404 · plan_not_foundPlan inexistent
  • 404 · esim_not_readyeSIM încă nelivrat
  • 404 · esim_not_foundNiciun eSIM cu acest ICCID în cont
  • 409 · out_of_stockPlan indisponibil
  • 429Rate limit depășit (vezi mai jos)
  • 503 · usage_upstream_unavailableFurnizorul 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

  1. GET /plans — afișează catalogul cu prețurile tale B2B.
  2. GET /wallet — verifică soldul înainte de comandă.
  3. POST /orders cu idempotencyKey — plasează comanda.
  4. Dacă autoDelivered: false, poll GET /orders/{id} până fulfillmentStatus = delivered.
  5. GET /orders/{id}/esim — preia QR / LPA / ICCID pentru client.
  6. 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]

API eSIM pentru reselleri și agenții — MegaEsim Partner API · MegaEsim