Покрокова інструкція
Markdown статтіПовідомити про помилку

Як вбудувати операторську панель у CRM/ERP

ConnectiveOne можна відкрити всередині вашої CRM/ERP у вікні (iframe): оператор веде діалоги, не виходячи з CRM. Панель вбудовується в Creatio, Zoho, Odoo та будь-яку іншу систему, яка вміє показувати iframe.

Коли використовувати

  • Пункт меню в CRM, де оператор працює з усіма чатами.
  • Вкладка або кнопка на картці клієнта, яка відкриває чат саме з цим клієнтом.
  • Черга чатів поруч із CRM без меню ConnectiveOne.

Як це працює

  1. Адміністратор ConnectiveOne вмикає вбудовування, вказує домен CRM і отримує ключ входу.
  2. Сервер CRM збирає посилання з email оператора та ключем і ставить його в iframe.
  3. ConnectiveOne пускає оператора без пароля і відкриває потрібну частину панелі.

Крок 1. Увімкніть вбудовування

Налаштування → Операторська панель → Вбудовування в CRM.

  1. Увімкніть «Дозволити вбудовування операторської панелі в CRM».
  2. У полі «Домени CRM» вкажіть адресу вашої CRM, по одній на рядок: https://crm.example.com. Для всіх піддоменів: https://*.example.com. Приймаються лише адреси https://.
  3. Натисніть «Зберегти».

Поки вбудовування вимкнене або домену CRM немає в списку, браузер не покаже ConnectiveOne всередині CRM.

👉 Доступ до сторінки дає право ролі «Вбудовування в CRM» (Налаштування → Ролі → Операторська панель). «Перегляд» — побачити сторінку і стан ключа, «Редагування» — показати ключ, змінювати налаштування і перевипускати ключ.

Крок 2. Отримайте ключ входу

На тій самій сторінці, блок «Ключ входу без пароля»:

  • «Згенерувати ключ» — створити ключ, якщо його ще немає.
  • «Показати ключ» → «Скопіювати ключ» — забрати ключ у налаштування CRM.
  • «Перевипустити ключ» — створити новий. Інтеграції зі старим ключем перестануть працювати, доки ви не заміните ключ у CRM.

🚨 Важливо: ключ один на інстанс — з ним можна увійти під будь-яким звичайним оператором без пароля. Ключ потрапляє в адресу iframe, тому його бачить кожен користувач CRM, якому відкривається вікно (див. Безпека). Вмикайте вбудовування лише для тих, кому довіряєте як операторам ConnectiveOne. Зберігайте ключ у захищених налаштуваннях сервера CRM (System Settings, Vault), не кладіть його в JavaScript сторінки і не пишіть у логи CRM.

Крок 3. Виберіть режим і скопіюйте код

У блоці «Код для вставки» виберіть, що вбудовуєте:

Режим Що бачить оператор Куди ставити в CRM
Уся панель (embed_mode=panel) Операторська панель повністю Пункт меню CRM
Лише черга чатів (embed_mode=queue) Чати без меню ConnectiveOne Пункт меню або бічна панель CRM
Чат з картки клієнта (embed_mode=chat) Лише чат із цим клієнтом Вкладка, кнопка або попап на картці

Для чату з картки виберіть канал і бота. Сторінка покаже готове посилання і код iframe з мітками {EMAIL}, {LOGIN_KEY}, {PHONE} — їх підставляє сервер CRM.

Параметри посилання

Посилання завжди веде на /autologin. Якщо відкрити /login, оператор побачить форму входу, а чат з картки не відкриється.

Параметр Обов'язковий Що означає
uk, en, … ні Мова інтерфейсу. Перший параметр без значення: ?uk&user=…, а не uk=
user так Email оператора. Має збігатися з email його акаунта в ConnectiveOne. Акаунт має бути активним оператором без ролі адміністратора (див. Безпека)
login_key так Ключ входу з кроку 2
redirect_module так Куди перейти після входу: OperatorPanelChats
embed_mode ні panel, queue або chat (див. крок 3). Без нього — уся панель
init_dialog ні Телефон клієнта, лише цифри. Відкриває чат із цим клієнтом
init_dialog_channel з init_dialog Канал: telegram, whatsapp, viber, widget, telephony
init_dialog_bot_id ні ID бота. Без нього береться перший бот з цим каналом
chat_room_id ні Відкрити вже відому кімнату замість пошуку за телефоном

👉 Старий параметр hide_nav=1 працює: з init_dialog або chat_room_id — як embed_mode=chat, без них — як embed_mode=queue.

Приклади посилань

Уся панель (пункт меню):

https://instancename.connectiveone.io/autologin?uk&user={EMAIL}&login_key={LOGIN_KEY}&redirect_module=OperatorPanelChats&embed_mode=panel

