ipr.event.update
Scope:
iprКто может вызывать: Пользователь с правом редактировать каталог мероприятий (
canEdit: администратор, HR или правоelement_editна инфоблок каталога). Подробнее: Модель доступа
Изменяет мероприятие каталога. Передаются только изменяемые поля; не переданные не трогаются.
HTTP: POST
Побочные эффекты: Изменяет элемент каталога. Даты проведения (календарные события) не меняются. active=true у предложения сотрудника — одобрение.
Параметры метода
| Параметр | Тип | Обяз. | Описание |
|---|---|---|---|
id |
int |
да | ID мероприятия |
Остальные параметры — как у ipr.event.add (name, sectionId, hostId, description, durationMinutes, remindMinutes, requiredCompetenceIds, recommendedCompetenceIds, placeRoomId, place, active), все необязательные. Массивы (remindMinutes, requiredCompetenceIds, recommendedCompetenceIds) заменяются целиком; пустой массив очищает свойство. xmlId изменить нельзя: параметр отклоняется с VALIDATION_ERROR.
Пересечение обязательных и рекомендованных компетенций проверяется и тогда, когда передан только один список: второй берётся из сохранённых значений мероприятия. Пересечение даёт VALIDATION_ERROR с details.reason = competence_overlap.
Возвращаемые данные
Обновлённое мероприятие: та же форма, что у ipr.event.add, без created.
Обработка ошибок
Справочник кодов: error-codes.md.
| Код | Описание |
|---|---|
UNAUTHORIZED |
Пользователь не авторизован |
VALIDATION_ERROR |
Те же reason, что у ipr.event.add; передан xmlId (details.field = xmlId) |
NOT_FOUND |
Мероприятие не найдено |
PERMISSION_DENIED |
Нет права canEdit |
INTERNAL_ERROR |
events_not_configured, event_save_failed |
Пример запроса (POST)
curl -X POST "https://{портал}/rest/{user_id}/{webhook_code}/ipr.event.update.json"
-H "Content-Type: application/json"
-H "Accept: application/json"
--data '{
"id": 501,
"durationMinutes": 90,
"recommendedCompetenceIds": [
302,
303
]
}'
Пример ответа
{
"result": {
"result": {
"id": 501,
"xmlId": "crm-2026-01",
"name": "Переговоры: продвинутый уровень",
"description": "Тренинг для менеджеров",
"active": true,
"sectionId": 12,
"hostId": 8,
"durationMinutes": 90,
"remindMinutes": [
15,
60
],
"requiredCompetenceIds": [
301
],
"recommendedCompetenceIds": [
302,
303
],
"place": {
"roomId": null,
"text": "Переговорная 2"
},
"link": "",
"price": "",
"createdBy": 1,
"dateCreate": "2026-10-12T10:00:00+03:00",
"timestampX": "2026-10-12T10:00:00+03:00"
},
"total": null,
"next": null,
"error": null
}
}