Update the imbot.command.update
Scope:
imbotWho can execute the method: a user of the application that registered the chatbot
The method imbot.command.update updates the parameters of a registered chatbot command.
Method Parameters
Required parameters are marked with *
|
Name |
Description |
|
COMMAND_ID* |
Identifier of the command to update |
|
FIELDS* |
Object containing fields to update. The structure is described below |
|
CLIENT_ID |
This parameter is required only for webhooks. Pass the same CLIENT_ID that was specified during the chatbot registration |
At least one modifiable parameter must be provided in FIELDS. If an empty object is passed, the method will return an error.
FIELDS Parameter
|
Name |
Description |
|
COMMAND |
Command text |
|
EVENT_COMMAND_ADD |
URL of the event handler ONIMCOMMANDADD |
|
HIDDEN |
Command visibility:
|
|
EXTRANET_SUPPORT |
Availability for extranet users:
|
|
LANG |
Array of command localizations. The structure is described below |
FIELDS.LANG Parameter
|
Name |
Description |
|
LANGUAGE_ID* |
Language identifier, e.g., |
|
TITLE* |
Command title in the selected language |
|
PARAMS |
Command parameter hints in the selected language |
Code Examples
How to Use Examples in Documentation
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"COMMAND_ID":99,"FIELDS":{"COMMAND":"echo2","EVENT_COMMAND_ADD":"https://example.com/bot/command.php","HIDDEN":"N","EXTRANET_SUPPORT":"Y","LANG":[{"LANGUAGE_ID":"de","TITLE":"Echo 2","PARAMS":"text"},{"LANGUAGE_ID":"en","TITLE":"Echo 2","PARAMS":"text"}]},"CLIENT_ID":"**put_your_client_id_here**"}' \
https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webhook_here**/imbot.command.update
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"COMMAND_ID":99,"FIELDS":{"COMMAND":"echo2","EVENT_COMMAND_ADD":"https://example.com/bot/command.php","HIDDEN":"N","EXTRANET_SUPPORT":"Y","LANG":[{"LANGUAGE_ID":"de","TITLE":"Echo 2","PARAMS":"text"},{"LANGUAGE_ID":"en","TITLE":"Echo 2","PARAMS":"text"}]},"auth":"**put_access_token_here**"}' \
https://**put_your_bitrix24_address**/rest/imbot.command.update
try
{
const response = await $b24.callMethod(
'imbot.command.update',
{
COMMAND_ID: 99,
FIELDS: {
COMMAND: 'echo2',
EVENT_COMMAND_ADD: 'https://example.com/bot/command.php',
HIDDEN: 'N',
EXTRANET_SUPPORT: 'Y',
LANG: [
{ LANGUAGE_ID: 'de', TITLE: 'Echo 2', PARAMS: 'text' },
{ LANGUAGE_ID: 'en', TITLE: 'Echo 2', PARAMS: 'text' }
]
}
}
);
const result = response.getData().result;
console.log('Updated command with ID:', result);
processResult(result);
}
catch( error )
{
console.error('Error:', error);
}
try {
$response = $b24Service
->core
->call(
'imbot.command.update',
[
'COMMAND_ID' => 99,
'FIELDS' => [
'COMMAND' => 'echo2',
'EVENT_COMMAND_ADD' => 'https://example.com/bot/command.php',
'HIDDEN' => 'N',
'EXTRANET_SUPPORT' => 'Y',
'LANG' => [
['LANGUAGE_ID' => 'de', 'TITLE' => 'Echo 2', 'PARAMS' => 'text'],
['LANGUAGE_ID' => 'en', 'TITLE' => 'Echo 2', 'PARAMS' => 'text']
]
]
]
);
$result = $response
->getResponseData()
->getResult();
echo 'Success: ' . print_r($result, true);
processData($result);
} catch (Throwable $e) {
error_log($e->getMessage());
echo 'Error updating command: ' . $e->getMessage();
}
BX24.callMethod(
'imbot.command.update',
{
COMMAND_ID: 99,
FIELDS: {
COMMAND: 'echo2',
EVENT_COMMAND_ADD: 'https://example.com/bot/command.php',
HIDDEN: 'N',
EXTRANET_SUPPORT: 'Y',
LANG: [
{ LANGUAGE_ID: 'de', TITLE: 'Echo 2', PARAMS: 'text' },
{ LANGUAGE_ID: 'en', TITLE: 'Echo 2', PARAMS: 'text' }
]
}
},
function(result)
{
if (result.error())
console.error(result.error());
else
console.dir(result.data());
}
);
require_once('crest.php');
$result = CRest::call(
'imbot.command.update',
[
'COMMAND_ID' => 99,
'FIELDS' => [
'COMMAND' => 'echo2',
'EVENT_COMMAND_ADD' => 'https://example.com/bot/command.php',
'HIDDEN' => 'N',
'EXTRANET_SUPPORT' => 'Y',
'LANG' => [
['LANGUAGE_ID' => 'de', 'TITLE' => 'Echo 2', 'PARAMS' => 'text'],
['LANGUAGE_ID' => 'en', 'TITLE' => 'Echo 2', 'PARAMS' => 'text']
]
]
]
);
echo '<PRE>';
print_r($result);
echo '</PRE>';
Response Handling
HTTP Status: 200
{
"result": true,
"time": {
"start": 1772103002,
"finish": 1772103003.109342,
"duration": 1.109342098236084,
"processing": 0,
"date_start": "2026-02-26T13:50:02+01:00",
"date_finish": "2026-02-26T13:50:03+01:00",
"operating_reset_at": 1772103603,
"operating": 0
}
}
Returned Data
|
Name |
Description |
|
result |
|
|
time |
Information about the request execution time |
Error Handling
HTTP Status: 400
{
"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 |
|
|
Command not found |
Command not found |
|
|
Command was installed by another rest application |
Command registered by another application |
|
|
Wrong handler URL |
Invalid event handler URL |
|
|
Update fields can't be empty |
No fields provided for update |
|
|
Command can't be updated |
Failed to update command |
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
- Add the imbot.command.register Command
- Send a Response to the imbot.command.answer Command
- Remove the imbot.command.unregister Command
- Event Triggered by the Chat Bot Command ONIMCOMMANDADD