Открытые линии
Связь открытой линии с CRM
Поиск чатов клиента по CRM-объекту и отличие от внутреннего обсуждения карточки.
Найти чаты по сделке
У метода imopenlines.crm.chat.get ID объекта передаётся в CRM_ENTITY. Параметр CRM_ENTITY_ID из старого примера не соответствует этому контракту.
BX24.init(function () {
BX24.callMethod("imopenlines.crm.chat.get", {
"CRM_ENTITY_TYPE": "deal",
"CRM_ENTITY": 123,
"ACTIVE_ONLY": "N"
}, function (result) {
if (result.error()) {
console.error(result.error());
return;
}
console.log(result.data());
});
});Результат может содержать несколько чатов. Пустой список не подтверждает отсутствие любых переписок о клиенте — это ответ конкретного метода для доступного объекта.
Чат CRM и клиентский диалог
Внутреннее обсуждение карточки с признаком ENTITY_TYPE = CRM не равно чату клиента в открытой линии. Поиск строк DEAL|123 в таблице IM не заменяет API связи открытой линии с CRM.
У обращения есть ещё сессия: один чат может пережить несколько обращений. Для действий оператора нужен актуальный контекст сессии, а не просто первая найденная CRM-привязка.
Отправка сообщения
Перед отправкой определите, нужен ли комментарий в CRM, сообщение внутренним сотрудникам или ответ клиенту во внешний канал. Это разные операции. Не отправляйте пробное сообщение по найденному chat ID, пока не проверили его тип и адресата.