Просмотров: 13021
Дата последнего изменения: 17.05.2022
Сложность урока:
3 уровень - средняя сложность. Необходимо внимание и немного подумать.
4
5
Обновление данных бота
Обратите внимание! Метод указан с использованием функции
restCommand - это метод отправки данных в
Битрикс24, данный метод есть в примере
ЭхоБота и представлен здесь в качестве примера. Вы можете использовать свою функцию или javascript-метод
BX24.callMethod или
bitrix24-php-sdk.
Примечания:
Для работы ботов должен быть обеспечен доступ к
marta.bitrix.info с портала или сайта.
Для работы с чат-ботами через
Вебхуки вам необходимо во все методы передавать параметр
CLIENT_ID
, такой код должен быть уникален для каждого чат-бота.
Вызов метода
$result = restCommand('imbot.update', Array(
'BOT_ID' => 39, // Идентификатор чат-бота, которого нужно изменить (обяз.)
'CLIENT_ID' => '', // строковый идентификатор чат-бота, используется только в режиме Вебхуков
'FIELDS' => Array( // Данные для обновления (обяз.)
'CODE' => 'newbot', // Строковой идентификатор чат-бота, уникальный в рамках вашего приложения
'EVENT_HANDLER' => 'http://www.hazz/chatApi/event.php', // Ссылка на обработчик событий, поступивших от сервера - см. Обработчики событий ниже (обяз).
'PROPERTIES' => Array( // Обязательное при обновлении данных бота
'NAME' => 'UpdatedBot', // Имя чат-бота
'LAST_NAME' => '', // Фамилия чат-бота
'COLOR' => 'MINT', // Цвет чат-бота для мобильного приложения RED, GREEN, MINT, LIGHT_BLUE, DARK_BLUE, PURPLE, AQUA, PINK, LIME, BROWN, AZURE, KHAKI, SAND, MARENGO, GRAY, GRAPHITE
'EMAIL' => 'test2@test.ru', // E-mail для связи
'PERSONAL_BIRTHDAY' => '2016-03-12', // День рождения в формате YYYY-mm-dd
'WORK_POSITION' => 'Мой второй бот', // Занимаемая должность, используется как описание чат-бота
'PERSONAL_WWW' => 'http://test2.ru', // Ссылка на сайт
'PERSONAL_GENDER' => 'M', // Пол бота, допустимые значения M - мужской, F - женсикй, пусто, если не требуется указывать
'PERSONAL_PHOTO' => '/* base64 image */', // Аватар чат-бота - base64
)
)
), $_REQUEST["auth"]);
Обязательные поля:
BOT_ID
- идентификатор чат-бота, которого нужно изменить.
FIELDS
- массив с данными для обновления.
PROPERTIES
- массив с личными данными чат-бота.
EVENT_HANDLER
- ссылка на обработчик события отправки сообщения чат-боту.
или
EVENT_MESSAGE_ADD
- ссылка на обработчик события отправки сообщения чат-боту.
EVENT_WELCOME_MESSAGE
- ссылка на обработчик события открытия диалога с чат-ботом или приглашения его в групповой чат.
EVENT_BOT_DELETE
- ссылка на обработчик события удаления чат-бота со стороны клиента.
Результат выполнения
true
или ошибка.
Обработчики событий
Если вам требуется обрабатывать события с помощью разных обработчиков, то вместо EVENT_HANDLER
вы можете задать каждый обработчик индивидуально:
'EVENT_MESSAGE_ADD' => 'http://www.hazz/chatApi/event.php', // Ссылка на обработчик события отправки сообщения чат-боту
'EVENT_WELCOME_MESSAGE' => 'http://www.hazz/chatApi/event.php', // Ссылка на обработчик события открытия диалога с чат-ботом или приглашения его в групповой чат
'EVENT_BOT_DELETE' => 'http://www.hazz/chatApi/event.php', // Ссылка на обработчик события удаления чат-бота со стороны клиента
'EVENT_MESSAGE_UPDATE' => 'http://www.hazz/chatApi/event.php', // Ссылка на обработчик события подписки на события изменения
'EVENT_MESSAGE_DELETE' => 'http://www.hazz/chatApi/event.php', // Ссылка на обработчик события подписки на события удаления сообщений
Ссылки по теме
Rest API - События установки и обновления
Возможные коды ошибок
Код |
Описание |
BOT_ID_ERROR |
Чат-бот не найден. |
APP_ID_ERROR |
Чат-бот не принадлежит этому приложению, работать можно только с чат-ботами, установленными в рамках приложения. |
EVENT_MESSAGE_ADD_ERROR |
Ссылка обработчик события невалидная или не указана. |
EVENT_WELCOME_MESSAGE_ERROR |
Ссылка обработчик события невалидная или не указана. |
EVENT_BOT_DELETE_ERROR |
Ссылка обработчик события невалидная или не указана. |
NAME_ERROR |
Не указано одно из обязательных полей NAME или LAST_NAME чат- бота. |
WRONG_REQUEST |
Что-то пошло не так. |
|
Метод imbot.update больше не поддерживает изменение полей TYPE
и OPENLINE
(im 17.5.10).