Pular para o conteúdo
EnviarBrasil
Integração e API

Uma requisição HTTP e a mensagem sai

Sem SDK obrigatório, sem homologação de meses, sem projeto de TI. Conecte o seu ERP, CRM, e-commerce ou sistema próprio e deixe o disparo acontecer no evento certo.

Começando

Do token ao primeiro envio

Três passos. O primeiro SMS costuma sair antes do café esfriar.

  1. 1Solicite o token de acesso pelo painel ou com o seu consultor.
  2. 2Faça um POST para /v1/sms com número e mensagem.
  3. 3Aponte um webhook para receber o status de entrega e as respostas.
curl -X POST https://api.enviarbrasil.com/v1/sms \
  -H "Authorization: Bearer $ENVIAR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "numero": "5565999217864",
    "mensagem": "Seu pedido 88421 saiu para entrega.",
    "referencia": "pedido-88421",
    "webhook": "https://sualoja.com.br/callbacks/dlr"
  }'
Envio em lote

Milhares de mensagens em uma chamada só

A mesma autenticação, uma rota diferente. Com agendamento opcional, respeitando fuso e janela comercial.

POST /v1/sms/lote HTTP/1.1
Host: api.enviarbrasil.com
Authorization: Bearer $ENVIAR_TOKEN
Content-Type: application/json

{
  "agendar_para": "2026-10-01T09:00:00-03:00",
  "mensagens": [
    { "numero": "5511999990001", "mensagem": "Ana, sua parcela vence hoje." },
    { "numero": "5511999990002", "mensagem": "Bruno, sua parcela vence hoje." }
  ]
}
Webhooks

Seu sistema fica sabendo no instante em que acontece

Dois eventos, dois endpoints seus. Ambos assinados com HMAC SHA-256 e com retentativa automática em caso de falha.

Status de entrega (DLR)

POST /callbacks/dlr HTTP/1.1
Content-Type: application/json
X-Enviar-Assinatura: sha256=...

{
  "id": "msg_9f2c4a1b",
  "referencia": "pedido-88421",
  "numero": "5565999217864",
  "status": "entregue",
  "operadora": "vivo",
  "ocorrido_em": "2026-09-21T14:03:11-03:00"
}

Resposta do cliente

POST /callbacks/resposta HTTP/1.1
Content-Type: application/json
X-Enviar-Assinatura: sha256=...

{
  "id_original": "msg_9f2c4a1b",
  "numero": "5565999217864",
  "texto": "SIM",
  "recebido_em": "2026-09-21T14:05:47-03:00"
}

Status possíveis

  • submetido — A plataforma aceitou a mensagem e ela entrou na fila.
  • enviado — Repassada à operadora. Ainda sem confirmação do aparelho.
  • entregue — A operadora confirmou o recebimento. É o status que vale.
  • expirado — A operadora tentou pelo período de validade e desistiu.
  • rejeitado — Recusada por filtro de conteúdo, bloqueio ou rota.
  • invalido — Número inexistente ou fora do padrão.
Dúvidas técnicas

O que o seu desenvolvedor vai perguntar

Não. A API é HTTP com JSON. Qualquer linguagem que faça uma requisição POST consegue integrar — inclusive ferramentas no-code que permitem chamada HTTP.

O envio simples costuma ficar pronto em menos de uma hora. O que leva mais tempo é o que vem depois: tratar o webhook de status e decidir o que o seu sistema faz com cada resposta.

Sim. Você recebe um token de sandbox que aceita as mesmas rotas e devolve as mesmas respostas, sem disparar mensagem real nem consumir crédito.

A entrega do webhook é repetida com intervalo crescente. Além disso, todo status fica disponível por consulta na API e no relatório do painel, então nada se perde.

Cada chamada traz o cabeçalho X-Enviar-Assinatura com um HMAC SHA-256 do corpo da requisição, calculado com a sua chave secreta. Confira a assinatura antes de processar.

A rota de lote aceita grandes volumes em uma única chamada. Para disparos muito grandes, recomendamos escalonar em blocos — isso melhora o tempo médio de entrega por operadora.

Os exemplos acima ilustram o formato da integração. A documentação completa, com todas as rotas, parâmetros e códigos de erro, é liberada junto com o token de acesso.