Перейти до вмісту

Атестаційні завдання K2 ERP/Облік IP-телефонії: відмінності між версіями

Матеріал з K2 ERP Wiki Ukraine — База знань з автоматизації та санкцій в Україні
Первинна публікація
 
Немає опису редагування
 
Рядок 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-телефонію — SIP, Asterisk, FreePBX тощо — для:


* прийому вхідних дзвінків;
Компанія використовує 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, мобільний, стаціонарний, багатоканальний
|-
| Напрямок
| Продажі, підтримка, бухгалтерія, загальний номер
|-
| Вартість хвилини
| Для розрахунку витрат, опціонально
|-
| Статус
| Активний або неактивний
|}


=== 1. Структура довідників ===
== База «Дзвінки» ==


==== Довідник «Клієнти» ====
Журнал дзвінків є головним об’єктом модуля.
Поля довідника:


* назва компанії або ПІБ;
== Колонки журналу дзвінків ==
* телефон або телефони;
* email;
* менеджер — відповідальний співробітник.


==== Довідник «Співробітники» ====
{| class="wikitable" style="width:100%;"
Поля довідника:
! Колонка
! Опис
|-
| Дата і час
| Коли відбувся дзвінок
|-
| Напрямок
| Вхідний, вихідний, внутрішній
|-
| Номер клієнта
| Зовнішній номер співрозмовника
|-
| Внутрішній номер
| SIP extension співробітника
|-
| Співробітник
| Хто прийняв або здійснив дзвінок
|-
| Клієнт
| Автоматично визначений або вручну прив’язаний клієнт
|-
| Статус
| Відповіли, не відповіли, зайнято, скасовано
|-
| Тривалість
| Тривалість розмови в секундах
|-
| Запис
| Посилання на аудіозапис
|-
| Коментар
| Коментар менеджера
|}


* ПІБ;
== Поля дзвінка ==
* посада;
* внутрішній номер — SIP extension;
* статус:
** активний;
** заблокований.


==== Довідник «Номери телефонів» ====
{| class="wikitable" style="width:100%;"
Поля довідника:
! Поле
! Опис
|-
| Унікальний ID дзвінка
| Ідентифікатор із телефонії або внутрішній ID
|-
| Дата початку
| Початок дзвінка
|-
| Дата завершення
| Завершення дзвінка
|-
| Напрямок
| Вхідний, вихідний, внутрішній
|-
| Caller ID
| Номер того, хто телефонує
|-
| Called number
| Номер, на який телефонують
|-
| Внутрішній номер
| SIP extension співробітника
|-
| Співробітник
| Відповідальний користувач системи
|-
| Клієнт
| Розпізнаний або вручну вибраний клієнт
|-
| Статус дзвінка
| Відповіли, не відповіли, зайнято, скасовано
|-
| Тривалість розмови
| Чистий час розмови
|-
| Загальна тривалість
| Час від початку виклику до завершення
|-
| Запис розмови
| Посилання на файл або потокове відтворення
|-
| Результат дзвінка
| Підсумок розмови
|-
| Коментар
| Примітка менеджера
|}
 
== Напрямки дзвінків ==
 
{| class="wikitable" style="width:100%;"
! Напрямок
! Значення
|-
| Вхідний
| Клієнт телефонує в компанію
|-
| Вихідний
| Співробітник телефонує клієнту
|-
| Внутрішній
| Дзвінок між співробітниками
|-
| Переадресований
| Дзвінок був переведений на інший номер
|}


* оператор;
== Статуси дзвінків ==
* тип номера:
** мобільний;
** SIP;
** стаціонарний;
* вартість хвилини — для розрахунку витрат.


