ipr.event.add

Scope: ipr

Кто может вызывать: Пользователь с правом редактировать каталог мероприятий (canEdit: администратор, HR или право element_edit на инфоблок каталога). Подробнее: Модель доступа

Создаёт мероприятие в каталоге. Даты проведения добавляются отдельно: ipr.event.date.add.

HTTP: POST

Побочные эффекты: Создаёт элемент инфоблока каталога. Тексты сохраняются так же, как из интерфейса (экранированными), API отдаёт их в исходном виде.

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

Параметр Тип Обяз. Описание
name string да Название, 1..255 символов
sectionId int да ID категории каталога (см. ipr.event.section.list)
hostId int да ID ведущего — активный пользователь
description string нет Описание
durationMinutes int нет Длительность даты проведения по умолчанию, > 0; при создании по умолчанию 60
remindMinutes int[] нет Напоминания по умолчанию; только значения, заведённые в списке свойства REMIND каталога
requiredCompetenceIds int[] нет Обязательные компетенции (существующие элементы каталога компетенций)
recommendedCompetenceIds int[] нет Рекомендованные компетенции; не должны пересекаться с обязательными
placeRoomId int нет Переговорная календаря. Нельзя вместе с непустым place
place string нет Текст места проведения
active bool нет По умолчанию true
xmlId string нет Ключ идемпотентности: 1..255 символов, не только цифры. Если мероприятие с таким xmlId уже есть, возвращается оно с created: false, остальные параметры игнорируются

Для безопасных повторов (ретраи, повторная загрузка данных) всегда передавайте xmlId: без него каждый вызов создаёт новое мероприятие. Поиск по xmlId и создание выполняются под блокировкой, поэтому повторы безопасны и при параллельных вызовах: создаётся ровно одно мероприятие, остальные вызовы получают его с created: false.

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

Мероприятие плюс created (true — создано, false — найдено по xmlId).

Поле Тип Описание
id int ID мероприятия каталога
xmlId string Внешний код (ключ идемпотентности)
name string Название
description string Описание (в ipr.event.list не возвращается)
active bool false — предложение сотрудника, ещё не одобренное
sectionId int|null ID категории
hostId int|null ID ведущего
durationMinutes int|null Длительность даты проведения по умолчанию, минут
remindMinutes int[] Напоминания по умолчанию, минут до начала
requiredCompetenceIds int[] Обязательные компетенции каталога
recommendedCompetenceIds int[] Рекомендованные компетенции каталога
place object {roomId, text} — переговорная календаря либо текст места
link string Ссылка (из предложения)
price string Стоимость (из предложения)
createdBy int Автор записи
dateCreate / timestampX string Даты создания и изменения, ISO 8601

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

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

Код Описание
UNAUTHORIZED Пользователь не авторизован
VALIDATION_ERROR details.reason: required (нет name / sectionId / hostId), name, section, host, duration, remind, competence, competence_overlap, place, xml_id
PERMISSION_DENIED Нет права canEdit
INTERNAL_ERROR events_not_configured, event_save_failed

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

curl -X POST "https://{портал}/rest/{user_id}/{webhook_code}/ipr.event.add.json"
          -H "Content-Type: application/json"
          -H "Accept: application/json"
          --data '{
          "name": "Переговоры: продвинутый уровень",
          "sectionId": 12,
          "hostId": 8,
          "durationMinutes": 120,
          "remindMinutes": [
            15,
            60
          ],
          "requiredCompetenceIds": [
            301
          ],
          "place": "Переговорная 2",
          "xmlId": "crm-2026-01"
        }'
        

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

{
          "result": {
            "result": {
              "id": 501,
              "xmlId": "crm-2026-01",
              "name": "Переговоры: продвинутый уровень",
              "description": "Тренинг для менеджеров",
              "active": true,
              "sectionId": 12,
              "hostId": 8,
              "durationMinutes": 120,
              "remindMinutes": [
                15,
                60
              ],
              "requiredCompetenceIds": [
                301
              ],
              "recommendedCompetenceIds": [
                302
              ],
              "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",
              "created": true
            },
            "total": null,
            "next": null,
            "error": null
          }
        }
        

См. также

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