Integrações (Server)
A Sendeasy oferece dois produtos de integração:
- Webhook — a Sendeasy envia eventos do seu projeto para uma URL sua.
- Custom (genérica) — sua aplicação chama a Sendeasy para enviar mensagens.
Webhooks podem ser configurados em dois escopos:
- Geral: recebe eventos de todos os canais da empresa.
- Por canal específico: recebe eventos apenas do canal escolhido (uma instância de WhatsApp, uma caixa de Email, um número SMS).
Os dois escopos coexistem: você pode ter 1 webhook geral + N webhooks por canal ativos simultaneamente. Cada evento dispara a UNIÃO dos webhooks aplicáveis (geral + específico). Tokens custom sempre exigem 1 canal específico.
Configuração na UI
Em Configurações → Integrações existe uma lista de integrações. Para cada uma:
- Clique em Nova integração.
- Para webhook, escolha o escopo: Geral (todos os canais) ou Canal específico.
- Se "Canal específico", escolha o tipo (
whatsapp/email/sms) e a instância. - Para webhook: informe a URL e, opcionalmente, um bearer token enviado no header.
- Para custom: o token é gerado pelo sistema e exibido uma única vez. Copie e guarde imediatamente.
Envio de mensagens — POST /api/integration/generic
Este endpoint passa a ter payloads diferentes por tipo de canal. O canal
de destino é derivado do token — sua aplicação não envia channelType no
body. Um token criado para Email só consegue enviar Email; um token de SMS só
consegue enviar SMS.
Header obrigatório:
Authorization: Bearer
Envio WhatsApp
curl -X POST https://server.sendeasy.pro/api/integration/generic \
-H "Authorization: Bearer 12G3N3R1$..." \
-H "Content-Type: application/json" \
-d '{
"name": "Lead WhatsApp",
"number": "5511999999999",
"message": "Quero falar com vendas",
"email": "lead@empresa.com",
"url": "https://landing.com/?utm_source=meta",
"files": ["https://landing.com/apresentacao.pdf"],
"sector": "12"
}'
| Campo | Tipo | Obrigatório |
|---|---|---|
number | string (E.164 sem +) | sim |
message | string | sim |
name | string | não |
email | string | não |
url | string (UTM) | não |
files | string[] (URLs) | não |
sector | string (id da fila) | não |
Envio Email
curl -X POST https://server.sendeasy.pro/api/integration/generic \
-H "Authorization: Bearer 12G3N3R1$..." \
-H "Content-Type: application/json" \
-d '{
"to": ["cliente@empresa.com"],
"subject": "Confirmação do seu pedido",
"html": "<p>Obrigado pela compra!</p>",
"bcc": ["arquivo@empresa.com"]
}'
| Campo | Tipo | Obrigatório |
|---|---|---|
to | string ou string[] (e-mails) | sim |
subject | string | sim |
body ou html | string | um dos dois |
bcc | string ou string[] | não |
text | string | não |
fromName | string | não |
inReplyTo | string | não |
references | string ou string[] | não |
O endereço remetente (fromEmail) é o do canal amarrado ao token.
SMS
Envio SMS
curl -X POST https://server.sendeasy.pro/api/integration/generic \
-H "Authorization: Bearer 12G3N3R1$..." \
-H "Content-Type: application/json" \
-d '{
"to": "+5511999999999",
"body": "Seu código: 123456"
}'
| Campo | Tipo | Obrigatório |
|---|---|---|
to | string (E.164 com +) | sim |
body | string (≤ 1600 chars) | sim |
mediaUrls | string[] (URLs públicas) | não |
metadata | object | não |
Códigos de resposta
| HTTP | error | Significado |
|---|---|---|
| 200 | — | Sucesso |
| 400 | VALIDATION_ERROR | Payload inválido — ver details[] |
| 401 | ERR_NO_PERMISSION | Token ausente/inválido |
| 402 | PROVIDER_ERROR | Sem créditos para o canal |
| 404 | CHANNEL_NOT_FOUND | Canal removido após token criado |
| 502 | PROVIDER_ERROR | Falha no provedor (Twilio, Resend, etc.) |
| 410 | GONE | Endpoint legado descontinuado |
Rotação de tokens
Tokens custom podem ser rotacionados a qualquer momento em Configurações
→ Integrações. A rotação invalida o token anterior imediatamente.
Recomendamos rotação periódica (90 dias) e imediata em caso de suspeita de
vazamento.
Segurança
Nunca embuta tokens em código JavaScript do navegador, repositórios públicos, prints ou logs. Trate o token como uma senha. Armazene em variáveis de ambiente, vault ou secret manager. Em caso de exposição, rotacione imediatamente.
Onde gerenciar
Toda a gestão de tokens e webhooks é feita na plataforma, em Configurações → Integrações. Tokens criados anteriormente continuam válidos — basta revisar e ajustar a configuração na nova tela.