=== 2. База «Дзвінки» ===
{| 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.
** через API;
** через CDR-файли;
* автоматичне розпізнавання клієнта за номером телефону;
* можливість додати коментар або результат дзвінка.


=== 3. Аналітика і звіти ===
== Можливі прив’язки ==
Показники аналітики:


* кількість дзвінків за співробітником за період;
* клієнт;
* загальна тривалість дзвінків;
* контактна особа;
* вартість дзвінків — опціонально, якщо налаштовані тарифи;
* лід;
* середня тривалість розмови;
* угода;
* рівень відповіді на дзвінки — відповіді / спроби.
* замовлення;
* заявка;
* тікет HelpDesk;
* задача;
* рахунок.
 
== Пошук і фільтрація дзвінків ==


=== 4. Пошук і фільтрація дзвінків ===
Журнал дзвінків повинен мати зручні фільтри.


==== Параметри фільтрації ====
== Параметри фільтрації ==


* дата / період;
* дата або період;
* вхідні / вихідні;
* напрямок дзвінка;
* статус дзвінка;
* співробітник;
* співробітник;
* внутрішній номер;
* клієнт;
* клієнт;
* тривалість:
* номер телефону;
** від;
* тривалість від;
** до.
* тривалість до;
* наявність запису;
* результат дзвінка;
* пропущені дзвінки;
* дзвінки без прив’язки до клієнта.


Реалізація через AJAX без перезавантаження.
== Аналітика дзвінків ==


=== 5. Додаткові функції ===
Аналітика допомагає оцінювати роботу співробітників і якість обслуговування.


* прослуховування записів дзвінків прямо зі списку дзвінків;
== Основні показники ==
* прив'язка дзвінків до угод у CRM, якщо інтегровано;
 
* автоматичне оновлення статусів дзвінків через webhook з IP-телефонії;
* кількість вхідних дзвінків;
* реєстрація пропущених дзвінків із подальшим нагадуванням про необхідність передзвонити — опціонально.
* кількість вихідних дзвінків;
* кількість пропущених дзвінків;
* кількість успішних розмов;
* середня тривалість розмови;
* загальна тривалість дзвінків;
* рівень відповіді;
* кількість дзвінків по співробітниках;
* кількість дзвінків по клієнтах;
* кількість дзвінків без прив’язки до клієнта;
* вартість дзвінків, якщо налаштовані тарифи.
 
== Формула рівня відповіді ==
 
<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
|-
|-
|Бекенд
| База даних
|K2 Cloud ERP на Python або PHP
| PostgreSQL або MySQL
|-
|-
|БД
| Фронтенд
|PostgreSQL або MySQL
| HTML5, JavaScript
|-
|-
|Фронтенд
| AJAX
|HTML5, JavaScript, AJAX, Fetch API або Axios
| Fetch API або Axios
|-
|-
|UI-компоненти
| UI-компоненти
|DataTables для журналу дзвінків, Select2 для фільтрації
| DataTables для журналу дзвінків, Select2 для фільтрації
|-
|-
|Медіа
| Телефонія
|Підтримка потокового відтворення записів дзвінків через HTML5 audio
| SIP, Asterisk, FreePBX або інша IP-телефонія
|-
|-
|Друк
| Імпорт
|Генерація звітів у PDF або Excel, опціонально
| 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-фільтри, коментарі, результати дзвінків, пропущені дзвінки, аналітика й звіти
|-
|-
|Інтерактивність через AJAX і аналітика дзвінків
! Разом
|20
! 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-систем;
Облік 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]]

Поточна версія на 20:08, 1 травня 2026


Атестаційне завдання K2 ERP — Облік IP-телефонії — це практична задача для перевірки навичок розробника або впроваджувача K2 ERP у створенні модуля обліку дзвінків, внутрішніх номерів, записів розмов, аналітики телефонії та інтеграції з CRM.

Модуль має забезпечувати імпорт або прийом даних із IP-телефонії, збереження журналу дзвінків, автоматичну прив’язку дзвінків до клієнтів, облік внутрішніх номерів співробітників, прослуховування записів, контроль пропущених дзвінків, аналітику по менеджерах і звіти для керівництва.

Коротко. Потрібно реалізувати модуль IP-телефонії: клієнти, співробітники, внутрішні SIP-номери, журнал дзвінків, CDR-імпорт, API або webhook-інтеграція, записи розмов, пропущені дзвінки, прив’язка до CRM, фільтрація, аналітика й звіти.

Назва завдання

Модуль обліку дзвінків, внутрішніх номерів і аналітики IP-телефонії.

Мета завдання

Мета завдання — створити в K2 ERP модуль для автоматизації обліку телефонних комунікацій компанії.

