Примечание: функция
restCommand - это метод отправки данных в
Битрикс24, данный метод есть в примере
ЭхоБота, и представлен здесь в качестве примера. Вы можете использовать свою функцию или javascript-метод
BX24.callMethod или
bitrix24-php-sdk.
Получение списка
участников
Rest-метод:
imbot.chat.user.list
Вызов метода:
$result = restCommand('imbot.chat.user.list', Array(
'CHAT_ID' => 13 // Идентификатор чата
'BOT_ID' => 39, // Идентификатор чат-бота, от которого идет запрос. Можно не указывать, если чат-бот всего один
), $_REQUEST["auth"]);
Результат выполнения: массив идентификаторов участников или ошибка.
Возможные ошибки:
Код ошибки | Описание ошибки |
CHAT_ID_EMPTY |
Не передан идентификатор чата. |
|
Приглашение
участников
Rest-метод:
imbot.chat.user.add
Вызов метода:
$result = restCommand('imbot.chat.user.add', Array(
'CHAT_ID' => 13 // Идентификатор чата
'USERS' => Array(3,4) // Идентификаторы новых пользователей
'BOT_ID' => 39, // Идентификатор чат-бота, от которого идет запрос. Можно не указывать, если чат-бот всего один
), $_REQUEST["auth"]);
Результат выполнения:
true
или ошибка.
Возможные ошибки:
Код ошибки | Описание ошибки |
CHAT_ID_EMPTY |
Не передан идентификатор чата. |
WRONG_REQUEST |
У вас недостаточно прав для добавления участника в чат или участник уже состоит в чате. |
|
Исключение
участников
Rest-метод:
imbot.chat.user.delete
Вызов метода:
$result = restCommand('imbot.chat.user.delete', Array(
'CHAT_ID' => 13 // Идентификатор чата
'USER_ID' => 4 // Идентификатор исключаемого пользователя
'BOT_ID' => 39, // Идентификатор чат-бота, от которого идет запрос. Можно не указывать, если чат-бот всего один
), $_REQUEST["auth"]);
Результат выполнения:
true
или ошибка.
Возможные ошибки:
Код ошибки | Описание ошибки |
CHAT_ID_EMPTY |
Не передан идентификатор чата. |
USER_ID_EMPTY |
Не передан идентификатор пользователя. |
WRONG_REQUEST |
У вас недостаточно прав для добавления участника в чат или участник уже состоит в чате. |
|
Выход чат-бота из
указанного чата
Rest-метод:
imbot.chat.leave
Вызов метода:
$result = restCommand('imbot.chat.leave', Array(
'CHAT_ID' => 13 // Идентификатор чата, из которого выйти
'BOT_ID' => 39, // Идентификатор чат-бота, от которого идет запрос. Можно не указывать, если чат-бот всего один
), $_REQUEST["auth"]);
Результат выполнения:
true
или ошибка.
Возможные ошибки:
Код ошибки | Описание ошибки |
CHAT_ID_EMPTY |
Не передан идентификатор чата. |
ACCESS_ERROR |
У вас недостаточно прав для отправки статуса в этот чат. |
BOT_ID_ERROR |
Чат-бот не найден. |
|
Обновление
заголовка чата
Rest-метод:
imbot.chat.updateTitle
Вызов метода:
$result = restCommand('imbot.chat.updateTitle', Array(
'CHAT_ID' => 13 // Идентификатор чата
'TITLE' => 'Новое имя для чата' // Новый заголовок
'BOT_ID' => 39, // Идентификатор чат-бота, от которого идет запрос. Можно не указывать, если чат-бот всего один
), $_REQUEST["auth"]);
Результат выполнения:
true
или ошибка.
Возможные ошибки:
Код ошибки | Описание ошибки |
CHAT_ID_EMPTY |
Не передан идентификатор чата. |
TITLE_EMPTY |
Не передан новый заголовок чата. |
WRONG_REQUEST |
Заголовок уже установлен или указанный чат не существует. |
|
Обновление
цвета чата
Rest-метод:
imbot.chat.updateColor
Вызов метода:
$result = restCommand('imbot.chat.updateColor', Array(
'CHAT_ID' => 13 // Идентификатор чата
'COLOR' => 'MINT' // Цвет чата для мобильного приложения - RED, GREEN, MINT, LIGHT_BLUE, DARK_BLUE, PURPLE, AQUA, PINK, LIME, BROWN, AZURE, KHAKI, SAND, MARENGO, GRAY, GRAPHITE
'BOT_ID' => 39, // Идентификатор чат-бота, от которого идет запрос. Можно не указывать, если чат-бот всего один
), $_REQUEST["auth"]);
Результат выполнения:
true
или ошибка.
Возможные ошибки:
Код ошибки | Описание ошибки |
CHAT_ID_EMPTY |
Не передан идентификатор чата. |
WRONG_COLOR |
Цвет не входит в список доступных цветов. |
WRONG_REQUEST |
Цвет уже установлен или указанный чат не существует. |
|
Обновление
аватара чата
Rest-метод:
imbot.chat.updateAvatar
Вызов метода:
$result = restCommand('imbot.chat.updateAvatar', Array(
'CHAT_ID' => 13 // идентификатор чата
'AVATAR' => '/* base64 image */' // Изображение в формате base64
'BOT_ID' => 39, // Идентификатор чат-бота, от которого идет запрос, можно не указывать, если чат-бот всего один
), $_REQUEST["auth"]);
Результат выполнения:
true
или ошибка.
Возможные ошибки:
Код ошибки | Описание ошибки |
CHAT_ID_EMPTY |
Не передан идентификатор чата. |
AVATAR_ERROR |
Передан не корректный формат изображения. |
WRONG_REQUEST |
Чат не существует. |
|
Создание чата
от лица чат-бота
Rest-метод:
imbot.chat.add
Вызов метода:
$result = restCommand('imbot.chat.add', Array(
'TYPE' => 'CHAT' // OPEN - открытый для вступления чат, CHAT - обычный чат по приглашениям, по-умолчанию CHAT
'TITLE' => 'Мой новый закрытый чат', // Заголовок чата
'DESCRIPTION' => 'Очень важный чат', // Описание чата
'COLOR' => 'PINK', // Цвет чата для мобильного приложения - RED, GREEN, MINT, LIGHT_BLUE, DARK_BLUE, PURPLE, AQUA, PINK, LIME, BROWN, AZURE, KHAKI, SAND, MARENGO, GRAY, GRAPHITE
'MESSAGE' => 'Добро пожаловать в чат', // Первое приветственное сообщение в чате
'USERS' => Array(1,2), // Участники чата (обяз.)
'AVATAR' => '/* base64 image */', // Аватар чата в base64 формате
'ENTITY_TYPE' => 'CHAT', // Идентификатор произвольной сущности (например CHAT, CRM, OPENLINES, CALL и тд), может быть использован для поиска чата и для легкого определения контекста в обработчиках событий ONIMBOTMESSAGEADD, ONIMBOTMESSAGEUPDATE, ONIMBOTMESSAGEDELETE
'ENTITY_ID' => 13, // Числовой идентификатор сущности, может быть использован для поиска чата и для легкого определения контекста в обработчиках событий ONIMBOTMESSAGEADD, ONIMBOTMESSAGEUPDATE, ONIMBOTMESSAGEDELETE
'OWNER_ID' => 39, // Идентификатор владельца чата. Можно не указывать, если вы создаете чат под нужным пользователем
'BOT_ID' => 39, // Идентификатор чат-бота, от которого идет запрос. Можно не указывать, если чат-бот всего один
), $_REQUEST["auth"]);
Обязательные поля:
USERS
(участники чата).
Результат выполнения: числовой идентификатор чата
CHAT_ID
или ошибка.
Возможные ошибки:
Код ошибки | Описание ошибки |
USERS_EMPTY |
Не переданы участники чата. |
WRONG_REQUEST |
Что то пошло не так. |
|
Получение
идентификатора
чата
Rest-метод:
imbot.chat.get
Вызов метода:
$result = restCommand('imbot.chat.get', Array(
'ENTITY_TYPE' => 'OPEN', // Идентификатор произвольной сущности (например CHAT, CRM, OPENLINES, CALL и тд), может быть использован для поиска чата и для легкого определения контекста в обработчиках событий ONIMBOTMESSAGEADD, ONIMBOTMESSAGEUPDATE, ONIMBOTMESSAGEDELETE (обяз.)
'ENTITY_ID' => 13, // Числовой идентификатор сущности, может быть использован для поиск чата и для легкого определения контекста в обработчиках событий ONIMBOTMESSAGEADD, ONIMBOTMESSAGEUPDATE, ONIMBOTMESSAGEDELETE (обяз.)
'BOT_ID' => 39, // Идентификатор чат-бота, от которого идет запрос. Можно не указывать, если чат-бот всего один
), $_REQUEST["auth"]);
Обязательные поля:
ENTITY_TYPE
- идентификатор произвольной сущности (например CHAT, CRM, OPENLINES, CALL и тд), может быть использован для поиска чата и для легкого определения контекста в обработчиках событий ONIMBOTMESSAGEADD, ONIMBOTMESSAGEUPDATE, ONIMBOTMESSAGEDELETE.
ENTITY_ID
- числовой идентификатор сущности, может быть использован для поиска чата и для легкого определения контекста в обработчиках событий ONIMBOTMESSAGEADD, ONIMBOTMESSAGEUPDATE, ONIMBOTMESSAGEDELETE.
Результат выполнения: возвращает идентификатор чата
CHAT_ID
или
null
.
Смена владельца
чата от лица
чат-бота
Rest-метод:
imbot.chat.setOwner
Вызов метода:
$result = restCommand('imbot.chat.setOwner', Array(
'CHAT_ID' => 13 // Идентификатор чата
'USER_ID' => '2' // Идентификатор нового владельца чата
'BOT_ID' => 39, // Идентификатор чат-бота, от которого идет запрос. Можно не указывать, если чат-бот всего один
), $_REQUEST["auth"]);
Результат выполнения:
true
или ошибка.
Возможные ошибки:
Код ошибки | Описание ошибки |
CHAT_ID_EMPTY |
Не передан идентификатор чата. |
USER_ID_EMPTY |
Не передан идентификатор нового владельца чата. |
WRONG_REQUEST |
Метод вызван не владельцем чата или указанный пользователь не является участником чата. |
|