Simples Message

Documentação

A API do Simples Message é REST + JSON. Latência média ~80 ms. Auth por Bearer API key (gere em API keys).

Quickstart

  1. Crie sua conta.
  2. Adicione e verifique seu domínio.
  3. Crie uma API key.
  4. Compre créditos.
  5. Faça o primeiro POST (exemplo abaixo).

Enviar email

POST /v1/emails — custo: 1 crédito ($0.01) por destinatário.

curl -X POST https://message.simples.media/api/v1/emails \
  -H "Authorization: Bearer sm_live_xxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "from": "no-reply@suaempresa.com.br",
    "to": "cliente@gmail.com",
    "subject": "Seu pedido foi confirmado",
    "html": "<p>Obrigado pela sua compra!</p>",
    "text": "Obrigado pela sua compra!"
  }'

Campos

Campo / CódigoTipo / SlugDescrição
fromstring (email)Obrigatório. Deve usar um domínio verificado da sua conta.
tostring | string[]Obrigatório. Até 50 destinatários por chamada.
subjectstringObrigatório.
htmlstringHTML do corpo. html ou text obrigatório.
textstringTexto plano alternativo.
ccstring[]Opcional.
bccstring[]Opcional.
replyTostring | string[]Opcional.
tagsobjectTags chave-valor anexadas ao envio (até 10).
idempotencyKeystringOpcional. Evita duplicação em retries.

Enviar SMS

POST /v1/sms — custo: 10 créditos ($0.10) por SMS.

curl -X POST https://message.simples.media/api/v1/sms \
  -H "Authorization: Bearer sm_live_xxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "to": "+5511999998888",
    "message": "Seu código de verificação é 123456. Não compartilhe."
  }'
Campo / CódigoTipo / SlugDescrição
tostringE.164 (ex: +5511999998888).
messagestringTexto. SMS é dividido a cada 160 chars.
senderIdstringOpcional (BR geralmente não suporta).
type"Transactional" | "Promotional"Default: Transactional.

Consultar status

GET /v1/messages/{id}

curl https://message.simples.media/api/v1/messages/{id} \
  -H "Authorization: Bearer sm_live_xxxxxxxxxxxx"

Status possíveis

  • queued — recebida, ainda não enviada
  • sent — aceita pela nossa infra de envio
  • delivered — confirmação de entrega ao destinatário
  • bounced — retorno permanente
  • complained — marcada como spam pelo destinatário
  • rejected | failed — erro no envio

Códigos de erro

Campo / CódigoTipo / SlugDescrição
400bad_requestPayload inválido. Cheque a resposta para detalhes.
401unauthorizedAPI key ausente ou inválida.
402insufficient_creditsSaldo insuficiente para o envio.
403forbiddenConta suspensa ou domínio não verificado.
429rate_limitedLimite de requisições atingido.
502upstream_errorErro temporário no upstream. Tente novamente.