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
Autenticación
| Mecanismo | Header | Descripción |
|---|---|---|
| JWT Token | Authorization: Bearer {{token}} | Token obtenido del endpoint /v1/auth/:appId |
| API Key | x-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ámetro | Tipo | Requerido | Descripción | Ejemplo |
|---|---|---|---|---|
carrierCode | string | Sí | Código de carrier/SKU. Valores aceptados: 204, 212, 301, 303, 215. | "204" |
amount | number | Sí | Monto de la transacción. Debe ser un número positivo. | 150 |
fullName | string | Sí | Nombre completo del cliente. | "Juan Pérez" |
contactPhone | string | Sí | Teléfono de contacto del cliente. | "5512345678" |
email | string | Sí | Correo del cliente. Se usa para enviar el recibo. | "juan@example.com" |
channel | string | No | Canal de envío del recibo: email (default) o whatsapp. | "email" |
Ejemplo de Uso
Endpoint:
POST /v2/transactions HTTP/1.1Host: apidevstore.axiosmobile.mxAuthorization: Bearer {{token}}Content-Type: application/json
{ "carrierCode": "204", "amount": 150, "fullName": "Juan Pérez", "contactPhone": "5512345678", "email": "juan@example.com", "channel": "email"}POST /v2/transactions HTTP/1.1Host: apidevstore.axiosmobile.mxx-api-key: {{apiKey}}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" }{ "error": "amount es requerido" }{ "error": "monto inválido" }{ "error": "fullName es requerido" }{ "error": "contactPhone es requerido" }{ "error": "email es requerido" }{ "error": "channel no permitido" }{ "error": "CarrierCode no permitido." }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." }{ "error": "No hay saldo suficiente para realizar esta transacción." }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ámetro | Tipo | Descripción | Ejemplo |
|---|---|---|---|
status | string | Estado final de la transacción. | "COMPLETED" |
folio | string | Identificador único de la transacción. | "100036a358d5f64d032661114acfc" |
description | string | Descripción del resultado. | "TRANSACCIÓN EXITOSA" |
simData.imsi | string | Identificador IMSI de la SIM. | "334140179156088" |
simData.iccid | string | ICCID de la eSIM. | "8952140062227833246F" |
simData.msisdn | string | Número telefónico asignado. | "5632158420" |
simData.pin | string | PIN de la SIM. | "1234" |
simData.puk | string | Código PUK. | "63011475" |
simData.serie | string | Serie de la SIM. | "00361" |
simData.product | string | Tipo de producto. | "ESIM" |
simData.qrLink | string | URL pública del QR de activación de la eSIM. | "https://axios-mobile.s3..." |
Resumen de Códigos de Respuesta
| Código HTTP | Status Body | Significado |
|---|---|---|
200 | COMPLETED | Activación exitosa. eSIM lista para usar. |
400 | — | Datos de entrada inválidos (validación). |
400 | — | Saldo insuficiente o no verificable. |
400 | FAILED | Transacción rechazada o error en confirmación. |
409 | — | Sin inventario de eSIMs disponible. |
500 | — | Error interno al verificar saldo. |