ipr.ipr.add

Scope: ipr

Кто может вызывать: Актор создаёт карточку себе (userId == текущий пользователь) либо может управлять сотрудником (canManageEmployee: руководитель по оргструктуре, участник группы ИПР/HR, администратор портала). Подробнее: Роли и права доступа

Создаёт карточку ИПР или ПИС для сотрудника (аналог создания из карточки сотрудника в интерфейсе).

HTTP: POST

Побочные эффекты: Создаёт элемент инфоблока ИПР, привязывает компетенции, может создавать элементы «компетенция в ИПР».

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

Параметр Тип Обяз. Описание
userId int да ID сотрудника, для которого создаётся карточка
managerId int да ID руководителя, должен отличаться от userId
competenceIds int[] да ID компетенций каталога (минимум одна)
type string нет IPR | PIS (без учёта регистра). По умолчанию — тип шаблона (если указан templateId) или IPR
templateId int нет ID шаблона программы, из которого создаётся карточка
title string нет Название, максимум 255 символов. По умолчанию — название шаблона (если задан templateId)
deadline string нет Дедлайн в формате YYYY-MM-DD. Если не задан — вычисляется из term
term int нет Срок в месяцах (для IPR) при отсутствии deadline. По умолчанию — значение по умолчанию из справочника периодов модуля
sendBossAgreement bool нет Требовать согласование руководителем. По умолчанию true
positionId int нет Текущая должность сотрудника
targetPositionId int нет Целевая должность
nextTemplateId int нет Шаблон следующей программы после завершения
observers int[] нет ID наблюдателей карточки
targetFunction string нет Целевая функция (свободный текст)
competenceDeadlines object нет Индивидуальные дедлайны по компетенциям: { "<competenceId>": "YYYY-MM-DD" } (иной формат — VALIDATION_ERROR). Компетенции без явного значения получают общий дедлайн карточки
competenceRunOptions object нет Развивающие действия по компетенциям: { "<competenceId>": { "<type>_<id>": { ... } } }. Ключ действия строго <type>_<id> (допустим дефис), иначе VALIDATION_ERROR. В записи действия сохраняются только поля type, id, selected (по умолчанию true), required, recommended, custom, title (без HTML, до 255 символов), dateSelected / date / dateFromCompetence (дата YYYY-MM-DD или в формате сайта, иначе VALIDATION_ERROR), eventId, courseTests ({ "<testId>": { ID, selected, dateSelected, dateFromCompetence } }); прочие поля отбрасываются. Для записей event_<id> с eventId > 0 дата проведения проверяется до создания карточки: она должна входить в даты проведения мероприятия каталога <id>, быть активной и не удалённой; прошедшая дата проведения — только администратор
competenceGoals object нет Цели по компетенциям: { "<competenceId>": "текст" }. HTML удаляется, пустые значения отбрасываются, максимум 4000 символов на цель (иначе VALIDATION_ERROR)

Создание карточки себе. Обычный сотрудник (не привилегированный и не собственный руководитель) может создать карточку для себя только так же, как в интерфейсе кабинета: он должен входить в группы, разрешённые опцией модуля access_to_ipr (для IPR) или access_to_pis (для PIS); для PIS дополнительно должна быть включена опция use_pis. Иначе — PERMISSION_DENIED.

sendBossAgreement и прочие булевы значения принимаются как true / 1 / "Y" / "true".

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

Полная карточка — та же форма, что у ipr.ipr.get.

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

Справочник кодов: error-codes.md.

Код Описание
UNAUTHORIZED Пользователь не авторизован
VALIDATION_ERROR Не передан обязательный параметр, managerId == userId, некорректный deadline/type, title длиннее 255 символов, цель длиннее 4000 символов, ключ действия в competenceRunOptions не вида <type>_<id> или дата действия некорректна; details.reason = date_not_in_event — eventId в competenceRunOptions не дата проведения мероприятия
NOT_FOUND Сотрудник, руководитель или templateId не найдены; details.reason = date — дата проведения из competenceRunOptions не найдена или удалена
PERMISSION_DENIED Нет прав создавать карточку для указанного userId; прошедшая дата проведения в competenceRunOptions не от администратора; при создании себе (не руководителем и не привилегированным) — тип программы не разрешён настройками модуля
IPR_ALREADY_EXISTS У сотрудника уже достигнут лимит активных программ
INTERNAL_ERROR Внутренняя ошибка сервера / не удалось создать карточку

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

curl -X POST "https://{портал}/rest/{user_id}/{webhook_code}/ipr.ipr.add.json"
          -H "Content-Type: application/json"
          -H "Accept: application/json"
          --data '{
          "userId": 15,
          "managerId": 1,
          "competenceIds": [1049, 1051],
          "type": "IPR",
          "deadline": "2026-12-30",
          "sendBossAgreement": true,
          "observers": [8],
          "competenceDeadlines": {
            "1049": "2026-09-30"
          }
        }'
        

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

{
          "result": {
            "result": {
              "id": 4201,
              "title": "ИПР: Наумова Алиса",
              "status": "NEW",
              "type": "IPR",
              "userId": 15,
              "managerId": 1
            },
            "total": null,
            "next": null,
            "error": null
          }
        }
        

См. также

Предыдущая
Следующая