Subcuentas

Administración de subcuentas. Estos endpoints requieren tu API Key de manager (no la de la subcuenta): la encuentras en tu panel como "Tu API Key de administrador".
Crear Subcuenta
POST /manager/subaccount/add
Archivar Subcuenta
POST /manager/subaccount/archive
Obtener API Key de Subcuenta
POST /manager/subaccount/get_apikey
Gestionar Créditos de Subcuenta
POST /manager/subaccount/credits/manage

Crear Subcuenta

POST https://api.smsmasivos.com.mx/manager/subaccount/add
Crea una nueva subcuenta bajo el manager. Email máx. 70 caracteres, contraseña 6-36 caracteres
Cuerpo de la solicitud
emailstringrequerido
Email de la subcuenta (máx. 70 caracteres, formato válido)
passwordstringrequerido
Contraseña de la subcuenta (6-36 caracteres)
curl https://api.smsmasivos.com.mx/manager/subaccount/add \
  -d email=value \
  -d password=value
const Subcuenta = await sms.subcuentas.create({
  email: 'value',
  password: 'value',
})
Subcuenta = sms.subcuentas.create(
    email="value",
    password="value",
)
Subcuenta, err := client.Subcuentas.Create(ctx, &sms.SubcuentaParams{
    Email: sms.String("value"),
    Password: sms.String("value"),
})
Response
{
  "success": true,
  "message": "user_created",
  "status": 200,
  "code": "subaccount_01",
  "apikey": "a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6",
  "email": "[email protected]"
}
{
  "success": false,
  "message": "Parámetros inválidos.",
  "status": 200,
  "code": "<string>"
}
{
  "success": false,
  "message": "API Key inválida o no existe.",
  "status": 401,
  "code": "auth_05"
}
{
  "success": false,
  "message": "La dirección IP no está autorizada para acceder.",
  "status": 403,
  "code": "auth_04"
}
{
  "success": false,
  "message": "Parámetros inválidos.",
  "status": 200,
  "code": "<string>"
}
{
  "success": false,
  "message": "Demasiadas solicitudes. Límite: 100 mensajes/segundo (producción) o 100 envíos de prueba/día (sandbox).",
  "status": 429,
  "code": "rate_01"
}
{
  "success": false,
  "message": "Error interno del servidor. Contacta a soporte con el request_id.",
  "status": 200,
  "code": "server_01",
  "request_id": "550e8400-e29b-41d4-a716-446655440000"
}

Archivar Subcuenta

POST https://api.smsmasivos.com.mx/manager/subaccount/archive
Archiva/deshabilita una subcuenta
Cuerpo de la solicitud
emailstringrequerido
Email de la subcuenta (máx. 70 caracteres)
curl https://api.smsmasivos.com.mx/manager/subaccount/archive \
  -d email=value
const Subcuenta = await sms.subcuentas.create({
  email: 'value',
})
Subcuenta = sms.subcuentas.create(
    email="value",
)
Subcuenta, err := client.Subcuentas.Create(ctx, &sms.SubcuentaParams{
    Email: sms.String("value"),
})
Response
{
  "success": true,
  "message": "subaccount_archived",
  "status": 200,
  "code": "subaccount_01"
}
{
  "success": false,
  "message": "Parámetros inválidos.",
  "status": 200,
  "code": "<string>"
}
{
  "success": false,
  "message": "API Key inválida o no existe.",
  "status": 401,
  "code": "auth_05"
}
{
  "success": false,
  "message": "La dirección IP no está autorizada para acceder.",
  "status": 403,
  "code": "auth_04"
}
{
  "success": false,
  "message": "Parámetros inválidos.",
  "status": 200,
  "code": "<string>"
}
{
  "success": false,
  "message": "Parámetros inválidos.",
  "status": 200,
  "code": "<string>"
}
{
  "success": false,
  "message": "Demasiadas solicitudes. Límite: 100 mensajes/segundo (producción) o 100 envíos de prueba/día (sandbox).",
  "status": 429,
  "code": "rate_01"
}
{
  "success": false,
  "message": "Error interno del servidor. Contacta a soporte con el request_id.",
  "status": 200,
  "code": "server_01",
  "request_id": "550e8400-e29b-41d4-a716-446655440000"
}

Obtener API Key de Subcuenta

POST https://api.smsmasivos.com.mx/manager/subaccount/get_apikey
Obtiene la API Key de una subcuenta
Cuerpo de la solicitud
emailstringrequerido
Email de la subcuenta (máx. 70 caracteres)
curl https://api.smsmasivos.com.mx/manager/subaccount/get_apikey \
  -d email=value
