Aller au contenu

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-CommunityId Envoyez le X-CommunityId de la communauté où l’opération a lieu.
Les descriptions des endpoints viennent directement de la spécification de l’API et sont en portugais pour l’instant. L’interface autour est traduite.

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

NomEmplacementTypeDescription
courseIdobligatoirepathstring (uuid)
lessonIdobligatoirepathstring (uuid)

En-têtes

NomTypeDescription
X-CommunityIdfacultatifstring (uuid)ID da comunidade em que a operação acontece. Obrigatório na maioria dos endpoints com escopo de comunidade.

Réponses

StatutDescription
200URL assinada.
401Token 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`).
403Autenticado, mas sem permissão para esta operação.
404Recurso não encontrado.
500Erro 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"