Система повинна дозволяти:

  • вести клієнтів і їхні номери телефонів;
  • вести співробітників;
  • вести внутрішні SIP-номери;
  • вести зовнішні номери компанії;
  • імпортувати дзвінки з IP-телефонії;
  • приймати дані дзвінків через API або webhook;
  • зберігати журнал вхідних, вихідних і внутрішніх дзвінків;
  • автоматично визначати клієнта за номером телефону;
  • прив’язувати дзвінок до менеджера;
  • прив’язувати дзвінок до клієнта, заявки, угоди або тікета;
  • зберігати тривалість дзвінка;
  • зберігати статус дзвінка;
  • зберігати посилання на запис розмови;
  • дозволяти прослуховувати записи розмов;
  • фіксувати результат дзвінка;
  • контролювати пропущені дзвінки;
  • створювати нагадування передзвонити;
  • формувати аналітику по співробітниках;
  • формувати звіти по дзвінках, клієнтах, менеджерах і якості обслуговування.

Головний принцип. Кожен дзвінок має бути зафіксований, пов’язаний із клієнтом або співробітником і доступний для аналізу. Пропущений дзвінок не повинен залишитися без подальшої дії.

Реальний бізнес-контекст

Компанія використовує IP-телефонію для прийому вхідних дзвінків, здійснення вихідних дзвінків, роботи відділу продажу, підтримки клієнтів, кол-центру або сервісної служби.

IP-телефонія може бути побудована на:

  • SIP;
  • Asterisk;
  • FreePBX;
  • Zadarma;
  • Binotel;
  • Ringostat;
  • 3CX;
  • внутрішній корпоративній телефонії;
  • іншій VoIP-платформі.

Для бізнесу важливо знати:

  • скільки дзвінків приймає компанія;
  • які дзвінки були пропущені;
  • хто зі співробітників відповідає клієнтам;
  • скільки тривають розмови;
  • які клієнти часто телефонують;
  • чи передзвонили по пропущених дзвінках;
  • які менеджери ефективно працюють із клієнтами;
  • чи можна прослухати запис розмови для контролю якості.

Основний бізнес-процес

Типовий процес роботи модуля IP-телефонії виглядає так:

  1. клієнт телефонує на номер компанії;
  2. телефонія приймає дзвінок і передає його на внутрішній номер співробітника;
  3. система отримує інформацію про дзвінок через API, webhook або CDR-імпорт;
  4. K2 ERP зберігає дзвінок у журналі;
  5. система визначає клієнта за номером телефону;
  6. система визначає співробітника за внутрішнім номером;
  7. дзвінок прив’язується до клієнта, угоди, заявки або тікета;
  8. якщо є запис розмови — зберігається посилання на файл;
  9. менеджер може додати коментар або результат дзвінка;
  10. пропущений дзвінок потрапляє в список для передзвону;
  11. керівник переглядає аналітику й звіти.

Основні об’єкти модуля

Об’єкт Призначення
Клієнти Контрагенти або фізичні особи, з якими відбуваються дзвінки
Телефони клієнтів Номери, за якими система розпізнає клієнта
Співробітники Менеджери, оператори, спеціалісти підтримки
Внутрішні номери SIP extension співробітників
Зовнішні номери Номери компанії для вхідних і вихідних дзвінків
Дзвінки Основний журнал телефонних подій
Записи розмов Аудіофайли або посилання на записи
Пропущені дзвінки Дзвінки, які потребують подальшої реакції
Результати дзвінків Підсумок розмови: консультація, продаж, передзвонити тощо
CRM-прив’язки Зв’язок дзвінка з клієнтом, угодою, заявкою або тікетом
Аналітика Показники ефективності дзвінків
Звіти Дані для керівника, продажів і підтримки

Довідник «Клієнти»

Довідник клієнтів містить компанії або фізичних осіб, з якими ведеться комунікація.

Поля клієнта

Поле Опис
Назва компанії або ПІБ Ім’я клієнта або назва організації
Телефон Основний телефон клієнта
Додаткові телефони Інші номери для розпізнавання
Email Електронна адреса
Менеджер Відповідальний співробітник
Статус Активний, потенційний, архівний
Примітки Додаткова інформація

Довідник «Співробітники»

Довідник співробітників містить працівників, які користуються телефонією.

Поля співробітника

Поле Опис
ПІБ Повне ім’я співробітника
Посада Менеджер, оператор, техпідтримка, керівник
Відділ Продажі, підтримка, бухгалтерія, сервіс
Внутрішній номер SIP extension
Телефон Особистий або службовий номер
Email Робоча адреса
Статус Активний, заблокований, звільнений

Довідник «Внутрішні номери»

