Skip to content

Latest commit

 

History

History
329 lines (271 loc) · 9.79 KB

File metadata and controls

329 lines (271 loc) · 9.79 KB

Update the imbot.command.update

{% note tip "" %}

Choose a tool for developing with an AI agent:

  • use Alaio Vibecode to build an app for Bitrix24 from a task description without knowing any programming language. The agent writes the code and deploys the app to a server, with no manual hosting setup
  • use the MCP server to develop a REST API integration in your own project. The agent refers to the official REST documentation

{% endnote %}

Scope: imbot

Who can execute the method: a user of the application that registered the chat bot

{% note warning "DEPRECATED" %}

Development of this method has been halted. Please use imbot.v2.Command.update.

{% endnote %}

The method imbot.command.update updates the parameters of a registered chat bot command.

Method Parameters

{% include Note on required parameters %}

#| || Name type | Description || || COMMAND_ID* integer | Identifier of the command to be updated || || FIELDS* object | Object containing fields to update. The structure is described below || || CLIENT_ID string | This parameter is required only for webhooks. Pass the same CLIENT_ID that was specified during the registration of the chat bot || |#

{% note warning "" %}

At least one modifiable parameter must be provided in FIELDS. If an empty object is passed, the method will return an error.

{% endnote %}

FIELDS Parameter {#fields}

#| || Name type | Description || || COMMAND string | Command text || || EVENT_COMMAND_ADD string | URL of the event handler ONIMCOMMANDADD || || HIDDEN string | Command visibility:

  • Y - hidden
  • N - visible || || EXTRANET_SUPPORT string | Availability for extranet users:
  • Y - available
  • N - not available || || LANG array | Array of command localizations. The structure is described below || |#

FIELDS.LANG Parameter {#fields-lang}

#| || Name type | Description || || LANGUAGE_ID* string | Language identifier, e.g., de or en || || TITLE* string | Command title in the selected language || || PARAMS string | Parameter hint for the command in the selected language || |#

Code Examples

{% include Note on examples %}

{% list tabs %}

  • cURL (Webhook)

    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 (OAuth)

    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
  • JS

    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);
    }
  • PHP

    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.js

    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());
        }
    );
  • PHP CRest

    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>';
  • Go

    // client and ctx are already created — see the Go SDK section
    res, err := client.Core().Call(ctx, "imbot.command.update", b24.Params{
    	"COMMAND_ID": 99,
    	"FIELDS": b24.Params{
    		"COMMAND":           "echo2",
    		"EVENT_COMMAND_ADD": "https://example.com/bot/command.php",
    		"HIDDEN":            "N",
    		"EXTRANET_SUPPORT":  "Y",
    		"LANG": []b24.Params{
    			{
    				"LANGUAGE_ID": "ru",
    				"TITLE":       "Echo 2",
    				"PARAMS":      "text",
    			},
    			{
    				"LANGUAGE_ID": "en",
    				"TITLE":       "Echo 2",
    				"PARAMS":      "text",
    			},
    		},
    	},
    	"CLIENT_ID": "**put_your_client_id_here**",
    })
    if err != nil {
    	return fmt.Errorf("imbot.command.update: %w", err)
    }
    
    var ok bool
    if err := json.Unmarshal(res.Result, &ok); err != nil {
    	return fmt.Errorf("parse response: %w", err)
    }
    fmt.Println("done:", ok)

{% endlist %}

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 type | Description || || result boolean | true if the command was successfully updated || || time time | Information about the request execution time || |#

Error Handling

HTTP Status: 400

{
    "error": "WRONG_REQUEST",
    "error_description": "Update fields can't be empty"
}

{% include notitle error handling %}

Possible Error Codes

#| || Code | Description | Value || || COMMAND_ID_ERROR | Command not found | Command not found || || APP_ID_ERROR | Command was installed by another rest application | Command registered by another application || || EVENT_COMMAND_ADD_ERROR | Wrong handler URL | Invalid event handler URL || || WRONG_REQUEST | Update fields can't be empty | No fields provided for update || || WRONG_REQUEST | Command can't be updated | Failed to update command || |#

{% include system errors %}

Continue Learning