Envío

Envía un SMS con POST /v1/messages

POST/v1/messages

Envía un mensaje a un número. El costo se deduce del saldo cuando se acepta la solicitud.

Cuerpo de la solicitud

  • tostringrequerido

    El número en formato internacional, por ejemplo +14155550123. Se eliminan espacios, guiones, paréntesis y el prefijo 00.

  • textstringrequerido

    El mensaje. Hasta 10 segmentos; ver Texto y segmentos.

  • referencestringopcional

    Tu propio ID, hasta 100 caracteres. Aparece en el objeto del mensaje y en cada webhook.

  • send_atstringopcional

    Hora ISO 8601 para enviar, de 2 minutos a 45 días después. Sin esto, el mensaje se encola inmediatamente.

Añade un encabezado Idempotency-Key para reintentos seguros: ver Idempotencia.

curl https://bulksmsapi.cc/v1/messages \
  -H "Authorization: Bearer $BULKSMSAPI_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "to": "+14155550123",
    "text": "Your Northwind code is 482913. It expires in 10 minutes.",
    "reference": "login-7781"
  }'
202 AcceptedJSON
{
  "id": "msg_8F3K2Q9TZ1MX",
  "object": "message",
  "batch_id": "bat_4M7Q1X0PK2RS",
  "to": "+14155550123",
  "country": "US",
  "text": "Your Northwind code is 482913. It expires in 10 minutes.",
  "segments": 1,
  "price": "0.00507",
  "currency": "USD",
  "status": "queued",
  "error": null,
  "reference": "login-7781",
  "created_at": "2026-11-07T09:30:12.418Z",
  "sent_at": null,
  "done_at": null
}

El objeto de mensaje

Campos

  • idstring

    ID del mensaje, msg_ seguido de 12 caracteres.

  • objectstring

    Siempre message.

  • batch_idstring

    El lote al que pertenece el mensaje (un mensaje individual también obtiene un lote).

  • tostring

    El número en formato E.164, después de limpiarlo.

  • countrystring

    Código ISO 3166 del país al que se facturó el número.

  • textstring

    El texto enviado, con campos de fusión completados.

  • segmentsinteger

    Número de segmentos SMS que usa el texto.

  • pricestring

    Precio de este mensaje en USD, 5 decimales (precio por segmento multiplicado por segmentos).

  • currencystring

    Siempre USD.

  • statusstring

    scheduled, queued, sent, delivered, failed o canceled.

  • errorobject or null

    Para mensajes failed o canceled: código y mensaje.

  • referencestring or null

    Tu propia referencia de la solicitud.

  • created_atstring

    Cuando se aceptó la solicitud (ISO 8601, UTC).

  • sent_atstring or null

    Cuando el mensaje se entregó a la red.

  • done_atstring or null

    Cuando se estableció el estado final (delivered, failed o canceled).

Obtener un mensaje

GET/v1/messages/{id}

Un mensaje por su ID msg_. Los mensajes de otras cuentas responden 404.

curl https://bulksmsapi.cc/v1/messages/msg_8F3K2Q9TZ1MX \
  -H "Authorization: Bearer $BULKSMSAPI_KEY"

Listar mensajes

GET/v1/messages

Mensajes de la cuenta, los más recientes primero.

Parámetros de consulta

  • batch_idstringopcional

    Solo mensajes de este lote bat_.

  • statusstringopcional

    scheduled, queued, sent, delivered, failed o canceled.

  • limitintegeropcional

    De 1 a 100, predeterminado 20.

  • starting_afterstringopcional

    Un id msg_: la página comienza después de este. Usa el último id de la página anterior.

curl "https://bulksmsapi.cc/v1/messages?status=failed&limit=50" \
  -H "Authorization: Bearer $BULKSMSAPI_KEY"
200 OKJSON
{
  "object": "list",
  "data": [ { "id": "msg_8F3K2Q9TZ1MX", "object": "message", "status": "failed", "...": "..." } ],
  "has_more": false
}
Envía un SMS con POST /v1/messages | Documentación de BulkSMSAPI