Внутрішній номер використовується для зв’язку дзвінка зі співробітником.

Поля внутрішнього номера

Поле Опис
SIP extension Наприклад: 101, 102, 205
Співробітник Кому належить номер
Відділ До якого відділу належить номер
Статус Активний або неактивний
Коментар Службова інформація

Довідник «Номери телефонів компанії»

Цей довідник містить зовнішні номери компанії.

Поля номера

Поле Опис
Номер телефону Зовнішній номер компанії
Оператор SIP-провайдер або мобільний оператор
Тип номера SIP, мобільний, стаціонарний, багатоканальний
Напрямок Продажі, підтримка, бухгалтерія, загальний номер
Вартість хвилини Для розрахунку витрат, опціонально
Статус Активний або неактивний

База «Дзвінки»

Журнал дзвінків є головним об’єктом модуля.

Колонки журналу дзвінків

Колонка Опис
Дата і час Коли відбувся дзвінок
Напрямок Вхідний, вихідний, внутрішній
Номер клієнта Зовнішній номер співрозмовника
Внутрішній номер SIP extension співробітника
Співробітник Хто прийняв або здійснив дзвінок
Клієнт Автоматично визначений або вручну прив’язаний клієнт
Статус Відповіли, не відповіли, зайнято, скасовано
Тривалість Тривалість розмови в секундах
Запис Посилання на аудіозапис
Коментар Коментар менеджера

Поля дзвінка

Поле Опис
Унікальний ID дзвінка Ідентифікатор із телефонії або внутрішній ID
Дата початку Початок дзвінка
Дата завершення Завершення дзвінка
Напрямок Вхідний, вихідний, внутрішній
Caller ID Номер того, хто телефонує
Called number Номер, на який телефонують
Внутрішній номер SIP extension співробітника
Співробітник Відповідальний користувач системи
Клієнт Розпізнаний або вручну вибраний клієнт
Статус дзвінка Відповіли, не відповіли, зайнято, скасовано
Тривалість розмови Чистий час розмови
Загальна тривалість Час від початку виклику до завершення
Запис розмови Посилання на файл або потокове відтворення
Результат дзвінка Підсумок розмови
Коментар Примітка менеджера

Напрямки дзвінків

Напрямок Значення
Вхідний Клієнт телефонує в компанію
Вихідний Співробітник телефонує клієнту
Внутрішній Дзвінок між співробітниками
Переадресований Дзвінок був переведений на інший номер

Статуси дзвінків

Статус Значення
Відповіли Розмова відбулася
Не відповіли Дзвінок пропущено
Зайнято Лінія була зайнята
Скасовано Дзвінок завершено до відповіді
Помилка Дзвінок не відбувся через технічну причину
Голосова пошта Клієнт залишив повідомлення, якщо підтримується

Імпорт дзвінків

Модуль має підтримувати отримання дзвінків із телефонної системи.

Варіанти імпорту

  • API телефонії;
  • webhook;
  • CDR-файли;
  • CSV-імпорт;
  • пряме підключення до бази CDR, якщо дозволено;
  • ручний імпорт файлу адміністратором.

Дані CDR

CDR — це запис про телефонний дзвінок.

Основні поля CDR

  • дата і час початку;
  • номер абонента;
  • номер призначення;
  • внутрішній номер;
  • напрямок;
  • статус;
  • тривалість;
  • унікальний ID дзвінка;
  • посилання на запис;
  • код завершення дзвінка.

Автоматичне розпізнавання клієнта

Система повинна визначати клієнта за номером телефону.

Логіка розпізнавання

  1. система отримує номер із дзвінка;
  2. очищає номер від пробілів, дужок, дефісів;
  3. приводить номер до єдиного формату;
  4. шукає номер у довіднику клієнтів;
  5. якщо номер знайдено — прив’язує дзвінок до клієнта;
  6. якщо номер не знайдено — залишає дзвінок як невідомий;
  7. менеджер може вручну створити клієнта або прив’язати номер до існуючого.

Важливо. Номери телефонів потрібно нормалізувати. Один і той самий номер може надходити у форматах +380, 380, 0XX або з розділювачами.

Пропущені дзвінки

Пропущений дзвінок потребує окремого контролю.

