Listar Participantes de uma Chamada
O endpoint /api/calls/{id}/participants
permite listar todos os participantes atualmente ativos em uma chamada utilizando seu Token de API.
Requisição
Lista os participantes que estão atualmente conectados na chamada.
Cabeçalhos:
Exemplos de Implementação
curl -X GET "https://api.videochamada.com.br/api/calls/{id}/participants" \
-H "Authorization: Bearer {API_TOKEN}"
import requests
response = requests.get(
"https://api.videochamada.com.br/api/calls/{id}/participants",
headers={"Authorization": "Bearer {API_TOKEN}"}
)
print(response.json())
const response = await fetch('https://api.videochamada.com.br/api/calls/{id}/participants', {
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}");
var response = await client.GetAsync("https://api.videochamada.com.br/api/calls/{id}/participants");
var content = await response.Content.ReadAsStringAsync();
Console.WriteLine(content);
Resposta
Exemplo de Resposta:
[
{
"sessionId": "session_abc123",
"username": "João Silva",
"firstSeen": "2025-10-16T10:05:02Z",
"lastSeen": "2025-10-16T10:20:15Z",
"joinedAt": "2025-10-16T10:05:02Z",
"leftAt": null,
"active": true,
"events": [
{
"type": "participant_joined",
"timestamp": "2025-10-16T10:05:02Z"
}
]
},
{
"sessionId": "session_def456",
"username": "Maria Santos",
"firstSeen": "2025-10-16T10:06:15Z",
"lastSeen": "2025-10-16T10:15:30Z",
"joinedAt": "2025-10-16T10:06:15Z",
"leftAt": "2025-10-16T10:15:30Z",
"active": false,
"events": [
{
"type": "participant_joined",
"timestamp": "2025-10-16T10:06:15Z"
},
{
"type": "participant_left",
"timestamp": "2025-10-16T10:15:30Z"
}
]
}
]
Explicação dos Campos:
A resposta é um array direto de participantes (não um objeto com data
e count
).
Objeto de Participante:
- sessionId: ID único da sessão WebRTC do participante
- username: Nome do participante informado ao entrar na chamada
- firstSeen: Data e hora da primeira vez que o participante foi visto na chamada
- lastSeen: Data e hora da última atividade registrada do participante
- joinedAt: Data e hora em que o participante entrou na chamada
- leftAt: Data e hora em que o participante saiu (null se ainda ativo)
- active: Indica se o participante está atualmente ativo na chamada
- events: Array com histórico de eventos deste participante
- type: Tipo do evento (
participant_joined
,participant_left
,disconnected
, etc.) - timestamp: Data e hora do evento
Boas Práticas
- Participantes Ativos e Inativos: Esta listagem retorna todos os participantes da chamada, tanto ativos quanto inativos. Use o campo
active
para filtrar apenas os ativos. - Histórico de Eventos: Cada participante inclui um array
events
com seu histórico de atividades na chamada. - Histórico Completo: Para ver eventos de toda a chamada de forma unificada, use o endpoint de eventos.
- Polling Moderado: Se necessário fazer polling, respeite intervalos de pelo menos 5 segundos entre requisições.
Casos de Uso
- Lista de Presença: Exibir quem está atualmente na chamada
- Controle de Acesso: Verificar se determinado participante está conectado
- Monitoramento: Acompanhar número de participantes em tempo real
- Moderação: Identificar participantes para ações de moderação
- Analytics: Coletar dados sobre participação simultânea
Diferença entre Participantes e Eventos
Endpoint | Propósito | Dados Retornados |
---|---|---|
/api/calls/{id}/participants |
Lista todos participantes com seu histórico individual | Participantes ativos e inativos, com eventos de cada um |
/api/calls/{id}/events |
Histórico unificado de toda a chamada | Todos os eventos em ordem cronológica |
Info
Dica: Use /participants
para visão por participante (quem participou, quando entrou/saiu, eventos individuais). Use /events
para timeline completa da chamada.