Skip to content

Cria um item de download

POST/api/downloads/items

Auth
Requires a token
Who can call it:
owner
admin
moderator
finance
X-CommunityId
X-CommunityId Send the X-CommunityId of the community the operation happens in.
Endpoint descriptions come straight from the API specification and are in Portuguese for now. The interface around them is translated.

Quem o `canCreate` do space permite (por padrão só a equipe: owner, admin, moderador, financeiro; membro recebe 403). O item nasce **rascunho** e **o produto `kind: download` nasce junto**, 1:1, `DRAFT`, preço 0 na moeda da comunidade (bloco `product` na resposta; "Preço e venda" edita esse produto em `/api/products/{id}`). No modo `single` um segundo item é 409. Com `requireApproval` ligado, o item de um membro fica em análise (`moderationStatus: PENDING`, invisível aos demais) até a equipe aprovar; ao aprovar, o rascunho que já tem arquivo é publicado na hora (mesma regra dos Classificados), sem o autor precisar publicar de novo. Título vazio: 400.

Headers

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

Request body application/json

NameTypeDescription
spaceIdrequiredstring (uuid)
titlerequiredstringmax 140
descriptionoptionalstringTexto formatado (HTML); é sanitizado.
coverUrloptionalstringURL http(s) de imagem (use /api/upload/content/image).
stampPdfoptionalbooleanCarimbo no PDF: quem não é da equipe baixa uma cópia com "Baixado por {e-mail} em {data e hora}" no rodapé da última página (fuso da comunidade). PDF acima de 25 MB, criptografado ou corrompido sai sem carimbo.
categoryIdoptionalstring (uuid)

Responses

StatusDescription
201Item criado (com o produto).
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.
409Space no modo `single` já tem o item.
500Erro interno do servidor.

curl example

curl -X POST "https://api.memberfy.net/api/downloads/items" \
  -H "Authorization: Bearer $TOKEN" \
  -H "X-CommunityId: $COMMUNITY_ID" \
  -H "Content-Type: application/json" \
  -d '{"spaceId":"00000000-0000-0000-0000-000000000000","title":"string"}'