Зарегистрировать приложение для чата imbot.app.register
Scope:
imbotКто может выполнять метод: любой пользователь
Метод imbot.app.register регистрирует приложение для чата.
Приложения делятся на два типа: JS-команда и IFRAME-приложение.
Параметры метода для JS-команды
|
Название |
Пример |
Описание |
|
BOT_ID |
|
Идентификатор бота владельца приложения для чата |
|
CODE |
|
Код приложения для чата |
|
JS_METHOD |
|
Варианты для
|
|
JS_PARAM |
|
|
|
ICON_FILE |
|
Иконка в base64.
|
|
CONTEXT |
|
Контекст приложения.
К каждому контексту можно добавить постфикс |
|
EXTRANET_SUPPORT |
|
Доступна ли команда пользователям экстранет, по умолчанию N |
|
LIVECHAT_SUPPORT |
|
Поддержка онлайн-чата |
|
IFRAME_POPUP |
|
iframe будет открыт с возможностью перемещения внутри мессенджера, переход между диалогами не будет закрывать такое окно. |
|
LANG |
|
Массив переводов, желательно указывать как минимум для RU и EN |
|
LANGUAGE_ID (LANG) |
|
Идентификатор языка для перевода |
|
TITLE (LANG) |
|
Заголовок для кнопки или команды на указанном языке |
|
DESCRIPTION (LANG) |
|
Описание команды на указанном языке |
Пример кода
Примечание
В примере используется функция restCommand. Это метод отправки данных в Битрикс24. Другой пример использования метода вы найдёте в примере ЭхоБота. Вы можете использовать для вызова метода свою функцию, javascript-метод BX24.callMethod или bitrix24-php-sdk.
Как использовать примеры в документации
$result = restCommand(
'imbot.app.register',
Array(
'BOT_ID' => 62,
'CODE' => 'echo',
'JS_METHOD' => 'SEND',
'JS_PARAM' => '/help',
'ICON_FILE' => '/* base64 image */',
'CONTEXT' => 'BOT',
'EXTRANET_SUPPORT' => 'N',
'LIVECHAT_SUPPORT' => 'N',
'IFRAME_POPUP' => 'N',
'LANG' => Array(
Array(
'LANGUAGE_ID' => 'en',
'TITLE' => 'Echobot BUTTON',
'DESCRIPTION' => 'Send help command'
),
)
),
$_REQUEST["auth"]
);
Параметры метода для IFRAME-приложения
|
Название |
Пример |
Описание |
|
BOT_ID |
|
Идентификатор бота владельца приложения для чата |
|
CODE |
|
Код приложения для чата |
|
IFRAME |
|
URL адрес фрейма |
|
IFRAME_WIDTH |
|
Желаемая ширина фрейма. Минимальное значение - 250px |
|
IFRAME_HEIGHT |
|
Желаемая высота фрейма. Минимальное значение - 50px |
|
HASH |
|
Токен для доступа к вашему фрейму для проверки подписи, 32 символа |
|
ICON_FILE |
|
Иконка в base64 |
|
CONTEXT |
|
Контекст |
|
HIDDEN |
|
Скрытое приложение или нет |
|
EXTRANET_SUPPORT |
|
Доступна ли команда пользователям экстранет, по умолчанию N |
|
LIVECHAT_SUPPORT |
|
Поддержка онлайн-чата |
|
IFRAME_POPUP |
|
iframe будет открыт с возможностью перемещения внутри мессенджера, переход между диалогами не будет закрывать такое окно |
|
LANG |
|
Массив переводов, желательно указывать как минимум для RU и EN |
|
LANGUAGE_ID (LANG) |
|
Идентификатор языка для перевода |
|
TITLE (LANG) |
|
Заголовок для кнопки или команды на указанном языке |
|
DESCRIPTION (LANG) |
|
Описание команды на указанном языке |
|
COPYRIGHT (LANG) |
|
Авторские права |
Обратите внимание:
- Хоть вы при регистрации IFRAME-приложения и задаете размеры окна, оно может быть уменьшено приложением по фактически доступным размерам. Идеальный вариант — делать таким образом, чтобы оно вписывалось в минимальные размеры и могло свободно адаптироваться к увеличению и уменьшению, это будет очень важно для мобильных устройств
- Ссылка на
IFRAMEобязательно должна вести на сайт с активным HTTPS-сертификатом. Правила разработки IFRAME-обработчика и ограничения вы можете прочитать в документации - Обязательно используйте проверки хешей перед выполнением любых операций.
- Приложения доступны только после перезагрузки страницы или после служебного хита на сервер (на разных установках по разному, от 15 до 26 минут). Приложение появится мгновенно только при взаимодействии с контекстной кнопкой
- В значения
IFRAME_WIDTHиIFRAME_HEIGHTвы указываете желаемые значения ширины и высоты окна приложения. Окно приложения будет уменьшено до размера окна мессенджера, если окно мессенджера окажется меньше. Если же, наоборот, больше, то будут использованы желаемые размеры для приложения - В случае вызова приложения из контекста (клавиатура или меню), оно будет вызвано в контекстном режиме. В этом режиме значение
IFRAME_POPUPбудет игнорироваться
Пример кода
Примечание
В примере используется функция restCommand. Это метод отправки данных в Битрикс24. Другой пример использования метода вы найдёте в примере ЭхоБота. Вы можете использовать для вызова метода свою функцию, javascript-метод BX24.callMethod или bitrix24-php-sdk.
Как использовать примеры в документации
$result = restCommand(
'imbot.app.register',
Array(
'BOT_ID' => 62,
'CODE' => 'echo',
'IFRAME' => 'https://marta.bitrix24.tech/iframe/echo.php',
'IFRAME_WIDTH' => '350',
'IFRAME_HEIGHT' => '150',
'HASH' => 'd1ab17949a572b0979d8db0d5b349cd2',
'ICON_FILE' => '/* base64 image */',
'CONTEXT' => 'BOT',
'HIDDEN' => 'N',
'EXTRANET_SUPPORT' => 'N',
'LIVECHAT_SUPPORT' => 'N',
'IFRAME_POPUP' => 'N',
'LANG' => Array(
Array(
'LANGUAGE_ID' => 'en',
'TITLE' => 'Echobot IFRAME',
'DESCRIPTION' => 'Open Echobot IFRAME app',
'COPYRIGHT' => 'Bitrix24'
),
)
),
$_REQUEST["auth"]
);
Возвращаемые данные
Числовой идентификатор созданного приложения APP_ID.
Возможные коды ошибок
|
Код |
Описание |
|
|
Чат-бот не найден |
|
|
Приложение для чата не принадлежит этому rest-приложению. Работать можно только с приложениями для чата, установленными в рамках текущего rest-приложения |
|
|
Ссылка на |
|
|
Вы не указали хеш для приложения. Мы рекомендуем использовать уникальных хеш для каждого IFRAME и каждой установки |
|
|
Ошибка при указании JS-команды или IFRAME-параметров |
|
|
Не переданы языковые фразы для видимой команды |
|
|
Что-то пошло не так |
Статусы и коды системных ошибок
HTTP-статус: 20x, 40x, 50x
Описанные ниже ошибки могут возникнуть при вызове любого метода
|
Статус |
Код |
Описание |
|
|
|
Возникла внутренняя ошибка сервера, обратитесь к администратору сервера или в техническую поддержку Битрикс24 |
|
|
|
Возникла внутренняя ошибка сервера, обратитесь к администратору сервера или в техническую поддержку Битрикс24 |
|
|
|
Превышен лимит на интенсивность запросов |
|
|
|
Текущий метод не разрешен для вызова с помощью batch |
|
|
|
Превышена максимальная длина параметров, переданных в метод batch |
|
|
|
Неверный access-токен или код вебхука |
|
|
|
Для вызовов методов требуется использовать протокол HTTPS |
|
|
|
REST API заблокирован из-за перегрузки. Это ручная индивидуальная блокировка, для снятия необходимо обращаться в техническую поддержку Битрикс24 |
|
|
|
REST API доступен только на коммерческих планах |
|
|
|
У пользователя, с чьим access-токеном или вебхуком был вызван метод, не хватает прав |
|
|
|
Манифест недоступен |
|
|
|
Запрос требует более высоких привилегий, чем предоставляет токен вебхука |
|
|
|
Предоставленный access-токен доступа истек |
|
|
|
Пользователь не имеет доступа к приложению. Это означает, что приложение установлено, но администратор портала разрешил доступ к этому приложению только конкретным пользователям |
|
|
|
Публичная часть сайта закрыта. Чтобы открыть публичную часть сайта на коробочной установке отключите опцию «Временное закрытие публичной части сайта». Путь к настройке: Рабочий стол > Настройки > Настройки продукта > Настройки модулей > Главный модуль > Временное закрытие публичной части сайта |
Продолжите изучение
- Изменить данные о приложении в чате imbot.app.update
- Удалить приложение для чата imbot.app.unregister