URL assinada para ver o vídeo ou baixar o arquivo da aula
GET/api/courses/{courseId}/lesson/{lessonId}/media
- Auth
- Jeton requis
- Clé d’API:
- courses:read
- X-CommunityId
X-CommunityIdEnvoyez le X-CommunityId de la communauté où l’opération a lieu.
Devolve `{ url, expiresAt }` **depois** da mesma checagem do conteúdo da aula: aluno matriculado (`enrolled` ou `completed`) de curso publicado, com a aula **liberada** (sequência e data), ou a equipe (owner, admin, moderador, financeiro; também em curso em rascunho). Visitante, não matriculado, quem saiu do curso e aula travada recebem 403 **sem URL**; outro curso ou outra comunidade, 404. Aula sem arquivo hospedado: 404.
A URL é de leitura, aceita `Range` (pular no vídeo) e é do S3 diretamente. **Vídeo vale 1 hora** (`inline`); **arquivo vale 5 minutos** (`attachment`, com o nome original). Quando vencer, peça outra. Quem já recebeu uma URL ainda válida a abre até ela vencer; desmatricular impede só as URLs novas. **Nunca grave nem registre a URL**; nenhuma outra resposta da API traz URL de arquivo hospedado.
**Aula com Drop** (vídeo gravado no app): vem o vídeo assinado como em `GET /api/media/{id}/url` (`url` do MP4, `hls` quando a versão adaptativa estiver pronta, `thumbnailUrl`, `durationSeconds`, `processingStatus`), com `source: drop` e `mediaId`.
Paramètres
| Nom | Emplacement | Type | Description |
|---|---|---|---|
courseIdobligatoire | path | string (uuid) | |
lessonIdobligatoire | path | string (uuid) |
En-têtes
| Nom | Type | Description |
|---|---|---|
X-CommunityIdfacultatif | string (uuid) | ID da comunidade em que a operação acontece. Obrigatório na maioria dos endpoints com escopo de comunidade. |
Réponses
| Statut | Description |
|---|---|
200 | URL assinada. |
401 | Token ausente, inválido ou expirado; token de outra comunidade (o `X-CommunityId` ou o `communityId` do corpo não é o do token); token antigo ou de uma sessão encerrada (troca de senha, convite aceito). Nesses casos a mensagem pede para entrar de novo (`auth.signInAgain`). |
403 | Autenticado, mas sem permissão para esta operação. |
404 | Recurso não encontrado. |
500 | Erro interno do servidor. |
Exemple curl
curl -X GET "https://api.memberfy.net/api/courses/<courseId>/lesson/<lessonId>/media" \
-H "Authorization: Bearer $TOKEN" \
-H "X-CommunityId: $COMMUNITY_ID"