Отправить сообщение пользователю от имени открытой линии imopenlines.network.message.add
Scope:
imopenlinesКто может выполнять метод: любой пользователь
Метод imopenlines.network.message.add отправляет сообщение пользователю от имени открытой линии, подкллюченной в Битрикс24 Network.
Ограничения работы метода:
- Метод недоступен при сессионной авторизации. Для сессионной авторизации возвращает ошибку
WRONG_AUTH_TYPE - Можно отправлять сообщение не более одного раза для каждого пользователя в течение одной недели. Для аккаунта с лицензией Партнера (NFR) ограничений по лимиту нет
- Можно использовать клавиатуру только для форматирования кнопки ссылки на стороннем сайте
Параметры метода
Обязательные параметры отмечены *
|
Название |
Описание |
|
CODE* |
Код открытой линии, строка из 32 символов, например |
|
USER_ID* |
Идентификатор получателя сообщения, например |
|
MESSAGE* |
Текст сообщения. Как форматировать текст — в статье форматирование |
|
ATTACH |
Вложение. Формат вложения описан в статье Как использовать вложения |
|
KEYBOARD |
Клавиатура. Как создавать клавиатуры — в статье Работа с клавиатурами |
|
URL_PREVIEW |
Предпросмотр ссылок. Включен Передайте |
Примеры кода
Как использовать примеры в документации
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{
"CODE": "ab515f5d85a8b844d484f6ea75a2e494",
"USER_ID": 2,
"MESSAGE": "Подготовили материалы по подключению открытых линий",
"ATTACH": {
"ID": 1,
"COLOR_TOKEN": "primary",
"BLOCKS": [
{
"MESSAGE": "Во вложении отправили чек-лист и схему подключения"
},
{
"FILE": [
{
"NAME": "checklist-openlines.pdf",
"LINK": "https://cdn.example.com/docs/checklist-openlines.pdf",
"SIZE": 428736
}
]
},
{
"IMAGE": [
{
"NAME": "Схема подключения",
"LINK": "https://cdn.example.com/images/openlines-setup.png",
"PREVIEW": "https://cdn.example.com/images/openlines-setup-preview.png",
"WIDTH": 1280,
"HEIGHT": 720
}
]
}
]
},
"KEYBOARD": {
"BUTTONS": [
{
"TEXT": "Открыть инструкцию",
"LINK": "https://help.example.com/openlines/setup",
"DISPLAY": "LINE",
"BG_COLOR_TOKEN": "primary"
}
]
},
"URL_PREVIEW": "N"
}' \
https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webhook_here**/imopenlines.network.message.add
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{
"CODE": "ab515f5d85a8b844d484f6ea75a2e494",
"USER_ID": 2,
"MESSAGE": "Подготовили материалы по подключению открытых линий",
"ATTACH": {
"ID": 1,
"COLOR_TOKEN": "primary",
"BLOCKS": [
{
"MESSAGE": "Во вложении отправили чек-лист и схему подключения"
},
{
"FILE": [
{
"NAME": "checklist-openlines.pdf",
"LINK": "https://cdn.example.com/docs/checklist-openlines.pdf",
"SIZE": 428736
}
]
},
{
"IMAGE": [
{
"NAME": "Схема подключения",
"LINK": "https://cdn.example.com/images/openlines-setup.png",
"PREVIEW": "https://cdn.example.com/images/openlines-setup-preview.png",
"WIDTH": 1280,
"HEIGHT": 720
}
]
}
]
},
"KEYBOARD": {
"BUTTONS": [
{
"TEXT": "Открыть инструкцию",
"LINK": "https://help.example.com/openlines/setup",
"DISPLAY": "LINE",
"BG_COLOR_TOKEN": "primary"
}
]
},
"URL_PREVIEW": "N",
"auth": "**put_access_token_here**"
}' \
https://**put_your_bitrix24_address**/rest/imopenlines.network.message.add
try
{
const response = await $b24.callMethod(
'imopenlines.network.message.add',
{
CODE: 'ab515f5d85a8b844d484f6ea75a2e494',
USER_ID: 2,
MESSAGE: 'Подготовили материалы по подключению открытых линий',
ATTACH: {
ID: 1,
COLOR_TOKEN: 'primary',
BLOCKS: [
{
MESSAGE: 'Во вложении отправили чек-лист и схему подключения'
},
{
FILE: [
{
NAME: 'checklist-openlines.pdf',
LINK: 'https://cdn.example.com/docs/checklist-openlines.pdf',
SIZE: 428736
}
]
},
{
IMAGE: [
{
NAME: 'Схема подключения',
LINK: 'https://cdn.example.com/images/openlines-setup.png',
PREVIEW: 'https://cdn.example.com/images/openlines-setup-preview.png',
WIDTH: 1280,
HEIGHT: 720
}
]
}
]
},
KEYBOARD: {
BUTTONS: [
{
TEXT: 'Открыть инструкцию',
LINK: 'https://help.example.com/openlines/setup',
DISPLAY: 'LINE',
BG_COLOR_TOKEN: 'primary'
}
]
},
URL_PREVIEW: 'N'
}
);
const result = response.getData().result;
console.log(result);
}
catch (error)
{
console.error(error);
}
try {
$response = $b24Service
->core
->call(
'imopenlines.network.message.add',
[
'CODE' => 'ab515f5d85a8b844d484f6ea75a2e494',
'USER_ID' => 2,
'MESSAGE' => 'Подготовили материалы по подключению открытых линий',
'ATTACH' => [
'ID' => 1,
'COLOR_TOKEN' => 'primary',
'BLOCKS' => [
[
'MESSAGE' => 'Во вложении отправили чек-лист и схему подключения'
],
[
'FILE' => [
[
'NAME' => 'checklist-openlines.pdf',
'LINK' => 'https://cdn.example.com/docs/checklist-openlines.pdf',
'SIZE' => 428736
]
]
],
[
'IMAGE' => [
[
'NAME' => 'Схема подключения',
'LINK' => 'https://cdn.example.com/images/openlines-setup.png',
'PREVIEW' => 'https://cdn.example.com/images/openlines-setup-preview.png',
'WIDTH' => 1280,
'HEIGHT' => 720
]
]
]
]
],
'KEYBOARD' => [
'BUTTONS' => [
[
'TEXT' => 'Открыть инструкцию',
'LINK' => 'https://help.example.com/openlines/setup',
'DISPLAY' => 'LINE',
'BG_COLOR_TOKEN' => 'primary'
]
]
],
'URL_PREVIEW' => 'N',
]
);
$result = $response
->getResponseData()
->getResult();
print_r($result);
} catch (Throwable $e) {
echo $e->getMessage();
}
BX24.callMethod(
'imopenlines.network.message.add',
{
CODE: 'ab515f5d85a8b844d484f6ea75a2e494',
USER_ID: 2,
MESSAGE: 'Подготовили материалы по подключению открытых линий',
ATTACH: {
ID: 1,
COLOR_TOKEN: 'primary',
BLOCKS: [
{
MESSAGE: 'Во вложении отправили чек-лист и схему подключения'
},
{
FILE: [
{
NAME: 'checklist-openlines.pdf',
LINK: 'https://cdn.example.com/docs/checklist-openlines.pdf',
SIZE: 428736
}
]
},
{
IMAGE: [
{
NAME: 'Схема подключения',
LINK: 'https://cdn.example.com/images/openlines-setup.png',
PREVIEW: 'https://cdn.example.com/images/openlines-setup-preview.png',
WIDTH: 1280,
HEIGHT: 720
}
]
}
]
},
KEYBOARD: {
BUTTONS: [
{
TEXT: 'Открыть инструкцию',
LINK: 'https://help.example.com/openlines/setup',
DISPLAY: 'LINE',
BG_COLOR_TOKEN: 'primary'
}
]
},
URL_PREVIEW: 'N'
},
function(result)
{
if (result.error())
{
console.error(result.error());
}
else
{
console.log(result.data());
}
}
);
require_once('crest.php');
$result = CRest::call(
'imopenlines.network.message.add',
[
'CODE' => 'ab515f5d85a8b844d484f6ea75a2e494',
'USER_ID' => 2,
'MESSAGE' => 'Подготовили материалы по подключению открытых линий',
'ATTACH' => [
'ID' => 1,
'COLOR_TOKEN' => 'primary',
'BLOCKS' => [
[
'MESSAGE' => 'Во вложении отправили чек-лист и схему подключения'
],
[
'FILE' => [
[
'NAME' => 'checklist-openlines.pdf',
'LINK' => 'https://cdn.example.com/docs/checklist-openlines.pdf',
'SIZE' => 428736
]
]
],
[
'IMAGE' => [
[
'NAME' => 'Схема подключения',
'LINK' => 'https://cdn.example.com/images/openlines-setup.png',
'PREVIEW' => 'https://cdn.example.com/images/openlines-setup-preview.png',
'WIDTH' => 1280,
'HEIGHT' => 720
]
]
]
]
],
'KEYBOARD' => [
'BUTTONS' => [
[
'TEXT' => 'Открыть инструкцию',
'LINK' => 'https://help.example.com/openlines/setup',
'DISPLAY' => 'LINE',
'BG_COLOR_TOKEN' => 'primary'
]
]
],
'URL_PREVIEW' => 'N',
]
);
print_r($result);
Обработка ответа
HTTP-статус: 200
{
"result": true,
"time": {
"start": 1773740787,
"finish": 1773740787.828814,
"duration": 0.8288140296936035,
"processing": 0,
"date_start": "2026-03-17T12:46:27+03:00",
"date_finish": "2026-03-17T12:46:27+03:00",
"operating_reset_at": 1773741387,
"operating": 0.17312097549438477
}
}
Возвращаемые данные
|
Название |
Описание |
|
result |
Возвращает |
|
time |
Информация о времени выполнения запроса |
Обработка ошибок
HTTP-статус: 400
{
"error": "CODE",
"error_description": "You entered an invalid code"
}
|
Название |
Описание |
|
error |
Строковый код ошибки. Может состоять из цифр, латинских букв и знака подчеркивания |
|
error_description |
Текстовое описание ошибки. Описание не предназначено для показа конечному пользователю в необработанном виде |
Возможные коды ошибок
|
Статус |
Код |
Описание |
Значение |
|
|
|
Access for this method not allowed by session authorization |
Метод вызван с сессионной авторизацией |
|
|
|
You entered an invalid code |
Некорректный код в параметре |
|
|
|
Module IMBOT is not installed |
Не установлен модуль imbot |
|
|
|
Line not found |
Открытая линия не найдена |
|
|
|
User ID can't be empty |
Не указан идентификатор пользователя |
|
|
|
You cant send more than one message per week to each user |
Превышен лимит сообщений для конкретного пользователя |
|
|
|
Message can't be empty |
Не указан текст сообщения |
|
|
|
You have exceeded the maximum allowable size of attach |
Превышен максимально допустимый размер вложения 30 Кб |
|
|
|
Incorrect attach params |
Объект вложения не прошел проверку |
|
|
|
Incorrect keyboard params |
Объект клавиатуры не прошел проверку |
|
|
|
Message isn't added |
Сообщение не отправлено |
Статусы и коды системных ошибок
HTTP-статус: 20x, 40x, 50x
Описанные ниже ошибки могут возникнуть при вызове любого метода
|
Статус |
Код |
Описание |
|
|
|
Возникла внутренняя ошибка сервера, обратитесь к администратору сервера или в техническую поддержку Битрикс24 |
|
|
|
Возникла внутренняя ошибка сервера, обратитесь к администратору сервера или в техническую поддержку Битрикс24 |
|
|
|
Превышен лимит на интенсивность запросов |
|
|
|
Текущий метод не разрешен для вызова с помощью batch |
|
|
|
Превышена максимальная длина параметров, переданных в метод batch |
|
|
|
Неверный access-токен или код вебхука |
|
|
|
Для вызовов методов требуется использовать протокол HTTPS |
|
|
|
REST API заблокирован из-за перегрузки. Это ручная индивидуальная блокировка, для снятия необходимо обращаться в техническую поддержку Битрикс24 |
|
|
|
REST API доступен только на коммерческих планах |
|
|
|
У пользователя, с чьим access-токеном или вебхуком был вызван метод, не хватает прав |
|
|
|
Манифест недоступен |
|
|
|
Запрос требует более высоких привилегий, чем предоставляет токен вебхука |
|
|
|
Предоставленный access-токен доступа истек |
|
|
|
Пользователь не имеет доступа к приложению. Это означает, что приложение установлено, но администратор портала разрешил доступ к этому приложению только конкретным пользователям |
|
|
|
Публичная часть сайта закрыта. Чтобы открыть публичную часть сайта на коробочной установке отключите опцию «Временное закрытие публичной части сайта». Путь к настройке: Рабочий стол > Настройки > Настройки продукта > Настройки модулей > Главный модуль > Временное закрытие публичной части сайта |
Продолжите изучение
- Открытые линии в Битрикс24
- Подключить внешнюю открытую линию к порталу imopenlines.network.join
- Форматирование сообщений
- Вложения в сообщениях
- Работа с клавиатурами