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
- Crie sua conta.
- Adicione e verifique seu domínio.
- Crie uma API key.
- Compre créditos.
- 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ódigo | Tipo / Slug | Descrição |
|---|---|---|
| from | string (email) | Obrigatório. Deve usar um domínio verificado da sua conta. |
| to | string | string[] | Obrigatório. Até 50 destinatários por chamada. |
| subject | string | Obrigatório. |
| html | string | HTML do corpo. html ou text obrigatório. |
| text | string | Texto plano alternativo. |
| cc | string[] | Opcional. |
| bcc | string[] | Opcional. |
| replyTo | string | string[] | Opcional. |
| tags | object | Tags chave-valor anexadas ao envio (até 10). |
| idempotencyKey | string | Opcional. 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ódigo | Tipo / Slug | Descrição |
|---|---|---|
| to | string | E.164 (ex: +5511999998888). |
| message | string | Texto. SMS é dividido a cada 160 chars. |
| senderId | string | Opcional (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 enviadasent— aceita pela nossa infra de enviodelivered— confirmação de entrega ao destinatáriobounced— retorno permanentecomplained— marcada como spam pelo destinatáriorejected|failed— erro no envio
Códigos de erro
| Campo / Código | Tipo / Slug | Descrição |
|---|---|---|
| 400 | bad_request | Payload inválido. Cheque a resposta para detalhes. |
| 401 | unauthorized | API key ausente ou inválida. |
| 402 | insufficient_credits | Saldo insuficiente para o envio. |
| 403 | forbidden | Conta suspensa ou domínio não verificado. |
| 429 | rate_limited | Limite de requisições atingido. |
| 502 | upstream_error | Erro temporário no upstream. Tente novamente. |