Private Message Send API

Вы задаете архетип? В будущем, если вы включите отправляемый запрос, нам будет проще помочь вам.

Следующий пример работает у меня:

curl https://$DISCOURSE_HOSTNAME/posts \
  -H "api-key: $DISCOURSE_API_KEY" \
  --data 'title=Testing PM creation&archetype=private_message&target_recipients=user1,user2' \
  --data-urlencode 'raw=PM body, long enough to meet site rules & may be complex ♥'

:information_source: Если вы используете API-ключ all_users, вам также необходимо указать api-username

Спасибо, проблема решена! Нет, так как в документации к API поле archetype не было указано как обязательное (даже не «обязательно для личных сообщений», как target_usernames), и не было никаких пояснений о его назначении, я не стал его трогать.

В любом случае, теперь всё работает. Для справки всем, кто столкнётся с той же проблемой (особенно при использовании POST), вот элементы тела запроса в формате JSON, которые использовались в моём рабочем запросе:

ключ значение
raw исходный текст сообщения
title заголовок сообщения/ветки
target_usernames список имён пользователей через запятую
archetype буквальная строка private_message

Это отправляется как тело POST-запроса к /posts.json с пользовательскими заголовками:

ключ значение
Content-Type application/json; charset=UTF-8
Api-Key данные ключа
Api-Username имя пользователя