Referencia de la API de socios

Todos los endpoints devuelven JSON. Nunca envías un precio - solo indicas qué quieres comprar, y el servidor siempre calcula el precio él mismo, para que no pueda falsificarse ni manipularse.

URL base:

Base URL
https://buyukesim.com/api/v1

Autenticación

Envía tu clave API como token Bearer en cada solicitud siguiente.

Nota: recargar saldo es una acción exclusiva del sitio web (con tu Magic Code del panel), no forma parte de esta API - tu clave API no puede crear ni financiar recargas.

Header
Authorization: Bearer buk_live_xxxxxxxxxxxxxxxxxxxxxxxx

Productos

GET/api/v1/products

Listar productos

Obtén el producto Número UK y todos los paquetes Travel eSIM activos (con package_code y price_usd actuales) para saber siempre qué se puede comprar antes de llamar a Crear pedido.

Request
curl "https://buyukesim.com/api/v1/products" \
  -H "Authorization: Bearer buk_live_xxxxxxxxxxxxxxxxxxxxxxxx"
Response
{
  "success": true,
  "data": {
    "discount_pct": 15,
    "uk_number": {
      "type": "uk_number",
      "retail_price_usd": 25,
      "price_usd": 21.25,
      "currency": "USD",
      "min_quantity": 1,
      "max_quantity": 10
    },
    "travel_data": [
      {
        "package_code": "GB_1GB_7D",
        "name": "United Kingdom 1GB / 7 Days",
        "location_code": "GB",
        "retail_price_usd": 5.99,
        "price_usd": 5.09,
        "volume_label": "1 GB",
        "duration": 7,
        "duration_unit": "DAY"
      }
    ]
  }
}

Pedidos

POST/api/v1/orders

Crear pedido - Número UK

Crea y entrega instantáneamente un pedido de Número UK (+44), descontado de tu saldo prepago.

Request
curl -X POST "https://buyukesim.com/api/v1/orders" \
  -H "Authorization: Bearer buk_live_xxxxxxxxxxxxxxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{
  "product_type": "uk_number",
  "quantity": 1,
  "reference": "order-1234"
}'
Response
{
  "success": true,
  "data": {
    "order_id": 98421,
    "reference": "order-1234",
    "status": "paid",
    "product": {
      "type": "uk_number",
      "quantity": 1,
      "retail_price_usd": 25,
      "discount_pct": 15,
      "price_usd": 21.25
    },
    "lookup_code": "K7M9-2XP4",
    "created_at": "2026-07-06T20:00:00+00:00"
  }
}
POST/api/v1/orders

Crear pedido - eSIM de viaje

Crea y entrega instantáneamente un pedido de eSIM de viaje para el package_code indicado.

Request
curl -X POST "https://buyukesim.com/api/v1/orders" \
  -H "Authorization: Bearer buk_live_xxxxxxxxxxxxxxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{
  "product_type": "travel_data",
  "package_code": "GB_1GB_7D",
  "reference": "order-1235"
}'
Response
{
  "success": true,
  "data": {
    "order_id": 98422,
    "reference": "order-1235",
    "status": "paid",
    "product": {
      "type": "travel_data",
      "package_code": "GB_1GB_7D",
      "package_name": "United Kingdom 1GB / 7 Days",
      "location_code": "GB",
      "retail_price_usd": 5.99,
      "discount_pct": 15,
      "price_usd": 5.09
    },
    "lookup_code": null,
    "created_at": "2026-07-06T20:00:00+00:00"
  }
}
GET/api/v1/orders/98421

Estado del pedido

Consulta el estado y obtén los detalles de QR/PUK de un pedido que creaste.

Request
curl "https://buyukesim.com/api/v1/orders/98421" \
  -H "Authorization: Bearer buk_live_xxxxxxxxxxxxxxxxxxxxxxxx"
Response
{
  "success": true,
  "data": {
    "order_id": 98421,
    "reference": "order-1234",
    "status": "paid",
    "product": { "type": "uk_number", "quantity": 1, "retail_price_usd": 25, "price_usd": 21.25 },
    "lookup_code": "K7M9-2XP4",
    "esim": {
      "ready": true,
      "items": [
        { "qr_code": "https://.../serve_qr.php?...", "iccid": "8944...", "puk_code": "12345678" }
      ]
    }
  }
}
GET/api/v1/orders/98422/usage

Uso de datos del eSIM de viaje

Datos restantes/usados en vivo, estado de activación y caducidad de un pedido de eSIM de viaje, obtenidos directamente del proveedor en cada llamada.

Request
curl "https://buyukesim.com/api/v1/orders/98422/usage" \
  -H "Authorization: Bearer buk_live_xxxxxxxxxxxxxxxxxxxxxxxx"
Response
{
  "success": true,
  "data": {
    "order_id": 98422,
    "status": "paid",
    "package": {
      "package_code": "GB_1GB_7D",
      "name": "United Kingdom 1GB / 7 Days",
      "location_code": "GB",
      "volume_label": "1 GB",
      "duration": 7,
      "duration_unit": "DAY"
    },
    "usage": {
      "iccid": "8944...",
      "esim_status": "IN_USE",
      "smdp_status": "ENABLED",
      "total_volume_bytes": 1073741824,
      "used_volume_bytes": 214748364,
      "remaining_volume_bytes": 858993459,
      "usage_percent": 20.0,
      "total_duration": 7,
      "duration_unit": "DAY",
      "expired_time": "2026-07-13T20:00:00+00:00"
    }
  }
}

Códigos de error

Toda respuesta de error tiene la misma forma: un success: false de nivel superior, más un objeto error con un campo code estable que tu código puede comprobar para saber exactamente qué ha pasado.

Error shape
{
  "success": false,
  "error": { "code": "insufficient_balance", "message": "..." }
}
HTTPcodeSignificado
401unauthorizedClave API faltante o inválida.
402insufficient_balanceSaldo prepago insuficiente para el precio de este pedido.
404package_not_foundpackage_code de viaje no encontrado o ya no está activo.
429rate_limitLímite de solicitudes excedido - reduce la frecuencia de solicitudes.