Атестаційні завдання K2 ERP/Облік IP-телефонії: відмінності між версіями
R (обговорення | внесок) Первинна публікація |
R (обговорення | внесок) Немає опису редагування |
||
| Рядок 1: | Рядок 1: | ||
{{DISPLAYTITLE:Атестаційні завдання K2 ERP/Облік IP-телефонії}} | |||
= Модуль обліку дзвінків, внутрішніх номерів і аналітики IP-телефонії = | '''Атестаційне завдання K2 ERP — Облік IP-телефонії''' — це практична задача для перевірки навичок розробника або впроваджувача [[K2 ERP]] у створенні модуля обліку дзвінків, внутрішніх номерів, записів розмов, аналітики телефонії та інтеграції з CRM. | ||
Модуль має забезпечувати імпорт або прийом даних із IP-телефонії, збереження журналу дзвінків, автоматичну прив’язку дзвінків до клієнтів, облік внутрішніх номерів співробітників, прослуховування записів, контроль пропущених дзвінків, аналітику по менеджерах і звіти для керівництва. | |||
<div style="border:3px solid #1565c0; background:#e3f2fd; padding:14px; margin:16px 0;"> | |||
'''Коротко.''' Потрібно реалізувати модуль IP-телефонії: клієнти, співробітники, внутрішні SIP-номери, журнал дзвінків, CDR-імпорт, API або webhook-інтеграція, записи розмов, пропущені дзвінки, прив’язка до CRM, фільтрація, аналітика й звіти. | |||
</div> | |||
__TOC__ | |||
== Назва завдання == | |||
'''Модуль обліку дзвінків, внутрішніх номерів і аналітики IP-телефонії'''. | |||
== Мета завдання == | |||
Мета завдання — створити в K2 ERP модуль для автоматизації обліку телефонних комунікацій компанії. | |||
Система повинна дозволяти: | |||
* вести клієнтів і їхні номери телефонів; | |||
* вести співробітників; | |||
* вести внутрішні SIP-номери; | |||
* вести зовнішні номери компанії; | |||
* імпортувати дзвінки з IP-телефонії; | |||
* приймати дані дзвінків через API або webhook; | |||
* зберігати журнал вхідних, вихідних і внутрішніх дзвінків; | |||
* автоматично визначати клієнта за номером телефону; | |||
* прив’язувати дзвінок до менеджера; | |||
* прив’язувати дзвінок до клієнта, заявки, угоди або тікета; | |||
* зберігати тривалість дзвінка; | |||
* зберігати статус дзвінка; | |||
* зберігати посилання на запис розмови; | |||
* дозволяти прослуховувати записи розмов; | |||
* фіксувати результат дзвінка; | |||
* контролювати пропущені дзвінки; | |||
* створювати нагадування передзвонити; | |||
* формувати аналітику по співробітниках; | |||
* формувати звіти по дзвінках, клієнтах, менеджерах і якості обслуговування. | |||
<div style="border:3px solid #2e7d32; background:#e8f5e9; padding:14px; margin:16px 0;"> | |||
'''Головний принцип.''' Кожен дзвінок має бути зафіксований, пов’язаний із клієнтом або співробітником і доступний для аналізу. Пропущений дзвінок не повинен залишитися без подальшої дії. | |||
</div> | |||
== Реальний бізнес-контекст == | == Реальний бізнес-контекст == | ||
Компанія використовує IP-телефонію для прийому вхідних дзвінків, здійснення вихідних дзвінків, роботи відділу продажу, підтримки клієнтів, кол-центру або сервісної служби. | |||
* | |||
* | IP-телефонія може бути побудована на: | ||
* | |||
** | * SIP; | ||
** за | * Asterisk; | ||
* FreePBX; | |||
* Zadarma; | |||
* Binotel; | |||
* Ringostat; | |||
* 3CX; | |||
* внутрішній корпоративній телефонії; | |||
* іншій VoIP-платформі. | |||
Для бізнесу важливо знати: | |||
* скільки дзвінків приймає компанія; | |||
* які дзвінки були пропущені; | |||
* хто зі співробітників відповідає клієнтам; | |||
* скільки тривають розмови; | |||
* які клієнти часто телефонують; | |||
* чи передзвонили по пропущених дзвінках; | |||
* які менеджери ефективно працюють із клієнтами; | |||
* чи можна прослухати запис розмови для контролю якості. | |||
== Основний бізнес-процес == | |||
Типовий процес роботи модуля IP-телефонії виглядає так: | |||
# клієнт телефонує на номер компанії; | |||
# телефонія приймає дзвінок і передає його на внутрішній номер співробітника; | |||
# система отримує інформацію про дзвінок через API, webhook або CDR-імпорт; | |||
# K2 ERP зберігає дзвінок у журналі; | |||
# система визначає клієнта за номером телефону; | |||
# система визначає співробітника за внутрішнім номером; | |||
# дзвінок прив’язується до клієнта, угоди, заявки або тікета; | |||
# якщо є запис розмови — зберігається посилання на файл; | |||
# менеджер може додати коментар або результат дзвінка; | |||
# пропущений дзвінок потрапляє в список для передзвону; | |||
# керівник переглядає аналітику й звіти. | |||
== Основні об’єкти модуля == | |||
{| class="wikitable" style="width:100%;" | |||
! Об’єкт | |||
! Призначення | |||
|- | |||
| Клієнти | |||
| Контрагенти або фізичні особи, з якими відбуваються дзвінки | |||
|- | |||
| Телефони клієнтів | |||
| Номери, за якими система розпізнає клієнта | |||
|- | |||
| Співробітники | |||
| Менеджери, оператори, спеціалісти підтримки | |||
|- | |||
| Внутрішні номери | |||
| SIP extension співробітників | |||
|- | |||
| Зовнішні номери | |||
| Номери компанії для вхідних і вихідних дзвінків | |||
|- | |||
| Дзвінки | |||
| Основний журнал телефонних подій | |||
|- | |||
| Записи розмов | |||
| Аудіофайли або посилання на записи | |||
|- | |||
| Пропущені дзвінки | |||
| Дзвінки, які потребують подальшої реакції | |||
|- | |||
| Результати дзвінків | |||
| Підсумок розмови: консультація, продаж, передзвонити тощо | |||
|- | |||
| CRM-прив’язки | |||
| Зв’язок дзвінка з клієнтом, угодою, заявкою або тікетом | |||
|- | |||
| Аналітика | |||
| Показники ефективності дзвінків | |||
|- | |||
| Звіти | |||
| Дані для керівника, продажів і підтримки | |||
|} | |||
== Довідник «Клієнти» == | |||
Довідник клієнтів містить компанії або фізичних осіб, з якими ведеться комунікація. | |||
== Поля клієнта == | |||
{| class="wikitable" style="width:100%;" | |||
! Поле | |||
! Опис | |||
|- | |||
| Назва компанії або ПІБ | |||
| Ім’я клієнта або назва організації | |||
|- | |||
| Телефон | |||
| Основний телефон клієнта | |||
|- | |||
| Додаткові телефони | |||
| Інші номери для розпізнавання | |||
|- | |||
| Email | |||
| Електронна адреса | |||
|- | |||
| Менеджер | |||
| Відповідальний співробітник | |||
|- | |||
| Статус | |||
| Активний, потенційний, архівний | |||
|- | |||
| Примітки | |||
| Додаткова інформація | |||
|} | |||
== Довідник «Співробітники» == | |||
Довідник співробітників містить працівників, які користуються телефонією. | |||
== Поля співробітника == | |||
{| class="wikitable" style="width:100%;" | |||
! Поле | |||
! Опис | |||
|- | |||
| ПІБ | |||
| Повне ім’я співробітника | |||
|- | |||
| Посада | |||
| Менеджер, оператор, техпідтримка, керівник | |||
|- | |||
| Відділ | |||
| Продажі, підтримка, бухгалтерія, сервіс | |||
|- | |||
| Внутрішній номер | |||
| SIP extension | |||
|- | |||
| Телефон | |||
| Особистий або службовий номер | |||
|- | |||
| Email | |||
| Робоча адреса | |||
|- | |||
| Статус | |||
| Активний, заблокований, звільнений | |||
|} | |||
== Довідник «Внутрішні номери» == | |||
Внутрішній номер використовується для зв’язку дзвінка зі співробітником. | |||
== Поля внутрішнього номера == | |||
{| class="wikitable" style="width:100%;" | |||
! Поле | |||
! Опис | |||
|- | |||
| SIP extension | |||
| Наприклад: 101, 102, 205 | |||
|- | |||
| Співробітник | |||
| Кому належить номер | |||
|- | |||
| Відділ | |||
| До якого відділу належить номер | |||
|- | |||
| Статус | |||
| Активний або неактивний | |||
|- | |||
| Коментар | |||
| Службова інформація | |||
|} | |||
== Довідник «Номери телефонів компанії» == | |||
Цей довідник містить зовнішні номери компанії. | |||
== Поля номера == | |||
== | {| class="wikitable" style="width:100%;" | ||
! Поле | |||
! Опис | |||
|- | |||
| Номер телефону | |||
| Зовнішній номер компанії | |||
|- | |||
| Оператор | |||
| SIP-провайдер або мобільний оператор | |||
|- | |||
| Тип номера | |||
| SIP, мобільний, стаціонарний, багатоканальний | |||
|- | |||
| Напрямок | |||
| Продажі, підтримка, бухгалтерія, загальний номер | |||
|- | |||
| Вартість хвилини | |||
| Для розрахунку витрат, опціонально | |||
|- | |||
| Статус | |||
| Активний або неактивний | |||
|} | |||
== | == База «Дзвінки» == | ||
Журнал дзвінків є головним об’єктом модуля. | |||
== Колонки журналу дзвінків == | |||
== | {| class="wikitable" style="width:100%;" | ||
! Колонка | |||
! Опис | |||
|- | |||
| Дата і час | |||
| Коли відбувся дзвінок | |||
|- | |||
| Напрямок | |||
| Вхідний, вихідний, внутрішній | |||
|- | |||
| Номер клієнта | |||
| Зовнішній номер співрозмовника | |||
|- | |||
| Внутрішній номер | |||
| SIP extension співробітника | |||
|- | |||
| Співробітник | |||
| Хто прийняв або здійснив дзвінок | |||
|- | |||
| Клієнт | |||
| Автоматично визначений або вручну прив’язаний клієнт | |||
|- | |||
| Статус | |||
| Відповіли, не відповіли, зайнято, скасовано | |||
|- | |||
| Тривалість | |||
| Тривалість розмови в секундах | |||
|- | |||
| Запис | |||
| Посилання на аудіозапис | |||
|- | |||
| Коментар | |||
| Коментар менеджера | |||
|} | |||
== Поля дзвінка == | |||
==== | {| class="wikitable" style="width:100%;" | ||
! Поле | |||
! Опис | |||
|- | |||
| Унікальний ID дзвінка | |||
| Ідентифікатор із телефонії або внутрішній ID | |||
|- | |||
| Дата початку | |||
| Початок дзвінка | |||
|- | |||
| Дата завершення | |||
| Завершення дзвінка | |||
|- | |||
| Напрямок | |||
| Вхідний, вихідний, внутрішній | |||
|- | |||
| Caller ID | |||
| Номер того, хто телефонує | |||
|- | |||
| Called number | |||
| Номер, на який телефонують | |||
|- | |||
| Внутрішній номер | |||
| SIP extension співробітника | |||
|- | |||
| Співробітник | |||
| Відповідальний користувач системи | |||
|- | |||
| Клієнт | |||
| Розпізнаний або вручну вибраний клієнт | |||
|- | |||
| Статус дзвінка | |||
| Відповіли, не відповіли, зайнято, скасовано | |||
|- | |||
| Тривалість розмови | |||
| Чистий час розмови | |||
|- | |||
| Загальна тривалість | |||
| Час від початку виклику до завершення | |||
|- | |||
| Запис розмови | |||
| Посилання на файл або потокове відтворення | |||
|- | |||
| Результат дзвінка | |||
| Підсумок розмови | |||
|- | |||
| Коментар | |||
| Примітка менеджера | |||
|} | |||
== Напрямки дзвінків == | |||
{| class="wikitable" style="width:100%;" | |||
! Напрямок | |||
! Значення | |||
|- | |||
| Вхідний | |||
| Клієнт телефонує в компанію | |||
|- | |||
| Вихідний | |||
| Співробітник телефонує клієнту | |||
|- | |||
| Внутрішній | |||
| Дзвінок між співробітниками | |||
|- | |||
| Переадресований | |||
| Дзвінок був переведений на інший номер | |||
|} | |||
== Статуси дзвінків == | |||
== | {| class="wikitable" style="width:100%;" | ||
! Статус | |||
! Значення | |||
|- | |||
| Відповіли | |||
| Розмова відбулася | |||
|- | |||
| Не відповіли | |||
| Дзвінок пропущено | |||
|- | |||
| Зайнято | |||
| Лінія була зайнята | |||
|- | |||
| Скасовано | |||
| Дзвінок завершено до відповіді | |||
|- | |||
| Помилка | |||
| Дзвінок не відбувся через технічну причину | |||
|- | |||
| Голосова пошта | |||
| Клієнт залишив повідомлення, якщо підтримується | |||
|} | |||
== | == Імпорт дзвінків == | ||
* дата і час | Модуль має підтримувати отримання дзвінків із телефонної системи. | ||
* | |||
* номер | == Варіанти імпорту == | ||
* напрямок | |||
** | * API телефонії; | ||
** | * webhook; | ||
* | * CDR-файли; | ||
** | * CSV-імпорт; | ||
** | * пряме підключення до бази CDR, якщо дозволено; | ||
** | * ручний імпорт файлу адміністратором. | ||
** | |||
* | == Дані CDR == | ||
* запис | |||
* | CDR — це запис про телефонний дзвінок. | ||
* | |||
== Основні поля CDR == | |||
* дата і час початку; | |||
* номер абонента; | |||
* номер призначення; | |||
* внутрішній номер; | |||
* напрямок; | |||
* статус; | |||
* тривалість; | |||
* унікальний ID дзвінка; | |||
* посилання на запис; | |||
* код завершення дзвінка. | |||
== Автоматичне розпізнавання клієнта == | |||
Система повинна визначати клієнта за номером телефону. | |||
== Логіка розпізнавання == | |||
# система отримує номер із дзвінка; | |||
# очищає номер від пробілів, дужок, дефісів; | |||
# приводить номер до єдиного формату; | |||
# шукає номер у довіднику клієнтів; | |||
# якщо номер знайдено — прив’язує дзвінок до клієнта; | |||
# якщо номер не знайдено — залишає дзвінок як невідомий; | |||
# менеджер може вручну створити клієнта або прив’язати номер до існуючого. | |||
<div style="border:2px solid #f57c00; background:#fff3e0; padding:14px; margin:16px 0;"> | |||
'''Важливо.''' Номери телефонів потрібно нормалізувати. Один і той самий номер може надходити у форматах +380, 380, 0XX або з розділювачами. | |||
</div> | |||
== Пропущені дзвінки == | |||
Пропущений дзвінок потребує окремого контролю. | |||
== Що має робити система == | |||
* визначати пропущені вхідні дзвінки; | |||
* показувати їх у окремому списку; | |||
* визначати клієнта, якщо номер знайдено; | |||
* призначати відповідального менеджера; | |||
* створювати задачу або нагадування передзвонити; | |||
* змінювати статус після передзвону; | |||
* показувати, скільки часу минуло з моменту пропущеного дзвінка. | |||
== Статуси пропущеного дзвінка == | |||
{| class="wikitable" style="width:100%;" | |||
! Статус | |||
! Значення | |||
|- | |||
| Новий | |||
| Дзвінок пропущено, реакції ще не було | |||
|- | |||
| В роботі | |||
| Менеджер узяв дзвінок у роботу | |||
|- | |||
| Передзвонили | |||
| Клієнту передзвонили | |||
|- | |||
| Не дозвонились | |||
| Спроба передзвону була невдалою | |||
|- | |||
| Закрито | |||
| Питання по дзвінку завершено | |||
|} | |||
<div style="border:3px solid #b71c1c; background:#ffebee; padding:14px; margin:16px 0;"> | |||
'''Критично.''' Пропущені вхідні дзвінки не повинні губитися. Система має показувати їх окремо і дозволяти контролювати факт передзвону. | |||
</div> | |||
== Записи розмов == | |||
Якщо телефонія надає записи розмов, система повинна зберігати посилання на них. | |||
== Функції роботи із записами == | |||
Система повинна дозволяти: | |||
* бачити, чи є запис у дзвінка; | |||
* прослухати запис через HTML5 audio; | |||
* обмежувати доступ до записів за правами; | |||
* завантажити запис, якщо це дозволено; | |||
* зберігати посилання на файл; | |||
* показувати тривалість запису; | |||
* фіксувати, хто прослуховував запис, опціонально. | |||
== Результат дзвінка == | |||
Менеджер може вказати результат дзвінка. | |||
== Приклади результатів == | |||
* консультація; | |||
* успішний продаж; | |||
* передзвонити пізніше; | |||
* клієнт не зацікавлений; | |||
* створено заявку; | |||
* створено угоду; | |||
* створено тікет підтримки; | |||
* питання вирішено; | |||
* потрібна ескалація. | |||
== | == CRM-прив’язка == | ||
Дзвінок може бути пов’язаний з об’єктами CRM. | |||
=== | == Можливі прив’язки == | ||
* | * клієнт; | ||
* | * контактна особа; | ||
* | * лід; | ||
* | * угода; | ||
* | * замовлення; | ||
* заявка; | |||
* тікет HelpDesk; | |||
* задача; | |||
* рахунок. | |||
== Пошук і фільтрація дзвінків == | |||
Журнал дзвінків повинен мати зручні фільтри. | |||
== Параметри фільтрації == | |||
* дата | * дата або період; | ||
* | * напрямок дзвінка; | ||
* статус дзвінка; | |||
* співробітник; | * співробітник; | ||
* внутрішній номер; | |||
* клієнт; | * клієнт; | ||
* тривалість | * номер телефону; | ||
** | * тривалість від; | ||
** до. | * тривалість до; | ||
* наявність запису; | |||
* результат дзвінка; | |||
* пропущені дзвінки; | |||
* дзвінки без прив’язки до клієнта. | |||
== Аналітика дзвінків == | |||
Аналітика допомагає оцінювати роботу співробітників і якість обслуговування. | |||
* | == Основні показники == | ||
* | |||
* | * кількість вхідних дзвінків; | ||
* | * кількість вихідних дзвінків; | ||
* кількість пропущених дзвінків; | |||
* кількість успішних розмов; | |||
* середня тривалість розмови; | |||
* загальна тривалість дзвінків; | |||
* рівень відповіді; | |||
* кількість дзвінків по співробітниках; | |||
* кількість дзвінків по клієнтах; | |||
* кількість дзвінків без прив’язки до клієнта; | |||
* вартість дзвінків, якщо налаштовані тарифи. | |||
== Формула рівня відповіді == | |||
<pre> | |||
Рівень відповіді = Кількість дзвінків з відповіддю / Загальна кількість вхідних дзвінків × 100% | |||
</pre> | |||
== Формула середньої тривалості == | |||
<pre> | |||
Середня тривалість = Загальна тривалість розмов / Кількість розмов | |||
</pre> | |||
== Вартість дзвінків == | |||
Опціонально можна рахувати витрати на телефонію. | |||
<pre> | |||
Вартість дзвінка = Тривалість у хвилинах × Тариф за хвилину | |||
</pre> | |||
== Звіти == | |||
== Звіт «Дзвінки за період» == | |||
Звіт показує всі дзвінки за вибраний період. | |||
У звіті потрібно відображати: | |||
* дату; | |||
* напрямок; | |||
* клієнта; | |||
* співробітника; | |||
* номер телефону; | |||
* статус; | |||
* тривалість; | |||
* наявність запису. | |||
== Звіт «Ефективність співробітників» == | |||
Звіт показує телефонну активність працівників. | |||
У звіті потрібно відображати: | |||
* співробітника; | |||
* кількість вхідних дзвінків; | |||
* кількість вихідних дзвінків; | |||
* кількість пропущених дзвінків; | |||
* загальну тривалість; | |||
* середню тривалість; | |||
* рівень відповіді. | |||
== Звіт «Пропущені дзвінки» == | |||
Звіт показує всі пропущені дзвінки. | |||
У звіті потрібно відображати: | |||
* дату і час; | |||
* номер клієнта; | |||
* клієнта, якщо визначено; | |||
* відповідального менеджера; | |||
* статус передзвону; | |||
* час реакції; | |||
* результат. | |||
== Звіт «Дзвінки по клієнтах» == | |||
Звіт показує активність комунікацій із клієнтами. | |||
У звіті потрібно відображати: | |||
* клієнта; | |||
* кількість дзвінків; | |||
* останній дзвінок; | |||
* відповідального менеджера; | |||
* загальну тривалість; | |||
* кількість пропущених дзвінків. | |||
== Звіт «Вартість телефонії» == | |||
Якщо налаштовані тарифи, звіт показує витрати. | |||
У звіті потрібно відображати: | |||
* період; | |||
* оператора; | |||
* номер компанії; | |||
* кількість дзвінків; | |||
* загальну тривалість; | |||
* суму витрат. | |||
== AJAX-інтерактив == | |||
Інтерфейс має працювати швидко та зручно для менеджера, керівника і оператора. | |||
Через AJAX мають працювати: | |||
* фільтрація дзвінків; | |||
* пошук номера; | |||
* прив’язка дзвінка до клієнта; | |||
* додавання коментаря; | |||
* зміна результату дзвінка; | |||
* прослуховування запису; | |||
* оновлення статусу пропущеного дзвінка; | |||
* створення задачі передзвонити; | |||
* оновлення аналітики; | |||
* оновлення звітів. | |||
== Логування змін == | |||
Модуль повинен фіксувати важливі дії. | |||
Журнал змін має зберігати: | |||
* хто імпортував дзвінки; | |||
* коли отримано дзвінок через API або webhook; | |||
* хто вручну прив’язав дзвінок до клієнта; | |||
* хто змінив результат дзвінка; | |||
* хто додав коментар; | |||
* хто прослухав запис, якщо це потрібно; | |||
* хто змінив статус пропущеного дзвінка; | |||
* хто створив задачу передзвонити; | |||
* дату й час дії; | |||
* старе та нове значення, якщо це можливо. | |||
== Права доступу == | |||
Модуль має підтримувати розмежування прав. | |||
{| class="wikitable" style="width:100%;" | |||
! Роль | |||
! Можливості | |||
|- | |||
| Менеджер | |||
| Бачить свої дзвінки, додає коментарі, прив’язує клієнтів, обробляє пропущені дзвінки | |||
|- | |||
| Оператор кол-центру | |||
| Працює з журналом дзвінків, результатами дзвінків і передзвонами | |||
|- | |||
| Керівник відділу | |||
| Бачить дзвінки свого відділу, аналітику й звіти | |||
|- | |||
| Керівник компанії | |||
| Бачить загальну статистику, звіти і якість обслуговування | |||
|- | |||
| Адміністратор телефонії | |||
| Налаштовує внутрішні номери, імпорт, API, webhook, записи розмов | |||
|- | |||
| Адміністратор системи | |||
| Налаштовує права доступу, довідники, службові параметри і інтеграції | |||
|} | |||
== Технічні вимоги == | == Технічні вимоги == | ||
{| class="wikitable" | |||
!Параметр | {| class="wikitable" style="width:100%;" | ||
!Опис | ! Параметр | ||
! Опис | |||
|- | |||
| Бекенд | |||
| K2 Cloud ERP на Python або PHP | |||
|- | |- | ||
| | | База даних | ||
| | | PostgreSQL або MySQL | ||
|- | |- | ||
| | | Фронтенд | ||
| | | HTML5, JavaScript | ||
|- | |- | ||
| | | AJAX | ||
| | | Fetch API або Axios | ||
|- | |- | ||
|UI-компоненти | | UI-компоненти | ||
|DataTables для журналу дзвінків, Select2 для фільтрації | | DataTables для журналу дзвінків, Select2 для фільтрації | ||
|- | |- | ||
| | | Телефонія | ||
| | | SIP, Asterisk, FreePBX або інша IP-телефонія | ||
|- | |- | ||
|Друк | | Імпорт | ||
| | | API, webhook, CDR або CSV | ||
|- | |||
| Медіа | |||
| HTML5 audio для прослуховування записів розмов | |||
|- | |||
| Друк / експорт | |||
| PDF або Excel для звітів, опціонально | |||
|} | |} | ||
== Критерії | == Рекомендовані сутності бази даних == | ||
{| class="wikitable" | |||
!Критерій | Для реалізації задачі доцільно передбачити такі сутності: | ||
!Бали | |||
* клієнти; | |||
* телефони клієнтів; | |||
* співробітники; | |||
* внутрішні номери; | |||
* зовнішні номери компанії; | |||
* дзвінки; | |||
* статуси дзвінків; | |||
* напрямки дзвінків; | |||
* записи розмов; | |||
* результати дзвінків; | |||
* пропущені дзвінки; | |||
* задачі передзвону; | |||
* CRM-прив’язки; | |||
* тарифи телефонії; | |||
* імпорт CDR; | |||
* webhook-події; | |||
* аналітика; | |||
* журнал змін; | |||
* звіти; | |||
* права доступу. | |||
== Практичне завдання == | |||
У межах атестації потрібно продемонструвати робочий сценарій. | |||
Мінімальний сценарій: | |||
# створити клієнта з номером телефону; | |||
# створити співробітника; | |||
# створити внутрішній SIP-номер; | |||
# створити зовнішній номер компанії; | |||
# імпортувати кілька дзвінків через CDR або створити тестові записи; | |||
# автоматично розпізнати клієнта за номером; | |||
# прив’язати дзвінок до співробітника; | |||
# додати дзвінок без відомого клієнта; | |||
# вручну прив’язати невідомий дзвінок до клієнта; | |||
# додати посилання на запис розмови; | |||
# прослухати запис через інтерфейс; | |||
# створити пропущений дзвінок; | |||
# створити задачу передзвонити; | |||
# змінити статус пропущеного дзвінка на '''«Передзвонили»'''; | |||
# додати результат дзвінка; | |||
# відфільтрувати дзвінки за періодом; | |||
# відфільтрувати дзвінки по співробітнику; | |||
# сформувати звіт дзвінків за період; | |||
# сформувати звіт ефективності співробітників; | |||
# сформувати звіт пропущених дзвінків; | |||
# сформувати звіт дзвінків по клієнтах; | |||
# перевірити журнал змін. | |||
== Критерії оцінювання == | |||
{| class="wikitable" style="width:100%;" | |||
! Критерій | |||
! Бали | |||
! Що перевіряється | |||
|- | |||
| Реалізація бази клієнтів, співробітників і дзвінків | |||
| 20 | |||
| Клієнти, телефони, співробітники, внутрішні номери, зовнішні номери, журнал дзвінків | |||
|- | |- | ||
| | | Механізм імпорту дзвінків і прив’язки до клієнтів | ||
|20 | | 20 | ||
| CDR/API/webhook, нормалізація номерів, автоматичне розпізнавання клієнта, ручна прив’язка | |||
|- | |- | ||
| | | Фільтрація і пошук дзвінків | ||
|20 | | 20 | ||
| Пошук за номером, клієнтом, співробітником, періодом, статусом, напрямком і тривалістю | |||
|- | |- | ||
| | | Прослуховування записів розмов | ||
|20 | | 20 | ||
| Зберігання посилань, HTML5 audio, права доступу до записів, наявність запису в журналі | |||
|- | |- | ||
| | | Інтерактивність через AJAX і аналітика дзвінків | ||
|20 | | 20 | ||
| AJAX-фільтри, коментарі, результати дзвінків, пропущені дзвінки, аналітика й звіти | |||
|- | |- | ||
! Разом | |||
! 100 | |||
! Максимальна оцінка | |||
|} | |} | ||
== Шкала оцінювання == | |||
{| class="wikitable" style="width:100%;" | |||
! Бали | |||
! Рівень | |||
! Опис | |||
|- | |||
| 90–100 | |||
| Відмінно | |||
| Модуль повністю працює: клієнти, співробітники, SIP-номери, імпорт дзвінків, прив’язка до клієнтів, записи, пропущені дзвінки, аналітика й звіти реалізовані коректно | |||
|- | |||
| 75–89 | |||
| Добре | |||
| Основна логіка працює, є незначні недоліки, які не руйнують процес обліку дзвінків | |||
|- | |||
| 60–74 | |||
| Зараховано | |||
| Базовий сценарій працює, але частина функцій реалізована неповно або потребує доопрацювання | |||
|- | |||
| 0–59 | |||
| Не зараховано | |||
| Відсутня критична логіка: журнал дзвінків, клієнти, співробітники, імпорт, прив’язка або аналітика | |||
|} | |||
== Критичні помилки == | |||
Критичними помилками вважаються ситуації, коли: | |||
* неможливо створити клієнта; | |||
* неможливо створити співробітника; | |||
* неможливо створити внутрішній номер; | |||
* неможливо зберегти дзвінок; | |||
* імпорт CDR не створює записи дзвінків; | |||
* дзвінки не мають дати й часу; | |||
* дзвінки не мають напрямку; | |||
* номер клієнта не нормалізується; | |||
* клієнт не розпізнається за наявним номером; | |||
* дзвінок не прив’язується до співробітника; | |||
* пропущені дзвінки не відображаються окремо; | |||
* статус пропущеного дзвінка не змінюється; | |||
* записи розмов не відкриваються, якщо функція заявлена; | |||
* користувач без прав може прослухати чужі записи; | |||
* фільтри по дзвінках працюють неправильно; | |||
* звіти не відповідають фактичним дзвінкам; | |||
* зміни прив’язки, коментарів або статусів не логуються. | |||
<div style="border:3px solid #b71c1c; background:#ffebee; padding:14px; margin:16px 0;"> | |||
'''Умова складання.''' Завдання не може бути зараховане, якщо система не дозволяє пройти базовий цикл IP-телефонії: дзвінок → імпорт → розпізнавання клієнта → прив’язка до співробітника → запис у журналі → аналітика → звіт. | |||
</div> | |||
== Очікуваний результат == | |||
У результаті виконання атестаційного завдання має бути створений модуль обліку IP-телефонії в K2 ERP. | |||
Модуль має підтримувати клієнтів, телефони клієнтів, співробітників, внутрішні SIP-номери, зовнішні номери компанії, журнал дзвінків, CDR/API/webhook-імпорт, автоматичне розпізнавання клієнтів, ручну прив’язку, записи розмов, пропущені дзвінки, задачі передзвону, CRM-прив’язки, аналітику, звіти, AJAX-інтерактив і логування змін. | |||
== Примітка == | == Примітка == | ||
Облік IP-телефонії потрібен CRM-системам, кол-центрам, відділам продажу, сервісним службам і технічній підтримці. | |||
Такий модуль дозволяє контролювати якість комунікації з клієнтами, оцінювати ефективність менеджерів, швидко реагувати на пропущені дзвінки та зберігати повну історію телефонних контактів. | |||
== Коротко == | |||
{| class="wikitable" style="width:100%;" | |||
! Питання | |||
! Відповідь | |||
|- | |||
| Що потрібно створити? | |||
| Модуль обліку дзвінків IP-телефонії | |||
|- | |||
| Які довідники потрібні? | |||
| Клієнти, телефони, співробітники, внутрішні номери, зовнішні номери | |||
|- | |||
| Який головний об’єкт? | |||
| Дзвінок у журналі телефонії | |||
|- | |||
| Як дзвінки потрапляють у систему? | |||
| Через API, webhook, CDR або CSV-імпорт | |||
|- | |||
| Що має робити система з номером клієнта? | |||
| Нормалізувати номер і знайти клієнта в базі | |||
|- | |||
| Що важливо для пропущених дзвінків? | |||
| Окремий контроль і задача передзвонити | |||
|- | |||
| Які звіти потрібні? | |||
| Дзвінки за період, ефективність співробітників, пропущені дзвінки, дзвінки по клієнтах | |||
|- | |||
| Що є критичною вимогою? | |||
| Кожен дзвінок має бути збережений, знайдений у журналі й доступний для аналізу | |||
|} | |||
== Див. також == | |||
* [[K2 Cloud ERP|K2 ERP]] | |||
* [[K2 ERP]] | |||
* [[Атестаційні завдання K2 ERP]] | |||
* [[CRM]] | |||
* [[HelpDesk]] | |||
* [[IP-телефонія]] | |||
* [[SIP]] | |||
* [[Asterisk]] | |||
* [[FreePBX]] | |||
* [[Кол-центр]] | |||
* [[Дзвінок]] | |||
* [[Пропущений дзвінок]] | |||
* [[Запис розмови]] | |||
* [[AJAX]] | |||
[[Категорія:K2 ERP]] | |||
[[Категорія:Атестаційні завдання K2]] | |||
[[Категорія:IP-телефонія]] | |||
[[Категорія:CRM]] | |||
[[Категорія:Кол-центр]] | |||
[[Категорія:HelpDesk]] | |||
[[Категорія:Корпоративна Wiki]] | |||