REST API модуля «Управление целями»
Справочник REST-методов модуля ithive.goalsmanagement для интеграций, входящих вебхуков и AI-агентов.
Базовый URL
https://{портал}/rest/{user_id}/{webhook_code}/{method}.json
Пример:
https://portal.company.ru/rest/1/xxxxxxxx/goalsmanagement.process.list.json
Scope и аутентификация
- Scope:
goalsmanagement - Аутентификация: входящий вебхук Bitrix24 или OAuth/сессия авторизованного пользователя
- Все методы
goalsmanagement.*требуют авторизованного пользователя REST. Без авторизации — ошибкаUNAUTHORIZED. Дополнительно методы проверяют права модуля (ModuleUser::*) и/или права на конкретную сущность (иначеACCESS_DENIED/PERMISSION_DENIED/CARD_NOT_FOUNDи т.п.).
Авторизация ≠ право на операцию: наличие вебхука само по себе не даёт, например, право создавать процессы или менять статусы чужих карточек.
Права доступа
Права задаются логикой Goals\ModuleUser (роли модуля: администратор модуля, руководитель, сотрудник, внутренний контроль и флаги canView* / canAdd* / canEditStructure и т.д.). Конкретные опции групп — в настройках модуля на портале.
Сводка по группам методов
| Группа методов | Кто может (как в коде) |
|---|---|
Служебные (schema) |
Любой авторизованный |
process.list/get/... |
Чтение: canViewProcess; запись add/update/delete/saveBinding: обычно admin/module admin (canAddProcess / admin) |
goalcard.* |
Чтение: assertCanView / canViewControl; create/activate/…: admin/head; changeStatus/approve: head/admin по правилам карточки; sendNotify: только админ модуля/портала |
goalitem.* |
Доступ к карточке + владелец/admin/head; delete с confirm=true при каскаде |
ratingcard.* / ratingitem.* |
Аналогично карточкам оценки / правам ModuleUser |
goal.* (каталог) |
canViewGoal / canAddGoal для записи |
task.* |
Авторизованный; add — права на задачу отдела |
В шапках отдельных методов формулировка «Кто может вызывать» даёт краткий итог по коду; детали — в этом разделе.
Формат ответа
Внутренний конверт модуля (в result обёртки Bitrix REST):
| Поле | Описание |
|---|---|
result |
Данные или null при ошибке |
total |
Количество записей (для list-методов; в webhook часто на верхнем уровне Bitrix) |
next |
Смещение следующей страницы или null |
error |
null или { code, message, details } |
Пагинация
Для list-методов:
| Параметр | По умолчанию | Описание |
|---|---|---|
limit |
50 | Размер страницы, максимум 500 |
offset |
0 | Смещение |
fetchAll |
false | Вернуть все записи одним ответом. Защитный лимит (по умолчанию 5000); при превышении — FETCH_ALL_LIMIT_EXCEEDED |
filter |
- | Mongo-style фильтр ($eq, $in, $gte, ...) |
Пакетные вызовы
Отдельного метода goalsmanagement.batch нет. Несколько goalsmanagement.* за один HTTP-запрос — штатный batch Битрикс24 (/rest/{user_id}/{webhook_code}/batch.json).
Именование upsert
Методы сохранения целей/оценок карточки публикуются как goalitem.upsert и ratingitem.upsert (не *.save): часть WAF блокирует REST-пути, оканчивающиеся на .save.
Что отсутствует в текущем коде
goalsmanagement.process.status.list— не реализован
Разделы справочника
| Раздел | Описание |
|---|---|
| Служебные | schema |
| Процессы | process.* |
| Карточки целей | goalcard.* |
| Цели карточки | goalitem.* |
| Карточки оценки | ratingcard.* |
| Оценки | ratingitem.* |
| Каталог целей | goal.* |
| Задачи | task.* |
| Коды ошибок | Полный перечень |
Всего методов в текущем коде: 47.