Saltar al contenido

Activación de eSIM

Descripción

Este método permite activar una eSIM (SIM digital) de Axios Mobile con una oferta seleccionada. A diferencia de una SIM física, la eSIM se provisiona de forma remota — el cliente recibe un código QR de activación que escanea desde su dispositivo compatible, sin necesidad de una tarjeta física.


URL API

BASE URLhttps://apidevstore.axiosmobile.mx/v2

Autenticación

MecanismoHeaderDescripción
JWT TokenAuthorization: Bearer {{token}}Token obtenido del endpoint /v1/auth/:appId
API Keyx-api-key: {{apiKey}}Clave de API asignada a tu cuenta

El sistema detecta automáticamente cuál estás usando según la presencia del header x-api-key. Si está presente, se autentica por API Key; si no, se espera un JWT válido.


Validación de Saldo


Parámetros de entrada

ParámetroTipoRequeridoDescripciónEjemplo
carrierCodestringCódigo de carrier/SKU. Valores aceptados: 204, 212, 301, 303, 215."204"
amountnumberMonto de la transacción. Debe ser un número positivo.150
fullNamestringNombre completo del cliente."Juan Pérez"
contactPhonestringTeléfono de contacto del cliente."5512345678"
emailstringCorreo del cliente. Se usa para enviar el recibo."juan@example.com"
channelstringNoCanal de envío del recibo: email (default) o whatsapp."email"

Ejemplo de Uso

Endpoint:

POSTapidevstore.axiosmobile.mx/v2/transactions
POST /v2/transactions HTTP/1.1
Host: apidevstore.axiosmobile.mx
Authorization: Bearer {{token}}
Content-Type: application/json
{
"carrierCode": "204",
"amount": 150,
"fullName": "Juan Pérez",
"contactPhone": "5512345678",
"email": "juan@example.com",
"channel": "email"
}

Respuestas

200 — Transacción Exitosa Success

La activación se completó correctamente. Los datos de la eSIM y el QR de activación se incluyen en la respuesta.

{
"status": "COMPLETED",
"folio": "100036a358d5f64d032661114acfc",
"description": "TRANSACCIÓN EXITOSA",
"simData": {
"imsi": "334140179156088",
"iccid": "8952140062227833246F",
"msisdn": "5632158420",
"pin": "1234",
"puk": "63011475",
"serie": "00361",
"product": "ESIM",
"qrLink": "https://axios-mobile.s3.us-east-2.amazonaws.com/esims/8952140062227833246F.png"
}
}

400 — Errores de Validación Client Error

Se retornan cuando los datos de entrada son inválidos o están incompletos.

{ "error": "carrierCode es requerido" }

400 — Error de Saldo (checkBalance) Client Error

Se retorna cuando el saldo no puede verificarse o es insuficiente.

{ "error": "No fue posible verificar el saldo, intente nuevamente." }

400 — Transacción Fallida Client Error

Se retorna cuando la transacción fue rechazada por el proveedor o falló la comunicación.

{
"status": "FAILED",
"folio": "100036a358d5f64d032661114acfc",
"description": "Transacción fallida, intente nuevamente",
"simData": {}
}

409 — Sin Inventario Conflict

No hay eSIMs disponibles en el inventario para procesar la activación.

{ "error": "No hay inventario disponible" }

500 — Error Interno de Saldo Server Error

Error inesperado al intentar verificar el saldo.

{
"error": "Error al verificar saldo.",
"details": "Error: [mensaje del error]"
}

Parámetros de salida (Respuesta Exitosa)

ParámetroTipoDescripciónEjemplo
statusstringEstado final de la transacción."COMPLETED"
foliostringIdentificador único de la transacción."100036a358d5f64d032661114acfc"
descriptionstringDescripción del resultado."TRANSACCIÓN EXITOSA"
simData.imsistringIdentificador IMSI de la SIM."334140179156088"
simData.iccidstringICCID de la eSIM."8952140062227833246F"
simData.msisdnstringNúmero telefónico asignado."5632158420"
simData.pinstringPIN de la SIM."1234"
simData.pukstringCódigo PUK."63011475"
simData.seriestringSerie de la SIM."00361"
simData.productstringTipo de producto."ESIM"
simData.qrLinkstringURL pública del QR de activación de la eSIM."https://axios-mobile.s3..."

Resumen de Códigos de Respuesta

Código HTTPStatus BodySignificado
200COMPLETEDActivación exitosa. eSIM lista para usar.
400Datos de entrada inválidos (validación).
400Saldo insuficiente o no verificable.
400FAILEDTransacción rechazada o error en confirmación.
409Sin inventario de eSIMs disponible.
500Error interno al verificar saldo.

Diagrama de flujo

flowchart TD A([El cliente solicita activar una eSIM]) --> AUTH{¿Autenticación válida?\nJWT o API Key} AUTH -->|No| UNAUTH[401 - No autorizado] AUTH -->|Sí| BAL{¿Saldo suficiente?} BAL -->|No verificable| BALERR[400 - No fue posible verificar saldo] BAL -->|Insuficiente| BALLOW[400 - Saldo insuficiente] BAL -->|Sí| B{¿Datos completos\ny válidos?} B -->|No| X[400 - Datos inválidos] B -->|Sí| C{¿Hay eSIM\ndisponible?} C -->|No| Y[409 - Sin inventario] C -->|Sí| D[Se procesa la activación] D --> E{¿El proveedor\naceptó?} E -->|No| Z[400 - FAILED + rollback SIM] E -->|Sí| F[Confirmación de activación] F --> G{¿Confirmación\nexitosa?} G -->|Error| CFAIL[400 - FAILED + rollback SIM] G -->|Timeout| TIMEOUT[200 - COMPLETED\neSIM asignada, pendiente confirmación interna] G -->|Sí| H[200 - COMPLETED] H --> I([Se envía recibo por email/WhatsApp])

Notas Importantes


Probar Endpoint

POSThttps://apidevstore.axiosmobile.mx/v2/transactions
Activación de eSIM — Soporta autenticación híbrida (JWT o API Key).
⚠️ Sin token — autentícate primero en /auth
Headers
Body