Listar Eventos de uma Chamada
O endpoint /api/calls/{id}/events
permite listar todos os eventos ocorridos durante uma chamada utilizando seu Token de API.
Requisição
Lista os eventos de uma chamada específica, incluindo entrada e saída de participantes.
Cabeçalhos:
Parâmetros de consulta
- type: (string, opcional) Filtra eventos por tipo específico. Valores possíveis:
call_started
- Início da chamada (primeiro participante)call_ended
- Fim da chamadaparticipant_joined
- Participante entrouparticipant_left
- Participante saiuparticipant_reconnected
- Participante reconectoudisconnected
- Desconexão inesperada
Exemplos de Implementação
# Listar todos os eventos
curl -X GET "https://api.videochamada.com.br/api/calls/{id}/events" \
-H "Authorization: Bearer {API_TOKEN}"
# Filtrar apenas eventos de entrada
curl -X GET "https://api.videochamada.com.br/api/calls/{id}/events?type=participant_joined" \
-H "Authorization: Bearer {API_TOKEN}"
import requests
# Listar todos os eventos
response = requests.get(
"https://api.videochamada.com.br/api/calls/{id}/events",
headers={"Authorization": "Bearer {API_TOKEN}"}
)
# Filtrar por tipo
response = requests.get(
"https://api.videochamada.com.br/api/calls/{id}/events",
headers={"Authorization": "Bearer {API_TOKEN}"},
params={"type": "participant_joined"}
)
print(response.json())
// Listar todos os eventos
const response = await fetch('https://api.videochamada.com.br/api/calls/{id}/events', {
method: 'GET',
headers: {
'Authorization': 'Bearer {API_TOKEN}'
}
});
// Filtrar por tipo
const filtered = await fetch('https://api.videochamada.com.br/api/calls/{id}/events?type=participant_joined', {
method: 'GET',
headers: {
'Authorization': 'Bearer {API_TOKEN}'
}
});
const data = await response.json();
console.log(data);
var client = new HttpClient();
client.DefaultRequestHeaders.Add("Authorization", "Bearer {API_TOKEN}");
// Listar todos os eventos
var response = await client.GetAsync("https://api.videochamada.com.br/api/calls/{id}/events");
// Filtrar por tipo
var filtered = await client.GetAsync("https://api.videochamada.com.br/api/calls/{id}/events?type=participant_joined");
var content = await response.Content.ReadAsStringAsync();
Console.WriteLine(content);
Resposta
Exemplo de Resposta:
[
{
"id": "event_124",
"type": "participant_joined",
"sessionId": "session_abc123",
"participantName": "João Silva",
"timestamp": "2025-10-16T10:05:02Z"
},
{
"id": "event_125",
"type": "participant_joined",
"sessionId": "session_def456",
"participantName": "Maria Santos",
"timestamp": "2025-10-16T10:06:15Z"
},
{
"id": "event_126",
"type": "disconnected",
"sessionId": "session_abc123",
"participantName": "João Silva",
"timestamp": "2025-10-16T10:35:00Z"
},
{
"id": "event_127",
"type": "participant_left",
"sessionId": "session_def456",
"participantName": "Maria Santos",
"timestamp": "2025-10-16T10:35:30Z"
}
]
Explicação dos Campos:
A resposta é um array direto de eventos (não um objeto com data
).
Objeto de Evento:
- id: Identificador único do evento
- type: Tipo do evento
- sessionId: ID da sessão WebRTC do participante (quando aplicável)
- participantName: Nome do participante (quando aplicável)
- timestamp: Data e hora em que o evento ocorreu
Tipos de Eventos:
- call_started: Primeiro participante entrou na chamada
- call_ended: Chamada foi encerrada
- participant_joined: Um participante entrou na chamada
- participant_left: Um participante saiu da chamada
- participant_reconnected: Um participante reconectou após queda
- disconnected: Desconexão inesperada de um participante
Boas Práticas
- Rastreamento de Participantes: Use este endpoint para construir relatórios detalhados de participação.
- Análise de Qualidade: Eventos de
disconnected
podem indicar problemas de conexão. - Cálculo de Duração: Combine eventos de
participant_joined
eparticipant_left
para calcular tempo de permanência individual. - Auditoria: Mantenha logs dos eventos para fins de auditoria e troubleshooting.