Що має робити система

  • визначати пропущені вхідні дзвінки;
  • показувати їх у окремому списку;
  • визначати клієнта, якщо номер знайдено;
  • призначати відповідального менеджера;
  • створювати задачу або нагадування передзвонити;
  • змінювати статус після передзвону;
  • показувати, скільки часу минуло з моменту пропущеного дзвінка.

Статуси пропущеного дзвінка

Статус Значення
Новий Дзвінок пропущено, реакції ще не було
В роботі Менеджер узяв дзвінок у роботу
Передзвонили Клієнту передзвонили
Не дозвонились Спроба передзвону була невдалою
Закрито Питання по дзвінку завершено

Критично. Пропущені вхідні дзвінки не повинні губитися. Система має показувати їх окремо і дозволяти контролювати факт передзвону.

Записи розмов

Якщо телефонія надає записи розмов, система повинна зберігати посилання на них.

Функції роботи із записами

Система повинна дозволяти:

  • бачити, чи є запис у дзвінка;
  • прослухати запис через HTML5 audio;
  • обмежувати доступ до записів за правами;
  • завантажити запис, якщо це дозволено;
  • зберігати посилання на файл;
  • показувати тривалість запису;
  • фіксувати, хто прослуховував запис, опціонально.

Результат дзвінка

Менеджер може вказати результат дзвінка.

Приклади результатів

  • консультація;
  • успішний продаж;
  • передзвонити пізніше;
  • клієнт не зацікавлений;
  • створено заявку;
  • створено угоду;
  • створено тікет підтримки;
  • питання вирішено;
  • потрібна ескалація.

CRM-прив’язка

Дзвінок може бути пов’язаний з об’єктами CRM.

Можливі прив’язки

  • клієнт;
  • контактна особа;
  • лід;
  • угода;
  • замовлення;
  • заявка;
  • тікет HelpDesk;
  • задача;
  • рахунок.

Пошук і фільтрація дзвінків

Журнал дзвінків повинен мати зручні фільтри.

Параметри фільтрації

  • дата або період;
  • напрямок дзвінка;
  • статус дзвінка;
  • співробітник;
  • внутрішній номер;
  • клієнт;
  • номер телефону;
  • тривалість від;
  • тривалість до;
  • наявність запису;
  • результат дзвінка;
  • пропущені дзвінки;
  • дзвінки без прив’язки до клієнта.

Аналітика дзвінків

Аналітика допомагає оцінювати роботу співробітників і якість обслуговування.

Основні показники

  • кількість вхідних дзвінків;
  • кількість вихідних дзвінків;
  • кількість пропущених дзвінків;
  • кількість успішних розмов;
  • середня тривалість розмови;
  • загальна тривалість дзвінків;
  • рівень відповіді;
  • кількість дзвінків по співробітниках;
  • кількість дзвінків по клієнтах;
  • кількість дзвінків без прив’язки до клієнта;
  • вартість дзвінків, якщо налаштовані тарифи.

Формула рівня відповіді

Рівень відповіді = Кількість дзвінків з відповіддю / Загальна кількість вхідних дзвінків × 100%

Формула середньої тривалості

Середня тривалість = Загальна тривалість розмов / Кількість розмов

Вартість дзвінків

Опціонально можна рахувати витрати на телефонію.

Вартість дзвінка = Тривалість у хвилинах × Тариф за хвилину

Звіти

Звіт «Дзвінки за період»

Звіт показує всі дзвінки за вибраний період.

У звіті потрібно відображати:

  • дату;
  • напрямок;
  • клієнта;
  • співробітника;
  • номер телефону;
  • статус;
  • тривалість;
  • наявність запису.

Звіт «Ефективність співробітників»

Звіт показує телефонну активність працівників.

У звіті потрібно відображати:

  • співробітника;
  • кількість вхідних дзвінків;
  • кількість вихідних дзвінків;
  • кількість пропущених дзвінків;
  • загальну тривалість;
  • середню тривалість;
  • рівень відповіді.

Звіт «Пропущені дзвінки»

Звіт показує всі пропущені дзвінки.

У звіті потрібно відображати:

  • дату і час;
  • номер клієнта;
  • клієнта, якщо визначено;
  • відповідального менеджера;
  • статус передзвону;
  • час реакції;
  • результат.

Звіт «Дзвінки по клієнтах»

Звіт показує активність комунікацій із клієнтами.

У звіті потрібно відображати:

  • клієнта;
  • кількість дзвінків;
  • останній дзвінок;
  • відповідального менеджера;
  • загальну тривалість;
  • кількість пропущених дзвінків.

