Documentation de l’API

Avec l’API du Resellercenter, vous connectez nos eSIM directement à votre boutique ou à votre système : catalogue avec votre prix, achat d’eSIM, consultation des commandes et du solde. Toutes les réponses sont en JSON (UTF-8), montants en EUR.

URL de base et authentification

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

Chaque requête nécessite votre clé API dans l’en-tête. Vous créez les clés sous « API » après connexion. Traitez-la comme un mot de passe.

Authorization: Bearer eg_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Au maximum 120 requêtes par minute et par clé. Les clés ne sont valables que pour cette adresse.

Mode test pour le développement

Créez une clé de test sous « API ». L’API répond alors comme en production – catalogue, solde, contrôle du forfait, de la quantité et du solde –, mais les achats sont seulement simulés : rien n’est acheté ni débité. Les numéros de commande commencent par TEST, les réponses contiennent "test_mode": true et l’en-tête X-Test-Mode: 1. Les données eSIM ne sont pas installables.

Catalogue

GET /catalog

Tous les pays et régions avec leurs forfaits. price est votre prix, retail_price le prix de vente conseillé.

Facultatif ?lang=en, es, fr : noms et remarques dans cette langue (allemand par défaut).

GET /catalog/{slug}

Un pays ou une région, p. ex. /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 est l’identifiant du forfait pour l’achat. Si apn.auto = false, le client final doit saisir manuellement l’APN apn.primary.

Acheter une eSIM

POST /orders

Débite immédiatement le montant de votre solde et renvoie les données eSIM directement dans la réponse, généralement en quelques secondes.

L’en-tête Idempotency-Key est obligatoire : si vous répétez une requête avec la même valeur, p. ex. après un timeout, vous obtenez la même réponse – rien n’est acheté deux fois.

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"}'

Réponse 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"
    }]
  }
}

Générez vous-même le QR code à partir de lpa ou téléchargez-le en PNG via qr_png_url (avec clé). Un QR code ne peut être installé qu’une seule fois.

Commandes

GET /orders

GET /orders/{order_no}

Vos commandes avec les données eSIM. Filtres : status, since_id, from, to (AAAA-MM-JJ), limit (max. 200). Pour paginer, définissez since_id sur next_since_id de la réponse précédente.

Statut: fulfilled (livrée) · fulfilling · failed · refunded

Crédit

GET /balance

Solde, montant disponible et les 50 derniers mouvements.

Erreurs

{ "error": { "code": "insufficient_balance", "message": "…" } }
HTTPSignification
400Requête invalide, p. ex. Idempotency-Key manquant ou pas de JSON
401Clé manquante ou invalide
402Solde insuffisant (insufficient_balance)
403Non autorisé, compte désactivé ou mauvaise adresse
404Introuvable
422Valeurs invalides (unknown_package, invalid_quantity)
429Trop de requêtes – patientez une minute
502L’eSIM n’a pas pu être créée – le montant a été recrédité automatiquement, veuillez réessayer plus tard

Inscrivez-vous comme revendeur