curl --request POST \
--header "XF-Api-Key: $FORUM_API_KEY" \
--header 'Accept: application/json' \
--data-urlencode 'group=8' \
'https://forum.arzguard.com/api/demote/123/'
{
"success": true,
"groups": []
}
Повышение и снятие
Снять группу у пользователя
Удаляет одну доступную инициатору дополнительную группу у форумного пользователя.
POST
/
api
/
demote
/
{user_id}
/
curl --request POST \
--header "XF-Api-Key: $FORUM_API_KEY" \
--header 'Accept: application/json' \
--data-urlencode 'group=8' \
'https://forum.arzguard.com/api/demote/123/'
{
"success": true,
"groups": []
}
Снимает выбранную дополнительную группу, если она назначена целевому пользователю.
Все ID и данные в примерах условные.
Форматы тела запроса и общая обработка ошибок описаны в разделе «Запросы и ошибки».
Доступ
Требуется scopeuser:promote, право пользователя general/promoteAllow и хотя бы одна группа, которой он может управлять. Эти собственные проверки выполняются и при запросе обхода стандартных прав XenForo.
string
required
Обязательный ключ API XenForo. Тип ключа и пользовательский контекст описаны в разделе «Авторизация».
Параметры
integer
required
Положительный ID существующего форумного пользователя.
integer
required
Положительный ID одной группы из доступного инициатору набора. Передаётся формой
application/x-www-form-urlencoded.Результат
boolean
При успешном сохранении равно
true.object | array
ID и названия всех оставшихся дополнительных групп пользователя после операции. Если дополнительных групп не осталось, PHP сериализует пустой набор как
[].Поведение
Доступные группы определяются настройкойgroups_that_can_promote: она должна содержать основную или одну из дополнительных групп инициатора.
Изменение отклоняется, если целевой пользователь не существует, его основная или дополнительная группа имеет block_promote либо настройка groups_that_cant_promote целевых групп запрещает действия группам инициатора.
Остальные дополнительные группы и основная группа сохраняются. Пересчитываются оформление, разрешения и связи групп. Если выбранная разрешённая группа уже отсутствует, результирующий список не меняется. Передавайте конкретную положительную group: пропуск или 0 отклоняется проверкой доступных групп; массовое снятие без group текущей реализацией не поддерживается.
При ответе с
user установленное расширение может вернуть user_title: true для непустого пользовательского титула. Это известное отличие текущей реализации от обычной строки титула.FORUM_API_KEY — заранее настроенная переменная окружения; действующий ключ в документации не приводится.
curl --request POST \
--header "XF-Api-Key: $FORUM_API_KEY" \
--header 'Accept: application/json' \
--data-urlencode 'group=8' \
'https://forum.arzguard.com/api/demote/123/'
{
"success": true,
"groups": []
}