POST Ativar Gravação
Inicia a gravação de áudio da sala (composta + por participante), enviada para o Cloudflare R2.
Autenticação necessária
Esta rota requer o header Authorization: Bearer {accessToken}
Sem permissão específica
Não exige @CheckPermissions — qualquer usuário autenticado pode chamar.
Precisa de participante conectado
Deve ser chamada só depois que houver alguém conectado na sala com áudio/vídeo publicado — o LiveKit Room Composite exige isso pra receber o sinal de início de gravação.
Só áudio
A gravação é audioOnly, formato OGG. Não há gravação de vídeo.
Endpoint
POST https://api-dev.imagemais.com.br/api/telemedicine/activate-recording
Corpo da Requisição
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
consultationId | number (inteiro positivo) | ✅ | ID da consulta |
O que acontece
- Se a feature flag
LIVEKIT_ENABLE_RECORDINGestiver desligada, retorna{ data: { isRecording: false } }sem erro (não grava, mas responde 201 normalmente). - Busca a consulta e a sala (
404em ambos os casos se não encontrar). - Se a sala já está gravando (
room.activeRecording), retorna{ data: { isRecording: true } }sem iniciar de novo (idempotente). - Se não há nenhum participante na sala, retorna
400. - Inicia egress composto da sala + um egress por faixa de áudio de cada participante conectado, todos enviados ao R2 em
telemedicine/{sha256(consultationId)}/....
Requisição
curl -X 'POST' \
'https://api-dev.imagemais.com.br/api/telemedicine/activate-recording' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer {accessToken}' \
-d '{
"consultationId": 123
}'
Respostas
201 Sucesso
{
"data": { "isRecording": true }
}
201 Gravação desabilitada (feature flag)
{
"data": { "isRecording": false }
}
400 Nenhum participante na sala
{
"statusCode": 400,
"message": "Nenhum participante na sala. Conecte-se à sala antes de iniciar a gravação."
}
404 Consulta não encontrada
{
"statusCode": 404,
"message": "Consulta não encontrada"
}
404 Sala de telemedicina não encontrada
{
"statusCode": 404,
"message": "Sala de telemedicina não encontrada"
}