Como encerrar uma chamada de voz(Calling API)
📞 Encerramento de Chamada
Quando uma chamada está ativa, qualquer um dos lados — empresa ou usuário — pode encerrá-la. O fluxo é simples, mas é importante documentar como isso ocorre para fechar corretamente a sessão WebRTC.
Existem duas formas de a chamada ser finalizada:
A) O usuário encerra a chamada no aplicativo WhatsApp
Se o usuário clicar em Desligar no app:
O WhatsApp encerra imediatamente a sessão de mídia.
O WhatsApp envia para o webhook da empresa um evento como:
calls.event: "terminate"
calls.direction": "USER_INITIATED"
B) A empresa encerra a chamada
Se o encerramento for iniciado pela própria empresa (backend), então é necessário chamar a API de finalização:
API: POST /waba/{wabaId}/client/{phoneNumberId}/chamada/termina-chamada
URI
Request (exemplo)
{
"callId": "string",
}
O WhatsApp envia para o webhook da empresa um evento como:
calls.event: "terminate"
calls.direction": BUSINESS_INITIATED"
O encerramento da chamada não requer troca de SDP. O SDP faz parte apenas da negociação inicial. O término é sempre um comando unilateral (hangup) seguido de notificação via webhook.