Private Message Send API

Você está definindo o arquétipo? No futuro, se você incluir a solicitação que está enviando, será mais fácil ajudá-lo.

O seguinte exemplo funciona para mim:

curl https://$DISCOURSE_HOSTNAME/posts \
  -H "api-key: $DISCOURSE_API_KEY" \
  --data 'title=Testando criação de MP&archetype=private_message&target_recipients=user1,user2' \
  --data-urlencode 'raw=Corpo da MP, longo o suficiente para atender às regras do site & pode ser complexo ♥'

:information_source: se você estiver usando uma chave de API all_users, também precisará especificar api-username

Obrigado, isso resolveu! Não, como a documentação da API não listava archetype como obrigatório (nem mesmo “obrigatório para mensagens privadas” da mesma forma que target_usernames) e não dizia nada sobre sua finalidade, eu não mexia nele.

De qualquer forma, isso agora funciona. Para referência de quem encontrar o mesmo problema (especialmente ao usar POST), os elementos do corpo codificados em JSON na minha requisição funcional são:

key value
raw o texto bruto da mensagem
title o título da mensagem/thread
target_usernames lista de nomes de usuário separada por vírgulas
archetype a string literal private_message

Isso é enviado como corpo de um POST para /posts.json com os campos de cabeçalho personalizados:

key value
Content-Type application/json; charset=UTF-8
Api-Key dados da chave
Api-Username o nome de usuário