# imbot.update

URL: https://chugunov.pro/api-bitrix24/chat-bots/outdated/bots/imbot-update/
Проверено на Битрикс24 REST API, обновлено 11.09.2026 (ревизия источника fb39d6c).
Источник: официальная документация Битрикс24 (bitrix-tools/b24-rest-docs, лицензия MIT, © Bitrix). Справочник независимый, официальной документацией не является.

Обновить чат-бота
Scope: `imbot`
Кто может выполнять метод: авторизованный пользователь приложения, которое зарегистрировало чат-бота

> Устаревший метод. Развитие метода остановлено. Используйте imbot.v2.Bot.update.

## Описание

Метод `imbot.update` обновляет данные чат-бота и его обработчики событий.

## Параметры

- `BOT_ID` `integer` — обязательный. Идентификатор чат-бота. Получить идентификатор можно методом [imbot.bot.list](https://chugunov.pro/api-bitrix24/chat-bots/outdated/bots/imbot-bot-list/). Значение должно быть больше `0`
- `FIELDS` `object` — обязательный. Данные для обновления чат-бота. Структура объекта подробно описана [ниже](#fields)
- `CLIENT_ID` `string` — необязательный. Параметр обязателен только для вебхуков. Передавайте тот же CLIENT_ID, который был указан при регистрации чат-бота

### Параметр FIELDS

- `CODE` `string` — необязательный. Новый строковый код бота, уникальный в рамках Битрикс24
- `EVENT_HANDLER` `string` — необязательный. Общий URL обработчика событий. Если передан, его значение копируется в `EVENT_MESSAGE_ADD`, `EVENT_MESSAGE_UPDATE`, `EVENT_MESSAGE_DELETE`, `EVENT_WELCOME_MESSAGE`, `EVENT_BOT_DELETE`.
  Если нужны разные обработчики, не передавайте `EVENT_HANDLER`. Задайте отдельные URL в параметрах `EVENT_MESSAGE_ADD`, `EVENT_MESSAGE_UPDATE`, `EVENT_MESSAGE_DELETE`, `EVENT_WELCOME_MESSAGE`, `EVENT_BOT_DELETE`
- `EVENT_MESSAGE_ADD` `string` — необязательный. URL обработчика события [ONIMBOTMESSAGEADD](https://chugunov.pro/api-bitrix24/chat-bots/outdated/messages/events/on-imbot-message-add/)
- `EVENT_MESSAGE_UPDATE` `string` — необязательный. URL обработчика события [ONIMBOTMESSAGEUPDATE](https://chugunov.pro/api-bitrix24/chat-bots/outdated/messages/events/on-imbot-message-update/)
- `EVENT_MESSAGE_DELETE` `string` — необязательный. URL обработчика события [ONIMBOTMESSAGEDELETE](https://chugunov.pro/api-bitrix24/chat-bots/outdated/messages/events/on-imbot-message-delete/)
- `EVENT_WELCOME_MESSAGE` `string` — необязательный. URL обработчика события [ONIMBOTJOINCHAT](https://chugunov.pro/api-bitrix24/chat-bots/outdated/chats/events/on-imbot-join-chat/)
- `EVENT_BOT_DELETE` `string` — необязательный. URL обработчика события [ONIMBOTDELETE](https://chugunov.pro/api-bitrix24/chat-bots/outdated/events/on-imbot-delete/)
- `PROPERTIES` `object` — необязательный. Свойства профиля чат-бота. Структура объекта подробно описана [ниже](#fields-properties)

### Параметр FIELDS.PROPERTIES

- `NAME` `string` — необязательный. Имя чат-бота. Если переданы оба значения: `NAME` и `LAST_NAME`, они не должны быть пустыми одновременно
- `LAST_NAME` `string` — необязательный. Фамилия чат-бота. Если переданы оба значения: `NAME` и `LAST_NAME`, они не должны быть пустыми одновременно
- `COLOR` `string` — необязательный. Цвет чат-бота для мобильного интерфейса: `RED`, `GREEN`, `MINT`, `LIGHT_BLUE`, `DARK_BLUE`, `PURPLE`, `AQUA`, `PINK`, `LIME`, `BROWN`, `AZURE`, `KHAKI`, `SAND`, `MARENGO`, `GRAY`, `GRAPHITE`
- `EMAIL` `string` — необязательный. Email для связи чат-бота. Бот создается как пользователь, поэтому email бота не должен совпадать с email реального пользователя Битрикс24. Это позволит избежать конфликтов учетных записей
- `PERSONAL_BIRTHDAY` `string` — необязательный. День рождения в формате `YYYY-MM-DD`
- `WORK_POSITION` `string` — необязательный. Должность или описание чат-бота
- `PERSONAL_WWW` `string` — необязательный. Ссылка на сайт
- `PERSONAL_GENDER` `string` — необязательный. Пол, допустимые значения: `M` или `F`
- `PERSONAL_PHOTO` `file` — необязательный. Аватар чат-бота в формате [Base64](https://apidocs.bitrix24.ru/api-reference/files/how-to-upload-files.html)
  Размер изображения не должен превышать ограничение в 5000x5000

## Ответ

```json
{
    "result": true,
    "time": {
        "start": 1728626400.123,
        "finish": 1728626400.234,
        "duration": 0.111,
        "processing": 0.045,
        "date_start": "2024-10-11T10:00:00+03:00",
        "date_finish": "2024-10-11T10:00:00+03:00",
        "operating_reset_at": 1762349466,
        "operating": 0
    }
}
```


## Ошибки

HTTP-статус: 400

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

- `WRONG_AUTH_TYPE` — Access for this method not allowed by session authorization.. Метод вызван с сессионной авторизацией вместо OAuth или вебхука
- `ACCESS_DENIED` — Access denied! Client ID not specified. Не удалось определить приложение: отсутствует `clientId` авторизации и не передан `CLIENT_ID`
- `BOT_ID_ERROR` — Bot not found. Бот не найден
- `APP_ID_ERROR` — Bot was installed by another rest application. Переданный `BOT_ID` принадлежит другому приложению
- `EVENT_MESSAGE_ADD_ERROR` — Wrong handler URL. Передан невалидный URL обработчика `EVENT_MESSAGE_ADD`
- `EVENT_MESSAGE_UPDATE_ERROR` — Wrong handler URL. Передан невалидный URL обработчика `EVENT_MESSAGE_UPDATE`
- `EVENT_MESSAGE_DELETE_ERROR` — Wrong handler URL. Передан невалидный URL обработчика `EVENT_MESSAGE_DELETE`
- `EVENT_WELCOME_MESSAGE_ERROR` — Wrong handler URL. Передан невалидный URL обработчика `EVENT_WELCOME_MESSAGE`
- `EVENT_BOT_DELETE_ERROR` — Wrong handler URL. Передан невалидный URL обработчика `EVENT_BOT_DELETE`
- `NAME_ERROR` — Bot name isn't specified. В `PROPERTIES` переданы оба пустых поля: `NAME` и `LAST_NAME`
- `WRONG_REQUEST` — Update fields can't be empty. Не переданы поля и обработчики для обновления
- `WRONG_REQUEST` — Bot can't be updated. Бот не может быть обновлен

## Примеры запроса

### cURL (Webhook)

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

```bash
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
```

### JS

```js
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);
}
```

### PHP

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

```js
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());
        }
    }
);
```

### PHP CRest

```php
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');
}
```

### Go

```go
// client и ctx уже созданы — см. раздел «SDK для Go»
res, err := client.Core().Call(ctx, "imbot.update", b24.Params{
	"BOT_ID": 39,
	"FIELDS": b24.Params{
		"CODE":          "newbot_v2",
		"EVENT_HANDLER": "https://example.com/bot/events",
		"PROPERTIES": b24.Params{
			"NAME":          "UpdatedBot",
			"WORK_POSITION": "Updated description",
		},
	},
	"CLIENT_ID": "**put_your_client_id_here**",
})
if err != nil {
	return fmt.Errorf("imbot.update: %w", err)
}

var ok bool
if err := json.Unmarshal(res.Result, &ok); err != nil {
	return fmt.Errorf("разбор ответа: %w", err)
}
fmt.Println("выполнено:", ok)
```

Оригинал в официальной документации: https://apidocs.bitrix24.ru/api-reference/chat-bots/outdated/bots/imbot-update.html
