Saltar al contenido

Baixa um arquivo (link assinado)

POST/api/downloads/files/{fileId}/download

Auth
Requiere token
X-CommunityId
X-CommunityId Envía el X-CommunityId de la comunidad en la que ocurre la operación.
Las descripciones de los endpoints vienen de la especificación de la API y, por ahora, están en portugués. La interfaz alrededor está traducida.

Confere o acesso e devolve `{ url, expiresAt, name, mimeType, size }`: link do S3 válido por **5 minutos**, gerado a cada pedido, `attachment` com o nome original. Quem recebe o link o abre até ele vencer. **Nunca grave nem registre a URL**.

Quem baixa: a equipe (owner, admin, moderador, financeiro) e o autor sempre, sem contar; os demais, se o item está publicado e aprovado, a pessoa vê o space e o produto do item é livre (rascunho, inativo ou preço 0 sem estoque), ou há compra ativa (não reembolsada nem expirada), ou plano que inclui o produto, ou ela já baixou antes (o item que passou a ter preço não tira o acesso de quem já tinha). Sem acesso: 403 com `data.productId`, `price` e `soldOut` para a tela mostrar "Comprar". Cada download de membro vira um registro (contadores da equipe); no máximo 120 por hora por pessoa.

Se o item tem `stampPdf` e o arquivo é PDF, quem não é da equipe recebe uma cópia carimbada ("Baixado por {e-mail} em {data e hora}", fuso da comunidade, idioma de quem baixa) e `stamped: true`. Acima de 25 MB, criptografado ou corrompido: o original, `stamped: false`.

Parámetros

NombreDóndeTipoDescripción
fileIdobligatoriopathstring (uuid)

Headers

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

Cuerpo de la solicitud application/json

La especificación no declara los campos de este cuerpo (una subida multipart, por ejemplo). Consulta la guía del tema.

Respuestas

CódigoDescripción
200Link assinado.
401Token ausente, inválido ou expirado.
403Autenticado, mas sem permissão para esta operação.
404Recurso não encontrado.
429Muitos downloads em pouco tempo.
500Erro interno do servidor.

Ejemplo con curl

curl -X POST "https://api.memberfy.net/api/downloads/files/<fileId>/download" \
  -H "Authorization: Bearer $TOKEN" \
  -H "X-CommunityId: $COMMUNITY_ID" \
  -H "Content-Type: application/json" \
  -d '{}'