Технічне завдання на створення чату в K2 ERP: відмінності між версіями
R (обговорення | внесок) Замінено вміст на «== 4. Режими роботи == <div style="border:1px solid #cfd8dc; margin:12px 0;"> <div style="background:#eceff1; padding:10px; font-weight:bold;">Режими роботи K2 Chat</div> <div style="padding:10px; border-top:1px solid #cfd8dc;"> '''Веб-додаток'''<br /> Робота користувачів через браузер у хмарі K2 ERP. </div> <div style="padding:10px; border-top:1px solid #cfd8dc;"> '''API-додат...» Мітка: Замінено |
R (обговорення | внесок) Немає опису редагування |
||
| (Не показані 2 проміжні версії цього користувача) | |||
| Рядок 1: | Рядок 1: | ||
== 4. Режими роботи == | = Технічне завдання на створення модуля K2 Chat для K2 ERP = | ||
<div style="background:#e8f5e9; border-left:6px solid #2e7d32; padding:12px; margin:12px 0;"> | |||
'''K2 Chat''' — це корпоративний чат, модуль комунікацій, технічної підтримки, Helpdesk, баг-трекінгу, відеоконференцій, стрімінгу, міжхмарного обміну повідомленнями та інтеграції з бізнес-об’єктами K2 ERP. | |||
</div> | |||
<div style="background:#fff8e1; border-left:6px solid #f9a825; padding:12px; margin:12px 0;"> | |||
'''Головна ідея модуля:''' уся переписка, файли, голосові повідомлення, записи дзвінків, відеоконференції, транскрибації, Helpdesk-звернення, службові події та пов’язані бізнес-дані повинні зберігатися на сервері тієї хмари K2 ERP, де піднятий модуль K2 Chat. | |||
</div> | |||
== 1. Призначення модуля == | |||
Модуль '''K2 Chat''' призначений для організації внутрішньої, зовнішньої, клієнтської, технічної, проєктної та міжхмарної комунікації в екосистемі K2 ERP. | |||
K2 Chat повинен стати єдиним комунікаційним середовищем компанії, де повідомлення пов’язані не тільки з людьми, а й із документами, задачами, клієнтами, лідами, контрагентами, зверненнями, баг-репортами, файлами, відеозустрічами, записами, транскрибаціями та бізнес-процесами. | |||
Модуль повинен забезпечувати: | |||
* корпоративне спілкування співробітників; | |||
* роботу в хмарі K2 ERP; | |||
* роботу через веб-інтерфейс; | |||
* роботу через API; | |||
* можливість створення мобільних, десктопних або сторонніх додатків на основі API; | |||
* особисті чати; | |||
* групові чати; | |||
* корпоративні канали; | |||
* треди; | |||
* теми обговорень; | |||
* голосові повідомлення; | |||
* голосові дзвінки; | |||
* запис голосу; | |||
* транскрибацію голосу; | |||
* відеоконференції; | |||
* запис відеоконференцій; | |||
* транскрибацію відеоконференцій; | |||
* стрімінг для сотень або тисяч користувачів; | |||
* міжхмарну відправку повідомлень; | |||
* звернення з сайту в технічну підтримку; | |||
* функції Helpdesk; | |||
* створення задач; | |||
* створення баг-репортів; | |||
* передачу інформації з ERP у чат; | |||
* інтеграцію із зовнішніми месенджерами та каналами комунікації; | |||
* інтеграцію з CRM; | |||
* інтеграцію з VDoc; | |||
* інтеграцію з K2 Mantis або іншим баг-трекінгом; | |||
* інтеграцію з K2 Projects; | |||
* інтеграцію з телефонією; | |||
* роботу з файлами; | |||
* пошук; | |||
* аудит; | |||
* шифрування трафіку; | |||
* режими підвищеної безпеки. | |||
<div style="background:#e3f2fd; border-left:6px solid #1565c0; padding:12px; margin:12px 0;"> | |||
'''Важливо:''' K2 Chat повинен бути не просто месенджером, а повноцінним комунікаційним шаром K2 ERP, який пов’язує людей, документи, задачі, контрагентів, ліди, заявки, баг-репорти, підтримку, відеозустрічі, навчання та бізнес-процеси. | |||
</div> | |||
== 2. Цілі створення модуля == | |||
Основні цілі створення K2 Chat: | |||
# Забезпечити швидку комунікацію всередині компанії. | |||
# Забезпечити комунікацію між користувачами різних хмар K2 ERP. | |||
# Надати інструмент технічної підтримки для клієнтів. | |||
# Об’єднати чат, Helpdesk, баг-репорти, задачі та ERP-дані в єдиному середовищі. | |||
# Зменшити залежність компаній від зовнішніх месенджерів. | |||
# Забезпечити контроль, історію, аудит та збереження переписки. | |||
# Забезпечити голосову та відеокомунікацію всередині K2 ERP. | |||
# Забезпечити запис і транскрибацію зустрічей. | |||
# Надати інструмент для проведення вебінарів і великих онлайн-подій. | |||
# Надати можливість інтегрувати K2 Chat із сайтами, CRM, Helpdesk, ERP-модулями та зовнішніми каналами комунікації. | |||
# Забезпечити високий рівень безпеки для компаній із підвищеними вимогами до захисту інформації. | |||
# Сформувати єдиний центр комунікації компанії з клієнтами, співробітниками, партнерами, підрядниками та користувачами K2 ERP. | |||
== 3. Загальна концепція == | |||
K2 Chat повинен працювати як: | |||
* '''веб-додаток''' у складі K2 ERP; | |||
* '''окремий корпоративний чат''' у хмарі K2 ERP; | |||
* '''API-сервіс''' для зовнішніх додатків; | |||
* '''віджет підтримки''' для сайту; | |||
* '''Helpdesk-система''' для обробки звернень; | |||
* '''інструмент комунікації між хмарами K2 ERP'''; | |||
* '''шлюз інтеграції із зовнішніми месенджерами'''; | |||
* '''канал передачі ERP-об’єктів у комунікацію'''; | |||
* '''модуль голосових і відеокомунікацій'''; | |||
* '''система запису та транскрибації зустрічей'''; | |||
* '''платформа для онлайн-трансляцій і вебінарів'''; | |||
* '''контакт-центр для роботи з клієнтами'''; | |||
* '''центр комунікації по задачах, проєктах і спринтах'''. | |||
<div style="background:#f3e5f5; border-left:6px solid #7b1fa2; padding:12px; margin:12px 0;"> | |||
'''Архітектурний принцип:''' K2 Chat має бути модульним. Його можна використовувати як окремий чат, як частину CRM, як Helpdesk, як корпоративний месенджер, як сервіс повідомлень для інших модулів K2 ERP, як відеоплатформу, як контакт-центр або як міжхмарний канал комунікації. | |||
</div> | |||
== 4. Початковий мінімум розробки K2 Chat == | |||
<div style="background:#ffebee; border-left:6px solid #c62828; padding:14px; margin:14px 0;"> | |||
'''Найважливіше на першому етапі — не намагатися одразу зробити всі можливості великого корпоративного месенджера. Першочергова задача — створити стабільне ядро K2 Chat: повідомлення, користувачі, групи, історія, права доступу, файли, API, інтеграція з K2 ERP та збереження даних у хмарі K2 ERP.''' | |||
</div> | |||
Початковий мінімум повинен бути розроблений так, щоб на його основі можна було поступово нарощувати Helpdesk, відеоконференції, стрімінг, AI, телефонію, зовнішні інтеграції та міжхмарний обмін. | |||
На першому етапі потрібно створити не демонстраційний чат, а повноцінну технічну основу майбутнього модуля. | |||
=== 4.1. Головна ціль першого етапу === | |||
Головна ціль першого етапу — зробити робочий корпоративний чат усередині K2 ERP, який дозволяє користувачам хмари: | |||
* писати один одному повідомлення; | |||
* створювати групові чати; | |||
* бачити історію переписки; | |||
* отримувати повідомлення в реальному часі; | |||
* прикріплювати файли; | |||
* мати базові права доступу; | |||
* зберігати всю переписку на сервері K2 ERP; | |||
* працювати через веб-інтерфейс; | |||
* мати базовий API для подальшого розвитку; | |||
* передавати у чат базову інформацію з ERP. | |||
<div style="background:#e8f5e9; border-left:6px solid #2e7d32; padding:12px; margin:12px 0;"> | |||
'''Перший результат розробки:''' користувач K2 ERP заходить у хмару, відкриває K2 Chat, бачить список чатів, пише повідомлення, отримує відповідь у реальному часі, прикріплює файл, бачить історію і може перейти до пов’язаного ERP-об’єкта. | |||
</div> | |||
=== 4.2. Що обов’язково розробити першим === | |||
До першочергового ядра K2 Chat входять такі блоки: | |||
# Авторизація користувачів через K2 ERP. | |||
# Список користувачів хмари. | |||
# Особисті чати між двома користувачами. | |||
# Групові чати. | |||
# Відправка текстових повідомлень. | |||
# Отримання повідомлень у реальному часі. | |||
# Збереження історії повідомлень. | |||
# Перегляд історії переписки. | |||
# Позначення повідомлень як прочитаних. | |||
# Лічильник непрочитаних повідомлень. | |||
# Прикріплення файлів. | |||
# Базові права доступу. | |||
# Базовий журнал дій. | |||
# Пошук по повідомленнях. | |||
# API для відправки та отримання повідомлень. | |||
# Зв’язок повідомлення з ERP-об’єктом. | |||
# Базовий інтерфейс адміністратора. | |||
# Зберігання всіх даних у хмарі K2 ERP. | |||
<div style="background:#fff8e1; border-left:6px solid #f9a825; padding:12px; margin:12px 0;"> | |||
'''Ключовий принцип:''' спочатку потрібно зробити простий, швидкий і стабільний чат, який працює щодня. Усі складні функції мають нарощуватися тільки після того, як ядро повідомлень працює надійно. | |||
</div> | |||
=== 4.3. Мінімальний інтерфейс користувача першої версії === | |||
На першому етапі інтерфейс користувача повинен містити: | |||
* ліву панель зі списком чатів; | |||
* список особистих і групових чатів; | |||
* поле пошуку чатів; | |||
* центральну область повідомлень; | |||
* поле введення повідомлення; | |||
* кнопку відправки повідомлення; | |||
* кнопку прикріплення файлу; | |||
* індикатор нових повідомлень; | |||
* індикатор прочитання; | |||
* відображення автора повідомлення; | |||
* дату і час повідомлення; | |||
* можливість прокрутки історії; | |||
* кнопку створення нового чату; | |||
* кнопку створення групового чату; | |||
* базову панель інформації про чат. | |||
На першій версії не потрібно перевантажувати інтерфейс десятками функцій. Він повинен бути простим, зрозумілим і швидким. | |||
=== 4.4. Мінімальна структура даних першої версії === | |||
На першому етапі потрібно створити базові сутності: | |||
* користувачі чату; | |||
* чати; | |||
* учасники чатів; | |||
* повідомлення; | |||
* файли повідомлень; | |||
* статуси прочитання; | |||
* права доступу; | |||
* журнал дій; | |||
* посилання на ERP-об’єкти. | |||
Мінімальна структура повинна дозволяти надалі додати: | |||
* треди; | |||
* реакції; | |||
* голосові повідомлення; | |||
* Helpdesk; | |||
* баг-репорти; | |||
* відеоконференції; | |||
* зовнішні інтеграції; | |||
* міжхмарний обмін; | |||
* AI-помічника. | |||
<div style="background:#e3f2fd; border-left:6px solid #1565c0; padding:12px; margin:12px 0;"> | |||
'''Архітектурна вимога:''' навіть якщо частина функцій не реалізується в першій версії, структура даних і API не повинні блокувати їх додавання в майбутньому. | |||
</div> | |||
=== 4.5. Базова інтеграція з K2 ERP у першій версії === | |||
У першій версії K2 Chat повинен бути інтегрований із K2 ERP на базовому рівні. | |||
Потрібно передбачити: | |||
* авторизацію через користувачів K2 ERP; | |||
* використання ролей K2 ERP; | |||
* використання прав доступу K2 ERP; | |||
* відкриття K2 Chat з інтерфейсу K2 ERP; | |||
* можливість передати в чат посилання на ERP-об’єкт; | |||
* можливість показати в чаті коротку ERP-картку; | |||
* перевірку прав доступу при відкритті ERP-об’єкта; | |||
* збереження повідомлень у базі даних хмари K2 ERP; | |||
* збереження файлів у файловому сховищі хмари K2 ERP. | |||
ERP-картка першої версії може бути простою. Вона повинна містити: | |||
* тип об’єкта; | |||
* назву або номер; | |||
* короткий опис; | |||
* статус; | |||
* посилання на відкриття об’єкта. | |||
Наприклад: | |||
* документ; | |||
* контрагент; | |||
* контакт; | |||
* лід; | |||
* задача; | |||
* звернення; | |||
* баг-репорт. | |||
=== 4.6. Мінімальні права доступу першої версії === | |||
У першій версії потрібно реалізувати базові права: | |||
* право бачити чат; | |||
* право писати в чат; | |||
* право створювати особистий чат; | |||
* право створювати груповий чат; | |||
* право додавати учасників; | |||
* право видаляти учасників; | |||
* право прикріплювати файли; | |||
* право переглядати файли; | |||
* право переглядати історію; | |||
* право адмініструвати чат; | |||
* право бачити посилання на ERP-об’єкт; | |||
* право відкривати ERP-об’єкт згідно прав K2 ERP. | |||
<div style="background:#ffebee; border-left:6px solid #c62828; padding:12px; margin:12px 0;"> | |||
'''Критична вимога:''' якщо користувач отримав у чаті посилання на документ, контрагента, ліда або інший ERP-об’єкт, це не означає, що він автоматично має право його відкрити. Права доступу повинні перевірятися окремо. | |||
</div> | |||
=== 4.7. Мінімальний API першої версії === | |||
На першому етапі API повинен забезпечити базову роботу чату. | |||
Потрібно реалізувати API для таких дій: | |||
* отримати список чатів користувача; | |||
* отримати список повідомлень чату; | |||
* відправити повідомлення; | |||
* створити особистий чат; | |||
* створити груповий чат; | |||
* додати учасника в груповий чат; | |||
* видалити учасника з групового чату; | |||
* прикріпити файл до повідомлення; | |||
* отримати файл; | |||
* позначити повідомлення як прочитане; | |||
* отримати кількість непрочитаних повідомлень; | |||
* отримати список користувачів; | |||
* передати ERP-об’єкт у чат; | |||
* отримати коротку ERP-картку; | |||
* перевірити права доступу. | |||
API першої версії повинен бути достатньо простим, але стабільним, бо на ньому будуть будуватися: | |||
* веб-інтерфейс; | |||
* мобільний додаток; | |||
* desktop-додаток; | |||
* зовнішні інтеграції; | |||
* Helpdesk; | |||
* міжхмарний обмін. | |||
=== 4.8. Повідомлення в реальному часі === | |||
У першій версії потрібно забезпечити доставку повідомлень у реальному часі. | |||
Потрібно передбачити: | |||
* миттєве отримання нового повідомлення; | |||
* оновлення лічильника непрочитаних повідомлень; | |||
* статус доставки; | |||
* статус прочитання; | |||
* перепідключення при обриві з’єднання; | |||
* повторну синхронізацію після відновлення з’єднання. | |||
<div style="background:#fff8e1; border-left:6px solid #f9a825; padding:12px; margin:12px 0;"> | |||
'''Важливо:''' чат без реального часу не буде сприйматися як повноцінний робочий інструмент. Тому WebSocket або інший механізм live-оновлень потрібно закладати з першої версії. | |||
</div> | |||
=== 4.9. Файли в першій версії === | |||
У першій версії потрібно передбачити базову роботу з файлами: | |||
* прикріплення файлу до повідомлення; | |||
* збереження файлу в хмарі K2 ERP; | |||
* відображення назви файлу; | |||
* відображення розміру файлу; | |||
* завантаження файлу користувачем; | |||
* перевірку прав доступу до файлу; | |||
* обмеження максимального розміру файлу; | |||
* журнал завантаження файлу. | |||
У першій версії не обов’язково робити складний переглядач усіх типів файлів. Головне — стабільно прикріпити, зберегти, відкрити або завантажити файл. | |||
=== 4.10. Що не потрібно робити в першій версії === | |||
Щоб не розмити розробку, на першому етапі не потрібно одразу реалізовувати всі складні функції. | |||
До наступних етапів можна винести: | |||
* відеоконференції; | |||
* стрімінг на тисячі користувачів; | |||
* телефонію; | |||
* AI-помічника; | |||
* складну транскрибацію; | |||
* зовнішні месенджери; | |||
* міжхмарний обмін; | |||
* складний Helpdesk; | |||
* SLA; | |||
* повноцінний контакт-центр; | |||
* автоматичні сценарії; | |||
* складні звіти; | |||
* desktop-додаток; | |||
* мобільний додаток; | |||
* опитування; | |||
* треди; | |||
* реакції; | |||
* ботів; | |||
* розширену аналітику. | |||
<div style="background:#e3f2fd; border-left:6px solid #1565c0; padding:12px; margin:12px 0;"> | |||
'''Не означає відмову:''' ці функції потрібно передбачити архітектурно, але не обов’язково реалізовувати в першому релізі. Перший реліз має довести, що ядро K2 Chat стабільно працює всередині K2 ERP. | |||
</div> | |||
=== 4.11. Порядок розробки першої версії === | |||
Розробку першої версії доцільно виконувати в такій послідовності: | |||
# Створити структуру бази даних для чатів, учасників, повідомлень і файлів. | |||
# Реалізувати авторизацію через користувачів K2 ERP. | |||
# Реалізувати список користувачів. | |||
# Реалізувати створення особистого чату. | |||
# Реалізувати створення групового чату. | |||
# Реалізувати відправку текстового повідомлення. | |||
# Реалізувати отримання історії повідомлень. | |||
# Реалізувати доставку повідомлень у реальному часі. | |||
# Реалізувати статуси прочитання. | |||
# Реалізувати лічильник непрочитаних повідомлень. | |||
# Реалізувати прикріплення файлів. | |||
# Реалізувати базові права доступу. | |||
# Реалізувати журнал дій. | |||
# Реалізувати базовий пошук. | |||
# Реалізувати передачу ERP-об’єкта в чат. | |||
# Реалізувати базовий API. | |||
# Реалізувати мінімальний адміністративний інтерфейс. | |||
# Провести навантажувальне тестування. | |||
# Провести тестування прав доступу. | |||
# Підготувати перший реліз для використання всередині K2 ERP. | |||
=== 4.12. Критерії готовності першої версії === | |||
Перша версія K2 Chat вважається готовою, якщо: | |||
# Користувач K2 ERP може відкрити K2 Chat. | |||
# Користувач бачить список доступних чатів. | |||
# Користувач може створити особистий чат. | |||
# Користувач може створити груповий чат. | |||
# Користувач може написати повідомлення. | |||
# Інший користувач отримує повідомлення без перезавантаження сторінки. | |||
# Повідомлення зберігається в історії. | |||
# Користувач бачить непрочитані повідомлення. | |||
# Користувач може прикріпити файл. | |||
# Файл зберігається на сервері хмари K2 ERP. | |||
# Користувач може відкрити або завантажити файл. | |||
# Права доступу до чату працюють. | |||
# Права доступу до ERP-об’єкта перевіряються. | |||
# Адміністратор може керувати базовими налаштуваннями. | |||
# Є базовий журнал дій. | |||
# Є базовий API. | |||
# Дані не зберігаються на сторонніх серверах. | |||
# Чат працює стабільно при одночасній роботі багатьох користувачів. | |||
<div style="background:#e8f5e9; border-left:6px solid #2e7d32; padding:14px; margin:14px 0;"> | |||
'''Головний критерій першого релізу:''' K2 Chat повинен стати щоденним робочим інструментом для команди всередині K2 ERP. Якщо користувачі можуть стабільно писати, отримувати повідомлення, прикріплювати файли, бачити історію і працювати з ERP-об’єктами — перше ядро модуля виконано правильно. | |||
</div> | |||
=== 4.13. Чому саме такий мінімум є правильним === | |||
Перший мінімум повинен фокусуватися на базовій комунікації, тому що всі інші функції залежать від стабільного ядра повідомлень. | |||
Без надійного ядра неможливо якісно реалізувати: | |||
* Helpdesk; | |||
* баг-репорти; | |||
* комунікацію з клієнтами; | |||
* зовнішні інтеграції; | |||
* відеоконференції; | |||
* запис зустрічей; | |||
* AI-помічника; | |||
* міжхмарну комунікацію; | |||
* контакт-центр; | |||
* телефонію; | |||
* аналітику. | |||
Тому перший етап повинен бути не найбільшим за кількістю функцій, а найміцнішим технічно. | |||
<div style="background:#fff3e0; border-left:6px solid #ef6c00; padding:14px; margin:14px 0;"> | |||
'''Правильний підхід:''' спочатку — стабільне ядро повідомлень і зберігання даних у K2 ERP. Потім — Helpdesk. Потім — зовнішні канали. Потім — голос, відео, AI, стрімінг, телефонія та складна автоматизація. | |||
</div> | |||
== 5. Режими роботи == | |||
<div style="border:1px solid #cfd8dc; margin:12px 0;"> | <div style="border:1px solid #cfd8dc; margin:12px 0;"> | ||
| Рядок 36: | Рядок 529: | ||
<div style="padding:10px; border-top:1px solid #cfd8dc;"> | <div style="padding:10px; border-top:1px solid #cfd8dc;"> | ||
'''Інтеграційний шлюз'''<br /> | '''Інтеграційний шлюз'''<br /> | ||
Обмін повідомленнями | Обмін повідомленнями із зовнішніми месенджерами, email, телефонією, сайтами та іншими каналами за наявності відповідних API. | ||
</div> | </div> | ||
| Рядок 56: | Рядок 549: | ||
<div style="padding:10px; border-top:1px solid #cfd8dc;"> | <div style="padding:10px; border-top:1px solid #cfd8dc;"> | ||
'''Контакт-центр'''<br /> | '''Контакт-центр'''<br /> | ||
Єдиний центр обробки повідомлень із сайту, месенджерів, соцмереж, email, телефонії та CRM-форм. | Єдиний центр обробки повідомлень із сайту, зовнішніх месенджерів, соціальних мереж, email, телефонії та CRM-форм. | ||
</div> | |||
</div> | |||
== 6. Основні користувачі модуля == | |||
У системі повинні бути передбачені такі типи користувачів: | |||
* адміністратор хмари K2 ERP; | |||
* адміністратор K2 Chat; | |||
* адміністратор безпеки; | |||
* співробітник компанії; | |||
* керівник підрозділу; | |||
* оператор технічної підтримки; | |||
* менеджер із продажу; | |||
* менеджер проєкту; | |||
* розробник; | |||
* тестувальник; | |||
* бухгалтер-консультант; | |||
* клієнт; | |||
* відвідувач сайту; | |||
* зовнішній користувач іншої хмари K2 ERP; | |||
* партнер; | |||
* інтегратор; | |||
* викладач; | |||
* студент або слухач курсу; | |||
* бот або системний користувач; | |||
* інтеграційний користувач API. | |||
== 7. Основні функціональні можливості чату == | |||
=== 7.1. Особисті повідомлення === | |||
Система повинна підтримувати особисте листування між користувачами. | |||
Необхідно передбачити: | |||
* відправку текстових повідомлень; | |||
* редагування повідомлень; | |||
* видалення повідомлень або позначення їх як видалених; | |||
* відповідь на конкретне повідомлення; | |||
* пересилання повідомлень; | |||
* цитування повідомлень; | |||
* реакції на повідомлення; | |||
* закріплення важливих повідомлень; | |||
* додавання повідомлень в обране; | |||
* позначення повідомлень як прочитаних або непрочитаних; | |||
* пошук по переписці; | |||
* перегляд історії повідомлень; | |||
* обмеження доступу до історії відповідно до прав користувача; | |||
* передачу ERP-об’єктів у повідомленні; | |||
* створення задачі з повідомлення; | |||
* створення баг-репорту з повідомлення; | |||
* створення Helpdesk-звернення з повідомлення. | |||
<div style="background:#ffebee; border-left:6px solid #c62828; padding:12px; margin:12px 0;"> | |||
'''Важливо:''' фізичне видалення повідомлень повинно бути обмежене. Для корпоративного середовища доцільно використовувати позначення повідомлення як видаленого із збереженням службового аудиту. | |||
</div> | |||
=== 7.2. Групові чати === | |||
Система повинна підтримувати групові чати. | |||
Функції групових чатів: | |||
* створення групи; | |||
* додавання учасників; | |||
* видалення учасників; | |||
* призначення адміністраторів групи; | |||
* встановлення назви групи; | |||
* встановлення опису групи; | |||
* встановлення аватару групи; | |||
* закріплення повідомлень; | |||
* додавання повідомлень в обране; | |||
* опитування; | |||
* нотатки; | |||
* файли; | |||
* посилання; | |||
* треди; | |||
* теми; | |||
* налаштування прав учасників; | |||
* перегляд списку учасників; | |||
* запрошення користувачів за посиланням; | |||
* обмеження доступу до групи; | |||
* архівація групи; | |||
* пошук у межах групи; | |||
* історія змін групи. | |||
=== 7.3. Корпоративні канали === | |||
Потрібно передбачити корпоративні канали для публікації важливих повідомлень, новин, оголошень та службової інформації. | |||
Канали можуть використовуватись для: | |||
* новин компанії; | |||
* повідомлень від керівництва; | |||
* оновлень K2 ERP; | |||
* оголошень; | |||
* технічних повідомлень; | |||
* повідомлень для клієнтів; | |||
* навчальних матеріалів; | |||
* інформування про зміни в бізнес-процесах; | |||
* внутрішніх регламентів; | |||
* повідомлень про релізи; | |||
* навчальних вебінарів; | |||
* стрімінгових подій. | |||
Канал повинен підтримувати: | |||
* публікацію повідомлень адміністраторами; | |||
* підписку користувачів; | |||
* перегляд історії; | |||
* коментарі до публікацій, якщо це дозволено; | |||
* реакції; | |||
* опитування; | |||
* закріплення важливих повідомлень; | |||
* права на публікацію; | |||
* права на перегляд; | |||
* вкладення файлів; | |||
* прикріплення ERP-карток; | |||
* запуск відеоконференції або стріму з каналу. | |||
=== 7.4. Теми та обговорення === | |||
У великих групах і каналах потрібно передбачити теми обговорень. | |||
Теми повинні дозволяти: | |||
* структурувати переписку; | |||
* відокремлювати технічні питання від організаційних; | |||
* створювати обговорення по конкретному документу, задачі, клієнту, ліду або багу; | |||
* швидко знаходити потрібну інформацію; | |||
* зменшувати хаос у великих чатах; | |||
* формувати окремі гілки по спринтах, релізах, клієнтах, модулях або проблемах. | |||
=== 7.5. Тредові обговорення === | |||
Потрібно передбачити треди. | |||
Тред повинен дозволяти: | |||
* відповідати на конкретне повідомлення в окремій гілці; | |||
* не засмічувати основний чат; | |||
* вести технічну дискусію по одному питанню; | |||
* прив’язувати тред до задачі, документа, ліда, клієнта або баг-репорту; | |||
* створювати підзадачу з треду; | |||
* створювати короткий підсумок треду; | |||
* переносити важливі рішення в задачу або VDoc. | |||
<div style="background:#e8f5e9; border-left:6px solid #2e7d32; padding:12px; margin:12px 0;"> | |||
'''Рекомендація:''' для великих корпоративних чатів треди є критично важливими, оскільки дозволяють не перетворювати загальний канал у хаотичну стрічку повідомлень. | |||
</div> | |||
== 8. Розширені можливості корпоративного чату == | |||
<div style="background:#e3f2fd; border-left:6px solid #1565c0; padding:12px; margin:12px 0;"> | |||
'''K2 Chat повинен включати ключові можливості сучасного корпоративного месенджера, контакт-центру, Helpdesk-системи та комунікаційного шару ERP.''' | |||
</div> | |||
<div style="border:1px solid #cfd8dc; margin:12px 0;"> | |||
<div style="background:#eceff1; padding:10px; font-weight:bold;">Перелік основних можливостей</div> | |||
<div style="padding:10px; border-top:1px solid #cfd8dc;">'''Особисті чати'''<br />Переписка між двома користувачами.</div> | |||
<div style="padding:10px; border-top:1px solid #cfd8dc;">'''Групові чати'''<br />Спільне обговорення між багатьма учасниками.</div> | |||
<div style="padding:10px; border-top:1px solid #cfd8dc;">'''Корпоративні канали'''<br />Одностороннє або обмежене інформування аудиторії.</div> | |||
<div style="padding:10px; border-top:1px solid #cfd8dc;">'''Треди'''<br />Окремі гілки обговорення під повідомленнями.</div> | |||
<div style="padding:10px; border-top:1px solid #cfd8dc;">'''Теми'''<br />Структурування великих груп і каналів.</div> | |||
<div style="padding:10px; border-top:1px solid #cfd8dc;">'''Реакції'''<br />Швидкі реакції на повідомлення.</div> | |||
<div style="padding:10px; border-top:1px solid #cfd8dc;">'''Файли'''<br />Надсилання файлів, документів, зображень, архівів.</div> | |||
<div style="padding:10px; border-top:1px solid #cfd8dc;">'''Голосові повідомлення'''<br />Запис, відправка, зберігання, прослуховування та транскрибація голосових повідомлень.</div> | |||
<div style="padding:10px; border-top:1px solid #cfd8dc;">'''Голосові дзвінки'''<br />Особисті та групові голосові дзвінки із можливістю запису та транскрибації.</div> | |||
<div style="padding:10px; border-top:1px solid #cfd8dc;">'''Відеоконференції'''<br />Створення відеозустрічей із демонстрацією екрана, записом і транскрибацією.</div> | |||
<div style="padding:10px; border-top:1px solid #cfd8dc;">'''Стрімінг'''<br />Проведення онлайн-трансляцій, вебінарів і великих подій для сотень або тисяч глядачів.</div> | |||
<div style="padding:10px; border-top:1px solid #cfd8dc;">'''Пошук'''<br />Пошук по чатах, файлах, користувачах, задачах та ERP-об’єктах.</div> | |||
<div style="padding:10px; border-top:1px solid #cfd8dc;">'''Боти'''<br />Системні та користувацькі боти.</div> | |||
<div style="padding:10px; border-top:1px solid #cfd8dc;">'''Webhook'''<br />Вхідні та вихідні webhooks для інтеграцій.</div> | |||
<div style="padding:10px; border-top:1px solid #cfd8dc;">'''API'''<br />Повноцінний API для створення клієнтів та інтеграцій.</div> | |||
<div style="padding:10px; border-top:1px solid #cfd8dc;">'''Статуси користувачів'''<br />Онлайн, офлайн, зайнятий, не турбувати, у відпустці.</div> | |||
<div style="padding:10px; border-top:1px solid #cfd8dc;">'''Нагадування'''<br />Нагадування по повідомленнях, задачах та зверненнях.</div> | |||
<div style="padding:10px; border-top:1px solid #cfd8dc;">'''Закріплені повідомлення'''<br />Важлива інформація у верхній частині чату.</div> | |||
<div style="padding:10px; border-top:1px solid #cfd8dc;">'''Згадки'''<br />Згадки користувачів через @.</div> | |||
<div style="padding:10px; border-top:1px solid #cfd8dc;">'''Ролі'''<br />Адміністратори, модератори, учасники, гості.</div> | |||
<div style="padding:10px; border-top:1px solid #cfd8dc;">'''Гостьовий доступ'''<br />Обмежений доступ для клієнтів або зовнішніх користувачів.</div> | |||
<div style="padding:10px; border-top:1px solid #cfd8dc;">'''Опитування'''<br />Створення публічних або анонімних опитувань у чатах, каналах, проєктах і навчальних групах.</div> | |||
<div style="padding:10px; border-top:1px solid #cfd8dc;">'''Обране'''<br />Збереження важливих повідомлень користувачем для швидкого доступу.</div> | |||
<div style="padding:10px; border-top:1px solid #cfd8dc;">'''Нотатки'''<br />Публічні або приватні нотатки в чаті, зокрема для операторів підтримки.</div> | |||
<div style="padding:10px; border-top:1px solid #cfd8dc;">'''Бокова панель чату'''<br />Швидкий доступ до учасників, файлів, медіа, посилань, обраних повідомлень, ERP-карток і записів зустрічей.</div> | |||
<div style="padding:10px; border-top:1px solid #cfd8dc;">'''Автоочищення повідомлень'''<br />Налаштування строку зберігання повідомлень, архівації або логічного видалення.</div> | |||
<div style="padding:10px; border-top:1px solid #cfd8dc;">'''Проєктні чати'''<br />Автоматичні чати для робочих груп, проєктів, задач і спринтів.</div> | |||
<div style="padding:10px; border-top:1px solid #cfd8dc;">'''Чат задачі'''<br />Повноцінний робочий простір задачі з файлами, дзвінками, рішеннями та підсумками.</div> | |||
<div style="padding:10px; border-top:1px solid #cfd8dc;">'''AI-помічник'''<br />Підсумки переписки, створення задач, аналіз дзвінків, транскрибація, відповіді клієнтам і автоматизація рутинних дій.</div> | |||
<div style="padding:10px; border-top:1px solid #cfd8dc;">'''Відкриті лінії'''<br />Єдиний центр обробки повідомлень із сайту, зовнішніх месенджерів, соцмереж, email і CRM-форм.</div> | |||
<div style="padding:10px; border-top:1px solid #cfd8dc;">'''Приватні нотатки оператора'''<br />Внутрішні коментарі в клієнтському діалозі, які не бачить клієнт.</div> | |||
<div style="padding:10px; border-top:1px solid #cfd8dc;">'''Готові відповіді'''<br />Шаблони відповідей для операторів підтримки, продажів і сервісних команд.</div> | |||
<div style="padding:10px; border-top:1px solid #cfd8dc;">'''CRM-форми в чаті'''<br />Відправка форм клієнту прямо в діалог із автоматичним збереженням даних у CRM.</div> | |||
<div style="padding:10px; border-top:1px solid #cfd8dc;">'''Мультиакаунти'''<br />Робота з кількома хмарами K2 ERP в одному додатку.</div> | |||
<div style="padding:10px; border-top:1px solid #cfd8dc;">'''Desktop-додаток'''<br />Окремий клієнт для Windows, Linux і macOS із фоновими сповіщеннями та дзвінками.</div> | |||
<div style="padding:10px; border-top:1px solid #cfd8dc;">'''Телефонія в чаті'''<br />Відображення дзвінків, запис, транскрибація та прив’язка до CRM, Helpdesk або задач.</div> | |||
<div style="padding:10px; border-top:1px solid #cfd8dc;">'''Зовнішні інтеграції'''<br />Передача повідомлень у зовнішні месенджери, email, телефонію, сайти, CRM та інші канали комунікації.</div> | |||
</div> | |||
== 9. Робота з хмарою K2 ERP == | |||
Модуль K2 Chat повинен бути частиною хмарної архітектури K2 ERP. | |||
Потрібно передбачити: | |||
* роботу в публічній хмарі K2 ERP; | |||
* роботу в приватній хмарі клієнта; | |||
* роботу в окремій хмарі замовника; | |||
* роботу в гібридній інфраструктурі; | |||
* окреме зберігання даних кожної хмари; | |||
* ізоляцію переписки між хмарами; | |||
* налаштування міжхмарної взаємодії; | |||
* централізоване адміністрування в межах конкретної хмари; | |||
* можливість обмеження доступу до чату згідно ролей K2 ERP; | |||
* можливість відключення зовнішніх інтеграцій у приватній хмарі; | |||
* можливість використання підвищеного режиму безпеки. | |||
<div style="background:#e3f2fd; border-left:6px solid #1565c0; padding:12px; margin:12px 0;"> | |||
'''Ключова вимога:''' дані переписки не повинні зберігатися на сторонніх серверах без явного налаштування інтеграції. Основним місцем зберігання є сервер K2 ERP тієї хмари, де працює модуль. | |||
</div> | |||
== 10. Міжхмарна відправка повідомлень == | |||
Потрібно передбачити можливість обміну повідомленнями між різними хмарами K2 ERP. | |||
Наприклад: | |||
* хмара розробника K2 ERP; | |||
* хмара клієнта; | |||
* хмара партнера; | |||
* хмара інтегратора; | |||
* хмара бухгалтерської компанії; | |||
* хмара постачальника; | |||
* хмара навчального закладу. | |||
=== 10.1. Принцип роботи міжхмарного обміну === | |||
Міжхмарний обмін повинен працювати через захищений API. | |||
Потрібно передбачити: | |||
* реєстрацію довірених хмар; | |||
* обмін ключами; | |||
* перевірку автентичності хмари; | |||
* налаштування дозволених напрямків комунікації; | |||
* журнал міжхмарних повідомлень; | |||
* обмеження прав на міжхмарне листування; | |||
* можливість блокування хмари; | |||
* можливість відкликання доступу; | |||
* логування службових подій; | |||
* контроль доставки повідомлень; | |||
* правила маршрутизації повідомлень; | |||
* шифрування міжхмарного трафіку. | |||
=== 10.2. Сценарії міжхмарного обміну === | |||
Міжхмарний обмін потрібен для таких сценаріїв: | |||
* клієнт пише в підтримку K2 ERP зі своєї хмари; | |||
* партнерська компанія спілкується з розробником; | |||
* бухгалтерська компанія спілкується з клієнтом; | |||
* інтегратор супроводжує впровадження; | |||
* користувач іншої хмари надсилає баг-репорт; | |||
* компанії обмінюються документами або службовими повідомленнями; | |||
* навчальна хмара передає питання в технічну підтримку; | |||
* учасники різних хмар проводять спільну відеоконференцію; | |||
* різні хмари обмінюються статусами задач або звернень. | |||
<div style="background:#fff3e0; border-left:6px solid #ef6c00; padding:12px; margin:12px 0;"> | |||
'''Особлива вимога:''' міжхмарна комунікація не повинна порушувати ізоляцію даних. Передаватися мають тільки ті повідомлення, файли та об’єкти, які явно дозволені правилами доступу. | |||
</div> | |||
== 11. Віджет звернення з сайту == | |||
K2 Chat повинен підтримувати режим віджета для сайту. | |||
Віджет повинен дозволяти відвідувачу сайту: | |||
* написати повідомлення в технічну підтримку; | |||
* звернутися до менеджера; | |||
* залишити контактні дані; | |||
* прикріпити файл або скриншот; | |||
* обрати тему звернення; | |||
* отримати номер звернення; | |||
* отримати відповідь у віджеті; | |||
* отримати відповідь на email або в зовнішній канал комунікації; | |||
* продовжити діалог після закриття сторінки; | |||
* переглянути статус звернення; | |||
* створити заявку на консультацію; | |||
* створити заявку на демонстрацію; | |||
* створити заявку на навчання; | |||
* створити заявку на впровадження K2 ERP. | |||
=== 11.1. Типи звернень із сайту === | |||
Потрібно передбачити такі типи звернень: | |||
* технічна підтримка; | |||
* консультація; | |||
* продаж; | |||
* помилка на сайті; | |||
* помилка в ERP; | |||
* запит на впровадження; | |||
* запит на навчання; | |||
* бухгалтерське питання; | |||
* питання по документах; | |||
* питання по оплаті; | |||
* запит на інтеграцію; | |||
* запит на міграцію з 1С/BAS; | |||
* інше. | |||
=== 11.2. Ідентифікація відвідувача === | |||
Для відвідувача сайту потрібно передбачити кілька режимів ідентифікації: | |||
* анонімний користувач; | |||
* користувач із email; | |||
* користувач із телефоном; | |||
* авторизований клієнт; | |||
* користувач, пов’язаний із контрагентом у CRM; | |||
* користувач, пов’язаний із лідами або контактами K2 ERP; | |||
* користувач, який повернувся до попереднього звернення; | |||
* користувач із зовнішнього каналу комунікації. | |||
== 12. Helpdesk-функції == | |||
K2 Chat повинен включати функції Helpdesk. | |||
Кожне звернення може бути перетворене на: | |||
* заявку; | |||
* задачу; | |||
* баг-репорт; | |||
* інцидент; | |||
* консультаційний запит; | |||
* запит на доопрацювання; | |||
* запит на інтеграцію; | |||
* запит на навчання; | |||
* CRM-лід; | |||
* сервісний запит. | |||
<div style="background:#e8f5e9; border-left:6px solid #2e7d32; padding:12px; margin:12px 0;"> | |||
'''Важливо:''' Helpdesk у K2 Chat повинен бути пов’язаний із системою задач, баг-трекінгом, CRM та ERP-об’єктами. | |||
</div> | |||
=== 12.1. Життєвий цикл звернення === | |||
Стандартний життєвий цикл звернення: | |||
# Створення звернення. | |||
# Автоматичне присвоєння номера. | |||
# Визначення типу звернення. | |||
# Призначення відповідального. | |||
# Встановлення пріоритету. | |||
# Передача в роботу. | |||
# Уточнення інформації. | |||
# Перетворення на задачу або баг-репорт. | |||
# Виконання. | |||
# Тестування, якщо потрібно. | |||
# Надання відповіді користувачу. | |||
# Закриття звернення. | |||
# Оцінка якості відповіді. | |||
=== 12.2. Статуси звернень === | |||
<div style="border:1px solid #cfd8dc; margin:12px 0;"> | |||
<div style="background:#eceff1; padding:10px; font-weight:bold;">Статуси Helpdesk-звернень</div> | |||
<div style="padding:10px; border-top:1px solid #cfd8dc;">'''Нове'''<br />Звернення створено, але ще не взято в роботу.</div> | |||
<div style="padding:10px; border-top:1px solid #cfd8dc;">'''Прийнято'''<br />Звернення переглянуто оператором.</div> | |||
<div style="padding:10px; border-top:1px solid #cfd8dc;">'''У роботі'''<br />Відповідальний виконує задачу.</div> | |||
<div style="padding:10px; border-top:1px solid #cfd8dc;">'''Очікує уточнення'''<br />Потрібна додаткова інформація від користувача.</div> | |||
<div style="padding:10px; border-top:1px solid #cfd8dc;">'''Передано розробнику'''<br />Звернення передано в розробку.</div> | |||
<div style="padding:10px; border-top:1px solid #cfd8dc;">'''Створено баг-репорт'''<br />На основі звернення створено баг.</div> | |||
<div style="padding:10px; border-top:1px solid #cfd8dc;">'''Створено задачу'''<br />На основі звернення створено задачу.</div> | |||
<div style="padding:10px; border-top:1px solid #cfd8dc;">'''Виконано'''<br />Роботу виконано.</div> | |||
<div style="padding:10px; border-top:1px solid #cfd8dc;">'''На тестуванні'''<br />Результат перевіряється.</div> | |||
<div style="padding:10px; border-top:1px solid #cfd8dc;">'''Очікує підтвердження'''<br />Користувач повинен підтвердити результат.</div> | |||
<div style="padding:10px; border-top:1px solid #cfd8dc;">'''Закрито'''<br />Звернення завершено.</div> | |||
<div style="padding:10px; border-top:1px solid #cfd8dc;">'''Відхилено'''<br />Звернення відхилено із зазначенням причини.</div> | |||
</div> | |||
=== 12.3. Пріоритети звернень === | |||
Потрібно передбачити пріоритети: | |||
* низький; | |||
* звичайний; | |||
* високий; | |||
* критичний; | |||
* аварійний. | |||
<div style="background:#ffebee; border-left:6px solid #c62828; padding:12px; margin:12px 0;"> | |||
'''Критичні звернення''' повинні мати окремі правила сповіщення, ескалації та контролю строків виконання. | |||
</div> | |||
=== 12.4. SLA та строки виконання === | |||
Потрібно передбачити налаштування SLA: | |||
* час першої відповіді; | |||
* час взяття в роботу; | |||
* час виконання; | |||
* час реакції для критичних звернень; | |||
* дедлайни; | |||
* автоматичні нагадування; | |||
* ескалації керівнику; | |||
* контроль прострочених звернень; | |||
* звіти по виконанню SLA. | |||
== 13. Перетворення звернення на баг-репорт == | |||
K2 Chat повинен дозволяти створювати баг-репорт на основі повідомлення або звернення. | |||
Баг-репорт повинен містити: | |||
* номер звернення; | |||
* автора звернення; | |||
* дату створення; | |||
* текст повідомлення; | |||
* прикріплені файли; | |||
* скриншоти; | |||
* голосові повідомлення; | |||
* транскрибації; | |||
* записи дзвінків; | |||
* записи відеоконференцій; | |||
* посилання на чат; | |||
* посилання на ERP-об’єкт; | |||
* модуль K2 ERP; | |||
* опис помилки; | |||
* очікувану поведінку; | |||
* фактичну поведінку; | |||
* пріоритет; | |||
* відповідального розробника; | |||
* статус обробки; | |||
* історію змін; | |||
* відповідь користувачу після виправлення. | |||
=== 13.1. Зворотна відповідь користувачу === | |||
Після опрацювання баг-репорту система повинна дозволяти: | |||
* автоматично повідомити користувача; | |||
* написати ручну відповідь; | |||
* повідомити про виправлення; | |||
* повідомити про включення в оновлення; | |||
* повідомити про неможливість відтворення помилки; | |||
* запросити додаткові дані; | |||
* закрити звернення після підтвердження. | |||
== 14. Інтеграція з ERP-об’єктами == | |||
K2 Chat повинен мати можливість передавати в чат інформацію з ERP. | |||
Потрібно передбачити передачу таких об’єктів: | |||
* документ; | |||
* рахунок; | |||
* акт; | |||
* накладна; | |||
* замовлення; | |||
* договір; | |||
* контрагент; | |||
* контакт; | |||
* лід; | |||
* клієнт; | |||
* задача; | |||
* проєкт; | |||
* баг-репорт; | |||
* складська операція; | |||
* платіж; | |||
* заявка; | |||
* звернення; | |||
* курс навчання; | |||
* співробітник; | |||
* підрозділ; | |||
* файл із VDoc; | |||
* запис історії змін; | |||
* відеозапис; | |||
* аудіозапис; | |||
* транскрибація; | |||
* протокол зустрічі. | |||
<div style="background:#e3f2fd; border-left:6px solid #1565c0; padding:12px; margin:12px 0;"> | |||
'''Приклад:''' менеджер може надіслати в чат картку ліда, бухгалтер — рахунок, розробник — баг-репорт, керівник — задачу, а служба підтримки — звернення клієнта. | |||
</div> | |||
=== 14.1. Формат ERP-картки в чаті === | |||
ERP-об’єкт у чаті повинен відображатися як компактна картка. | |||
Картка повинна містити: | |||
* тип об’єкта; | |||
* назву або номер; | |||
* короткий опис; | |||
* статус; | |||
* відповідального; | |||
* дату створення; | |||
* суму, якщо це фінансовий документ; | |||
* контрагента, якщо є; | |||
* кнопку відкриття об’єкта; | |||
* кнопку копіювання посилання; | |||
* службові права доступу. | |||
=== 14.2. Права доступу до ERP-об’єктів === | |||
Якщо користувач отримав у чаті посилання на ERP-об’єкт, система повинна перевірити його права. | |||
Потрібно передбачити: | |||
* доступ дозволено; | |||
* доступ заборонено; | |||
* доступ тільки на перегляд; | |||
* доступ тільки до частини даних; | |||
* запит доступу; | |||
* логування спроби доступу; | |||
* повідомлення адміністратору при порушенні політики безпеки. | |||
<div style="background:#fff8e1; border-left:6px solid #f9a825; padding:12px; margin:12px 0;"> | |||
'''Важливо:''' передача посилання на ERP-об’єкт у чаті не повинна автоматично відкривати доступ до цього об’єкта. Доступ визначається ролями та правами K2 ERP. | |||
</div> | |||
== 15. Інтеграція із зовнішніми каналами комунікації == | |||
K2 Chat повинен мати можливість комунікації із зовнішніми месенджерами, email, телефонією, сайтами, соціальними мережами, зовнішніми Helpdesk-системами, зовнішніми CRM та іншими сервісами. | |||
Потрібно передбачити інтеграції з такими типами каналів: | |||
* зовнішні месенджери; | |||
* email; | |||
* SMS; | |||
* телефонія; | |||
* соціальні мережі; | |||
* форми сайту; | |||
* віджет сайту; | |||
* зовнішні Helpdesk-системи; | |||
* зовнішні CRM; | |||
* webhook-сервіси; | |||
* зовнішні системи автоматизації. | |||
=== 15.1. Принцип інтеграції === | |||
Інтеграція повинна працювати через: | |||
* API; | |||
* webhook; | |||
* ботів; | |||
* поштові шлюзи; | |||
* інтеграційні токени; | |||
* черги повідомлень; | |||
* налаштування каналів зв’язку. | |||
=== 15.2. Логіка маршрутизації повідомлень === | |||
Система повинна дозволяти налаштовувати правила: | |||
* з якого каналу прийшло повідомлення; | |||
* у який чат його направити; | |||
* якому оператору призначити; | |||
* чи створювати звернення Helpdesk; | |||
* чи створювати лід у CRM; | |||
* чи створювати баг-репорт; | |||
* чи відправляти автоматичну відповідь; | |||
* чи дублювати повідомлення в інший канал; | |||
* чи потрібно зберегти вкладення; | |||
* чи потрібно зробити транскрибацію голосу; | |||
* чи потрібно призначити пріоритет. | |||
<div style="background:#f3e5f5; border-left:6px solid #7b1fa2; padding:12px; margin:12px 0;"> | |||
'''Розширення:''' K2 Chat може стати єдиним центром комунікацій компанії, де повідомлення з сайту, зовнішніх месенджерів, email, CRM, телефонії та ERP збираються в одному інтерфейсі. | |||
</div> | |||
== 16. API модуля K2 Chat == | |||
K2 Chat повинен мати відкритий API для інтеграції з іншими системами та створення клієнтських додатків. | |||
API повинен дозволяти: | |||
* авторизувати користувача; | |||
* отримувати список чатів; | |||
* отримувати повідомлення; | |||
* відправляти повідомлення; | |||
* редагувати повідомлення; | |||
* видаляти або позначати повідомлення як видалене; | |||
* створювати групи; | |||
* додавати учасників; | |||
* видаляти учасників; | |||
* створювати канали; | |||
* створювати опитування; | |||
* отримувати список користувачів; | |||
* отримувати статуси користувачів; | |||
* завантажувати файли; | |||
* отримувати файли; | |||
* відправляти голосові повідомлення; | |||
* отримувати транскрибації; | |||
* створювати відеоконференції; | |||
* отримувати записи відеоконференцій; | |||
* створювати звернення Helpdesk; | |||
* створювати баг-репорти; | |||
* передавати ERP-об’єкти; | |||
* працювати з webhook; | |||
* працювати з міжхмарними повідомленнями; | |||
* отримувати службові події. | |||
=== 16.1. API для веб-додатку === | |||
Для веб-додатку потрібно передбачити: | |||
* REST API для стандартних операцій; | |||
* WebSocket або аналогічний механізм для повідомлень у реальному часі; | |||
* механізм повторного підключення; | |||
* кешування останніх повідомлень; | |||
* пагінацію історії; | |||
* контроль прав доступу; | |||
* захист від масових запитів; | |||
* логування помилок. | |||
=== 16.2. API для зовнішніх додатків === | |||
Для зовнішніх додатків потрібно передбачити: | |||
* токени доступу; | |||
* refresh-токени; | |||
* обмеження прав API-користувача; | |||
* обмеження швидкості запитів; | |||
* журнал API-звернень; | |||
* відкликання токенів; | |||
* окремі права для ботів; | |||
* документацію API; | |||
* тестове середовище. | |||
== 17. WebSocket та повідомлення в реальному часі == | |||
K2 Chat повинен підтримувати доставку повідомлень у реальному часі. | |||
Потрібно передбачити: | |||
* миттєву доставку повідомлень; | |||
* індикатор набору тексту; | |||
* статус доставки; | |||
* статус прочитання; | |||
* оновлення списку чатів; | |||
* оновлення кількості непрочитаних повідомлень; | |||
* push-події для веб-клієнта; | |||
* автоматичне перепідключення при обриві зв’язку; | |||
* чергу недоставлених повідомлень; | |||
* синхронізацію після відновлення з’єднання. | |||
== 18. Масштабованість == | |||
K2 Chat повинен бути розрахований на велику кількість користувачів і переписки. | |||
Потрібно передбачити: | |||
* одночасну роботу великої кількості користувачів; | |||
* велику кількість чатів; | |||
* велику кількість повідомлень; | |||
* зберігання великих історій переписки; | |||
* індексацію повідомлень для пошуку; | |||
* архівацію старих повідомлень; | |||
* оптимізацію завантаження історії; | |||
* пагінацію повідомлень; | |||
* горизонтальне масштабування сервісів; | |||
* розділення сервісу повідомлень і сервісу файлів; | |||
* розділення сервісу повідомлень і сервісу відео; | |||
* моніторинг навантаження; | |||
* обмеження розміру вкладень; | |||
* обмеження частоти повідомлень при потребі. | |||
<div style="background:#fff3e0; border-left:6px solid #ef6c00; padding:12px; margin:12px 0;"> | |||
'''Важливо для великих клієнтів:''' модуль повинен стабільно працювати при великій кількості співробітників, клієнтів, каналів, Helpdesk-звернень, файлів, відеозаписів та інтеграцій. | |||
</div> | |||
== 19. Зберігання даних == | |||
Усі дані K2 Chat повинні зберігатися на сервері тієї хмари K2 ERP, де встановлений модуль. | |||
Потрібно зберігати: | |||
* повідомлення; | |||
* чати; | |||
* групи; | |||
* канали; | |||
* учасників; | |||
* права доступу; | |||
* файли; | |||
* вкладення; | |||
* голосові повідомлення; | |||
* записи дзвінків; | |||
* записи відеоконференцій; | |||
* записи стрімів; | |||
* транскрибації; | |||
* реакції; | |||
* треди; | |||
* опитування; | |||
* нотатки; | |||
* історію редагування; | |||
* історію видалення; | |||
* Helpdesk-звернення; | |||
* баг-репорти; | |||
* службові події; | |||
* API-журнали; | |||
* міжхмарні повідомлення; | |||
* дані інтеграцій; | |||
* налаштування безпеки; | |||
* ключі інтеграцій, у захищеному вигляді; | |||
* журнали аудиту. | |||
=== 19.1. Історія змін === | |||
Потрібно передбачити історію змін для: | |||
* повідомлень; | |||
* груп; | |||
* каналів; | |||
* прав доступу; | |||
* звернень Helpdesk; | |||
* баг-репортів; | |||
* інтеграцій; | |||
* налаштувань безпеки; | |||
* транскрибацій; | |||
* записів; | |||
* опитувань; | |||
* нотаток. | |||
=== 19.2. Видалення повідомлень === | |||
Для корпоративної безпеки бажано використовувати логічне видалення. | |||
Потрібно передбачити: | |||
* позначення повідомлення як видаленого; | |||
* збереження службового запису про видалення; | |||
* збереження автора видалення; | |||
* збереження дати видалення; | |||
* можливість приховати повідомлення від звичайних користувачів; | |||
* можливість перегляду аудиту адміністратором із відповідними правами. | |||
== 20. Файли та вкладення == | |||
K2 Chat повинен підтримувати роботу з файлами. | |||
Потрібно передбачити: | |||
* завантаження файлів; | |||
* відправку файлів у чат; | |||
* перегляд файлів; | |||
* завантаження файлів користувачем; | |||
* обмеження розміру файлу; | |||
* обмеження типів файлів; | |||
* антивірусну перевірку, якщо така інтеграція підключена; | |||
* зв’язок файлу з VDoc; | |||
* історію файлів; | |||
* заборону фізичного видалення важливих файлів при відповідних налаштуваннях; | |||
* позначення файлу як неактивного через механізми K2 ERP; | |||
* контроль прав доступу до файлів. | |||
<div style="background:#e8f5e9; border-left:6px solid #2e7d32; padding:12px; margin:12px 0;"> | |||
'''Інтеграція з VDoc:''' файли, що мають юридичне, технічне або бізнес-значення, можуть зберігатися і контролюватися через механізми VDoc із версіями, історією та обмеженням видалення. | |||
</div> | |||
== 21. Голосові повідомлення, запис голосу та транскрибація == | |||
<div style="background:#e3f2fd; border-left:6px solid #1565c0; padding:12px; margin:12px 0;"> | |||
'''K2 Chat повинен підтримувати не тільки текстову переписку, а й повноцінну голосову комунікацію: голосові повідомлення, голосові дзвінки, запис голосу, транскрибацію та пошук по розшифрованому тексту.''' | |||
</div> | |||
=== 21.1. Голосові повідомлення === | |||
K2 Chat повинен підтримувати можливість запису, передачі, зберігання та прослуховування голосових повідомлень. | |||
Потрібно передбачити: | |||
* запис голосового повідомлення з веб-інтерфейсу; | |||
* запис голосового повідомлення з мобільного або зовнішнього додатку через API; | |||
* відправку голосового повідомлення в особистий чат; | |||
* відправку голосового повідомлення в груповий чат; | |||
* відправку голосового повідомлення в канал, якщо це дозволено правами; | |||
* збереження голосового повідомлення на сервері хмари K2 ERP; | |||
* відтворення голосового повідомлення в інтерфейсі чату; | |||
* паузу, перемотування та повторне прослуховування; | |||
* відображення тривалості голосового повідомлення; | |||
* обмеження максимальної тривалості повідомлення; | |||
* обмеження розміру аудіофайлу; | |||
* контроль прав доступу до голосового повідомлення; | |||
* журналювання факту створення, редагування або видалення голосового повідомлення; | |||
* можливість прикріпити голосове повідомлення до Helpdesk-звернення, задачі, баг-репорту, ліда, контакту, документа або іншого ERP-об’єкта. | |||
<div style="background:#fff8e1; border-left:6px solid #f9a825; padding:12px; margin:12px 0;"> | |||
'''Важливо:''' голосові повідомлення повинні зберігатися в тій самій хмарі K2 ERP, де працює модуль K2 Chat, якщо адміністратор явно не налаштував інший захищений сценарій зберігання. | |||
</div> | |||
=== 21.2. Транскрибація голосових повідомлень === | |||
Потрібно передбачити автоматичну транскрибацію голосових повідомлень у текст. | |||
Транскрибація повинна дозволяти: | |||
* перетворювати голосове повідомлення в текст; | |||
* зберігати текстову розшифровку поруч із голосовим повідомленням; | |||
* виконувати пошук по транскрибованому тексту; | |||
* копіювати текст транскрибації; | |||
* редагувати текст транскрибації користувачем із відповідними правами; | |||
* зберігати історію змін транскрибації; | |||
* визначати мову повідомлення, якщо це підтримується сервісом транскрибації; | |||
* підтримувати українську мову як пріоритетну; | |||
* підтримувати кілька мов для міжнародного використання; | |||
* передавати транскрибацію в Helpdesk-звернення; | |||
* передавати транскрибацію в задачу; | |||
* передавати транскрибацію в баг-репорт; | |||
* передавати транскрибацію в CRM-картку ліда, контакту або контрагента; | |||
* використовувати транскрибацію для подальшого аналізу, пошуку та автоматизації. | |||
<div style="background:#e8f5e9; border-left:6px solid #2e7d32; padding:12px; margin:12px 0;"> | |||
'''Практична цінність:''' транскрибація дозволяє не втрачати зміст голосових повідомлень, швидко знаходити потрібну інформацію через пошук і перетворювати усні домовленості на задачі, баг-репорти або записи CRM. | |||
</div> | |||
=== 21.3. Запис голосових дзвінків === | |||
K2 Chat повинен підтримувати можливість голосових дзвінків між користувачами та їх запису, якщо це дозволено налаштуваннями безпеки і правами доступу. | |||
Потрібно передбачити: | |||
* голосовий дзвінок між двома користувачами; | |||
* груповий голосовий дзвінок; | |||
* запис голосового дзвінка; | |||
* збереження запису на сервері хмари K2 ERP; | |||
* прив’язку запису до чату; | |||
* прив’язку запису до Helpdesk-звернення; | |||
* прив’язку запису до CRM-картки клієнта; | |||
* прив’язку запису до задачі або баг-репорту; | |||
* автоматичну транскрибацію запису; | |||
* пошук по транскрибованому тексту; | |||
* контроль доступу до запису; | |||
* журналювання факту початку, завершення та запису дзвінка; | |||
* попередження учасників про запис розмови. | |||
<div style="background:#ffebee; border-left:6px solid #c62828; padding:12px; margin:12px 0;"> | |||
'''Критична вимога:''' запис голосового дзвінка повинен виконуватися тільки згідно з налаштуваннями безпеки, правами користувачів і правилами компанії. Учасники повинні бачити, що розмова записується. | |||
</div> | |||
== 22. Відеоконференції, запис зустрічей і стрімінг == | |||
=== 22.1. Відеоконференції === | |||
K2 Chat повинен підтримувати створення відеоконференцій для користувачів K2 ERP. | |||
Потрібно передбачити: | |||
* створення відеоконференції з особистого чату; | |||
* створення відеоконференції з групового чату; | |||
* створення відеоконференції з каналу; | |||
* створення відеоконференції з Helpdesk-звернення; | |||
* створення відеоконференції з задачі; | |||
* створення відеоконференції з CRM-картки клієнта; | |||
* створення відеоконференції з документа або ERP-об’єкта; | |||
* запрошення учасників; | |||
* підключення за посиланням; | |||
* підключення авторизованих користувачів K2 ERP; | |||
* підключення зовнішніх гостей за дозволом; | |||
* очікувальну кімнату для гостей; | |||
* керування мікрофоном; | |||
* керування камерою; | |||
* демонстрацію екрана; | |||
* демонстрацію вікна або вкладки браузера; | |||
* текстовий чат під час конференції; | |||
* реакції під час конференції; | |||
* список учасників; | |||
* ролі модератора, доповідача та слухача; | |||
* видалення учасника з конференції; | |||
* блокування повторного входу небажаного учасника; | |||
* завершення конференції модератором. | |||
=== 22.2. Запис відеоконференції === | |||
Потрібно передбачити запис відеоконференції. | |||
Запис повинен включати: | |||
* відео учасників; | |||
* звук; | |||
* демонстрацію екрана; | |||
* чат конференції; | |||
* службову інформацію про учасників; | |||
* час початку; | |||
* час завершення; | |||
* тривалість; | |||
* автора запису; | |||
* модератора конференції. | |||
Після завершення запису система повинна: | |||
* зберегти запис у хмарі K2 ERP; | |||
* прив’язати запис до чату; | |||
* прив’язати запис до задачі, звернення, документа або CRM-картки, якщо конференція була створена з відповідного об’єкта; | |||
* створити текстову транскрибацію зустрічі; | |||
* дозволити пошук по транскрибації; | |||
* дозволити перегляд запису користувачам із відповідними правами; | |||
* дозволити завантаження запису, якщо це дозволено адміністратором; | |||
* дозволити обмеження строку зберігання запису; | |||
* вести журнал доступу до запису. | |||
<div style="background:#fff3e0; border-left:6px solid #ef6c00; padding:12px; margin:12px 0;"> | |||
'''Важливо:''' запис відеоконференції може містити конфіденційну бізнес-інформацію, тому доступ до нього повинен регулюватися правами K2 ERP, політиками безпеки та журналом аудиту. | |||
</div> | |||
=== 22.3. Транскрибація відеоконференцій === | |||
Потрібно передбачити автоматичну транскрибацію відеоконференцій. | |||
Транскрибація повинна дозволяти: | |||
* перетворювати мову учасників у текст; | |||
* розділяти текст за учасниками, якщо це технічно можливо; | |||
* визначати часові мітки; | |||
* швидко переходити від тексту до відповідного моменту запису; | |||
* шукати по тексту зустрічі; | |||
* формувати короткий підсумок зустрічі; | |||
* формувати список домовленостей; | |||
* формувати список задач; | |||
* формувати список ризиків; | |||
* формувати список питань, які залишились відкритими; | |||
* передавати задачі в K2 Projects або інший модуль задач; | |||
* передавати баги в K2 Mantis або баг-трекінг; | |||
* передавати комерційні домовленості в CRM; | |||
* передавати технічні рішення в VDoc або базу знань. | |||
<div style="background:#e8f5e9; border-left:6px solid #2e7d32; padding:12px; margin:12px 0;"> | |||
'''Розширена можливість:''' на основі транскрибації відеоконференції система може автоматично готувати протокол зустрічі, список задач, відповідальних і дедлайнів. | |||
</div> | |||
=== 22.4. Відеоконференції для великої кількості користувачів === | |||
K2 Chat повинен підтримувати окремий режим масштабних відеоконференцій і трансляцій для великої кількості учасників. | |||
Потрібно передбачити два режими: | |||
* '''інтерактивна відеоконференція''' — для обмеженої кількості активних учасників із камерою, мікрофоном і демонстрацією екрана; | |||
* '''стрімінг або вебінар''' — для великої кількості глядачів, зокрема для сотень або тисяч користувачів. | |||
=== 22.5. Режим стрімінгу === | |||
Режим стрімінгу повинен дозволяти проводити онлайн-події з великою кількістю глядачів. | |||
Потрібно передбачити: | |||
* створення стрімінгової події; | |||
* підключення тисяч користувачів у режимі перегляду; | |||
* одного або кількох ведучих; | |||
* модераторів; | |||
* чат глядачів; | |||
* питання від глядачів; | |||
* модерацію питань; | |||
* реакції; | |||
* опитування; | |||
* демонстрацію презентації; | |||
* демонстрацію екрана; | |||
* запис трансляції; | |||
* транскрибацію трансляції; | |||
* збереження запису в хмарі K2 ERP; | |||
* обмеження доступу за ролями; | |||
* доступ за запрошенням; | |||
* публічний або приватний режим; | |||
* статистику переглядів; | |||
* список учасників; | |||
* звіт по активності; | |||
* експорт списку учасників; | |||
* інтеграцію з навчальним модулем K2; | |||
* інтеграцію з CRM; | |||
* інтеграцію з подіями, курсами або презентаціями. | |||
<div style="background:#f3e5f5; border-left:6px solid #7b1fa2; padding:12px; margin:12px 0;"> | |||
'''Сценарії використання стрімінгу:''' навчання користувачів K2 ERP, презентації для клієнтів, вебінари для бухгалтерів, демонстрації оновлень, конференції партнерів, онлайн-курси, внутрішні збори великих компаній. | |||
</div> | |||
=== 22.6. Архітектура відео та стрімінгу === | |||
Для відеоконференцій і стрімінгу потрібно передбачити окремий технічний контур. | |||
Архітектура повинна підтримувати: | |||
* WebRTC для інтерактивних відеодзвінків і конференцій; | |||
* SFU-сервер для групових відеоконференцій; | |||
* стрімінговий сервер для великої кількості глядачів; | |||
* HLS або аналогічний механізм для масштабного перегляду; | |||
* запис відеопотоку; | |||
* збереження записів у файловому сховищі K2 ERP; | |||
* масштабування відеосерверів; | |||
* розділення активних учасників і глядачів; | |||
* черги обробки записів; | |||
* черги транскрибації; | |||
* моніторинг якості зв’язку; | |||
* контроль навантаження; | |||
* резервування сервісів для критичних подій. | |||
<div style="background:#fff8e1; border-left:6px solid #f9a825; padding:12px; margin:12px 0;"> | |||
'''Технічна вимога:''' інтерактивна відеоконференція і стрімінг на тисячі глядачів мають різну архітектуру. Для великих подій потрібно використовувати режим трансляції, а не намагатися підключати тисячі користувачів як повноцінних відеоучасників. | |||
</div> | |||
== 23. Опитування, обране, нотатки та бокова панель чату == | |||
=== 23.1. Опитування в чатах і каналах === | |||
Потрібно передбачити можливість створення опитувань у чатах, групах, каналах, проєктних чатах і Helpdesk-діалогах. | |||
Опитування повинні підтримувати: | |||
* створення опитування з чату; | |||
* створення опитування з каналу; | |||
* створення опитування з проєктного чату; | |||
* створення опитування з Helpdesk-діалогу; | |||
* один варіант відповіді; | |||
* кілька варіантів відповіді; | |||
* анонімне опитування; | |||
* публічне опитування; | |||
* завершення опитування автором або адміністратором; | |||
* закріплення опитування в чаті; | |||
* копіювання опитування; | |||
* видалення або архівацію опитування; | |||
* перегляд результатів; | |||
* експорт результатів; | |||
* прив’язку результатів до задачі, проєкту, курсу навчання або CRM-об’єкта. | |||
<div style="background:#e8f5e9; border-left:6px solid #2e7d32; padding:12px; margin:12px 0;"> | |||
'''Практична цінність:''' опитування дозволяють швидко приймати рішення всередині команди, збирати думку співробітників, клієнтів або учасників навчання без використання зовнішніх сервісів. | |||
</div> | |||
=== 23.2. Обрані повідомлення === | |||
Користувач повинен мати можливість додавати повідомлення в обране. | |||
Потрібно передбачити: | |||
* додавання повідомлення в обране; | |||
* видалення з обраного; | |||
* перегляд усіх обраних повідомлень у межах чату; | |||
* перегляд усіх обраних повідомлень користувача; | |||
* пошук по обраних повідомленнях; | |||
* фільтр обраного за чатами; | |||
* фільтр обраного за датою; | |||
* фільтр обраного за ERP-об’єктом. | |||
=== 23.3. Нотатки в чаті === | |||
Потрібно передбачити нотатки в чаті. | |||
Нотатки можуть використовуватись для: | |||
* фіксації домовленостей; | |||
* коротких висновків після обговорення; | |||
* службових приміток оператора підтримки; | |||
* внутрішніх коментарів команди; | |||
* підготовки відповіді клієнту; | |||
* збереження важливих технічних деталей; | |||
* створення майбутньої задачі або баг-репорту. | |||
Нотатка повинна мати: | |||
* автора; | |||
* дату створення; | |||
* текст; | |||
* прив’язку до чату; | |||
* прив’язку до повідомлення, якщо нотатка створена з повідомлення; | |||
* права доступу; | |||
* історію змін; | |||
* можливість видалення або позначення як неактивної. | |||
<div style="background:#fff8e1; border-left:6px solid #f9a825; padding:12px; margin:12px 0;"> | |||
'''Важливо:''' нотатки можуть бути публічними для учасників чату або приватними для операторів підтримки, менеджерів чи адміністраторів. | |||
</div> | |||
=== 23.4. Бокова панель чату === | |||
У кожному чаті потрібно передбачити бокову панель швидкого доступу. | |||
Бокова панель повинна містити: | |||
* опис чату; | |||
* список учасників; | |||
* адміністраторів чату; | |||
* закріплені повідомлення; | |||
* обрані повідомлення; | |||
* нотатки; | |||
* усі файли; | |||
* усі зображення; | |||
* усі відео; | |||
* усі голосові повідомлення; | |||
* усі посилання; | |||
* усі ERP-картки; | |||
* усі задачі, створені з чату; | |||
* усі Helpdesk-звернення; | |||
* усі баг-репорти; | |||
* усі записи відеоконференцій; | |||
* усі транскрибації. | |||
== 24. Автоматичне очищення, архівація та політики зберігання == | |||
Потрібно передбачити політики зберігання повідомлень. | |||
Адміністратор повинен мати можливість налаштувати: | |||
* безстрокове зберігання; | |||
* зберігання повідомлень певну кількість днів; | |||
* автоархівацію старих повідомлень; | |||
* автоматичне приховування старих повідомлень; | |||
* автоматичне логічне видалення через Active=false; | |||
* різні політики для різних чатів; | |||
* різні політики для різних каналів; | |||
* різні політики для Helpdesk-звернень; | |||
* різні політики для відеозаписів; | |||
* різні політики для голосових повідомлень; | |||
* винятки для юридично важливих чатів; | |||
* винятки для чатів із клієнтами; | |||
* винятки для повідомлень, прив’язаних до ERP-документів, задач, багів або CRM. | |||
<div style="background:#ffebee; border-left:6px solid #c62828; padding:12px; margin:12px 0;"> | |||
'''Критична вимога:''' автоочищення не повинно знищувати важливі юридичні, фінансові, технічні або Helpdesk-дані без політики збереження, архівації та аудиту. | |||
</div> | |||
== 25. Проєктні чати, чати робочих груп і чат задачі == | |||
<div style="background:#e8f5e9; border-left:6px solid #2e7d32; padding:12px; margin:12px 0;"> | |||
'''K2 Chat повинен підтримувати автоматичне створення чатів для проєктів, робочих груп, задач, спринтів, Helpdesk-звернень, баг-репортів і CRM-угод.''' | |||
</div> | |||
=== 25.1. Чат робочої групи === | |||
Для кожної робочої групи або підрозділу потрібно передбачити окремий чат. | |||
Потрібно передбачити: | |||
* автоматичне створення чату робочої групи; | |||
* автоматичне додавання учасників групи; | |||
* автоматичне виключення користувача з чату при виході з групи; | |||
* синхронізацію прав із робочою групою; | |||
* зв’язок чату з документами, задачами, файлами та подіями групи; | |||
* можливість вимкнути чат для конкретної групи; | |||
* історію змін складу групи; | |||
* журнал доступу до чату. | |||
=== 25.2. Чат проєкту === | |||
Для кожного проєкту K2 ERP потрібно передбачити проєктний чат. | |||
Проєктний чат повинен містити: | |||
* учасників проєкту; | |||
* задачі проєкту; | |||
* файли проєкту; | |||
* обговорення проєкту; | |||
* рішення; | |||
* ризики; | |||
* протоколи зустрічей; | |||
* відеоконференції; | |||
* записи зустрічей; | |||
* транскрибації; | |||
* дедлайни; | |||
* повідомлення про зміни статусів задач. | |||
=== 25.3. Чат задачі === | |||
Кожна важлива задача може мати власний чат. | |||
Чат задачі повинен дозволяти: | |||
* обговорювати задачу без втрати контексту; | |||
* бачити постановника; | |||
* бачити відповідального; | |||
* бачити спостерігачів; | |||
* бачити дедлайн; | |||
* бачити статус задачі; | |||
* прикріплювати файли; | |||
* проводити дзвінок по задачі; | |||
* створювати підзадачі з повідомлень; | |||
* створювати чекліст із повідомлень; | |||
* фіксувати рішення; | |||
* формувати короткий підсумок обговорення; | |||
* автоматично переносити важливі повідомлення в історію задачі. | |||
<div style="background:#fff8e1; border-left:6px solid #f9a825; padding:12px; margin:12px 0;"> | |||
'''Важливо:''' чат задачі повинен бути не додатковим коментарем, а повноцінним робочим простором: обговорення, файли, дзвінки, рішення, підсумки, відповідальні та дедлайни. | |||
</div> | |||
== 26. Відкриті лінії, контакт-центр і робота з клієнтськими діалогами == | |||
<div style="background:#e3f2fd; border-left:6px solid #1565c0; padding:12px; margin:12px 0;"> | |||
'''K2 Chat повинен мати режим відкритих ліній — єдиного центру обробки повідомлень із сайту, зовнішніх месенджерів, соціальних мереж, email, CRM-форм, телефонії та зовнішніх каналів.''' | |||
</div> | |||
=== 26.1. Єдиний список клієнтських діалогів === | |||
Оператор повинен бачити всі клієнтські діалоги в одному інтерфейсі. | |||
Потрібно передбачити: | |||
* нові діалоги; | |||
* діалоги без відповіді; | |||
* діалоги в роботі; | |||
* діалоги, передані іншому оператору; | |||
* діалоги, що очікують відповіді клієнта; | |||
* закриті діалоги; | |||
* прострочені діалоги; | |||
* діалоги з високим пріоритетом; | |||
* діалоги з VIP-клієнтами; | |||
* діалоги з різних каналів комунікації. | |||
=== 26.2. Передача діалогу іншому оператору === | |||
Потрібно передбачити можливість передати діалог: | |||
* іншому оператору; | |||
* іншій групі підтримки; | |||
* менеджеру з продажу; | |||
* бухгалтеру; | |||
* розробнику; | |||
* тестувальнику; | |||
* керівнику; | |||
* зовнішньому інтегратору, якщо це дозволено правами. | |||
Передача діалогу повинна зберігати: | |||
* історію переписки; | |||
* файли; | |||
* нотатки; | |||
* статус звернення; | |||
* пріоритет; | |||
* CRM-картку клієнта; | |||
* пов’язані задачі; | |||
* пов’язані баг-репорти; | |||
* попереднього відповідального; | |||
* нового відповідального; | |||
* дату передачі; | |||
* причину передачі. | |||
=== 26.3. Додавання колег у клієнтський діалог === | |||
Оператор повинен мати можливість додати колегу до діалогу. | |||
Потрібно передбачити: | |||
* додавання співробітника в діалог; | |||
* згадку співробітника через @; | |||
* внутрішній коментар без показу клієнту; | |||
* запит консультації; | |||
* тимчасове підключення експерта; | |||
* видалення експерта після консультації; | |||
* журнал підключення колег. | |||
=== 26.4. Приватні нотатки оператора === | |||
У клієнтському діалозі потрібно передбачити приватні нотатки. | |||
Приватні нотатки повинні бути видимі: | |||
* оператору; | |||
* керівнику підтримки; | |||
* менеджеру; | |||
* адміністратору; | |||
* іншим співробітникам із відповідними правами. | |||
Клієнт не повинен бачити приватні нотатки. | |||
<div style="background:#ffebee; border-left:6px solid #c62828; padding:12px; margin:12px 0;"> | |||
'''Критична вимога:''' приватні нотатки оператора не повинні випадково відправлятися клієнту або в зовнішній месенджер. | |||
</div> | |||
=== 26.5. Готові відповіді === | |||
Потрібно передбачити готові відповіді для операторів. | |||
Готові відповіді можуть використовуватись для: | |||
* привітання; | |||
* уточнення контактних даних; | |||
* запиту скриншоту; | |||
* запиту доступу; | |||
* повідомлення про прийняття в роботу; | |||
* повідомлення про передачу розробнику; | |||
* повідомлення про виправлення; | |||
* повідомлення про оновлення; | |||
* закриття звернення; | |||
* типових бухгалтерських питань; | |||
* типових технічних питань; | |||
* типових комерційних питань. | |||
=== 26.6. CRM-форми в чаті === | |||
Оператор повинен мати можливість відправити клієнту CRM-форму прямо в чат. | |||
CRM-форма може використовуватись для: | |||
* збору контактів; | |||
* запиту на впровадження; | |||
* заявки на демонстрацію; | |||
* заявки на навчання; | |||
* реєстрації на вебінар; | |||
* збору технічної інформації; | |||
* оформлення звернення; | |||
* уточнення реквізитів компанії; | |||
* створення ліда; | |||
* створення угоди; | |||
* створення контакту; | |||
* створення контрагента. | |||
=== 26.7. Автоматичне створення CRM-контакту === | |||
Якщо користувач звернувся з сайту, зовнішнього месенджера, соціальної мережі або email, система повинна перевірити наявність такого контакту в CRM. | |||
Потрібно передбачити: | |||
* пошук контакту за email; | |||
* пошук контакту за телефоном; | |||
* пошук контакту за зовнішнім ID; | |||
* пошук контакту за соціальним профілем; | |||
* створення нового контакту; | |||
* створення нового ліда; | |||
* прив’язку діалогу до існуючого контакту; | |||
* прив’язку діалогу до контрагента; | |||
* прив’язку діалогу до угоди; | |||
* захист від дублювання контактів. | |||
=== 26.8. Статистика клієнтських діалогів === | |||
Потрібно передбачити статистику відкритих ліній. | |||
Звіти повинні показувати: | |||
* кількість діалогів; | |||
* кількість нових звернень; | |||
* кількість закритих звернень; | |||
* середній час першої відповіді; | |||
* середній час вирішення; | |||
* кількість прострочених звернень; | |||
* навантаження на операторів; | |||
* ефективність операторів; | |||
* популярні канали звернень; | |||
* оцінку задоволеності клієнтів; | |||
* кількість діалогів, що стали лідами; | |||
* кількість діалогів, що стали задачами; | |||
* кількість діалогів, що стали баг-репортами. | |||
== 27. Зв’язок із CRM == | |||
K2 Chat повинен бути інтегрований із CRM. | |||
Потрібно передбачити: | |||
* створення ліда з повідомлення; | |||
* прив’язку переписки до ліда; | |||
* прив’язку переписки до контакту; | |||
* прив’язку переписки до контрагента; | |||
* створення задачі менеджеру; | |||
* передачу історії комунікації в CRM; | |||
* відображення CRM-картки в чаті; | |||
* автоматичне визначення клієнта за email або телефоном; | |||
* створення нагадування; | |||
* передавання звернення у воронку продажів; | |||
* збереження записів дзвінків у CRM; | |||
* збереження транскрибацій у CRM; | |||
* прив’язку відеоконференцій до угод або лідів. | |||
== 28. Зв’язок із системою задач == | |||
З повідомлення або звернення потрібно мати можливість створити задачу. | |||
Задача повинна містити: | |||
* текст повідомлення; | |||
* автора; | |||
* чат; | |||
* дату; | |||
* вкладення; | |||
* посилання на повідомлення; | |||
* відповідального; | |||
* дедлайн; | |||
* пріоритет; | |||
* статус; | |||
* пов’язані ERP-об’єкти; | |||
* транскрибацію, якщо задача створена з голосу або відеозустрічі; | |||
* посилання на запис, якщо задача створена за результатами дзвінка або конференції. | |||
== 29. Зв’язок із K2 Mantis або баг-трекінгом == | |||
K2 Chat повинен мати інтеграцію з баг-трекінгом. | |||
Потрібно передбачити: | |||
* створення багу з повідомлення; | |||
* створення багу зі звернення Helpdesk; | |||
* створення багу з голосового повідомлення; | |||
* створення багу з транскрибації; | |||
* створення багу з відеоконференції; | |||
* прив’язку багу до клієнта; | |||
* прив’язку багу до модуля K2 ERP; | |||
* відправку статусу багу в чат; | |||
* повідомлення користувача про виправлення; | |||
* автоматичне закриття звернення після підтвердження. | |||
== 30. Зв’язок із VDoc == | |||
K2 Chat повинен мати зв’язок із VDoc. | |||
Потрібно передбачити: | |||
* прикріплення файлу з VDoc у чат; | |||
* створення обговорення навколо файлу; | |||
* передавання посилання на версію документа; | |||
* збереження історії обговорення документа; | |||
* контроль прав доступу; | |||
* неможливість фізичного видалення важливих документів; | |||
* збереження протоколів зустрічей; | |||
* збереження транскрибацій; | |||
* збереження важливих записів відеоконференцій; | |||
* використання Active=false для позначення неактивного або видаленого запису згідно логіки K2 ERP. | |||
<div style="background:#fff8e1; border-left:6px solid #f9a825; padding:12px; margin:12px 0;"> | |||
'''Технічна примітка:''' для позначення запису або файлу як неактивного в K2 ERP використовується поле '''Active=false''', а не окреме поле deleted_mark. | |||
</div> | |||
== 31. Зв’язок із навчальним модулем K2 == | |||
K2 Chat може використовуватись у навчальному модулі. | |||
Потрібно передбачити: | |||
* чат курсу; | |||
* чат групи студентів; | |||
* чат із куратором; | |||
* питання по уроку; | |||
* обговорення завдання; | |||
* повідомлення про дедлайн; | |||
* повідомлення про оцінку; | |||
* повідомлення про сертифікат; | |||
* звернення в підтримку навчального курсу; | |||
* навчальні вебінари; | |||
* стрімінгові лекції; | |||
* запис занять; | |||
* транскрибацію занять; | |||
* опитування студентів; | |||
* автоматичне створення навчальних матеріалів із записів. | |||
== 32. AI-помічник у K2 Chat == | |||
<div style="background:#f3e5f5; border-left:6px solid #7b1fa2; padding:12px; margin:12px 0;"> | |||
'''K2 Chat повинен підтримувати AI-помічника для обробки повідомлень, голосу, дзвінків, задач, Helpdesk-звернень, CRM-комунікацій і підготовки відповідей.''' | |||
</div> | |||
=== 32.1. AI-можливості в чаті === | |||
AI-помічник повинен допомагати: | |||
* писати відповіді; | |||
* скорочувати довгі повідомлення; | |||
* робити підсумок переписки; | |||
* виділяти ключові домовленості; | |||
* виділяти задачі; | |||
* виділяти ризики; | |||
* виділяти питання без відповіді; | |||
* формувати баг-репорт із переписки; | |||
* формувати Helpdesk-відповідь; | |||
* формувати CRM-коментар; | |||
* формувати протокол зустрічі; | |||
* створювати чекліст; | |||
* перекладати повідомлення; | |||
* покращувати стиль повідомлення; | |||
* визначати тональність клієнта; | |||
* визначати терміновість звернення. | |||
=== 32.2. Голосове розпізнавання для задач === | |||
Потрібно передбачити можливість створення задачі голосом. | |||
Користувач може надиктувати: | |||
* назву задачі; | |||
* опис задачі; | |||
* відповідального; | |||
* дедлайн; | |||
* пріоритет; | |||
* чекліст; | |||
* пов’язаний ERP-об’єкт; | |||
* пов’язаний документ; | |||
* пов’язаного клієнта або ліда. | |||
Система повинна перетворити голос у структуровану задачу. | |||
=== 32.3. AI-аналіз дзвінків і відеоконференцій === | |||
Після дзвінка або відеоконференції AI-помічник повинен мати можливість сформувати: | |||
* короткий підсумок; | |||
* повну транскрибацію; | |||
* список задач; | |||
* список відповідальних; | |||
* список дедлайнів; | |||
* список домовленостей; | |||
* список ризиків; | |||
* список питань, що залишились відкритими; | |||
* пропозицію тексту відповіді клієнту; | |||
* пропозицію створення задачі; | |||
* пропозицію створення баг-репорту; | |||
* пропозицію створення CRM-активності. | |||
<div style="background:#fff8e1; border-left:6px solid #f9a825; padding:12px; margin:12px 0;"> | |||
'''Важливо:''' AI-помічник не повинен автоматично виконувати критичні дії без підтвердження користувача, якщо це впливає на документи, клієнтів, задачі, фінансові дані або права доступу. | |||
</div> | |||
== 33. Боти та автоматизація == | |||
Потрібно передбачити можливість створення ботів. | |||
Боти можуть використовуватись для: | |||
* автоматичних відповідей; | |||
* створення задач; | |||
* створення баг-репортів; | |||
* повідомлень про оновлення K2 ERP; | |||
* повідомлень про нові документи; | |||
* нагадувань; | |||
* повідомлень про дедлайни; | |||
* контролю SLA; | |||
* інтеграцій із зовнішніми системами; | |||
* навчальних сценаріїв; | |||
* збору даних від користувача; | |||
* передачі інформації в CRM; | |||
* запуску опитувань; | |||
* підготовки підсумків; | |||
* створення протоколів зустрічей. | |||
=== 33.1. Системні боти === | |||
Потрібно передбачити системних ботів: | |||
* бот технічної підтримки; | |||
* бот повідомлень ERP; | |||
* бот задач; | |||
* бот баг-репортів; | |||
* бот оновлень; | |||
* бот навчання; | |||
* бот SLA; | |||
* бот інтеграцій; | |||
* бот безпеки; | |||
* бот транскрибації; | |||
* бот відеоконференцій; | |||
* AI-бот. | |||
== 34. Desktop-додаток, мультиакаунти та телефонія == | |||
<div style="background:#e3f2fd; border-left:6px solid #1565c0; padding:12px; margin:12px 0;"> | |||
'''K2 Chat повинен мати можливість роботи не тільки у браузері, а й через окремий додаток або клієнт, який може працювати з кількома хмарами K2 ERP одночасно.''' | |||
</div> | |||
=== 34.1. Desktop-додаток === | |||
Потрібно передбачити можливість створення desktop-додатку для: | |||
* Windows; | |||
* Linux; | |||
* macOS. | |||
Desktop-додаток повинен підтримувати: | |||
* особисті чати; | |||
* групові чати; | |||
* канали; | |||
* Helpdesk; | |||
* повідомлення про нові події; | |||
* дзвінки; | |||
* відеоконференції; | |||
* запис дзвінків; | |||
* роботу з файлами; | |||
* відкриття ERP-карток; | |||
* швидкий перехід у веб-інтерфейс K2 ERP; | |||
* роботу у фоновому режимі; | |||
* системні сповіщення операційної системи. | |||
=== 34.2. Мультиакаунти та кілька хмар === | |||
Користувач повинен мати можливість працювати з кількома хмарами K2 ERP. | |||
Потрібно передбачити: | |||
* підключення кількох хмар; | |||
* швидке перемикання між хмарами; | |||
* одночасну роботу з кількома хмарами; | |||
* окремі сповіщення по кожній хмарі; | |||
* окремі права доступу по кожній хмарі; | |||
* окреме зберігання переписки в кожній хмарі; | |||
* заборону змішування даних різних хмар; | |||
* маркування повідомлень за хмарою; | |||
* контроль міжхмарної безпеки. | |||
=== 34.3. Телефонія в чаті === | |||
Потрібно передбачити інтеграцію телефонії з K2 Chat. | |||
Система повинна дозволяти: | |||
* показувати телефонний дзвінок у Messenger; | |||
* створювати окремий чат для кожного дзвінка; | |||
* створювати єдиний чат для всіх дзвінків із клієнтом; | |||
* не показувати телефонні дзвінки в чаті, якщо так налаштовано; | |||
* записувати телефонний дзвінок; | |||
* транскрибувати телефонний дзвінок; | |||
* створювати задачу з дзвінка; | |||
* створювати CRM-активність із дзвінка; | |||
* створювати Helpdesk-звернення з дзвінка; | |||
* прив’язувати дзвінок до клієнта, ліда, контакту або контрагента; | |||
* показувати історію дзвінків у картці клієнта. | |||
<div style="background:#e8f5e9; border-left:6px solid #2e7d32; padding:12px; margin:12px 0;"> | |||
'''Перевага для бізнесу:''' телефонні дзвінки, чати, відеоконференції, Helpdesk і CRM повинні працювати як єдина історія комунікації з клієнтом. | |||
</div> | |||
== 35. Сповіщення == | |||
K2 Chat повинен мати систему сповіщень. | |||
Потрібно передбачити: | |||
* сповіщення в інтерфейсі K2 ERP; | |||
* звукові сповіщення; | |||
* push-сповіщення для веб-додатку; | |||
* email-сповіщення; | |||
* сповіщення в зовнішні канали комунікації; | |||
* сповіщення про згадки; | |||
* сповіщення про нові звернення; | |||
* сповіщення про критичні баги; | |||
* сповіщення про прострочені SLA; | |||
* сповіщення про відповідь клієнта; | |||
* сповіщення про зміну статусу задачі; | |||
* сповіщення про новий ERP-об’єкт у чаті; | |||
* сповіщення про початок відеоконференції; | |||
* сповіщення про готовність транскрибації; | |||
* сповіщення про готовність запису. | |||
=== 35.1. Налаштування сповіщень користувачем === | |||
Користувач повинен мати можливість налаштувати: | |||
* отримувати всі сповіщення; | |||
* отримувати тільки згадки; | |||
* вимкнути сповіщення на певний час; | |||
* вимкнути звук; | |||
* вимкнути сповіщення конкретного чату; | |||
* налаштувати робочий час; | |||
* налаштувати режим “Не турбувати”. | |||
== 36. Пошук == | |||
Потрібно передбачити потужний пошук. | |||
Пошук повинен працювати по: | |||
* повідомленнях; | |||
* чатах; | |||
* групах; | |||
* каналах; | |||
* користувачах; | |||
* файлах; | |||
* зверненнях; | |||
* баг-репортах; | |||
* ERP-картках; | |||
* лідах; | |||
* контрагентах; | |||
* документах; | |||
* задачах; | |||
* тредах; | |||
* голосових транскрибаціях; | |||
* відеотранскрибаціях; | |||
* нотатках; | |||
* опитуваннях; | |||
* протоколах зустрічей. | |||
Фільтри пошуку: | |||
* дата; | |||
* автор; | |||
* чат; | |||
* канал; | |||
* тип повідомлення; | |||
* наявність файлу; | |||
* статус звернення; | |||
* пріоритет; | |||
* ERP-об’єкт; | |||
* тег; | |||
* хмара; | |||
* інтеграційний канал; | |||
* наявність запису; | |||
* наявність транскрибації; | |||
* тип медіа. | |||
== 37. Адміністративний інтерфейс == | |||
Адміністратор повинен мати можливість: | |||
* створювати чати; | |||
* створювати канали; | |||
* керувати користувачами; | |||
* керувати ролями; | |||
* налаштовувати права; | |||
* налаштовувати Helpdesk; | |||
* налаштовувати SLA; | |||
* налаштовувати інтеграції; | |||
* налаштовувати API-доступ; | |||
* налаштовувати міжхмарні з’єднання; | |||
* переглядати журнали; | |||
* переглядати статистику; | |||
* блокувати користувачів; | |||
* блокувати зовнішні хмари; | |||
* відкликати токени; | |||
* вмикати режим підвищеної безпеки; | |||
* налаштовувати відеосервери; | |||
* налаштовувати політики запису; | |||
* налаштовувати політики транскрибації; | |||
* налаштовувати правила зберігання повідомлень. | |||
== 38. Безпека == | |||
K2 Chat повинен відповідати підвищеним вимогам безпеки корпоративних клієнтів. | |||
Потрібно передбачити: | |||
* авторизацію користувачів через K2 ERP; | |||
* рольову модель доступу; | |||
* контроль прав на чати; | |||
* контроль прав на канали; | |||
* контроль прав на файли; | |||
* контроль прав на ERP-об’єкти; | |||
* контроль прав на записи дзвінків; | |||
* контроль прав на записи відеоконференцій; | |||
* контроль прав на транскрибації; | |||
* журнал входів; | |||
* журнал дій користувачів; | |||
* журнал API-запитів; | |||
* журнал міжхмарних обмінів; | |||
* обмеження доступу за IP, якщо потрібно; | |||
* двофакторну автентифікацію, якщо вона підключена в K2 ERP; | |||
* сесії користувачів; | |||
* примусове завершення сесій; | |||
* політики паролів; | |||
* обмеження спроб входу; | |||
* захист від brute-force; | |||
* захист від XSS; | |||
* захист від CSRF; | |||
* захист від SQL injection; | |||
* захист API від перевантаження. | |||
=== 38.1. Шифрування трафіку === | |||
Потрібно передбачити шифрування трафіку між клієнтом і сервером. | |||
Мінімальні вимоги: | |||
* HTTPS; | |||
* TLS; | |||
* захищені WebSocket-з’єднання; | |||
* захищена передача API-запитів; | |||
* захищена передача файлів; | |||
* захищена передача аудіо; | |||
* захищена передача відео; | |||
* захищена міжхмарна комунікація. | |||
=== 38.2. Підвищений рівень безпеки === | |||
Для клієнтів із підвищеними вимогами до безпеки потрібно передбачити спеціальний режим. | |||
У цьому режимі можуть використовуватися: | |||
* посилене шифрування трафіку; | |||
* окремі ключі хмари; | |||
* додаткове шифрування повідомлень; | |||
* обмеження міжхмарних повідомлень; | |||
* обмеження інтеграцій із зовнішніми каналами комунікації; | |||
* заборона передачі файлів назовні; | |||
* заборона передачі записів назовні; | |||
* обов’язкова двофакторна автентифікація; | |||
* журналювання всіх дій; | |||
* зберігання даних тільки в приватній хмарі клієнта; | |||
* відключення зовнішніх webhook; | |||
* контроль пристроїв користувачів. | |||
<div style="background:#ffebee; border-left:6px solid #c62828; padding:12px; margin:12px 0;"> | |||
'''Критична вимога:''' у режимі підвищеної безпеки жодна переписка, запис голосу, запис відеоконференції, транскрибація або файл не повинні передаватися у зовнішні сервіси без явного дозволу адміністратора хмари. | |||
</div> | </div> | ||
== 39. Права доступу == | |||
Потрібно передбачити гнучку систему прав доступу. | |||
Права повинні налаштовуватись для: | |||
* користувача; | |||
* ролі; | |||
* групи; | |||
* підрозділу; | |||
* чату; | |||
* каналу; | |||
* Helpdesk-черги; | |||
* інтеграції; | |||
* API-користувача; | |||
* зовнішньої хмари; | |||
* відеоконференції; | |||
* стрімінгу; | |||
* запису; | |||
* транскрибації. | |||
=== 39.1. Приклади прав === | |||
<div style="border:1px solid #cfd8dc; margin:12px 0;"> | |||
<div style="background:#eceff1; padding:10px; font-weight:bold;">Приклади прав доступу</div> | |||
<div style="padding:10px; border-top:1px solid #cfd8dc;">'''Перегляд чату'''<br />Користувач може бачити чат.</div> | |||
<div style="padding:10px; border-top:1px solid #cfd8dc;">'''Відправка повідомлень'''<br />Користувач може писати повідомлення.</div> | |||
<div style="padding:10px; border-top:1px solid #cfd8dc;">'''Редагування своїх повідомлень'''<br />Користувач може редагувати власні повідомлення.</div> | |||
<div style="padding:10px; border-top:1px solid #cfd8dc;">'''Видалення своїх повідомлень'''<br />Користувач може видаляти або приховувати власні повідомлення.</div> | |||
<div style="padding:10px; border-top:1px solid #cfd8dc;">'''Модерація'''<br />Користувач може керувати повідомленнями інших учасників.</div> | |||
<div style="padding:10px; border-top:1px solid #cfd8dc;">'''Керування учасниками'''<br />Користувач може додавати та видаляти учасників.</div> | |||
<div style="padding:10px; border-top:1px solid #cfd8dc;">'''Керування каналом'''<br />Користувач може змінювати налаштування каналу.</div> | |||
<div style="padding:10px; border-top:1px solid #cfd8dc;">'''Робота з Helpdesk'''<br />Користувач може приймати і обробляти звернення.</div> | |||
<div style="padding:10px; border-top:1px solid #cfd8dc;">'''Створення баг-репортів'''<br />Користувач може створювати баги зі звернень.</div> | |||
<div style="padding:10px; border-top:1px solid #cfd8dc;">'''Міжхмарна комунікація'''<br />Користувач може спілкуватися з користувачами інших хмар.</div> | |||
<div style="padding:10px; border-top:1px solid #cfd8dc;">'''API-доступ'''<br />Користувач або сервіс може працювати через API.</div> | |||
<div style="padding:10px; border-top:1px solid #cfd8dc;">'''Створення відеоконференції'''<br />Користувач може створювати відеоконференції.</div> | |||
<div style="padding:10px; border-top:1px solid #cfd8dc;">'''Запис конференції'''<br />Користувач може вмикати запис відеозустрічі.</div> | |||
<div style="padding:10px; border-top:1px solid #cfd8dc;">'''Перегляд записів'''<br />Користувач може переглядати записи відповідно до прав.</div> | |||
<div style="padding:10px; border-top:1px solid #cfd8dc;">'''Створення стрімінгу'''<br />Користувач може створювати великі онлайн-трансляції.</div> | |||
</div> | |||
== 40. Звіти та аналітика == | |||
Потрібно передбачити звіти: | |||
* кількість повідомлень; | |||
* активність користувачів; | |||
* активність чатів; | |||
* кількість звернень; | |||
* кількість закритих звернень; | |||
* середній час відповіді; | |||
* середній час закриття звернення; | |||
* прострочені SLA; | |||
* завантаженість операторів; | |||
* кількість баг-репортів; | |||
* кількість задач із чату; | |||
* джерела звернень; | |||
* ефективність каналів підтримки; | |||
* статистика міжхмарних повідомлень; | |||
* статистика інтеграцій; | |||
* кількість відеоконференцій; | |||
* кількість записів; | |||
* кількість транскрибацій; | |||
* активність у стрімах; | |||
* статистика переглядів вебінарів; | |||
* оцінка задоволеності клієнтів. | |||
== 41. Журнали та аудит == | |||
Потрібно вести аудит: | |||
* входів користувачів; | |||
* відправки повідомлень; | |||
* редагування повідомлень; | |||
* видалення повідомлень; | |||
* створення чатів; | |||
* зміни прав; | |||
* створення Helpdesk-звернень; | |||
* зміни статусів звернень; | |||
* створення баг-репортів; | |||
* API-запитів; | |||
* міжхмарної комунікації; | |||
* підключення зовнішніх каналів комунікації; | |||
* помилок доставки; | |||
* дій адміністраторів; | |||
* початку дзвінків; | |||
* завершення дзвінків; | |||
* увімкнення запису; | |||
* перегляду записів; | |||
* завантаження записів; | |||
* редагування транскрибацій; | |||
* створення стрімінгів; | |||
* підключення зовнішніх гостей. | |||
<div style="background:#e3f2fd; border-left:6px solid #1565c0; padding:12px; margin:12px 0;"> | |||
'''Аудит''' є обов’язковим для корпоративного використання, оскільки чат може містити критичну бізнес-інформацію, юридично важливу переписку, записи переговорів, технічні рішення та комерційні домовленості. | |||
</div> | |||
== 42. Структура бази даних == | |||
На етапі проєктування потрібно передбачити такі основні сутності: | |||
* chat_users; | |||
* chat_rooms; | |||
* chat_room_users; | |||
* chat_messages; | |||
* chat_message_files; | |||
* chat_message_reactions; | |||
* chat_threads; | |||
* chat_channels; | |||
* chat_channel_subscribers; | |||
* chat_polls; | |||
* chat_poll_answers; | |||
* chat_notes; | |||
* chat_favorites; | |||
* chat_helpdesk_tickets; | |||
* chat_ticket_statuses; | |||
* chat_ticket_priorities; | |||
* chat_ticket_history; | |||
* chat_integrations; | |||
* chat_webhooks; | |||
* chat_api_tokens; | |||
* chat_cloud_links; | |||
* chat_cloud_messages; | |||
* chat_bots; | |||
* chat_notifications; | |||
* chat_voice_messages; | |||
* chat_voice_calls; | |||
* chat_video_meetings; | |||
* chat_video_records; | |||
* chat_streams; | |||
* chat_transcriptions; | |||
* chat_audit_log; | |||
* chat_security_settings. | |||
=== 42.1. Основні поля повідомлення === | |||
Повідомлення повинно містити: | |||
* ідентифікатор; | |||
* ідентифікатор чату; | |||
* ідентифікатор автора; | |||
* текст повідомлення; | |||
* тип повідомлення; | |||
* дата створення; | |||
* дата редагування; | |||
* ознака активності; | |||
* ознака прочитання; | |||
* відповідь на повідомлення; | |||
* тред; | |||
* вкладення; | |||
* ERP-об’єкт; | |||
* службові метадані. | |||
== 43. Типи повідомлень == | |||
Потрібно передбачити такі типи повідомлень: | |||
* текст; | |||
* файл; | |||
* зображення; | |||
* голосове повідомлення; | |||
* відеоповідомлення; | |||
* системне повідомлення; | |||
* ERP-картка; | |||
* Helpdesk-звернення; | |||
* баг-репорт; | |||
* задача; | |||
* повідомлення від бота; | |||
* повідомлення з сайту; | |||
* повідомлення із зовнішнього каналу комунікації; | |||
* email-повідомлення; | |||
* міжхмарне повідомлення; | |||
* службова подія; | |||
* запис дзвінка; | |||
* запис відеоконференції; | |||
* транскрибація; | |||
* опитування; | |||
* нотатка. | |||
== 44. Інтерфейс користувача == | |||
Інтерфейс K2 Chat повинен бути зручним для великої кількості користувачів. | |||
Основні елементи інтерфейсу: | |||
* список чатів; | |||
* список каналів; | |||
* список Helpdesk-звернень; | |||
* область повідомлень; | |||
* поле введення повідомлення; | |||
* кнопка запису голосу; | |||
* кнопка прикріплення файлу; | |||
* кнопка відправки ERP-об’єкта; | |||
* кнопка створення задачі; | |||
* кнопка створення баг-репорту; | |||
* кнопка відеоконференції; | |||
* кнопка стрімінгу; | |||
* пошук; | |||
* фільтри; | |||
* панель інформації про чат; | |||
* панель учасників; | |||
* панель треду; | |||
* панель пов’язаного звернення; | |||
* панель пов’язаного ERP-об’єкта; | |||
* бокова панель файлів, медіа, посилань і нотаток; | |||
* налаштування сповіщень; | |||
* статус користувача. | |||
=== 44.1. Інтерфейс оператора підтримки === | |||
Оператор підтримки повинен бачити: | |||
* нові звернення; | |||
* звернення в роботі; | |||
* прострочені звернення; | |||
* критичні звернення; | |||
* історію діалогу; | |||
* дані клієнта; | |||
* пов’язані ERP-об’єкти; | |||
* кнопки створення задачі; | |||
* кнопки створення баг-репорту; | |||
* шаблони відповідей; | |||
* приватні нотатки; | |||
* SLA; | |||
* відповідального; | |||
* статус звернення; | |||
* записи дзвінків; | |||
* транскрибації; | |||
* історію попередніх звернень. | |||
=== 44.2. Інтерфейс адміністратора === | |||
Адміністратор повинен бачити: | |||
* користувачів; | |||
* ролі; | |||
* чати; | |||
* канали; | |||
* інтеграції; | |||
* API-токени; | |||
* міжхмарні підключення; | |||
* журнали безпеки; | |||
* статистику; | |||
* налаштування шифрування; | |||
* налаштування Helpdesk; | |||
* налаштування SLA; | |||
* налаштування відео; | |||
* налаштування записів; | |||
* налаштування транскрибацій; | |||
* налаштування стрімінгу. | |||
== 45. Шаблони відповідей == | |||
Для Helpdesk потрібно передбачити шаблони відповідей. | |||
Шаблони можуть використовуватись для: | |||
* першої відповіді; | |||
* запиту додаткової інформації; | |||
* повідомлення про прийняття в роботу; | |||
* повідомлення про передачу розробнику; | |||
* повідомлення про виправлення; | |||
* повідомлення про відмову; | |||
* повідомлення про закриття звернення; | |||
* повідомлення про оновлення системи; | |||
* відповіді після відеозустрічі; | |||
* відповіді після аналізу транскрибації. | |||
== 46. Автоматичні правила == | |||
Потрібно передбачити механізм автоматичних правил. | |||
Приклади правил: | |||
* якщо звернення з сайту має тему “помилка”, створити Helpdesk-звернення; | |||
* якщо повідомлення містить слово “критично”, встановити високий пріоритет; | |||
* якщо клієнт прикріпив скриншот, додати його до звернення; | |||
* якщо звернення не оброблено 30 хвилин, повідомити керівника; | |||
* якщо баг закрито, повідомити автора звернення; | |||
* якщо повідомлення прийшло із зовнішнього каналу, направити його в потрібну чергу; | |||
* якщо звернення від VIP-клієнта, встановити підвищений пріоритет; | |||
* якщо завершено відеоконференцію, створити транскрибацію; | |||
* якщо транскрибація містить домовленість, запропонувати створити задачу; | |||
* якщо в дзвінку згадується помилка, запропонувати створити баг-репорт. | |||
== 47. Надійність і відмовостійкість == | |||
Потрібно передбачити: | |||
* чергу недоставлених повідомлень; | |||
* повторну доставку; | |||
* захист від дублювання повідомлень; | |||
* резервне копіювання; | |||
* відновлення після збою; | |||
* контроль цілісності повідомлень; | |||
* моніторинг сервісу; | |||
* логування помилок; | |||
* повідомлення адміністратора про збої; | |||
* можливість тимчасового відключення інтеграцій; | |||
* резервування відеосервісів; | |||
* збереження запису конференції при нестабільному з’єднанні; | |||
* відновлення обробки транскрибації після збою. | |||
== 48. Резервне копіювання == | |||
Дані K2 Chat повинні входити в політику резервного копіювання хмари K2 ERP. | |||
Потрібно резервувати: | |||
* повідомлення; | |||
* файли; | |||
* звернення; | |||
* баг-репорти; | |||
* журнали; | |||
* налаштування; | |||
* інтеграції; | |||
* ключі, у захищеному вигляді; | |||
* міжхмарні зв’язки; | |||
* голосові повідомлення; | |||
* записи дзвінків; | |||
* записи відеоконференцій; | |||
* записи стрімів; | |||
* транскрибації; | |||
* нотатки; | |||
* опитування. | |||
== 49. Вимоги до продуктивності == | |||
Модуль повинен забезпечувати: | |||
* швидке відкриття списку чатів; | |||
* швидке завантаження останніх повідомлень; | |||
* миттєву доставку нових повідомлень; | |||
* швидкий пошук; | |||
* стабільну роботу при великій кількості користувачів; | |||
* оптимізовану роботу з файлами; | |||
* стабільну роботу Helpdesk; | |||
* стабільну роботу API; | |||
* контроль навантаження на сервер; | |||
* стабільну роботу голосових повідомлень; | |||
* стабільну роботу відеоконференцій; | |||
* масштабований стрімінг для великої кількості глядачів; | |||
* фонову обробку транскрибацій. | |||
== 50. Вимоги до сумісності == | |||
K2 Chat повинен працювати: | |||
* у сучасних браузерах; | |||
* у хмарі K2 ERP; | |||
* у приватних інсталяціях K2 ERP; | |||
* через API; | |||
* із зовнішніми сайтами; | |||
* із зовнішніми месенджерами через інтеграції; | |||
* із модулями K2 ERP; | |||
* із системою ролей K2 ERP; | |||
* із системою файлів K2 ERP; | |||
* із VDoc; | |||
* із CRM; | |||
* із Helpdesk; | |||
* із баг-трекінгом; | |||
* із K2 Projects; | |||
* із навчальним модулем; | |||
* із телефонією; | |||
* із відеосерверами; | |||
* із сервісами транскрибації. | |||
== 51. MVP першої версії == | |||
<div style="background:#ffebee; border-left:6px solid #c62828; padding:14px; margin:14px 0;"> | |||
'''MVP K2 Chat — це не всі можливості майбутнього месенджера. MVP — це стабільне ядро: користувачі, чати, повідомлення, історія, файли, права, API, real-time доставка та зв’язок з ERP-об’єктами.''' | |||
</div> | |||
До MVP першої версії входить: | |||
* авторизація через K2 ERP; | |||
* список користувачів хмари; | |||
* особисті чати; | |||
* групові чати; | |||
* текстові повідомлення; | |||
* доставка повідомлень у реальному часі; | |||
* історія переписки; | |||
* статуси прочитання; | |||
* лічильник непрочитаних повідомлень; | |||
* прикріплення файлів; | |||
* збереження файлів у хмарі K2 ERP; | |||
* базові права доступу; | |||
* журнал дій; | |||
* базовий пошук; | |||
* API для повідомлень; | |||
* передача ERP-об’єкта в чат; | |||
* коротка ERP-картка в чаті; | |||
* перевірка прав доступу до ERP-об’єкта; | |||
* мінімальний адміністративний інтерфейс. | |||
<div style="background:#fff8e1; border-left:6px solid #f9a825; padding:12px; margin:12px 0;"> | |||
'''Не входить у перший MVP:''' відеоконференції, стрімінг, AI-помічник, телефонія, складний Helpdesk, зовнішні месенджери, міжхмарний обмін, desktop-додаток, мобільний додаток, складна аналітика та автоматичні сценарії. Ці функції потрібно передбачити архітектурно, але реалізовувати після стабілізації ядра. | |||
</div> | |||
== 52. Наступні етапи розвитку == | |||
Після MVP потрібно передбачити розвиток: | |||
* міжхмарний обмін повідомленнями; | |||
* інтеграція із зовнішніми месенджерами; | |||
* інтеграція з Email; | |||
* інтеграція з телефонією; | |||
* розширені боти; | |||
* розширений Helpdesk; | |||
* SLA; | |||
* треди; | |||
* теми в групах; | |||
* розширена аналітика; | |||
* мобільний додаток; | |||
* десктопний додаток; | |||
* режим підвищеної безпеки; | |||
* шифрування повідомлень; | |||
* інтеграція з навчальним модулем; | |||
* інтеграція з VDoc; | |||
* інтеграція з CRM; | |||
* інтеграція з K2 Projects; | |||
* стрімінг на сотні або тисячі користувачів; | |||
* розширена транскрибація відеозустрічей; | |||
* AI-помічник; | |||
* автоматичні протоколи зустрічей; | |||
* автоматичне створення задач із транскрибацій. | |||
== 53. Критерії приймання == | |||
Модуль вважається прийнятим, якщо: | |||
# Користувач може увійти в K2 Chat через K2 ERP. | |||
# Користувач може відкрити список доступних чатів. | |||
# Користувач може створити особистий чат. | |||
# Користувач може створити груповий чат. | |||
# Користувач може відправити текстове повідомлення. | |||
# Інший користувач отримує повідомлення без перезавантаження сторінки. | |||
# Повідомлення зберігається в історії. | |||
# Користувач бачить непрочитані повідомлення. | |||
# Користувач може прикріпити файл. | |||
# Файл зберігається на сервері хмари K2 ERP. | |||
# Користувач може відкрити або завантажити файл. | |||
# Права доступу до чату працюють. | |||
# Права доступу до ERP-об’єкта перевіряються. | |||
# Адміністратор може керувати базовими налаштуваннями. | |||
# Є базовий журнал дій. | |||
# Є базовий API. | |||
# Дані не зберігаються на сторонніх серверах. | |||
# Чат працює стабільно при одночасній роботі багатьох користувачів. | |||
<div style="background:#e8f5e9; border-left:6px solid #2e7d32; padding:14px; margin:14px 0;"> | |||
'''Головний критерій першого релізу:''' K2 Chat повинен стати щоденним робочим інструментом для команди всередині K2 ERP. Якщо користувачі можуть стабільно писати, отримувати повідомлення, прикріплювати файли, бачити історію і працювати з ERP-об’єктами — перше ядро модуля виконано правильно. | |||
</div> | |||
== 54. Очікуваний результат == | |||
У результаті розробки компанія повинна отримати модуль '''K2 Chat''', який: | |||
* працює всередині K2 ERP; | |||
* підтримує велику кількість користувачів; | |||
* зберігає переписку в хмарі K2 ERP; | |||
* дозволяє створювати чати, групи та канали; | |||
* підтримує Helpdesk; | |||
* приймає звернення з сайту; | |||
* створює задачі та баг-репорти; | |||
* передає інформацію з ERP у чат; | |||
* інтегрується із зовнішніми каналами комунікації; | |||
* підтримує API; | |||
* підтримує міжхмарну комунікацію; | |||
* забезпечує аудит і контроль; | |||
* підтримує голосові повідомлення; | |||
* підтримує запис і транскрибацію голосу; | |||
* підтримує відеоконференції; | |||
* підтримує запис і транскрибацію відеозустрічей; | |||
* підтримує стрімінг для великої кількості користувачів; | |||
* підтримує відкриті лінії та контакт-центр; | |||
* підтримує AI-помічника; | |||
* підтримує desktop-додаток і мультиакаунти; | |||
* підтримує телефонію; | |||
* може працювати в режимі підвищеної безпеки. | |||
<div style="background:#e8f5e9; border-left:6px solid #2e7d32; padding:14px; margin:14px 0;"> | |||
'''K2 Chat''' повинен стати єдиним центром комунікацій у K2 ERP: для співробітників, клієнтів, партнерів, підтримки, розробників, бухгалтерів, менеджерів, керівників, студентів, викладачів, інтеграторів та зовнішніх користувачів. | |||
</div> | |||
== 55. Висновок == | |||
Модуль '''K2 Chat''' є стратегічним компонентом K2 ERP, який об’єднує корпоративний месенджер, Helpdesk, баг-трекінг, CRM-комунікації, зовнішні інтеграції, міжхмарну комунікацію, голосові повідомлення, відеоконференції, стрімінг, транскрибацію, AI-помічника та передачу ERP-даних у єдиному середовищі. | |||
На відміну від звичайних месенджерів, K2 Chat повинен бути тісно пов’язаний із бізнес-процесами компанії. Повідомлення мають бути не просто текстом, а частиною управління задачами, документами, клієнтами, зверненнями, помилками, навчанням, підтримкою, зустрічами, домовленостями та розвитком підприємства. | |||
<div style="background:#fff8e1; border-left:6px solid #f9a825; padding:14px; margin:14px 0;"> | |||
'''Головна перевага K2 Chat:''' комунікація залишається всередині ERP-системи, під контролем компанії, з історією, правами доступу, аудитом, інтеграціями, записами, транскрибаціями та можливістю масштабування на велику кількість користувачів і хмар. | |||
</div> | </div> | ||