ipr.action.add
Scope:
iprКто может вызывать: Пользователь с
canEditна родительском ИПР либо привилегированный (admin/hr). Подробнее: Модель доступа
Добавляет действие к компетенции внутри карточки ИПР.
HTTP: POST
Побочные эффекты: Создаёт элемент действия в инфоблоке.
Параметры метода
| Параметр | Тип | Обяз. | Описание |
|---|---|---|---|
iprCompetencyId (алиасы competencyId, compId) |
int |
да | ID компетенции в составе ИПР (поле id из competencies[] карточки) |
resourceType (алиас type) |
string |
да | XML_ID типа ресурса, см. ipr.action.type.list |
resourceId (алиас actId) |
int |
да | ID связанного ресурса (курса, теста, элемента библиотеки и т. п. — в зависимости от resourceType) |
deadline (алиас dateTo) |
string |
нет | Плановая дата, YYYY-MM-DD |
title |
string |
нет | Название, 1..255 символов. Если не задано — используется системное название по resourceType/resourceId |
description |
string |
нет | Описание |
eventId |
int |
нет | Дата проведения мероприятия каталога (ID календарного события из ipr.event.get / ipr.event.date.add). Только для resourceType=events, resourceId — ID мероприятия каталога; нельзя вместе с deadline. Прошедшая дата проведения — только администратор |
С eventId плановая дата действия (DATE_TO) устанавливается равной началу даты проведения, а при последующем переносе даты проведения через calendar.event.update модуль переносит её сам. Дата записывается во времени даты проведения, в её часовом поясе (как в интерфейсе), а не в поясе сервера; deadline в ответе приходит только датой YYYY-MM-DD. Если ИПР в статусе WORK и включена опция модуля add_students_for_events, сотрудник добавляется участником события календаря.
Возвращаемые данные
Полное действие — та же форма, что у ipr.action.get.
Обработка ошибок
Справочник кодов: error-codes.md.
| Код | Описание |
|---|---|
UNAUTHORIZED |
Пользователь не авторизован |
VALIDATION_ERROR |
Не передан обязательный параметр, неизвестный resourceType, некорректный deadline, title длиннее 255 символов; eventId вместе с deadline или не для resourceType=events; reason = date_not_in_event — дата проведения не принадлежит мероприятию resourceId |
NOT_FOUND |
Компетенция iprCompetencyId не найдена в составе ИПР; дата проведения eventId не найдена или удалена (reason = date) |
PERMISSION_DENIED |
Родительский ИПР недоступен для редактирования; прошедшая дата проведения eventId не от администратора |
INTERNAL_ERROR |
Не удалось создать действие |
Пример запроса (POST)
curl -X POST "https://{портал}/rest/{user_id}/{webhook_code}/ipr.action.add.json"
-H "Content-Type: application/json"
-H "Accept: application/json"
--data '{
"iprCompetencyId": 9001,
"resourceType": "course",
"resourceId": 305,
"deadline": "2026-09-30"
}'
Пример ответа
{
"result": {
"result": {
"id": 12001,
"iprId": 4201,
"iprCompetencyId": 9001,
"resourceType": "course",
"resourceId": 305,
"deadline": "2026-09-30"
},
"total": null,
"next": null,
"error": null
}
}