Получить информацию о диалоге оператора imopenlines.dialog.get

Выберите инструмент для разработки с AI-агентом:

  • используйте Битрикс24 Вайбкод, чтобы создать приложение для Битрикс24 по описанию задачи без знания языков программирования. Агент напишет код и разместит приложение на сервере без ручной настройки хостинга
  • используйте MCP-сервер, чтобы разрабатывать интеграцию через REST API в своем проекте. Агент будет обращаться к официальной REST-документации

Scope: imopenlines

Кто может выполнять метод: любой пользователь с правом на доступ к диалогу

Метод imopenlines.dialog.get возвращает данные чата открытой линии. Достаточно передать один из параметров.

Параметры метода

Обязательные параметры отмечены *

Название
тип

Описание

CHAT_ID
integer

Идентификатор чата открытой линии.

Идентификатор можно получить методом imopenlines.session.open или imopenlines.session.history.get

DIALOG_ID
string

Идентификатор диалога в формате chat<ID>, где <ID> — идентификатор чата открытой линии

SESSION_ID
integer

Идентификатор сессии.

Идентификатор можно получить методом imopenlines.session.history.get в поле sessionId

USER_CODE
string

Строковый код пользователя для канала внешней системы.

Формат кода: <connector>|<LINE_ID>|<CONNECTOR_CHAT_ID>|<CONNECTOR_USER_ID>, где:

  • <connector> — идентификатор коннектора: livechat, telegram и другие
  • <LINE_ID> — идентификатор открытой линии
  • <CONNECTOR_CHAT_ID> — идентификатор чата в канале
  • <CONNECTOR_USER_ID> — идентификатор пользователя в канале

Значение можно получить методом imopenlines.session.history.get из result.chat.<chatId>.entityId

Примеры кода

Как использовать примеры в документации

curl -X POST \
  -H "Content-Type: application/json" \
  -H "Accept: application/json" \
  -d '{"USER_CODE":"livechat|1|1373|211"}' \
  https://your-domain.bitrix24.ru/rest/1/webhook_key/imopenlines.dialog.get.json
curl -X POST \
  -H "Content-Type: application/json" \
  -H "Accept: application/json" \
  -d '{"USER_CODE":"livechat|1|1373|211","auth":"<access_token>"}' \
  https://your-domain.bitrix24.ru/rest/imopenlines.dialog.get.json
// This snippet is an ES module: top-level await requires type="module" or a bundler.
// $b24 is an already-initialized SDK instance (see the SDK "Get started" guide).
import { Text } from '@bitrix24/b24jssdk'
import type { B24Frame, ISODate } from '@bitrix24/b24jssdk'

declare const $b24: B24Frame

// Shape of the payload returned in result (match the "response handling" section of the page)
type DialogGetResult = {
  id: number
  parent_chat_id: number
  parent_message_id: number
  name: string
  description: string | null
  owner: number
  extranet: boolean
  avatar: string
  color: string
  type: string
  counter: number
  user_counter: number
  message_count: number
  unread_id: number
  restrictions: Record<string, boolean>
  last_message_id: number
  last_id: number
  marked_id: number
  disk_folder_id: number
  entity_type: string
  entity_id: string
  entity_data_1: string
  entity_data_2: string
  entity_data_3: string
  mute_list: number[]
  date_create: ISODate
  message_type: string
  public: string
  role: string
  entity_link: { type: string; url: string; id: string }
  text_field_enabled: boolean
  background_id: number | null
  permissions: Record<string, string>
  is_new: boolean
  readed_list: Array<{ user_id: number; user_name: string; message_id: number; date: ISODate | null }>
  manager_list: number[]
  last_message_views: {
    message_id: number
    first_viewers: Array<{ user_id: number; user_name: string; date: ISODate }>
    count_of_viewers: number
  }
  dialog_id: string
}

try {
  const response = await $b24.actions.v2.call.make<DialogGetResult>({
    method: 'imopenlines.dialog.get',
    params: {
      USER_CODE: 'livechat|1|1373|211',
    },
    requestId: Text.getUuidRfc4122()
  })

  // The payload is available only on a successful response
  if (!response.isSuccess) {
    console.error(response.getErrorMessages().join('; '))
  } else {
    const result = response.getData()!.result
    console.info(result.id, result.name, result.dialog_id)
  }
} catch (error) {
  // Thrown on transport or SDK failures (AjaxError, SdkError, etc.)
  console.error(error)
}
<!-- Load the SDK (UMD build); it is exposed as the global B24Js -->
<script src="https://unpkg.com/@bitrix24/b24jssdk@1/dist/umd/index.min.js"></script>
<script>
  async function getDialog() {
    try {
      // Initialize the SDK inside a Bitrix24 frame
      const $b24 = await B24Js.initializeB24Frame()

      const response = await $b24.actions.v2.call.make({
        method: 'imopenlines.dialog.get',
        params: {
          USER_CODE: 'livechat|1|1373|211',
        },
        requestId: B24Js.Text.getUuidRfc4122()
      })

      // The payload is available only on a successful response
      if (!response.isSuccess) {
        console.error(response.getErrorMessages().join('; '))
        return
      }

      const result = response.getData().result
      console.info(result.id, result.name, result.dialog_id)
    } catch (error) {
      // Thrown on transport or SDK failures (AjaxError, SdkError, etc.)
      console.error(error)
    }
  }

  document.addEventListener('DOMContentLoaded', getDialog)
