Saltar al contenido

Cria um item de download

POST/api/downloads/items

Auth
Requiere token
Quién puede:
owner
admin
moderator
finance
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.

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

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

NombreTipoDescripción
spaceIdobligatoriostring (uuid)
titleobligatoriostringmax 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)

Respuestas

CódigoDescripción
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.

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