API-Dokumentation

Mit der Resellercenter-API bindest du unsere eSIMs direkt an deinen Shop oder dein System an: Katalog mit deinem Preis abrufen, eSIMs kaufen, Bestellungen und Guthaben abfragen. Alle Antworten sind JSON (UTF-8), Beträge in EUR.

Basis-Adresse und Anmeldung

https://www.resellercenter.net/api/v1

Jede Anfrage braucht deinen API-Schlüssel im Header. Schlüssel erstellst du nach der Anmeldung unter „API“. Behandle ihn wie ein Passwort.

Authorization: Bearer eg_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Höchstens 120 Anfragen pro Minute und Schlüssel. Die Schlüssel gelten nur für diese Adresse.

Testmodus für die Entwicklung

Erstelle unter „API“ einen Test-Schlüssel. Damit antwortet die API wie im Livebetrieb – Katalog, Guthaben, Prüfung von Paket, Menge und Guthaben –, Käufe werden aber nur simuliert: nichts wird gekauft oder abgebucht. Bestellnummern beginnen mit TEST, die Antworten enthalten "test_mode": true und den Header X-Test-Mode: 1. Die eSIM-Daten sind nicht installierbar.

Katalog

GET /catalog

Alle Länder und Regionen mit Paketen. price ist dein Preis, retail_price der empfohlene Endkundenpreis.

Optional ?lang=en, es, fr: Namen und Hinweise in dieser Sprache (Standard Deutsch).

GET /catalog/{slug}

Ein Land oder eine Region, z. B. /catalog/tuerkei.

{
  "country": {
    "slug": "tuerkei", "name": "Türkei", "type": "country", "country_code": "TR",
    "flag_url": "https://www.resellercenter.net/assets/flags/turkey.png",
    "packages": [{
      "package": "tuerkei-3-gb-30-tage-1a2b3c",
      "data": "3 GB", "data_mb": 3072, "unlimited": false, "validity_days": 30,
      "network": "Turkcell", "apn": { "auto": true, "primary": null },
      "price": 3.65, "retail_price": 10.99, "currency": "EUR"
    }]
  }
}

package ist die Paket-ID für den Kauf. Ist apn.auto = false, muss der Endkunde den APN apn.primary von Hand eintragen.

eSIM kaufen

POST /orders

Bucht den Betrag sofort von deinem Guthaben ab und liefert die eSIM-Daten direkt in der Antwort, meist in wenigen Sekunden.

Der Header Idempotency-Key ist Pflicht: Wiederholst du eine Anfrage mit demselben Wert, etwa nach einem Timeout, bekommst du dieselbe Antwort – es wird nicht doppelt gekauft.

curl -X POST https://www.resellercenter.net/api/v1/orders \
  -H "Authorization: Bearer eg_…" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: order-4711" \
  -d '{"package": "tuerkei-3-gb-30-tage-1a2b3c", "quantity": 1, "reference": "4711"}'

Antwort 201:

{
  "order": {
    "order_no": "EP100012", "status": "fulfilled", "reference": "4711",
    "quantity": 1, "unit_price": 3.65, "total": 3.65, "currency": "EUR",
    "esims": [{
      "iccid": "8944…", "smdp_address": "…", "activation_code": "…",
      "lpa": "LPA:1$…$…",
      "apple_install_url": "https://esimsetup.apple.com/esim_qrcode_provisioning?carddata=…",
      "apn": { "auto": false, "primary": "globaldata" },
      "qr_png_url": "https://www.resellercenter.net/api/v1/orders/EP100012/qr/0.png"
    }]
  }
}

Den QR-Code erzeugst du selbst aus lpa oder lädst ihn als PNG über qr_png_url (mit Schlüssel). Ein QR-Code lässt sich nur einmal installieren.

Bestellungen

GET /orders

GET /orders/{order_no}

Deine Bestellungen mit eSIM-Daten. Filter: status, since_id, from, to (JJJJ-MM-TT), limit (max. 200). Zum Blättern since_id auf next_since_id der vorigen Antwort setzen.

Status: fulfilled (geliefert) · fulfilling · failed · refunded

Guthaben

GET /balance

Saldo, verfügbarer Betrag und die letzten 50 Kontobewegungen.

Fehler

{ "error": { "code": "insufficient_balance", "message": "…" } }
HTTPBedeutung
400Ungültige Anfrage, z. B. Idempotency-Key fehlt oder kein JSON
401Schlüssel fehlt oder ist ungültig
402Nicht genügend Guthaben (insufficient_balance)
403Nicht erlaubt, Konto deaktiviert oder falsche Adresse
404Nicht gefunden
422Ungültige Werte (unknown_package, invalid_quantity)
429Zu viele Anfragen – eine Minute warten
502eSIM konnte nicht erstellt werden – der Betrag wurde automatisch gutgeschrieben, bitte später erneut versuchen

Jetzt als Wiederverkäufer registrieren