</script>
from b24pysdk.errors import BitrixAPIError, BitrixSDKException

try:
    bitrix_response = client.imopenlines.dialog.get(
        user_code="livechat|1|1373|211",
    ).response
    result = bitrix_response.result
    print(result)
except BitrixAPIError as error:
    print(
        "Ошибка Bitrix API",
        f"error: {error.error}",
        f"error_description: {error.error_description}",
        sep="\n",
    )
except BitrixSDKException as error:
    print(f"Ошибка Bitrix SDK: {error.message}")
except Exception as error:
    print(f"Непредвиденная ошибка: {error}")
try {
    $response = $b24Service
        ->core
        ->call(
            'imopenlines.dialog.get',
            [
                'USER_CODE' => 'livechat|1|1373|211',
            ]
        );

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

    if ($result->error()) {
        echo 'Error: ' . $result->error();
    } else {
        echo 'Success: ' . print_r($result->data(), true);
    }
} catch (Throwable $exception) {
    error_log($exception->getMessage());
    echo 'Error getting dialog: ' . $exception->getMessage();
}
BX24.callMethod(
    'imopenlines.dialog.get',
    {
        USER_CODE: 'livechat|1|1373|211',
    },
    function(result) {
        if (result.error()) {
            console.error(result.error().ex);
        } else {
            console.log(result.data());
        }
    }
);
require_once('crest.php');

$result = CRest::call(
    'imopenlines.dialog.get',
    [
        'USER_CODE' => 'livechat|1|1373|211',
    ]
);

if (!empty($result['error'])) {
    echo 'Error: ' . $result['error_description'];
} else {
    echo 'Success: ' . print_r($result['result'], true);
}
// client и ctx уже созданы — см. раздел «SDK для Go»
res, err := client.Core().Call(ctx, "imopenlines.dialog.get", b24.Params{
	"USER_CODE": "livechat|1|1373|211",
}, b24.WithIdempotent())
if err != nil {
	return fmt.Errorf("imopenlines.dialog.get: %w", err)
}

var item struct {
	ID              b24.ID `json:"id"`
	ParentChatID    int    `json:"parent_chat_id"`
	ParentMessageID int    `json:"parent_message_id"`
	Name            string `json:"name"`
	Owner           int    `json:"owner"`
	Extranet        bool   `json:"extranet"`
}
if err := json.Unmarshal(res.Result, &item); err != nil {
	return fmt.Errorf("разбор ответа: %w", err)
}
fmt.Println(item.ID, item.ParentChatID)

Обработка ответа

HTTP-статус: 200

{
    "result": {
        "id": 1777,
        "parent_chat_id": 0,
        "parent_message_id": 0,
        "name": "Салатовый гость №17 - Документация Битрикс24",
        "description": null,
        "owner": 27,
        "extranet": false,
        "avatar": "",
        "color": "#58cc47",
        "type": "lines",
        "counter": 0,
        "user_counter": 2,
        "message_count": 104,
        "unread_id": 0,
        "restrictions": {
            "avatar": true,
            "rename": true,
            "extend": true,
            "call": true,
            "mute": true,
            "leave": true,
            "leave_owner": true,
            "send": true,
            "user_list": true
        },
        "last_message_id": 86313,
        "last_id": 86313,
        "marked_id": 0,
        "disk_folder_id": 0,
        "entity_type": "LINES",
        "entity_id": "livechat|22|1775|599",
        "entity_data_1": "Y|LEAD|1209|N|N|343|1773682918|0|0|0",
        "entity_data_2": "LEAD|1209|COMPANY|0|CONTACT|0|DEAL|0",
        "entity_data_3": "N",
        "mute_list": [],
        "date_create": "2026-03-13T16:50:15+03:00",
        "message_type": "L",
        "public": "",
        "role": "owner",
        "entity_link": {
            "type": "LINES",
            "url": "",
            "id": "livechat|22|1775|599"
        },
        "text_field_enabled": true,
        "background_id": null,
        "permissions": {
            "manage_users_add": "member",
            "manage_users_delete": "manager",
            "manage_ui": "member",
            "manage_settings": "owner",
            "manage_messages": "member",
            "can_post": "member"
        },
        "is_new": false,
        "readed_list": [
            {
                "user_id": 599,
                "user_name": "Гость",
                "message_id": 86101,
                "date": null
            }
        ],
        "manager_list": [27],
        "last_message_views": {
            "message_id": 86313,
            "first_viewers": [
                {
                    "user_id": 27,
                    "user_name": "Светлана Иванова",
                    "date": "2026-03-16T20:50:37+03:00"
                }
            ],
            "count_of_viewers": 0
        },
        "dialog_id": "chat1777"
    },
    "time": {
        "start": 1773683678,
        "finish": 1773683678.423382,
        "duration": 0.423382043838501,
        "processing": 0,
        "date_start": "2026-03-16T20:54:38+03:00",
        "date_finish": "2026-03-16T20:54:38+03:00",
        "operating_reset_at": 1773684278,
        "operating": 0
    }
}

