gamification.thanks.category.create

Scope: gamification

Кто может вызывать: Пользователь с правом на изменение настроек модуля (уровень доступа к модулю выше «чтения»; у администратора портала оно есть всегда). Подробнее: Права доступа

Добавить категорию благодарностей — так же, как ссылка «Добавить категорию» и сохранение строки на вкладке «Спасибо» настроек модуля: элемент инфоблока категорий создаётся со значениями по умолчанию и сохраняется с переданными, служебные имена категорий перенумеровываются.

HTTP: POST

Побочные эффекты: новый элемент инфоблока категорий благодарностей.

Параметры метода

Параметр Тип Обяз. Описание
name string да Название категории (псевдоним: THANKS_NAME)
cost int да Стоимость в THX, > 0
description string нет Описание (HTML-теги удаляются)
sort int нет Сортировка, по умолчанию 500
changeInPoints bool нет Отправитель может указать больше THX, чем стоимость. По умолчанию false
access array / string (JSON) нет Кто может отправлять благодарность этой категории: [{"entityId": "user" | "department" | "project" | "meta-user", "id": …}]. Все сотрудники — [{"entityId": "meta-user", "id": "all-users"}]. По умолчанию — все сотрудники

Иконка категории по REST не загружается — её задают в настройках модуля.

Возвращаемые данные

result.result:

Поле Тип Описание
id int ID категории (для gamification.thanks.send и gamification.thanks.category.delete)
name string Название
cost int Стоимость в THX
description string Описание
sort int Сортировка
changeInPoints bool Можно указать больше THX
access array Сохранённые права доступа

Обработка ошибок

Справочник кодов ошибок.

Код Описание
UNAUTHORIZED Пользователь не авторизован
ACCESS_DENIED Нет права на изменение настроек модуля
VALIDATION_ERROR Не передан name или cost, cost <= 0, access не содержит ни одной допустимой записи, changeInPoints не булево
INTERNAL_ERROR Инфоблок категорий не настроен

Пример запроса (POST)

curl -X POST "https://{портал}/rest/{user_id}/{webhook_code}/gamification.thanks.category.create.json" \
          -H "Content-Type: application/json" \
          -d '{"name": "За наставничество", "cost": 10, "description": "Помог новичку освоиться", "changeInPoints": true}'
        

Пример ответа:

{
          "result": {
            "result": {
              "id": 812,
              "name": "За наставничество",
              "cost": 10,
              "description": "Помог новичку освоиться",
              "sort": 500,
              "changeInPoints": true,
              "access": [
                { "entityId": "meta-user", "id": "all-users", "entityType": "", "title": "", "avatar": "" }
              ]
            },
            "total": null,
            "next": null,
            "error": null
          }
        }
        

См. также