const Subcuenta = await sms.subcuentas.create({
  email: 'value',
})
Subcuenta = sms.subcuentas.create(
    email="value",
)
Subcuenta, err := client.Subcuentas.Create(ctx, &sms.SubcuentaParams{
    Email: sms.String("value"),
})
Response
{
  "success": true,
  "status": 200,
  "apikey": "a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6",
  "email": "[email protected]"
}
{
  "success": false,
  "message": "Parámetros inválidos.",
  "status": 200,
  "code": "<string>"
}
{
  "success": false,
  "message": "API Key inválida o no existe.",
  "status": 401,
  "code": "auth_05"
}
{
  "success": false,
  "message": "La dirección IP no está autorizada para acceder.",
  "status": 403,
  "code": "auth_04"
}
{
  "success": false,
  "message": "Parámetros inválidos.",
  "status": 200,
  "code": "<string>"
}
{
  "success": false,
  "message": "Demasiadas solicitudes. Límite: 100 mensajes/segundo (producción) o 100 envíos de prueba/día (sandbox).",
  "status": 429,
  "code": "rate_01"
}
{
  "success": false,
  "message": "Error interno del servidor. Contacta a soporte con el request_id.",
  "status": 200,
  "code": "server_01",
  "request_id": "550e8400-e29b-41d4-a716-446655440000"
}

Gestionar Créditos de Subcuenta

POST https://api.smsmasivos.com.mx/manager/subaccount/credits/manage
Transfiere créditos hacia o desde una subcuenta
Cuerpo de la solicitud
emailstringrequerido
Email de la subcuenta (máx. 70 caracteres)
typeenumrequerido
Tipo de operación. 1 = agregar créditos a la subcuenta, 2 = retirar créditos de la subcuenta12
creditsintegerrequerido
Número de créditos a transferir (entero mayor a 0, no acepta decimales)

Además de los errores globales de autenticación (auth_*, ver Errores y límites), este endpoint puede responder:

Códigos de error

CódigoCuándo ocurreQué hacer
subaccount_02 / subaccount_03 / subaccount_04email inválido, de más de 70 caracteres, o ausente.Corrige el email de la subcuenta.
subaccount_credits_01 / subaccount_credits_12type ausente, no numérico o distinto de 1/2.Usa 1 (agregar) o 2 (retirar).
subaccount_credits_03 / subaccount_credits_04 / subaccount_credits_05credits ausente, decimal, o menor o igual a 0.Envía un entero mayor a 0.
curl https://api.smsmasivos.com.mx/manager/subaccount/credits/manage \
  -d email=value \
  -d type=1 \
  -d credits=1
const Subcuenta = await sms.subcuentas.create({
  email: 'value',
  type: 1,
  credits: 1,
})
Subcuenta = sms.subcuentas.create(
    email="value",
    type=1,
    credits=1,
)
Subcuenta, err := client.Subcuentas.Create(ctx, &sms.SubcuentaParams{
    Email: sms.String("value"),
    Type: sms.Int(1),
    Credits: sms.Int(1),
})
Response
{
  "success": true,
  "message": "subaccount_archived",
  "status": 200,
  "code": "subaccount_01"
}
{
  "success": false,
  "message": "Parámetros inválidos.",
  "status": 200,
  "code": "<string>"
}
{
  "success": false,
  "message": "API Key inválida o no existe.",
  "status": 401,
  "code": "auth_05"
}
{
  "success": false,
  "message": "La dirección IP no está autorizada para acceder.",
  "status": 403,
  "code": "auth_04"
}
{
  "success": false,
  "message": "Parámetros inválidos.",
  "status": 200,
  "code": "<string>"
}
{
  "success": false,
  "message": "Parámetros inválidos.",
  "status": 200,
  "code": "<string>"
}
{
  "success": false,
  "message": "Demasiadas solicitudes. Límite: 100 mensajes/segundo (producción) o 100 envíos de prueba/día (sandbox).",
  "status": 429,
  "code": "rate_01"
}
{
  "success": false,
  "message": "Error interno del servidor. Contacta a soporte con el request_id.",
  "status": 200,
  "code": "server_01",
  "request_id": "550e8400-e29b-41d4-a716-446655440000"
}

Objeto de respuesta

Estructura de la respuesta que devuelven estos endpoints.

Atributos
successboolean
—
messagestring
Mensaje de estado
statusinteger
—
codestring
Código de respuesta
apikeystring
API Key generada
emailstring
Email de la subcuenta
Objeto de respuesta
{
  "success": true,
  "message": "user_created",
  "status": 200,
  "code": "subaccount_01",
  "apikey": "a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6",
  "email": "[email protected]"
}