API Pública (Server)
Guia técnico para consumir as rotas públicas da Sendeasy via backend.
Base URL
https://server.sendeasy.app
Autenticação
Existem 3 modelos principais:
- API Token (
Authorization: Bearer <api_token>) - Token do canal (
Authorization: Bearer <whatsapp_token>) - Token de integração (GreatPages/Generic/Respondi)
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/greatpages | Token GreatPages |
POST | /api/integration/generic | Token Generic |
POST | /api/integration/respondi | Token Respondi |
Endpoints auxiliares GreatPages:
| Método | Endpoint |
|---|---|
POST | /api/integration/greatpages/validate |
POST | /api/integration/greatpages/fields |
POST | /api/integration/greatpages/sectors |
3) WABA API
Prefixo:
/api/v1/waba/:whatsappId
Detalhes completos em /server/waba.
Exemplo cURL (/api/messages/send)
curl --location 'https://server.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
{
"mensagem": "Mensagem enviada"
}
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.