Заметки
Как привязать чат открытой линии к компании
Как связать чат открытой линии с компанией через CRM-активность, контакт, компанию и привязки таймлайна.
Для привязки чата открытой линии к компании мало добавить текстовое дело. Нужна CRM-активность с правильным владельцем, bindings и provider-данными сессии.
Задача
Нужно, чтобы переписка из открытой линии была видна не только в лиде или сделке, но и в карточке компании.
Это полезно, когда клиент общается как представитель компании, а история переписки должна оставаться доступной в карточке контрагента.
Связь обычно делается через CRM-активность с привязкой к компании. Если есть контакт, его тоже лучше привязать.
Активность на компании
Для карточки компании owner активности должен указывать на компанию, а bindings должны содержать компанию как связанную CRM-сущность.
BX24.callMethod(
'crm.activity.add',
{
fields: {
OWNER_TYPE_ID: 4,
OWNER_ID: 321,
SUBJECT: 'Диалог открытой линии',
COMPLETED: 'Y',
PROVIDER_ID: 'IMOPENLINES_SESSION',
PROVIDER_TYPE_ID: 'IMOPENLINES_SESSION',
PROVIDER_PARAMS: {
SESSION_ID: 456,
CHAT_ID: 789,
},
BINDINGS: [
{ OWNER_TYPE_ID: 4, OWNER_ID: 321 }
],
},
},
function (result) {
console.log(result.error() || result.data());
}
); Здесь OWNER_TYPE_ID и OWNER_ID относятся к компании. Provider-данные связывают активность с сессией открытой линии.
Контакт лучше не терять
Если клиент известен как физическое лицо, компанию и контакт лучше связать одной активностью.
BINDINGS: [
{ OWNER_TYPE_ID: 4, OWNER_ID: 321 },
{ OWNER_TYPE_ID: 3, OWNER_ID: 654 }
] Так переписка будет видна и в компании, и в контакте. Это удобнее, чем создавать две независимые активности с одинаковым текстом.
Как проверить связанные чаты
Для CRM-сущности можно запросить чаты открытых линий, которые уже связаны с ней.
BX24.callMethod(
'imopenlines.crm.chat.get',
{
CRM_ENTITY_TYPE: 'COMPANY',
CRM_ENTITY: 321,
},
function (result) {
console.log(result.error() || result.data());
}
); Если чат не находится по компании, но виден в контакте или сделке, значит проблема в CRM-привязке, а не в самой открытой линии.