Saltar para o conteúdo

Link para tocar um áudio ou vídeo (player)

GET/api/downloads/files/{fileId}/stream-url

Auth
Exige token
X-CommunityId
X-CommunityId Envie o X-CommunityId da comunidade em que a operação acontece.

Para os arquivos com `playable: true` (áudio WAV e MP3, vídeo MP4). Mesma regra de acesso do download (`POST /api/downloads/files/{fileId}/download`): equipe e autor sempre; os demais com o item publicado e aprovado, o space visível e o produto livre, comprado ou incluído no plano. Sem acesso: 403 com `data.productId`, `price` e `soldOut`; arquivo de rascunho, de item em análise ou de outra comunidade: 404. Tipo que não toca (inclusive `video/mpeg`, que os navegadores não reproduzem): 400 — use o download.

Devolve `{ url, expiresAt, name, mimeType, size, player }`: link do S3 (nunca da API), `inline`, com o `Content-Type` fixo do tipo conferido no envio (`audio/wav`, `audio/mpeg` ou `video/mp4`), válido por **3 horas** para cobrir um vídeo longo com pausas (o player faz várias requisições com `Range` enquanto toca). Venceu: peça outro e retome do ponto em que estava. Tocar **não conta como download** (nem nos contadores da equipe nem no histórico do membro). No máximo 240 por hora por pessoa. **Nunca grave nem registre a URL**.

Parâmetros

NomeOndeTipoDescrição
fileIdobrigatóriopathstring (uuid)

Headers

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

Respostas

CódigoDescrição
200Link para o player.
400Requisição inválida — falha de validação.
401Token ausente, inválido ou expirado.
403Autenticado, mas sem permissão para esta operação.
404Recurso não encontrado.
429Muitos pedidos em pouco tempo.
500Erro interno do servidor.

Exemplo com curl

curl -X GET "https://api.memberfy.net/api/downloads/files/<fileId>/stream-url" \
  -H "Authorization: Bearer $TOKEN" \
  -H "X-CommunityId: $COMMUNITY_ID"