# imbot.register

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

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

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

## Описание

Метод `imbot.register` регистрирует чат-бота и привязывает обработчики событий приложения.

Если бот работает в составе приложения, события не будут отправляться в приложение, пока установка не завершена. [Проверьте установку приложения](https://apidocs.bitrix24.ru/settings/app-installation/installation-finish.html)

## Параметры

- `CODE` `string` — обязательный. Строковый код бота, уникальный в рамках Битрикс24
- `TYPE` `string` — необязательный. Тип бота.
  Допустимые значения:
  - `B` — стандартный чат-бот. В групповых чатах видит сообщения, которые адресованы именно ему.
  - `O` — чат-бот для Открытых линий.
  - `H` — чат-бот в режиме «человек» (human). Перед автоответом включает статус «печатает...» `startWriting`.
  - `S` — чат-бот с повышенными привилегиями (supervisor). Читает все сообщения в чатах, в которых состоит. Если бота добавили с показом истории, он видит старые и новые сообщения. Если без истории — только новые сообщения.
  Значение по умолчанию: `B`
- `OPENLINE` `string` — необязательный. Режим работы с Открытыми линиями. 
  Допустимые значения: 
  - `Y` — включить режим поддержки Открытых линий
  - `N` — отключить, значение по умолчанию
  Для `TYPE=O` параметр можно не указывать. Значение будет принудительно установлено в `Y`
- `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/).
  Параметр игнорируется только для ботов с `TYPE=B/H` и `OPENLINE=N`
- `EVENT_MESSAGE_DELETE` `string` — необязательный. URL обработчика события [ONIMBOTMESSAGEDELETE](https://chugunov.pro/api-bitrix24/chat-bots/outdated/messages/events/on-imbot-message-delete/).
  Параметр игнорируется только для ботов с `TYPE=B/H` и `OPENLINE=N`
- `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/)
- `CLIENT_ID` `string` — необязательный. Параметр обязателен только для вебхуков. Передайте уникальный CLIENT_ID — этот ключ будет привязан к чат-боту и потребуется для всех последующих вызовов imbot* через вебхук
- `PROPERTIES` `object` — обязательный. Свойства профиля чат-бота. Структура объекта подробно описана [ниже](#properties)

### Параметр 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": 39,
    "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": "CODE_ERROR",
    "error_description": "Bot code isn't specified"
}
```

- `WRONG_AUTH_TYPE` — Access for this method not allowed by session authorization. Метод вызван с сессионной авторизацией вместо OAuth или вебхука
- `ACCESS_DENIED` — Access denied! Client ID not specified. Не удалось определить приложение: отсутствует `clientId` авторизации и не передан `CLIENT_ID`
- `EVENT_MESSAGE_ADD_ERROR` — Handler for "Message add" event isn't specified. Не передан обязательный обработчик события `EVENT_MESSAGE_ADD`
- `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` — Handler for "Welcome message" event isn't specified. Не передан обязательный обработчик события `EVENT_WELCOME_MESSAGE`
- `EVENT_WELCOME_MESSAGE_ERROR` — Wrong handler URL. Передан невалидный URL `EVENT_WELCOME_MESSAGE`
- `EVENT_BOT_DELETE_ERROR` — Handler for "Bot delete" event isn't specified. Не передан обязательный обработчик события `EVENT_BOT_DELETE`
- `EVENT_BOT_DELETE_ERROR` — Wrong handler URL. Передан невалидный URL `EVENT_BOT_DELETE`
- `CODE_ERROR` — Bot code isn't specified. Не передан обязательный код бота `CODE`
- `NAME_ERROR` — Bot name isn't specified. В `PROPERTIES` не указано одно из обязательных полей: `NAME` или `LAST_NAME`
- `MAX_COUNT_ERROR` — Has reached the maximum number of bots for application (max: N). Достигнуто ограничение на количество ботов приложения
- `WRONG_REQUEST` — Bot can't be created. Бот не может быть создан

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

### cURL (Webhook)

```bash
curl -X POST /
  -H "Content-Type: application/json" /
  -H "Accept: application/json" /
  -d '{"CODE":"newbot","TYPE":"B","EVENT_HANDLER":"https://example.ru/bot/events","OPENLINE":"N","PROPERTIES":{"NAME":"NewBot","WORK_POSITION":"Support bot"},"CLIENT_ID":"**put_your_client_id_here**"}' /
  https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webhook_here**/imbot.register