Возвращаемые данные

Название
тип

Описание

result
object

Объект данных чата (подробное описание)

time
time

Информация о времени выполнения запроса

Объект result

Название
тип

Описание

id
integer

Идентификатор чата

parent_chat_id
integer

Идентификатор родительского чата

parent_message_id
integer

Идентификатор родительского сообщения

name
string

Название чата

description
string

Описание чата или null

owner
integer

Идентификатор владельца чата

extranet
boolean

Признак экстранет-чата

avatar
string

URL аватара чата или пустая строка

color
string

Цвет чата в формате HEX

dialog_id
string

Идентификатор диалога в формате chat<ID>

type
string

Тип чата, для открытых линий значение lines

counter
integer

Количество непрочитанных сообщений для текущего пользователя

user_counter
integer

Количество участников, у которых есть непрочитанные сообщения

message_count
integer

Общее количество сообщений в чате

unread_id
integer

Идентификатор первого непрочитанного сообщения или 0

restrictions
object

Права на действия с чатом (подробное описание)

last_message_id
integer

Идентификатор последнего сообщения

last_id
integer

Служебный идентификатор последнего сообщения

marked_id
integer

Идентификатор помеченного сообщения или 0

disk_folder_id
integer

Идентификатор папки Диска для файлов чата

entity_type
string

Тип канала чата, для открытых линий значение LINES

entity_id
string

Код пользователя открытой линии в формате <connector>|<LINE_ID>|<CONNECTOR_CHAT_ID>|<CONNECTOR_USER_ID>, где:

  • <connector> — идентификатор коннектора: livechat, telegram и другие
  • <LINE_ID> — идентификатор открытой линии
  • <CONNECTOR_CHAT_ID> — идентификатор чата в канале
  • <CONNECTOR_USER_ID> — идентификатор пользователя в канале

entity_data_1
string

Строка с данными сессии открытой линии

entity_data_2
string

Строка с привязками CRM

entity_data_3
string

Дополнительный служебный флаг

mute_list
array

Список идентификаторов пользователей с выключенными уведомлениями

date_create
datetime

Дата и время создания чата в формате ISO 8601 (RFC3339)

message_type
string

Тип сообщений в чате

public
string

Публичный флаг чата

role
string

Роль текущего пользователя в чате

entity_link
object

Связь с каналом внешней системы (подробное описание)

text_field_enabled
boolean

Доступно ли поле ввода сообщений

background_id
integer

Идентификатор фона чата или null

permissions
object

Права текущего пользователя в чате (подробное описание)

is_new
boolean

Признак нового чата

readed_list
array

Список данных о прочтении сообщений (подробное описание)

manager_list
array

Список идентификаторов операторов, назначенных менеджерами

last_message_views
object

Данные о просмотре последнего сообщения (подробное описание)

Объект restrictions

Название
тип

Описание

avatar
boolean

Разрешено менять аватар чата

rename
boolean

Разрешено менять название чата

extend
boolean

Разрешено расширять настройки чата

call
boolean

Разрешены звонки в чате

mute
boolean

Разрешено выключать уведомления

leave
boolean

Разрешено выходить из чата

leave_owner
boolean

Разрешено выходить владельцу чата

send
boolean

Разрешено отправлять сообщения

user_list
boolean

Разрешено просматривать список участников

Название
тип

Описание

type
string

Тип канала, для открытых линий значение LINES

url
string

Ссылка на внешний объект канала или пустая строка

id
string

Внешний идентификатор диалога в канале

Объект permissions

