Documentación de la API

Con la API del Resellercenter conectas nuestras eSIM directamente a tu tienda o sistema: consultar el catálogo con tu precio, comprar eSIM, consultar pedidos y saldo. Todas las respuestas son JSON (UTF-8), importes en EUR.

URL base y autenticación

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

Cada petición necesita tu clave API en la cabecera. Creas las claves en «API» tras iniciar sesión. Trátala como una contraseña.

Authorization: Bearer eg_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Como máximo 120 peticiones por minuto y clave. Las claves solo valen para esta dirección.

Modo de prueba para desarrollo

Crea una clave de prueba en «API». La API responde entonces como en real – catálogo, saldo, comprobación de paquete, cantidad y saldo –, pero las compras solo se simulan: no se compra ni se cobra nada. Los números de pedido empiezan por TEST, las respuestas contienen "test_mode": true y la cabecera X-Test-Mode: 1. Los datos eSIM no se pueden instalar.

Catálogo

GET /catalog

Todos los países y regiones con paquetes. price es tu precio, retail_price el precio de venta recomendado.

Opcional ?lang=en, es, fr: nombres e indicaciones en ese idioma (por defecto alemán).

GET /catalog/{slug}

Un país o una región, p. ej. /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 es el ID del paquete para la compra. Si apn.auto = false, el cliente final debe introducir el APN apn.primary manualmente.

Comprar eSIM

POST /orders

Descuenta el importe de tu saldo al instante y devuelve los datos eSIM directamente en la respuesta, normalmente en pocos segundos.

La cabecera Idempotency-Key es obligatoria: si repites una petición con el mismo valor, p. ej. tras un timeout, recibes la misma respuesta – no se compra dos veces.

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

Respuesta 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"
    }]
  }
}

Genera el código QR tú mismo a partir de lpa o descárgalo como PNG mediante qr_png_url (con clave). Un código QR solo se puede instalar una vez.

Pedidos

GET /orders

GET /orders/{order_no}

Tus pedidos con datos eSIM. Filtros: status, since_id, from, to (AAAA-MM-DD), limit (máx. 200). Para paginar, pon since_id al valor next_since_id de la respuesta anterior.

Estado: fulfilled (entregado) · fulfilling · failed · refunded

Saldo

GET /balance

Saldo, importe disponible y los últimos 50 movimientos.

Errores

{ "error": { "code": "insufficient_balance", "message": "…" } }
HTTPSignificado
400Petición no válida, p. ej. falta Idempotency-Key o no es JSON
401Clave ausente o no válida
402Saldo insuficiente (insufficient_balance)
403No permitido, cuenta desactivada o dirección incorrecta
404No encontrado
422Valores no válidos (unknown_package, invalid_quantity)
429Demasiadas peticiones – espera un minuto
502No se pudo crear la eSIM – el importe se ha abonado automáticamente, inténtalo de nuevo más tarde

Regístrate ahora como revendedor