Черга чатів:

https://instancename.connectiveone.io/autologin?uk&user={EMAIL}&login_key={LOGIN_KEY}&redirect_module=OperatorPanelChats&embed_mode=queue

Чат з картки клієнта:

https://instancename.connectiveone.io/autologin?uk&user={EMAIL}&login_key={LOGIN_KEY}&redirect_module=OperatorPanelChats&embed_mode=chat&init_dialog={PHONE}&init_dialog_channel=telegram&init_dialog_bot_id=1

Код iframe:

<iframe
  src="https://instancename.connectiveone.io/autologin?uk&user={EMAIL}&login_key={LOGIN_KEY}&redirect_module=OperatorPanelChats&embed_mode=panel"
  title="Operator panel"
  style="width:100%;height:100%;min-height:720px;border:0"
  allow="microphone; camera; clipboard-read; clipboard-write"
></iframe>

Як CRM збирає посилання

Посилання збирає сервер CRM, коли відкриває сторінку або картку:

  1. Бере email поточного користувача CRM → user.
  2. Бере ключ із захищених налаштувань → login_key.
  3. Для картки бере телефон клієнта, лише цифри → init_dialog.
  4. Віддає браузеру готовий iframe.

Приклад на сервері (псевдокод):

params = {
    "user": current_user.email,
    "login_key": settings.get_secret("connectiveone.login_key"),
    "redirect_module": "OperatorPanelChats",
    "embed_mode": "chat",
    "init_dialog": only_digits(contact.phone),
    "init_dialog_channel": "telegram",
}
src = f"https://instancename.connectiveone.io/autologin?uk&{urlencode(params)}"

Що відбувається з чатом з картки

  1. Клієнт із таким телефоном є і в нього відкритий чат — оператор підключається до цього чату.
  2. Клієнт є, відкритого чату немає — створюється новий чат у вказаному каналі.
  3. Клієнта немає — створюється новий діалог, якщо на інстансі є бот із цим каналом.

Якщо вікно не відкрилося

Що бачите Причина
Форма входу ConnectiveOne Відкрили /login замість /autologin, або бракує user, login_key чи redirect_module
Порожнє або заблоковане вікно Вбудовування вимкнене або домену CRM немає в списку (крок 1)
Помилка embed_disabled Вбудовування вимкнене
Помилка Invalid key Ключ не збігся — його перевипустили або скопіювали з помилкою
Помилка user not found Немає активного оператора з таким email, або під цим акаунтом ключем увійти не можна: адміністратор, роль із правом редагувати ролі, користувачів чи вбудовування, вимкнений в Active Directory
Помилка too many requests Забагато спроб із неправильним ключем, зачекайте годину
Вхід не тримається, вікно просить увійти знову Браузер блокує сторонні cookies (налаштування приватності, деякі браузери за замовчуванням)

Безпека

  • Ключ видно в браузері. Посилання збирає сервер CRM, але браузер отримує його разом із ключем в адресі iframe. Будь-який користувач CRM, якому відкривається вікно, може прочитати ключ в інструментах розробника браузера. Ключ також може лишитися в історії браузера і в журналах вебсерверів на шляху запиту. ConnectiveOne прибирає ключ з адреси одразу після відкриття вікна, але до цього моменту він уже побував у браузері.
  • Ключем входять лише звичайні оператори. Відмова для адміністраторів (root і роль admin), для ролей, які можуть редагувати ролі, користувачів або сторінку «Вбудовування в CRM», для неактивних акаунтів і для акаунтів, яких немає або вимкнено в Active Directory.
  • Вхід за ключем не питає код двофакторної автентифікації (2FA).
  • Сесія, відкрита за ключем, живе стільки ж, скільки сесія після входу за паролем на цьому інстансі.
  • Перевипуск ключа закриває новий вхід за старим ключем, але не вікна, які вже відкриті.
  • Використовуйте тільки https://.
  • Перегляд і перевипуск ключа записуються в журнал змін налаштувань.
  • Якщо ключ міг потрапити до сторонніх — перевипустіть його.

Обмеження

  • Email оператора в CRM має збігатися з email у ConnectiveOne.
  • Для чату з картки потрібен телефон клієнта.
  • Вбудовування залежить від cookies у сторонньому контексті: якщо браузер їх блокує, вхід не збережеться.
  • Деякі CRM обмежують розмір або дозволи iframe.

Пов'язані статті

Працюєте з власним ШІ-агентом?Встановіть відкритий skill, щоб ваш ШІ-агент працював з актуальною офіційною документацією ConnectiveOne.Отримати skillПотрібна підтримка?Не знайшли відповідь або потрібна допомога команди ConnectiveOne? Створіть запит у Client Portal.Створити запит