Documentação do endpoint para gerenciar chamadas WhatsApp.
Rejeita uma chamada recebida no WhatsApp.
Endpoint: POST /call/reject
Headers:
Content-Type: application/json
apikey: SUA-CHAVE-API
Body:
{
"callCreator": "5511999999999@s.whatsapp.net",
"callId": "ABC123XYZ"
}Parâmetros:
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
callCreator |
string (JID) | ✅ Sim | JID de quem está ligando |
callId |
string | ✅ Sim | ID da chamada |
Nota: Os dados da chamada (callCreator e callId) são recebidos via webhook quando uma chamada chega. Você deve capturar esses dados do evento call para usar este endpoint.
Resposta de Sucesso (200):
{
"message": "success"
}Resposta de Erro (400):
{
"error": "invalid request body"
}Resposta de Erro (500):
{
"error": "instance not found"
}Exemplo cURL:
curl -X POST http://localhost:4000/call/reject \
-H "Content-Type: application/json" \
-H "apikey: SUA-CHAVE-API" \
-d '{
"callCreator": "5511999999999@s.whatsapp.net",
"callId": "ABC123XYZ"
}'Quando alguém liga para sua instância, você recebe um webhook:
{
"event": "call",
"instance": "minha-instancia",
"data": {
"id": "ABC123XYZ",
"from": "5511999999999@s.whatsapp.net",
"timestamp": "2025-11-11T10:30:00Z",
"isVideo": false,
"isGroup": false
}
}No seu servidor que recebe webhooks, quando chegar um evento de chamada:
- Capture o
ide ofromdo evento - Faça uma requisição POST para
/call/reject - Use os dados capturados como
callIdecallCreator
Dessa forma, chamadas são rejeitadas automaticamente assim que chegam.
Para rejeitar apenas chamadas de números não autorizados:
- Mantenha uma lista de números permitidos
- Ao receber evento de chamada, verifique se o número está na lista
- Se não estiver, rejeite a chamada usando o endpoint
/call/reject - Se estiver autorizado, não faça nada (deixe tocar)
Útil para contas de atendimento que só respondem via mensagens:
- Configure seu webhook para receber eventos de chamada
- Quando receber evento
call, rejeite imediatamente - Envie uma mensagem de texto explicando que não atende chamadas
Rejeitar chamadas fora do horário de trabalho:
- Ao receber evento de chamada, verifique o horário atual
- Se estiver fora do horário comercial (ex: Segunda a Sexta, 9h-18h), rejeite
- Envie mensagem informando o horário de atendimento
Aceitar apenas chamadas de áudio:
- Verifique o campo
isVideono evento de chamada - Se for
true, rejeite a chamada - Envie mensagem pedindo para ligar com chamada de voz
-
Não é possível aceitar chamadas via API: A API do WhatsApp Multi-Device não permite aceitar chamadas programaticamente. Você só pode rejeitá-las.
-
Chamadas em grupos: Chamadas em grupos também disparam o evento, mas o campo
isGroupserátrue. -
Timing: A rejeição deve ser feita rapidamente. Se demorar muito, a chamada pode cair antes da rejeição.
-
Sempre responda ao webhook rapidamente: Rejeite a chamada em menos de 2 segundos para evitar timeout.
-
Envie mensagem explicativa: Após rejeitar, informe o usuário o motivo via mensagem de texto.
-
Log de chamadas rejeitadas: Mantenha registro para análise, salvando data/hora, número, ID da chamada e motivo da rejeição.
-
Tratamento de erros: Sempre trate possíveis erros na rejeição para evitar que seu webhook trave ao falhar em rejeitar uma chamada.
| Código | Erro | Solução |
|---|---|---|
| 400 | invalid request body |
Verifique formato do JSON |
| 500 | instance not found |
Instância não conectada |
| 500 | error reject call |
Chamada não existe ou já expirou |
Quando você recebe um webhook de chamada, a estrutura é:
{
"event": "call",
"instance": "minha-instancia",
"data": {
"id": "ABC123XYZ",
"from": "5511999999999@s.whatsapp.net",
"timestamp": "2025-11-11T10:30:00Z",
"isVideo": false,
"isGroup": false,
"status": "ringing"
}
}Campos:
id: ID único da chamada (use comocallId)from: JID de quem está ligando (use comocallCreator)timestamp: Quando a chamada foi iniciadaisVideo: Se é chamada de vídeo (true) ou áudio (false)isGroup: Se é chamada em grupostatus: Status da chamada (ringing, timeout, reject)
Para receber eventos de chamada, configure o webhook:
WEBHOOK_URL=https://seu-servidor.com/webhookCertifique-se de que seu servidor:
- Aceita requisições POST
- Responde rapidamente (< 5 segundos)
- Retorna status 200 para confirmar recebimento
- Sistema de Eventos - Configurar webhooks
- API de Mensagens - Enviar mensagem após rejeitar
- API de Usuários - Gerenciar contatos
- Visão Geral da API
Documentação gerada para Evolution GO v1.0