Obter Status de uma Chamada
O endpoint /api/calls/{id}/status
permite obter o status detalhado de uma chamada, incluindo contagem de participantes ativos, utilizando seu Token de API.
Requisição
Obtém informações em tempo real sobre o status de uma chamada específica.
Cabeçalhos:
Exemplos de Implementação
curl -X GET "https://api.videochamada.com.br/api/calls/{id}/status" \
-H "Authorization: Bearer {API_TOKEN}"
import requests
response = requests.get(
"https://api.videochamada.com.br/api/calls/{id}/status",
headers={"Authorization": "Bearer {API_TOKEN}"}
)
print(response.json())
const response = await fetch('https://api.videochamada.com.br/api/calls/{id}/status', {
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}/status");
var content = await response.Content.ReadAsStringAsync();
Console.WriteLine(content);
Resposta
Exemplo de Resposta:
{
"callId": "call_123",
"status": "active",
"started": "2025-10-16T10:05:00Z",
"durationMinutes": 15,
"activeParticipants": 3,
"participants": [
{
"sessionId": "session_abc123",
"username": "João Silva",
"joinedAt": "2025-10-16T10:05:02Z",
"active": true
},
{
"sessionId": "session_def456",
"username": "Maria Santos",
"joinedAt": "2025-10-16T10:06:15Z",
"active": true
}
],
"totalBillableMinutes": "15.50"
}
{
"callId": "call_456",
"status": "ended",
"started": "2025-10-16T09:02:00Z",
"durationMinutes": 43,
"activeParticipants": 0,
"participants": [],
"totalBillableMinutes": "86.00"
}
Explicação dos Campos:
- callId: Identificador único da chamada
- status: Status atual da chamada
created
: Chamada criada mas ainda não iniciadaactive
: Chamada em andamentoended
: Chamada encerrada- started: Data e hora de início da chamada (quando primeiro participante entrou)
- durationMinutes: Duração da chamada em minutos (desde o início até agora ou até o fim)
- activeParticipants: Número de participantes atualmente ativos na chamada
- participants: Array com detalhes dos participantes ativos
- sessionId: ID único da sessão WebRTC do participante
- username: Nome do participante
- joinedAt: Data e hora em que o participante entrou
- active: Indica se o participante está atualmente ativo
- totalBillableMinutes: Total de minutos faturáveis acumulados
Boas Práticas
- Monitoramento em Tempo Real: Use este endpoint para criar dashboards de monitoramento de chamadas ativas.
- Alertas: Implemente verificações periódicas para detectar chamadas longas ou com muitos participantes.
- Polling: Se necessário fazer polling, respeite intervalos de pelo menos 5 segundos entre requisições.
- Webhooks: Para notificações automáticas de mudança de status, considere usar webhooks em vez de polling constante.
Casos de Uso
- Dashboard de Administração: Mostrar chamadas ativas em tempo real
- Relatórios de Uso: Calcular duração e custo de chamadas em andamento
- Sistemas de Fila: Verificar se há vagas disponíveis antes de adicionar novos participantes
- Alertas de Capacidade: Notificar quando uma chamada atinge determinado número de participantes