```

### cURL (OAuth)

```bash
curl -X POST /
  -H "Content-Type: application/json" /
  -H "Accept: application/json" /
  -d '{"CODE":"newbot","TYPE":"B","EVENT_HANDLER":"https://example.ru/bot/events","OPENLINE":"N","PROPERTIES":{"NAME":"NewBot"},"auth":"**put_access_token_here**"}' /
  https://**put_your_bitrix24_address**/rest/imbot.register
```

### JS

```js
try {
  const response = await $b24.callMethod('imbot.register', {
    CODE: 'newbot',
    TYPE: 'B',
    EVENT_HANDLER: 'https://example.ru/bot/events',
    OPENLINE: 'N',
    PROPERTIES: {
      NAME: 'NewBot',
      WORK_POSITION: 'Support bot',
    },
  });

  const { result } = response.getData();
  console.log('Created bot ID:', result);
} catch (error) {
  console.error('Error registering bot:', error);
}
```

### PHP

```php
try {
    $response = $b24Service
        ->core
        ->call(
            'imbot.register',
            [
                'CODE' => 'newbot',
                'TYPE' => 'B',
                'EVENT_HANDLER' => 'https://example.ru/bot/events',
                'OPENLINE' => 'N',
                'PROPERTIES' => [
                    'NAME' => 'NewBot',
                    'WORK_POSITION' => 'Support bot',
                ],
            ]
        );

    $result = $response
        ->getResponseData()
        ->getResult();

    if ($result->error()) {
        echo 'Error: ' . $result->error();
    } else {
        echo 'Created bot ID: ' . $result->data();
    }
} catch (Throwable $exception) {
    error_log($exception->getMessage());
    echo 'Error registering bot: ' . $exception->getMessage();
}
```

### BX24.js

```js
BX24.callMethod(
    'imbot.register',
    {
        CODE: 'newbot',
        TYPE: 'B',
        EVENT_HANDLER: 'https://example.ru/bot/events',
        OPENLINE: 'N',
        PROPERTIES: {
            NAME: 'NewBot',
            WORK_POSITION: 'Support bot',
        },
    },
    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.register',
    [
        'CODE' => 'newbot',
        'TYPE' => 'B',
        'EVENT_HANDLER' => 'https://example.ru/bot/events',
        'OPENLINE' => 'N',
        'PROPERTIES' => [
            'NAME' => 'NewBot',
            'WORK_POSITION' => 'Support bot',
        ],
    ]
);

if (!empty($result['error'])) {
    echo 'Error: ' . $result['error_description'];
} else {
    echo 'Created bot ID: ' . $result['result'];
}
```

### Go

```go
// client и ctx уже созданы — см. раздел «SDK для Go»
res, err := client.Core().Call(ctx, "imbot.register", b24.Params{
	"CODE":          "newbot",
	"TYPE":          "B",
	"EVENT_HANDLER": "https://example.ru/bot/events",
	"OPENLINE":      "N",
	"PROPERTIES": b24.Params{
		"NAME":          "NewBot",
		"WORK_POSITION": "Support bot",
	},
	"CLIENT_ID": "**put_your_client_id_here**",
})
if err != nil {
	return fmt.Errorf("imbot.register: %w", err)
}

var value b24.ID
if err := json.Unmarshal(res.Result, &value); err != nil {
	return fmt.Errorf("разбор ответа: %w", err)
}
fmt.Println("результат:", value)
```

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