Pular para o conteúdo

Cria um item de download

POST/api/downloads/items

Auth
Exige token
Quem pode:
owner
admin
moderator
finance
X-CommunityId
X-CommunityId Envie o X-CommunityId da comunidade em que a operação acontece.

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

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

Corpo da requisição application/json

NomeTipoDescrição
spaceIdobrigatóriostring (uuid)
titleobrigatóriostringmax 140
descriptionopcionalstringTexto formatado (HTML); é sanitizado.
coverUrlopcionalstringURL http(s) de imagem (use /api/upload/content/image).
stampPdfopcionalbooleanCarimbo 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.
categoryIdopcionalstring (uuid)

Respostas

CódigoDescrição
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.

Exemplo com curl

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"}'