API Pública (Server)
Guia técnico para consumir as rotas públicas da Sendeasy via backend.
Base URL
https://backend.sendeasy.app
Autenticação
Existem 3 modelos principais:
- API Token (
Authorization: Bearer <api_token>) — WABA API e Bots API - Token do canal (
Authorization: Bearer <token_do_canal>) — WhatsApp em/api/messages/send, e-mail em/api/v1/email/* - Token de integração (
/api/integration/generic)
Endpoints públicos principais
1) Mensageria simples
| Método | Endpoint | Auth |
|---|---|---|
POST | /api/messages/send | Token do canal |
Payload base:
{
"name": "Lead Exemplo",
"email": "lead@exemplo.com",
"number": "5511999999999",
"body": "Olá! Quero saber mais.",
"sector": "12",
"files": ["https://meusite.com/arquivo.pdf"]
}
2) Integrações públicas
| Método | Endpoint | Auth |
|---|---|---|
POST | /api/integration/generic | Token Generic |
3) WABA API
Prefixo:
/api/v1/waba/:whatsappId
Detalhes completos em /server/waba.
4) E-mail API
| Método | Endpoint | Auth |
|---|---|---|
POST | /api/v1/email/send | Token do e-mail (canal) |
GET | /api/v1/email/health | Token do e-mail (canal) |
Envio transacional pelo e-mail dono do token (cada e-mail do projeto tem o seu, em Canais → E-mail), 1 crédito de e-mail por envio. Detalhes completos em /server/email.
5) Bots API
| Método | Endpoint | Auth |
|---|---|---|
POST | /api/v1/ai/completion | API Token |
POST | /api/v1/ai/extract | API Token |
POST | /api/v1/ai/search | API Token |
GET | /api/v1/ai/health | API Token |
Geração de texto, extração de PDF e busca na base de conhecimento do bot, 1 crédito de bot por geração (search e health não consomem). Detalhes completos em /server/bots.
6) Submissões de Diagnóstico
| Método | Endpoint | Auth |
|---|---|---|
POST | /api/v1/diagnostic-submissions | API Token |
Registra as tentativas de envio dos seus formulários de diagnóstico (quiz/avaliação) para acompanhar em Leads → Submissões de Diagnóstico. Não consome créditos. Detalhes completos em /server/diagnosticos.
Exemplo cURL (/api/messages/send)
curl --location 'https://backend.sendeasy.app/api/messages/send' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer SEU_TOKEN_DO_CANAL' \
--data '{
"name": "Lead Exemplo",
"number": "5511999999999",
"body": "Mensagem enviada por integração"
}'
Respostas e contratos
Sucesso típico
{
"message": "Message queued successfully"
}
Erro típico
{
"error": "ERR_NO_PERMISSION"
}
Traduções (padrão frontend)
Para aplicações multilíngues, traduza o error no client usando catálogo
backendErrors com pt, en e es.
Exemplo:
const i18nError = backendErrors[locale]?.[response.error] || response.error
Em integrações de produção, normalize sua leitura de erros pelo campo
error e não por textos literais.