Update Chatbot imbot.update
Scope:
imbotWho can execute the method: an authorized user of the application that registered the chatbot
The method imbot.update updates the chatbot's data and its event handlers.
Method Parameters
Required parameters are marked with *
|
Name |
Description |
|
BOT_ID* |
The identifier of the chatbot. You can obtain the identifier using the imbot.bot.list method. The value must be greater than |
|
FIELDS* |
Data for updating the chatbot. The structure of the object is described in detail below |
|
CLIENT_ID |
This parameter is required only for webhooks. Pass the same CLIENT_ID that was specified during the chatbot registration |
FIELDS Parameter
|
Name |
Description |
|
CODE |
The new string code for the bot, unique within Bitrix24 |
|
EVENT_HANDLER |
General URL for the event handler. If provided, its value is copied to If different handlers are needed, do not pass |
|
EVENT_MESSAGE_ADD |
URL for the event handler ONIMBOTMESSAGEADD |
|
EVENT_MESSAGE_UPDATE |
URL for the event handler ONIMBOTMESSAGEUPDATE |
|
EVENT_MESSAGE_DELETE |
URL for the event handler ONIMBOTMESSAGEDELETE |
|
EVENT_WELCOME_MESSAGE |
URL for the event handler ONIMBOTJOINCHAT |
|
EVENT_BOT_DELETE |
URL for the event handler ONIMBOTDELETE |
|
PROPERTIES |
Properties of the chatbot profile. The structure of the object is described in detail below |
The method imbot.update does not support changing the TYPE and OPENLINE fields.
FIELDS.PROPERTIES Parameter
|
Name |
Description |
|
NAME |
The name of the chatbot. If both values are provided: |
|
LAST_NAME |
The last name of the chatbot. If both values are provided: |
|
COLOR |
The color of the chatbot for the mobile interface: |
|
EMAIL |
Email for contacting the chatbot. The bot is created as a user, so the bot's email must not match the email of a real Bitrix24 user. This will help avoid account conflicts |
|
PERSONAL_BIRTHDAY |
Birthday in the format |
|
WORK_POSITION |
Position or description of the chatbot |
|
PERSONAL_WWW |
Link to the website |
|
PERSONAL_GENDER |
Gender, acceptable values: |
|
PERSONAL_PHOTO |
Avatar of the chatbot in Base64 format The image size must not exceed the limit of 5000x5000 |
To update the bot, pass at least one parameter: a field in FIELDS or an event handler URL. If all parameters are empty, the method will return an error WRONG_REQUEST.
Code Examples
How to Use Examples in Documentation
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"BOT_ID":39,"FIELDS":{"CODE":"newbot_v2","EVENT_HANDLER":"https://example.com/bot/events","PROPERTIES":{"NAME":"UpdatedBot","WORK_POSITION":"Updated description"}},"CLIENT_ID":"**put_your_client_id_here**"}' \
https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webhook_here**/imbot.update
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"BOT_ID":39,"FIELDS":{"CODE":"newbot_v2","EVENT_HANDLER":"https://example.com/bot/events","PROPERTIES":{"NAME":"UpdatedBot"}},"auth":"**put_access_token_here**"}' \
https://**put_your_bitrix24_address**/rest/imbot.update
try {
const response = await $b24.callMethod('imbot.update', {
BOT_ID: 39,
FIELDS: {
CODE: 'newbot_v2',
EVENT_HANDLER: 'https://example.com/bot/events',
PROPERTIES: {
NAME: 'UpdatedBot',
WORK_POSITION: 'Updated description',
},
},
});
const { result } = response.getData();
console.log('Updated:', result);
} catch (error) {
console.error('Error updating bot:', error);
}
try {
$response = $b24Service
->core
->call(
'imbot.update',
[
'BOT_ID' => 39,
'FIELDS' => [
'CODE' => 'newbot_v2',
'EVENT_HANDLER' => 'https://example.com/bot/events',
'PROPERTIES' => [
'NAME' => 'UpdatedBot',
'WORK_POSITION' => 'Updated description',
],
],
]
);
$result = $response
->getResponseData()
->getResult();
if ($result->error()) {
echo 'Error: ' . $result->error();
} else {
echo 'Updated: ' . ($result->data() ? 'true' : 'false');
}
} catch (Throwable $exception) {
error_log($exception->getMessage());
echo 'Error updating bot: ' . $exception->getMessage();
}
BX24.callMethod(
'imbot.update',
{
BOT_ID: 39,
FIELDS: {
CODE: 'newbot_v2',
EVENT_HANDLER: 'https://example.com/bot/events',
PROPERTIES: {
NAME: 'UpdatedBot',
WORK_POSITION: 'Updated description',
},
},
},
function(result) {
if (result.error()) {
console.error(result.error().ex);
} else {
console.log(result.data());
}
}
);
require_once('crest.php');
$result = CRest::call(
'imbot.update',
[
'BOT_ID' => 39,
'FIELDS' => [
'CODE' => 'newbot_v2',
'EVENT_HANDLER' => 'https://example.com/bot/events',
'PROPERTIES' => [
'NAME' => 'UpdatedBot',
'WORK_POSITION' => 'Updated description',
],
],
]
);
if (!empty($result['error'])) {
echo 'Error: ' . $result['error_description'];
} else {
echo 'Updated: ' . ($result['result'] ? 'true' : 'false');
}
Response Handling
HTTP Code: 200
{
"result": true,
"time": {
"start": 1728626400.123,
"finish": 1728626400.234,
"duration": 0.111,
"processing": 0.045,
"date_start": "2024-10-11T10:00:00+02:00",
"date_finish": "2024-10-11T10:00:00+02:00",
"operating_reset_at": 1762349466,
"operating": 0
}
}
Returned Data
|
Name |
Description |
|
result |
|
|
time |
Information about the request execution time |
Error Handling
HTTP Status: 400, 403
{
"error": "WRONG_REQUEST",
"error_description": "Update fields can't be empty"
}
|
Name |
Description |
|
error |
String error code. It may consist of digits, Latin letters, and underscores |
|
error_description |
Textual description of the error. The description is not intended to be shown to the end user in its raw form |
Possible Error Codes
|
Code |
Description |
Value |
|
|
Access for this method not allowed by session authorization. |
The method was called with session authorization instead of OAuth or webhook |
|
|
Access denied! Client ID not specified |
Unable to determine the application: missing |
|
|
Bot not found |
Bot not found |
|
|
Bot was installed by another REST application |
The provided |
|
|
Wrong handler URL |
Invalid URL for the |
|
|
Wrong handler URL |
Invalid URL for the |
|
|
Wrong handler URL |
Invalid URL for the |
|
|
Wrong handler URL |
Invalid URL for the |
|
|
Wrong handler URL |
Invalid URL for the |
|
|
Bot name isn't specified |
Both fields |
|
|
Update fields can't be empty |
No fields or handlers provided for the update |
|
|
Bot can't be updated |
The bot cannot be updated |
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 |
Continue Learning
- Create a Chatbot imbot.register
- Unregister Chat-Bot imbot.unregister
- Get the List of Chatbots imbot.bot.list
- About Events