Эффективная интеграция и кастомизация функционала в Битрикс24 часто требует работы на уровне API. Сегодня мы подробно рассмотрим «Отправить системное уведомление im.notify.system.add». Вы узнаете экспертные методики работы с im.notify.system.add и научитесь избегать типичных ошибок начинающих разработчиков.
Отправить системное уведомление im.notify.system.add
Тут может не хватать некоторых данных — дополним в ближайшее время
- нужны правки под стандарт написания
- не указаны типы параметров
- отсутствуют примеры
- не прописаны ссылки на несозданные ещё страницы
> Scope: im
>
> Кто может выполнять метод: любой пользователь
Метод im.notify.system.add отправляет системное уведомление.
| Параметр | Пример | Описание | Ревизия | |
|---|---|---|---|---|
*USER_ID^^unknown | 1 | Идентификатор пользователя, кому будет адресовано уведомление | 18 | |
MESSAGE^^unknown | Системное уведомление | Текст уведомления | 18 | |
MESSAGE_OUTunknown | Текст системного уведомления для почты | Текст уведомления для почты. Если не задано, то используется поле MESSAGE | 18 | |
TAGunknown | TEST | Тег уведомления, уникальный в рамках системы. При добавлении уведомления с существующим тегом другие уведомления будут удалены | 18 | |
SUB_TAGunknown | SUB\ | TEST | Дополнительный тег, без проверки на уникальность | 18 |
ATTACHunknown | Вложение | 18 |
Практические примеры использования в коде
- PHP
$result = restCommand(
'im.notify.system.add',
Array(
'USER_ID' => 1,
'MESSAGE' => 'Системное уведомление',
'MESSAGE_OUT' => 'Текст системного уведомления для почты',
'TAG' => 'TEST',
'SUB_TAG' => 'SUB|TEST',
'ATTACH' => 'Array()'
),
$_REQUEST[
"auth"
]
);- PHP (B24PhpSdk)
try {
$result = $serviceBuilder->getIMScope()
->notify()
->fromSystem(
123, // $userId
'This is a test message.', // $message
null, // $forEmailChannelMessage
null, // $notificationTag
null, // $subTag
null // $attachment
);
print($result->getId());
} catch (Throwable $e) {
// Handle exception
print('Error: ' . $e->getMessage());
}Ответ в случае успеха
{
"result": 123
}Результат выполнения: идентификатор уведомления ID или ошибка.
Ответ в случае ошибки
{
"error": "USER_ID_EMPTY",
"error_description": "Идентификатор получателя не задан"
}Описание ключей
error– код возникшей ошибкиerror_description– краткое описание возникшей ошибки
Возможные коды ошибок
| Код | Описание |
|---|---|
| USER_ID_EMPTY | Идентификатор получателя не задан |
| MESSAGE_EMPTY | Не передан текст сообщения |
| ATTACH_ERROR | Весь переданный объект вложения не прошел валидацию |
| ATTACH_OVERSIZE* | Превышен максимально допустимый размер вложения (30 Кб) |
Ссылки по теме
- [](../messages/attachments/index)
💡 Экспертное мнение и рекомендации
Практические рекомендации:
- При написании кастомных компонентов для «Отправить системное уведомление im.notify.system.add» всегда разделяйте бизнес-логику и представление (шаблон).
- Используйте отладку SQL-запросов через конструкцию
$wpdb->last_queryили стандартный трекер Битрикса, чтобы контролировать нагрузку.
Похожая задача в бизнесе?
Помогу автоматизировать процессы и внедрить ИИ
Меня зовут Андрей Горошко. Я Full-stack разработчик и эксперт по 1С-Битрикс. Настраиваю CRM Битрикс24, разрабатываю защищенные API и создаю умных ИИ-агентов для автоматизации рутины.
или на почту: gorandvas@yandex.ru