Asterisk (PBX) (Private Branch Exchange) - відкрита комунікаційна платформа, яка використовується для впровадження програмних АТС, систем голосового зв'язку, VoIP-шлюзів, IVR-систем (інтерактивне голосове меню), голосової пошти, телефонних конференцій і call-центрів.
На основі цієї технології працює багато телефоній, які ви можете приєднати до KeyCRM, щоб:
- здійснювати дзвінки з CRM та обробляти вхідні;
- бачити, хто вам дзвонить, якщо покупець вже є в системі;
- створювати покупців, замовлення чи заявки прямо з картки дзвінка;
- бачити всю історію дзвінків із записами розмов.
Крок 1. Створюємо канал телефонії у KeyCRM
Перейдіть до «Налаштування» → «Комунікації» → вкладка «Телефонія» та натисніть кнопку «Додати нову службу».
У вікні, що з'явилося, на вкладці «Загальні»:
- Назва — ведіть назву телефонії;
- Сервіс телефонії — виберіть «Other».
- Посилання для ініціалізації дзвінка — URL створюється на стороні телефонії. Після початку дзвінка менеджером з CRM, на нього буде відправлено POST запит у форматі json;
- Посилання для завершення дзвінка(не обов'язкове) — URL створюється на стороні телефонії. На нього буде відправлено POST запит у форматі json, коли менеджер завершить дзвінок з картки дзвінка в CRM.
Якщо не вказати, то в картці дзвінка НЕ буде кнопки для завершення дзвінка і його потрібно завершувати напряму через IP телефон, софтфон тощо; - Посилання на Webhook — посилання на яке телефонія має відправляти запити з інформацією по дзвінкам в CRM. Скопіюйте його для подальших налаштувань на стороні телефонії;
- Використовувати deep link — активуйте, тільки якщо ви використовуєте софтфон, який підтримує цю технологію;
- Зв'язок з воронками — активуйте та оберіть значення:
- Тип дзвінка оберіть тип дзвінків з яких будуть створюватись картки: тільки вхідні, тільки вихідні або усі — вхідні та вихідні;
- Воронка воронку для створення карток. Якщо у вас тільки одна воронка — вона обирається автоматично, а самого поля з вибором не буде;
- Джерело джерело з яким буде створюватись картка. Якщо не вибрати — картка створиться з пустим значенням в полі джерела.
Як працює функція deep link
Deep link - функція, яка відразу виконує дзвінок в програмі за замовчуванням на пристрої.
Особливості роботи:
- Якщо у вас на пристрої програма за замовчуванням для дзвінків софтфон, він активний і в налаштуваннях телефонії активована функція deep link: коли ви натискаєте «Подзвонити» в CRM - відкривається відразу ця програма для здійснення дзвінка клієнту.
- Використання deep link потрібно активувати лише якщо ви використовуєте софтфон, який підтримує цю технологію (наприклад, MicroSIP або платний Zoiper). Якщо не впевнені, можете протестувати. Спочатку активуйте, якщо вихідні дзвінки з CRM не працюватимуть, то деактивуйте.
- Якщо вимкнути deep link - виклик відбуватиметься через саму телефонію. Спочатку CRM відправить до телефонії запит на початок дзвінка, телефонія отримавши його здійснить виклик на софтфон або IP телефон менеджеру, менеджер підіймає слухавку і починається з'єднання з клієнтом.
- IP телефони функцію deep link не підтримують, тому при роботі з ними вона повинна бути вимкнена.
Крок 2. Підключення номерів
У вікні налаштувань перейдіть на вкладку «Номера користувачів» та заповніть дані:
- Внутрішній номер — номер внутрішньої лінії телефонії;
- Менеджер — користувач у CRM, який відповідає цьому номеру.
У списку для вибору будуть користувачі, яким надано доступ до телефонії.
Після внесеної інформації обов'язково збережіть канал і переходьте до наступного кроку.
Крок 3. Налаштування на стороні телефонії
KeyCRM приймає інформацію про дзвінки з телефонії та відображає її всередині системи. Тому потрібно реалізувати передачу даних з телефонії в CRM.
Усі запити потрібно передавати методом POST в json форматі, опис параметрів:
Параметр | Тип даних | Обов'язково | Опис |
action | string | так |
|
call | objects | так | об'єкт з детальною інформацією по дзвінку, включає параметри: |
id | string | так | унікальний ідентифікатор дзвінка, який генерується на стороні телефонії |
direction | string | так |
напрям дзвінка:
|
destination_number | string | так | завжди номер телефона клієнта |
caller | string | так | завжди номер внутрішньої лінії менеджера з телефонії |
state | string | так |
статус дзвінка:
|
duration | int | ні | тривалість дзвінка в секундах, потрібно передавати тільки після завершення дзвінка |
audio_url | string | ні | посилання на аудіозапис дзвінка в телефонії, потрібно передавати тільки після завершення дзвінка |
Приклад запиту для зберігання дзвінка:
{
"action": "call",
"call": {
"id": "1233123",
"direction": "outgoing",
"destination_number": "380730000001",
"caller": "301",
"state": "started",
"duration": 5666,
"audio_url": "https://google.mp3"
}
}
Приклади сценаріїв роботи інтеграції
1. Вихідний дзвінок при вимкненому deep link
- Менеджер натискає на «Подзвонити» в CRM;
- CRM відправляє POST запит у форматі json на посилання вказане у налаштуваннях телефонії «Посилання для ініціалізації дзвінка»:
{
"caller": "333", // номер внутрішньої лінії менеджера, який ініціював дзвінок
"destination_number": "380730000001" // номер телефона клієнта
}
- Телефонія приймає запит та ініціює дзвінок на своїй стороні. І відправляє запит початка дзвінка в CRM на Webhook, вказаний у налаштуваннях телефонії:
{
"action": "call",
"call": {
"id": "1233123",
"direction": "outgoing",
"destination_number": "380730000001",
"caller": "333",
"state": "started"
}
}
- Після підняття слухавки телефонія відправляє в CRM такий самий запит, але зі статусом дзвінка answered.
- Після завершення телефонія відправляє в CRM такий самий запит, але зі статусом дзвінка completed, і додатковими параметрами: duration та audio_url.
2. Вхідний дзвінок
- Коли надходить вхідний дзвінок, телефонія відправляє відразу в CRM POST запит початку вхідного дзвінка у форматі json на Webhook, вказаний у налаштуваннях телефонії:
{
"action": "call",
"call": {
"id": "1233123",
"direction": "incoming",
"destination_number": "380730000001",
"caller": "333",
"state": "started"
}
}
- Далі телефонія відправляє запити відповідно до змін статусу дзвінка.
3. Збереження аудіозапису дзвінка в історію дзвінків CRM
Ви можете відправити тривалість дзвінка та аудіозапис відразу з передачею запита зі статусом завершення дзвінка completed.
Або, якщо отримуєте ці дані пізніше, то в будь-який момент можете передати їх вказавши обов'язково ідентифікатор цього дзвінка(id):
{
"action": "call",
"call": {
"id": "1233123",
"direction": "incoming",
"destination_number": "380730000001",
"caller": "333",
"state": "completed",
"duration": 5666,
"audio_url": "https://google.mp3"
}
}
4. Приклад отримання інформації про покупця
- Щоб отримати дані покупця з бази CRM, потрібно з телефонії відправити POST запит у форматі json на Webhook. В параметрі «action» для цього запита завжди значення «route», а в параметрі «route» - номер телефону покупця:
{
"action": "route",
"route": "380730000001"
}
- У відповіді ви отримаєте :
{
"client": {
"id": 47820, // ідентифікатор покупця в CRM
"profile_url": "https://demo.keycrm.app/app/clients?id=47820", // посилання на картку покупця в CRM
"name": "Пономар Владислав", // повне ім'я покупця
"manager": {
"id": 81, // ідентифікатор відповідального менеджера покупця в CRM
"name": "Владислав Пономарь", // ім'я відповідального менеджера покупця в CRM
"number": null //номер телефону відповідального менеджера покупця, вказаний в його профілі в CRM
}
}
}