Название
тип

Описание

manage_users_add
string

Право на добавление участников

manage_users_delete
string

Право на удаление участников

manage_ui
string

Право на управление интерфейсом чата

manage_settings
string

Право на управление настройками чата

manage_messages
string

Право на управление сообщениями

can_post
string

Право на отправку сообщений

Объект readedListItem

Название
тип

Описание

user_id
integer

Идентификатор пользователя

user_name
string

Имя пользователя

message_id
integer

Идентификатор последнего прочитанного сообщения

date
datetime

Дата и время прочтения в формате ISO 8601 (RFC3339) или null

Объект lastMessageViews

Название
тип

Описание

message_id
integer

Идентификатор сообщения, для которого собрана статистика просмотров

first_viewers
array

Список пользователей, которые первыми просмотрели сообщение (подробное описание)

count_of_viewers
integer

Количество остальных пользователей, просмотревших сообщение

Объект firstViewerItem

Название
тип

Описание

user_id
integer

Идентификатор пользователя

user_name
string

Имя пользователя

date
datetime

Дата и время просмотра в формате ISO 8601 (RFC3339)

Обработка ошибок

HTTP-статус: 400

{
    "error": "ACCESS_ERROR",
    "error_description": "You do not have access to the specified dialog"
}

Название
тип

Описание

error
string

Строковый код ошибки. Состоит из цифр, латинских букв и знака подчеркивания. Может прийти пустым — тогда причину показывает только error_description

error_description
string

Текст ошибки для разработчика. Не показывайте его конечному пользователю без обработки

Возможные коды ошибок

Статус

Код

Описание

Значение

400

IM_NOT_INSTALLED

Messenger is not installed.

Модуль im не установлен

400

ACCESS_ERROR

You do not have access to the specified dialog

Диалог не найден или нет доступа к нему

Статусы и коды системных ошибок

HTTP-статус: 4xx, 5xx

Описанные ниже ошибки возвращает сам REST API, а не логика конкретного метода. Они могут прийти в ответ на любой метод.

Статус

Код
Текст ошибки

Описание

500

INTERNAL_SERVER_ERROR
Internal server error

Возникла внутренняя ошибка сервера. Повторите вызов, а если ошибка сохраняется, обратитесь к администратору сервера или в техническую поддержку Битрикс24

500

ERROR_UNEXPECTED_ANSWER
Server returned an unexpected response

Сервер вернул неожиданный ответ. Повторите вызов, а если ошибка сохраняется, обратитесь к администратору сервера или в техническую поддержку Битрикс24

503

QUERY_LIMIT_EXCEEDED
Too many requests

Превышен лимит на интенсивность запросов

429

OPERATION_TIME_LIMIT
Method is blocked due to operation time limit

Метод заблокирован из-за превышения лимита на ресурсоемкость запросов. Блокировка снимается автоматически, когда накопленное время выполнения метода перестает превышать лимит

401

NO_AUTH_FOUND
Wrong authorization data

В запросе нет авторизационных данных: не передан ни access-токен, ни код вебхука

401

INVALID_REQUEST
Https required

Методы вызываются только по протоколу HTTPS

401

OVERLOAD_LIMIT
REST API is blocked due to overload

REST API заблокирован из-за перегрузки. Это ручная индивидуальная блокировка. Чтобы ее снять, обратитесь в техническую поддержку Битрикс24

401

ACCESS_DENIED
REST is available only on commercial plans

REST API доступен только на коммерческих тарифах. У вебхука текст ошибки другой — REST is available only by subscription

401

INVALID_CREDENTIALS
Invalid request credentials

Не найден активный вебхук с указанным идентификатором пользователя и секретным кодом

404

ERROR_METHOD_NOT_FOUND
Method not found!

Метод с таким именем не найден. Имя написано с ошибкой, метода нет в REST API или он недоступен без нужного скоупа

401

insufficient_scope
The request requires higher privileges than provided by the webhook token

Запрос требует более широких прав, чем есть у токена: у вебхука это выданные ему права, у приложения — скоуп. У приложения текст ошибки заканчивается на provided by the access token

401

expired_token
The access token provided has expired

Срок действия access-токена истек

401

user_access_error
The user does not have access to the application

Приложение установлено, но администратор Битрикс24 открыл доступ к нему только конкретным пользователям

403

PORTAL_DELETED
Portal was deleted

Публичная часть сайта закрыта. Чтобы открыть ее на коробочной установке, отключите опцию «Временное закрытие публичной части сайта». Путь к настройке: Рабочий стол > Настройки > Настройки продукта > Настройки модулей > Главный модуль > Временное закрытие публичной части сайта

Продолжите изучение