REST API модуля «Оценка 360»

Справочник REST-методов модуля ithive.assessment360 для интеграций, входящих вебхуков и AI-агентов.

Базовый URL

https://{портал}/rest/{user_id}/{webhook_code}/{method}.json
        

Пример:

https://portal.company.ru/rest/1/xxxxxxxx/assessment360.assessment.list.json
        

Scope и аутентификация

  • Scope: assessment360
  • Аутентификация: входящий вебхук Bitrix24 или OAuth/сессия авторизованного пользователя
  • Все методы assessment360.* требуют авторизованного пользователя REST. Без авторизации — ошибка UNAUTHORIZED. Дополнительно методы проверяют права на конкретную операцию и/или сущность (иначе ACCESS_DENIED / PERMISSION_DENIED).

Авторизация ≠ право на операцию: доступ к модулю / наличие вебхука сами по себе не дают, например, право запускать оценку или править справочники.

Права доступа

Права задаются в админке Bitrix: Настройки → Настройки продукта → Модули → Оценка 360 (опции модуля ithive.assessment360). Конкретные ID групп на каждом портале свои — в селектах выбираются группы пользователей Bitrix.

Проверка в коде Опция в настройках модуля Что даёт
Access::checkAccessStartAssessment() «Группы пользователей, которые могут запускать процесс оценки» (groupPersonalDepartment) Вхождение в группы запуска: canStartAssessment, запись шаблонов, часть операций по карточкам/респондентам
Access::checkAccessExportAssessmentCsv() «Группы пользователей, которые могут выгружать оценки» (groupAccessAssessmentExportCsv) export.startexport.download, если файл берётся через REST-сессию, а не из сохранённого last-file)
Access::isHrDepartment() «Группа HR-отдела» (hrDepartment) Запись справочников компетенций / индикаторов / вопросов; расширенный доступ к карточкам (как в canUseStartActions / canManageAssessmentCard)
Access::isAdmin() / админ портала Администратор Bitrix24 То же расширенное правило, что у HR, для карточек/запуска; не заменяет группы запуска для записи шаблонов
Контекст сущности Менеджер карточки (PROPERTY_MANAGER в статусе on_approval), владелец задачи респондента, видимость карточки

Как проверить права для текущего пользователя

GET assessment360.currentUser возвращает флаги:

Поле Смысл
canStartAssessment пользователь в группах запуска оценки
canExportAssessment пользователь в группах выгрузки
isHrDepartment пользователь в группе HR-отдела
isAdmin / isSystemAdmin администратор
canUseStartActions без id карточки: группы запуска или админ/HR. С id: то же или менеджер этой карточки в статусе on_approval

Сводка по группам методов

Группа методов Кто может (как в коде)
Служебные (currentUser, schema, batch) Любой авторизованный пользователь REST (batch наследует проверки вложенных методов)
Чтение справочников / list / get (компетенции, индикаторы, вопросы, шаблоны, статусы enum) Любой авторизованный
assessment.list Авторизованный; выборка режется фильтром видимости (не «все карточки портала»)
assessment.get Security::canViewAssessmentCard
Запись компетенций, категорий, индикаторов, вопросов Админ портала или группа HR-отдела
Запись шаблонов (template.add/update/delete) Только группы «могут запускать процесс оценки» (checkAccessStartAssessment). Админ/HR без вхождения в эти группы — нет
assessment.start canUseStartAssessmentActions без id: группы запуска / админ / HR
assessment.approve canUseStartAssessmentActions($id): то же или менеджер карточки в on_approval
assessment.completeCollection / finish Security::canManageAssessmentCard: сначала canView, затем группы запуска / админ / HR / менеджер карточки
assessment.updateDateEnd checkAccessStartAssessment или canUseStartAssessmentActions($id)не через canManageAssessmentCard
assessment.tags.get canViewAssessmentCard
assessment.tags.update canManageAssessmentTags = группы запуска или canViewAssessmentCard
Личные теги (tag.*) Авторизованный; записи свои (USER_ID). При привязке/смене assessmentId — ещё canManageAssessmentTags
export.start Группы выгрузки (checkAccessExportAssessmentCsv)
export.status Только авторизация: читает статус своего последнего экспорта (по userId); отдельной проверки группы выгрузки нет
export.download Файл своего последнего экспорта; если есть сохранённый last-file — без повторной проверки группы; иначе через REST-сессию с проверкой группы выгрузки
task.list / get / getByCode Авторизованный; только свои задачи респондента
task.makeAssessment Владелец карточки респондента или администратор портала / группа HR-отдела (через REST проверка владельца снимается)
responder.list / get canViewAssessmentCard для связанной карточки процедуры
responder.add / update canManageAssessmentCard
responder.delete Группы запуска оценки или админ или HR
answer.* canViewAssessmentCard по assessedCardId (UF_CARD_ASSESSED); для list параметр обязателен
points.list / get canViewAssessmentCard через карточку респондента (UF_ASSESSMENT_360); для list нужен assessmentId (id респондента)

В шапках отдельных методов формулировка «Кто может вызывать» даёт краткий итог; детали и опции админки — в этом разделе.

Формат ответа

Внутренний конверт модуля (в result обёртки Bitrix REST):

Поле Описание
result Данные или null при ошибке
total Количество записей (для list-методов)
next Смещение следующей страницы
error null или { code, message, details }

Пагинация

Для list-методов:

Параметр По умолчанию Описание
limit 50 Размер страницы, максимум 500
offset 0 Смещение
fetchAll false Вернуть все записи одним ответом. Максимум 5000 записей; если подходящих больше — ошибка FETCH_ALL_LIMIT_EXCEEDED
filter - Mongo-style фильтр ($eq, $in, $gte, ...)

Разделы REST-справочника

Раздел Описание
Служебные / AI-endpoint'ы assessment360.currentUser, assessment360.schema, assessment360.batch
Оценки Запуск и управление оценками, статусы, теги оценки
Задачи респондентов Карточки задач и отправка оценок
Справочники Теги, шаблоны, компетенции, индикаторы, вопросы, ответы, респонденты, баллы
Экспорт Запуск, контроль и скачивание выгрузок

См. также