Каталог мероприятий

Каталог мероприятий — справочник обучающих событий компании (тренинги, встречи, вебинары): категории, мероприятия и их даты проведения. Из каталога сотрудники выбирают мероприятие для своего ИПР. Не путайте с действиями ИПР (ipr.action.*): действие — это пункт плана развития в карточке, а мероприятие каталога — один из ресурсов, на который оно может ссылаться (resourceType=events).

Примечание: дата проведения — событие календаря.

Методы

Метод HTTP Назначение
ipr.event.section.list GET Категории каталога и их календари
ipr.event.list GET Список мероприятий с фильтрами
ipr.event.get GET Мероприятие со списком дат проведения
ipr.event.add POST Создать мероприятие
ipr.event.update POST Изменить мероприятие
ipr.event.delete POST Удалить мероприятие вместе с датами проведения
ipr.event.date.add POST Добавить дату проведения (событие календаря)
ipr.event.date.delete POST Удалить дату проведения

Модель доступа

  • Чтение (section.list, list, get) — любой авторизованный; видимость элементов определяется правами инфоблока каталога, администратор и HR видят всё. Неодобренные предложения сотрудников (active=false) видит только пользователь с правом canEdit.
  • Запись (add, update, date.add, date.delete) — canEdit: администратор, HR или право на редактирование элементов инфоблока каталога.
  • ipr.event.delete — canDelete: администратор, HR или право на удаление в инфоблоке каталога.
  • Только администратор: создание даты проведения в прошлом (ipr.event.date.add; повтор уже существующей даты проведения ограничений не имеет), notify=false (без приглашений календаря), привязка прошедшей даты проведения к действию ИПР (eventId в ipr.action.add / update) или в competenceRunOptions метода ipr.ipr.add. Остальным такие вызовы возвращают PERMISSION_DENIED.

Даты проведения — это события календаря

Дата проведения мероприятия — обычное событие календаря Битрикс24 в календаре категории (тип и владелец календаря берутся из категории, см. calendar в ipr.event.section.list). Поэтому:

  • id даты проведения — ID события календаря; именно его передают как eventId в ipr.action.add / ipr.action.update;
  • перенос и правка даты проведения выполняются методом ядра calendar.event.update, отдельного ipr.event.date.update нет; модуль сам переносит даты действий ИПР, привязанных к дате проведения;
  • удаление мероприятия или даты проведения через REST удаляет и событие календаря (каскад).

Идемпотентность и форматы

  • ipr.event.add принимает xmlId — ключ идемпотентности: повтор с тем же xmlId возвращает существующее мероприятие (created: false) без изменений.
  • ipr.event.date.add идемпотентен по паре (eventId, dateFrom): тот же момент начала возвращает существующую дату проведения (created: false).
  • Даты проведения — ISO 8601 со смещением (2026-11-10T10:00:00+03:00); в ответе они приходят в часовом поясе даты проведения вместе с timezone (IANA). Допустима форма YYYY-MM-DD HH:MM:SS с отдельным timezone. Дата проведения создаётся на указанное время (не на весь день); время читается без сдвига при любой разнице поясов сервера и даты проведения, а события на весь день возвращаются без сдвига.
  • force (ipr.event.delete, ipr.event.date.delete): без него мероприятие или дата проведения, уже использованные в действиях ИПР, не удаляются (VALIDATION_ERROR, reason = event_in_use / date_in_use, details.iprActionCount).
  • Ошибки несут error.details.reason — машинно-читаемую причину.

См. также

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