Звіт «Вартість телефонії»

Якщо налаштовані тарифи, звіт показує витрати.

У звіті потрібно відображати:

  • період;
  • оператора;
  • номер компанії;
  • кількість дзвінків;
  • загальну тривалість;
  • суму витрат.

AJAX-інтерактив

Інтерфейс має працювати швидко та зручно для менеджера, керівника і оператора.

Через AJAX мають працювати:

  • фільтрація дзвінків;
  • пошук номера;
  • прив’язка дзвінка до клієнта;
  • додавання коментаря;
  • зміна результату дзвінка;
  • прослуховування запису;
  • оновлення статусу пропущеного дзвінка;
  • створення задачі передзвонити;
  • оновлення аналітики;
  • оновлення звітів.

Логування змін

Модуль повинен фіксувати важливі дії.

Журнал змін має зберігати:

  • хто імпортував дзвінки;
  • коли отримано дзвінок через API або webhook;
  • хто вручну прив’язав дзвінок до клієнта;
  • хто змінив результат дзвінка;
  • хто додав коментар;
  • хто прослухав запис, якщо це потрібно;
  • хто змінив статус пропущеного дзвінка;
  • хто створив задачу передзвонити;
  • дату й час дії;
  • старе та нове значення, якщо це можливо.

Права доступу

Модуль має підтримувати розмежування прав.

Роль Можливості
Менеджер Бачить свої дзвінки, додає коментарі, прив’язує клієнтів, обробляє пропущені дзвінки
Оператор кол-центру Працює з журналом дзвінків, результатами дзвінків і передзвонами
Керівник відділу Бачить дзвінки свого відділу, аналітику й звіти
Керівник компанії Бачить загальну статистику, звіти і якість обслуговування
Адміністратор телефонії Налаштовує внутрішні номери, імпорт, API, webhook, записи розмов
Адміністратор системи Налаштовує права доступу, довідники, службові параметри і інтеграції

Технічні вимоги

Параметр Опис
Бекенд K2 Cloud ERP на Python або PHP
База даних PostgreSQL або MySQL
Фронтенд HTML5, JavaScript
AJAX Fetch API або Axios
UI-компоненти DataTables для журналу дзвінків, Select2 для фільтрації
Телефонія SIP, Asterisk, FreePBX або інша IP-телефонія
Імпорт API, webhook, CDR або CSV
Медіа HTML5 audio для прослуховування записів розмов
Друк / експорт PDF або Excel для звітів, опціонально

Рекомендовані сутності бази даних

Для реалізації задачі доцільно передбачити такі сутності:

  • клієнти;
  • телефони клієнтів;
  • співробітники;
  • внутрішні номери;
  • зовнішні номери компанії;
  • дзвінки;
  • статуси дзвінків;
  • напрямки дзвінків;
  • записи розмов;
  • результати дзвінків;
  • пропущені дзвінки;
  • задачі передзвону;
  • CRM-прив’язки;
  • тарифи телефонії;
  • імпорт CDR;
  • webhook-події;
  • аналітика;
  • журнал змін;
  • звіти;
  • права доступу.

Практичне завдання

У межах атестації потрібно продемонструвати робочий сценарій.

Мінімальний сценарій:

  1. створити клієнта з номером телефону;
  2. створити співробітника;
  3. створити внутрішній SIP-номер;
  4. створити зовнішній номер компанії;
  5. імпортувати кілька дзвінків через CDR або створити тестові записи;
  6. автоматично розпізнати клієнта за номером;
  7. прив’язати дзвінок до співробітника;
  8. додати дзвінок без відомого клієнта;
  9. вручну прив’язати невідомий дзвінок до клієнта;
  10. додати посилання на запис розмови;
  11. прослухати запис через інтерфейс;
  12. створити пропущений дзвінок;
  13. створити задачу передзвонити;
  14. змінити статус пропущеного дзвінка на «Передзвонили»;
  15. додати результат дзвінка;
  16. відфільтрувати дзвінки за періодом;
  17. відфільтрувати дзвінки по співробітнику;
  18. сформувати звіт дзвінків за період;
  19. сформувати звіт ефективності співробітників;
  20. сформувати звіт пропущених дзвінків;
  21. сформувати звіт дзвінків по клієнтах;
  22. перевірити журнал змін.

