Comece agora

Referência da API Bulk SMS

BulkSMSAPI é uma API de SMS em massa para desenvolvedores: envie um texto ou um lote de até 10.000 números por requisição para 227 países via REST, acompanhe cada mensagem com webhooks assinados e pague por mensagem a partir de um saldo pré-pago. Esta referência cobre todos os endpoints, campos, eventos e erros da API. Cada página também está disponível como Markdown: adicione .md ao seu endereço.

URL base e formato

Todas as requisições vão para https://bulksmsapi.cc/v1 via HTTPS. Os corpos são JSON (Content-Type: application/json, UTF-8), e toda resposta é JSON, incluindo erros. Os horários são ISO 8601 em UTC. O dinheiro é uma string em dólares americanos com cinco decimais ("0.00507"), então preços abaixo de um centavo são exatos.

Endpoints

Método e caminhoO que fazKey
POST /v1/messagesEnvie um texto para um númeroYes
POST /v1/batchesEnvie para até 10.000 números, um texto ou um por númeroYes
GET /v1/messages/{id}Uma mensagem com seu status e preçoYes
GET /v1/messagesMensagens, mais recentes primeiro, filtrar por lote ou statusYes
GET /v1/batches/{id}Um lote com contagens por statusYes
GET /v1/batchesLotes, mais recentes primeiroYes
POST /v1/batches/{id}/cancelCancelar um lote agendado, reembolso totalYes
POST /v1/estimatesPrecificar uma requisição sem enviá-laYes
GET /v1/balanceSaldo em USDYes
GET /v1/pricingPreço por segmento para cada paísNo
GET /v1/pricing/{country}Preço para um país (código ISO)No

Uma primeira requisição

Crie uma chave API no console, exporte-a e envie uma mensagem. A resposta é 202 com o objeto da mensagem: o custo é deduzido do saldo e a mensagem é colocada na fila.

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
}

Como uma mensagem se move

Mensagens aceitas ficam queued (ou scheduled quando a requisição tem send_at). A fila as entrega à rede a cada dois segundos, até 1.200 por minuto por conta, e elas se tornam sent. O status final é delivered ou failed; uma mensagem falha é reembolsada ao saldo imediatamente. Cada status final chama seu webhook com um evento assinado.

Limites em resumo

LimiteValor
Destinatários por requisição API10,000
Destinatários por campanha no console50,000
Requisições por minuto por chave600
Mensagens entregues à rede por minuto por conta1,200
Texto mais longo10 segmentos (1.530 caracteres GSM-7 ou 670 UCS-2)
Janela de agendamentoDe 2 minutos a 45 dias no futuro
Tentativas de webhook por evento10
Memória de Idempotency-Key24 horas
Chaves API por conta10

Arquivos legíveis por máquina

Referência da API Bulk SMS | Documentação BulkSMSAPI