Register a Chat Application imbot.app.register
Scope:
imbotWho can execute the method: any user
The method imbot.app.register registers a chat application.
Applications are divided into two types: JS command and IFRAME application.
Method Parameters for JS Command
|
Name |
Example |
Description |
|
BOT_ID |
|
Identifier of the bot that owns the chat application |
|
CODE |
|
Code of the chat application |
|
JS_METHOD |
|
Options for
|
|
JS_PARAM |
|
|
|
ICON_FILE |
|
Icon in base64.
|
|
CONTEXT |
|
Context of the application.
Each context can have the postfix |
|
EXTRANET_SUPPORT |
|
Is the command available to extranet users, default is N |
|
LIVECHAT_SUPPORT |
|
Online chat support |
|
IFRAME_POPUP |
|
The iframe will open with the ability to move within the messenger, switching between dialogs will not close such a window. |
|
LANG |
|
Array of translations, it is advisable to specify at least for DE and EN |
|
LANGUAGE_ID (LANG) |
|
Language identifier for translation |
|
TITLE (LANG) |
|
Title for the button or command in the specified language |
|
DESCRIPTION (LANG) |
|
Description of the command in the specified language |
Code Example
Note
This example uses the restCommand function. This is a method for sending data to Bitrix24. You can use your own function to call the method, the JavaScript method BX24.callMethod or industry standard B24PhpSDK.
How to Use Examples in Documentation
$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"]
);
Method Parameters for IFRAME Application
|
Name |
Example |
Description |
|
BOT_ID |
|
Identifier of the bot that owns the chat application |
|
CODE |
|
Code of the chat application |
|
IFRAME |
|
URL of the iframe |
|
IFRAME_WIDTH |
|
Desired width of the iframe. Minimum value - 250px |
|
IFRAME_HEIGHT |
|
Desired height of the iframe. Minimum value - 50px |
|
HASH |
|
Token for accessing your iframe for signature verification, 32 characters |
|
ICON_FILE |
|
Icon in base64 |
|
CONTEXT |
|
Context |
|
HIDDEN |
|
Is the application hidden or not |
|
EXTRANET_SUPPORT |
|
Is the command available to extranet users, default is N |
|
LIVECHAT_SUPPORT |
|
Online chat support |
|
IFRAME_POPUP |
|
The iframe will open with the ability to move within the messenger, switching between dialogs will not close such a window |
|
LANG |
|
Array of translations, it is advisable to specify at least for DE and EN |
|
LANGUAGE_ID (LANG) |
|
Language identifier for translation |
|
TITLE (LANG) |
|
Title for the button or command in the specified language |
|
DESCRIPTION (LANG) |
|
Description of the command in the specified language |
|
COPYRIGHT (LANG) |
|
Copyright |
Please note:
- Although you specify the window sizes when registering the IFRAME application, it may be reduced by the application to the actually available sizes. The ideal option is to make it fit within the minimum sizes and be able to freely adapt to increase and decrease, which will be very important for mobile devices.
- The link to
IFRAMEmust lead to a site with an active HTTPS certificate. You can read the rules for developing IFRAME handlers and limitations in the documentation. - Always use hash checks before performing any operations.
- Applications are only available after reloading the page or after a service hit to the server (this varies by installation, from 15 to 26 minutes). The application will appear instantly only when interacting with the context button.
- In the values of
IFRAME_WIDTHandIFRAME_HEIGHT, you specify the desired width and height of the application window. The application window will be reduced to the size of the messenger window if the messenger window is smaller. Conversely, if it is larger, the desired sizes for the application will be used. - If the application is called from the context (keyboard or menu), it will be invoked in context mode. In this mode, the value of
IFRAME_POPUPwill be ignored.
Code Example
Note
This example uses the restCommand function. This is a method for sending data to Bitrix24. You can use your own function to call the method, the JavaScript method BX24.callMethod or industry standard B24PhpSDK.
How to Use Examples in Documentation
$result = restCommand(
'imbot.app.register',
Array(
'BOT_ID' => 62,
'CODE' => 'echo',
'IFRAME' => 'https://marta.bitrix.com/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"]
);
Returned Data
Numeric identifier of the created application APP_ID.
Possible Error Codes
|
Code |
Description |
|
|
Chat bot not found |
|
|
The chat application does not belong to this rest application. You can only work with chat applications installed within the current rest application |
|
|
The link to |
|
|
You did not specify a hash for the application. We recommend using unique hashes for each IFRAME and each installation |
|
|
Error specifying JS command or IFRAME parameters |
|
|
Language phrases for the visible command were not provided |
|
|
Something went wrong |
Statuses and System Error Codes
HTTP Status: 20x, 40x, 50x
The errors described below may occur when calling any method.
|
Status |
Code |
Description |
|
|
|
An internal server error has occurred, please contact the server administrator or Bitrix24 technical support |
|
|
|
An internal server error has occurred, please contact the server administrator or Bitrix24 technical support |
|
|
|
The request intensity limit has been exceeded |
|
|
|
The current method is not allowed to be called using batch |
|
|
|
The maximum length of parameters passed to the batch method has been exceeded |
|
|
|
Invalid access token or webhook code |
|
|
|
The methods must be called using the HTTPS protocol |
|
|
|
The REST API is blocked due to overload. This is a manual individual block, to remove it you need to contact Bitrix24 technical support |
|
|
|
The REST API is available only on commercial plans |
|
|
|
The user whose access token or webhook was used to call the method lacks permissions |
|
|
|
The manifest is not available |
|
|
|
The request requires higher privileges than those provided by the webhook token |
|
|
|
The provided access token has expired |
|
|
|
The user does not have access to the application. This means that the application is installed, but the account administrator has allowed access to this application only for specific users |
|
|
|
The public part of the site is closed. To open the public part of the site on an on-premise installation, disable the option "Temporary closure of the public part of the site". Path to the setting: Desktop > Settings > Product Settings > Module Settings > Main Module > Temporary closure of the public part of the site |