Saltar para o conteúdo

Link assinado de uma mídia

GET/api/media/{id}/url

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

Devolve `{ url, expiresAt, thumbnailUrl? }` (1 hora, `inline`, aceita `Range`) **depois** da checagem de acesso: quem vê o space (plano, grupo, pago ou privado inclusive) e o dono da mídia está aberto à pessoa (post aprovado, anúncio no prazo, imagem aprovada, gravação de evento para a equipe, quem está inscrito ou tem a compra do evento). Sem acesso: 403 e **nenhum link**. Mídia ainda sem dono só abre para quem enviou e para a equipe. Nunca grave nem registre a URL. Vídeo de comunidade com streaming nativo ligado: quando a versão adaptativa (HLS) já está pronta, vem também `hls` (`manifestUrl`, `params` com `Policy`, `Signature` e `Key-Pair-Id`, `expiresAt`, `heights`). O player pede `manifestUrl` e **anexa `params` na query de toda requisição** (manifesto, listas e segmentos); sem cookies. O link vale 2 horas: peça outro perto de `expiresAt`. Enquanto `processingStatus` for `queued` ou `processing`, ou se for `failed`, não há `hls` e o MP4 de `url` segue tocando. Sem `hls`, use `url`.

Parâmetros

NomeOndeTipoDescrição
idobrigató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 assinado.
401Token ausente, inválido ou expirado.
403Autenticado, mas sem permissão para esta operação.
404Recurso não encontrado.
500Erro interno do servidor.

Exemplo com curl

curl -X GET "https://api.memberfy.net/api/media/<id>/url" \
  -H "Authorization: Bearer $TOKEN" \
  -H "X-CommunityId: $COMMUNITY_ID"