Критерії оцінювання

Критерій Бали Що перевіряється
Реалізація бази клієнтів, співробітників і дзвінків 20 Клієнти, телефони, співробітники, внутрішні номери, зовнішні номери, журнал дзвінків
Механізм імпорту дзвінків і прив’язки до клієнтів 20 CDR/API/webhook, нормалізація номерів, автоматичне розпізнавання клієнта, ручна прив’язка
Фільтрація і пошук дзвінків 20 Пошук за номером, клієнтом, співробітником, періодом, статусом, напрямком і тривалістю
Прослуховування записів розмов 20 Зберігання посилань, HTML5 audio, права доступу до записів, наявність запису в журналі
Інтерактивність через AJAX і аналітика дзвінків 20 AJAX-фільтри, коментарі, результати дзвінків, пропущені дзвінки, аналітика й звіти
Разом 100 Максимальна оцінка

Шкала оцінювання

Бали Рівень Опис
90–100 Відмінно Модуль повністю працює: клієнти, співробітники, SIP-номери, імпорт дзвінків, прив’язка до клієнтів, записи, пропущені дзвінки, аналітика й звіти реалізовані коректно
75–89 Добре Основна логіка працює, є незначні недоліки, які не руйнують процес обліку дзвінків
60–74 Зараховано Базовий сценарій працює, але частина функцій реалізована неповно або потребує доопрацювання
0–59 Не зараховано Відсутня критична логіка: журнал дзвінків, клієнти, співробітники, імпорт, прив’язка або аналітика

Критичні помилки

Критичними помилками вважаються ситуації, коли:

  • неможливо створити клієнта;
  • неможливо створити співробітника;
  • неможливо створити внутрішній номер;
  • неможливо зберегти дзвінок;
  • імпорт CDR не створює записи дзвінків;
  • дзвінки не мають дати й часу;
  • дзвінки не мають напрямку;
  • номер клієнта не нормалізується;
  • клієнт не розпізнається за наявним номером;
  • дзвінок не прив’язується до співробітника;
  • пропущені дзвінки не відображаються окремо;
  • статус пропущеного дзвінка не змінюється;
  • записи розмов не відкриваються, якщо функція заявлена;
  • користувач без прав може прослухати чужі записи;
  • фільтри по дзвінках працюють неправильно;
  • звіти не відповідають фактичним дзвінкам;
  • зміни прив’язки, коментарів або статусів не логуються.

Умова складання. Завдання не може бути зараховане, якщо система не дозволяє пройти базовий цикл IP-телефонії: дзвінок → імпорт → розпізнавання клієнта → прив’язка до співробітника → запис у журналі → аналітика → звіт.

Очікуваний результат

У результаті виконання атестаційного завдання має бути створений модуль обліку IP-телефонії в K2 ERP.

Модуль має підтримувати клієнтів, телефони клієнтів, співробітників, внутрішні SIP-номери, зовнішні номери компанії, журнал дзвінків, CDR/API/webhook-імпорт, автоматичне розпізнавання клієнтів, ручну прив’язку, записи розмов, пропущені дзвінки, задачі передзвону, CRM-прив’язки, аналітику, звіти, AJAX-інтерактив і логування змін.

Примітка

Облік IP-телефонії потрібен CRM-системам, кол-центрам, відділам продажу, сервісним службам і технічній підтримці.

Такий модуль дозволяє контролювати якість комунікації з клієнтами, оцінювати ефективність менеджерів, швидко реагувати на пропущені дзвінки та зберігати повну історію телефонних контактів.

Коротко

Питання Відповідь
Що потрібно створити? Модуль обліку дзвінків IP-телефонії
Які довідники потрібні? Клієнти, телефони, співробітники, внутрішні номери, зовнішні номери
Який головний об’єкт? Дзвінок у журналі телефонії
Як дзвінки потрапляють у систему? Через API, webhook, CDR або CSV-імпорт
Що має робити система з номером клієнта? Нормалізувати номер і знайти клієнта в базі
Що важливо для пропущених дзвінків? Окремий контроль і задача передзвонити
Які звіти потрібні? Дзвінки за період, ефективність співробітників, пропущені дзвінки, дзвінки по клієнтах
Що є критичною вимогою? Кожен дзвінок має бути збережений, знайдений у журналі й доступний для аналізу

Див. також