Existe um recurso REST para fazer upload e atribuir anexos a Posts?

Não há um campo “attachments” diretamente na API de Posts. Para anexar um upload a um post, você precisará:

  1. Fazer o upload do arquivo (obter o URL curto).
  • Primeiro, faça o upload do seu anexo usando o endpoint /uploads.json:
  • Endpoint: POST /uploads.json
  • A resposta conterá um short_url como upload://abcDEF123.pdf.
  1. Editar/criar o post para incluir esse URL curto, para que o Discourse o reconheça e o vincule a esse post. Para atribuir o anexo carregado a um Post, você precisa incluir o URL curto do upload no conteúdo bruto do post usando Markdown. Para um anexo, você pode usar este formato:
[nome_do_arquivo.pdf|attachment](upload://abcDEF123.pdf)

Ou para imagens:

![texto alternativo](upload://abcDEF123.png)

Isso pode ser feito ao criar um post (usando POST /posts.json) ou ao editar um post existente (usando PUT /posts/{id}.json), colocando o link Markdown no campo raw.

Como referência, também existem alguns tópicos existentes sobre este processo aqui:

1 curtida