Discourse Assign предоставляет следующие API-эндпоинты:
Назначение (PUT /assign/assign.json)
Обязательные параметры:
target_id— ID темы или сообщенияtarget_type— либо"Topic", либо"Post"
Плюс один из следующих:
username— имя пользователя, которому назначается задачаgroup_name— имя группы, которой назначается задача
Необязательные параметры:
note— заметка о назначенииstatus— статус назначенияshould_notify— отправлять уведомления (по умолчанию:true)
Отмена назначения (PUT /assign/unassign.json)
Обязательные параметры:
target_id— ID темы или сообщенияtarget_type— либо"Topic", либо"Post"
Примеры (curl)
# Назначить тему 123 пользователю "john"
curl -X PUT "https://your-discourse.com/assign/assign.json" \
-H "Api-Key: YOUR_API_KEY" \
-H "Api-Username: YOUR_USERNAME" \
-H "Content-Type: application/json" \
-d '{"target_id": 123, "target_type": "Topic", "username": "john"}'
# Назначить вместо этого группе
curl -X PUT "https://your-discourse.com/assign/assign.json" \
-H "Api-Key: YOUR_API_KEY" \
-H "Api-Username: YOUR_USERNAME" \
-H "Content-Type: application/json" \
-d '{"target_id": 123, "target_type": "Topic", "group_name": "support-team"}'
Примечания
- Пользователь API должен иметь права на назначение (входить в группу, которой разрешено назначение)
- Также можно назначать отдельные сообщения, используя
target_type: "Post"с ID сообщения
@opcourdis пример на Node.js выше выглядит правильно! ![]()