- Чат на сайт, що це таке?
- Що повинен вміти чат?
- Безпечно чи безкоштовно?
- Як запустити чат для сайту?
- Для досвідчених користувачів
1. Чат на сайт, що це таке?
Зворотній зв'язок з відвідувачами сайту і можливість поспілкуватися з клієнтами — важлива частина бізнесу.
Клієнт продивляється сайт компанії, шукає інформацію про необхідний товар чи послугу,і, не покидаючи сторінку, може поговорити з оператором, щоб з'ясувати важливі для себе деталі. Як з консультантом в реальному магазині.
Але майже всі чати для сайтів — це сторонні сервіси з платними і безплатними функціями. Потрібно додавати віджет до CMS або просто вставити спеціальній HTML код на WEB-сторінку, щоб чат запрацював на сайті.
Це зручно, якщо питання безпеки вас не цікавлять. Користуючись такими сервісами, ви даєте свою згоду на те, що всі повідомлення клієнтів і відповіді операторів будуть зберігатись на якомусь чужому сервері.
Ми підходимо до справи серйозно, і вважаємо, що переписка між вашими співробітниками і клієнтами надто важлива, щоб так легко довіряти її третій стороні.
2. Що повинен вміти чат?
Необхідний мінімум, три важливі речі:
- Відправляти текстові повідомлення. Важливо, щоб система пам'ятала людину і показала історію повідомлень, якщо вона буде спілкуватися з оператором вдруге чи втретє.
- Робити голосові та відео дзвінки з сайту. Без встановлення плагінів або Flash (браузери поступово відмовились від нього). Ідеально підходить WebRTC, цю технологію підтримуюсь усі сучасні браузери.
- Відправляти зображення та документи. Дуже добре, якщо є можливість скріншоти екрана (PrintScreen, Ctrl+V).
3. Безпечно чи безкоштовно?
І те, й інше. Як не дивно, але такий продукт існує. Це корпоративний месенджер MyChat. В мінімальній безплатній версії на 20 онлайн-підключень можна легко запустити чат для сайту.
З дзвінками, передачею файлів, збереженням історії повідомлень і необмеженою кількістю операторів. З програмами під Windows/Linux/macOS/Android і WEB.
4. Як запустити чат для сайту?
Спочатку потрібно встановити MyChat Server. Як це зробити, написано в офіційній довідці.
Необхідно мати зовнішню IP адресу, щоб до вашого сервера MyChat могли підключатись користувачі через Інтернет. Якщо ви не знаєте, як налаштувати сервер для роботи в Інтернеті — вам сюди.
За работу веб-чата відповідає вбудований в MyChat веб-сервер, за умовчуванням він працює на 80 TCP порті без використання шифрування.
Щоб самостійно дізнатись, який порт використовує веб-сервер — зайдіть у веб-адмінку через меню MyChat Client ”Інструменти” -> ”Адміністрування сервера” (CTRL+F10), цей пункт буде тільки у користувачів з адміністративними правами:
Потім, уже в браузері, в адмін-панелі, відкрийте розділ ”Налаштування” -> ”Web-сервіси”, там вказано порт вашого веб-сервера:
тепер ми знаємо порт, по якому будемо підключати відвідувачів сайту до чату, запам'ятаємо його.
Скористуємось вбудованим механізмом для генерації HTML коду чата. Відкриваємо розділ адмінки ”Інструменти” -> ”Web-підтримка на сайт”:
Коли треба щось змінити (додати користувача, переглянути налаштування, змінити розташування) — достатньо зробити це в адмінці. Код на сайті залишається незмінним.
Створюємо локальну групу для веб-підтримки і додаємо туди операторів чату. З ними будуть спілкуватись відвідувачі сайту.
В списку користувачів зліва виділіть декілька користувачів або групу. Скопіюйте код і вставте його в сторінку на своєму сайті.
Приклад коду кнопки:
<!--== MyChat Web Support ==-->
<script type="text/javascript">
window.__setMyChatOption = function (opt) {
try {
window.mc_uho_opt = Object.prototype.toString.call( opt ) === '[object Object]' ? opt : JSON.parse(opt);
var run = document.createElement("script");
run.type = "text/javascript";
run.async = true;
run.src = "https://mychat-server.com/chat/uho/supportUho.js";
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(run, s);
} catch (e) {
console.warn(e.message);
}
}
</script>
<script src="https://mychat-server.com/getSupportOptions.js" async type="text/javascript"></script>
Отже, у нас є готовий код HTML для вставки на сайт. Відкриваємо в менеджері сайта файл index.html і перед закриваючим тегом </body> додаємо код кнопки.
Таким чином, у вас з'явиться "наскрізна" кнопка, яка буде відображатись на всіх сторінках сайту. Якщо кнопка потрібна на якихось конкретних сторінках, розмістіть код тільки в потрібних місцях.
5. Для досвідчених користувачів
Якщо вам потрібно об'єднати декілька сайтів або зробити свою кнопку — скористуйтесь налаштуванням скрипта для досвідчених користувачів нижче.
Заради простоти для серверів чату з одним сайтом і простим списком операторів ми зробили статичний код для сайту, щоби можна було побачити зміни у чаті веб-підтримки, просто натиснувши на щось у адмінці.
Проте, можливість налаштування нікуди не зникла, вона просто була прибрана з поля зорую
Опис параметрів чату:
text — текст кнопки для відкриття чату (вушко); position — розташування "вушка" (від 1 (праворуч, зверху) і до 12, за годинниковою стрілкою); _type — тип вибору користувачів, true - для груп і false - для конкретних операторів; uin — UIN з ким буде відкритий чат або список UIN-ів, може мати вигляд: [1,2,3] або "1,2,3", для чату буде обраний один, випадковим чином; group — ID групи операторів; height — висота вікна чату (при відкритті в окремому вікні); width — ширина вікна чату (при відкритті в окремому вікні); btnID — список id-кнопок або інших HTML елементів, детальний опис буде нижче; select — чи потрібно показувати вибір операторів перед початком чату: true / false (так / ні); inFrame — показувати чат не в окремому вікні, а в середині сторінки (у фреймі): true / false (так / ні); custom — довільний текстовий рядок, передається оператору без змін у полі поле Reflink; url — адреса сервера чату (протокол HTTPS або HTTP в адресі вказувати не можна); fields — поля, які повинен заповнити користувач при першому вході в чат, текстовий рядок: "email, name" або "name", або "email", або "" — нічого.
Параметр "btnID" може містити список id HTML елементів, при натисканні на яке буде відкрито чат з певним оператором, також в атрибутах цього елемента потрібно вказати UIN, з ким відкрити чат (uin = "3"), наприклад:
<div id="mcGifer" uin="3" style="cursor:pointer;"> <img src="/img/Live_Chat.png" onmouseout="this.src='/img/Live_Chat.png';" onmouseover="this.src='/img/Live_Chat_2.png';"> </div>
Цей код відображає картинку з текстом "Відкрити вікно чату":
І приклад скрипта:
<!--== MyChat Web Support ==-->
<script type="text/javascript">
window.__setMyChatOption = function (opt) {
try {
window.mc_uho_opt = Object.prototype.toString.call( opt ) === '[object Object]' ? opt : JSON.parse(opt);
window.mc_uho_opt.btnID = ["mcGifer", "mcHobit", "mcGlubber", "mcHelen"];
var run = document.createElement("script");
run.type = "text/javascript";
run.async = true;
run.src = "https://mychat-server.com/chat/uho/supportUho.js";
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(run, s);
} catch (e) {
console.warn(e.message);
}
}
</script>
<script src="https://mychat-server.com/getSupportOptions.js" async type="text/javascript"></script>
У рядку window.mc_uho_opt.btnID = ["mcGifer", "mcHobit", "mcGlubber", "mcHelen"]; вказані id усіх кнопок для відкриття чату.
Аналогічно цьому параметру в window.mc_uho_opt можна вказати будь-яке з вище перечислених полів, наприклад:
window.mc_uho_opt.position = 2; // кнопка чату справа в центрі window.mc_uho_opt._type = true; // користувачі групи 1 window.mc_uho_opt.group = 1; // номер групи 1 window.mc_uho_opt.select = true; // показати вибір операторів, при першому підключенні window.mc_uho_opt.inFrame = true; // відобразити чат в середині вікна, у фреймі window.mc_uho_opt.fields = "name, email"; // вимагає від відвідувача ввести ім'я та пошту window.mc_uho_opt.url = "192.168.10.10:8080"; // актуально, коли веб-сервер чату працює на одному порту, а ви його відкрили через портмапінг на іншому, зверніть увагу, адреса без "http (s): //"
Зазначені в скрипті поля мають пріоритет над налаштуваннями в адмінці сервера.
Таким чином можна вказувати на різних сайтах або сторінках window.mc_uho_opt.group, щоб використовувати окремі групи користувачів.
Окремо хочемо розповісти про параметр custom, його можна використовувати для додаткової ідентифікації користувачів. Наприклад, коли у вас декілька сайтів і з якоїсь причини не визначається Reflink для відвідувачів. Це поле буде додано в логіні, в полі Reflink, яке обробляється серверним скриптом "OnPrivateRequest" - "WebGuestInfo".
Ось і вся магія.
Якщо у вас залишились питання — чекаємо на форумі підтримки MyChat.