Інтеграція власної CRM і телефонії

Навіщо потрібна інтеграція власної CRM/ERP/Desk з АТС

У більшості систем автоматизації бізнесу (CRM/ERP/Desk і т.д.) автоматизується спілкування з клієнтами та/або партнерами. Поки значна частина спілкування відбувається за телефоном, систему просто необхідно інтегрувати з IP-телефонією.

Спеціально для розробників CRM/Desk і інших систем автоматизації, ми пропонуємо інструкцію з інтеграції вашої системи з IP-телефонією Zadarma.

Переваги інтеграції з Zadarma:

  • велика клієнтська база Zadarma (більш 1.6 млн) отримає доступ до ваших сервісів;
  • ваші клієнти зможуть інтегрувати телефонію без витрат (АТС, API, інтеграції - безкоштовні);
  • світове покриття послуг, ваші клієнти можуть бути де завгодно (підтримка 5 мов, дата-центри на трьох континентах, віртуальні номери в 100 країнах світу).

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

В особистому кабінеті за цим посиланням доступні прямі інтеграції (розроблені нами) з різними системами, також в розділі Допомога - Інструкції з налаштування ви можете знайти приклади налаштування інтеграції зі сторонніми системами, які були розроблені без нашої участі. Відкритий API дозволяє самостійно реалізувати повноцінну інтеграцію з віртуальною АТС Zadarma, з цим завданням впорається будь-який розробник через невисокий ступінь складності. Для зручності будемо розглядати інтеграцію віртуальної АТС Zadarma і сторонньої CRM

Основні функції:

Взаємодію з API можна умовно розділити на дві частини:

1. Запити (POST, GET) з боку CRM до API Zadarma

2. Система повідомлень про дзвінки (webhook), POST-запити з інформацією про дзвінки відправляються нашим API в бік CRM

Повна документація по API знаходиться тут

1. Налаштування інтеграції з боку Zadarma.

Умови необхідні для початку налаштування інтеграції:

В особистому кабінеті Zadarma:

1. Згенеровані ключі авторизації API (Key та Secret)

2. Створена віртуальна АТС і пройдено Майстер налаштування (внутрішні номери АТС із записом розмов за кількістю користувачів CRM, сценарій вхідних дзвінків)

У нас є аккаунт Zadarma і якась CRM у якій повинен бути URL адреса на модуль телефонії, наприклад:

https://mybestcrm.com/zadarma

або

https://id12345678.mybestcrm.com/zadarma

Далі в якості прикладу візьмемо посилання https://mybestcrm.com/zadarma (У вас повинно бути посилання, що вказує на вашу CRM)

В особистому кабінеті Zadarma в розділі Налаштування - API в стовпці "Події, за якими необхідно відправляти дані:" повинні бути включені всі типи повідомлень. У секції "Повідомлення про дзвінки в АТС" в полі "Посилання вашого ресурсу" введіть URL вашої CRM, на цю адресу будуть відправлятися повідомлення про дзвінки.

Для того, щоб система прийняла посилання, необхідно додати код перевірки на початку скрипта.

Приклад на PHP:


<?php if (isset($_GET['zd_echo'])) exit($_GET['zd_echo']); ?>

Валідація посилання відбувається після натискання кнопки "Додати", на посилання відправляється довільний набір символів, наприклад 1234567, відповідно до вищевказаного коду посилання повинно повернути значення, що було відправлено, без додаткових символів, пробілів, BOM-послідовностей і т.і. Якщо валідація посилання не проходить, перевірте яке значення повертає посилання, надішліть curl запит на ваше посилання додавши до нього ?zd_echo=1234567


 curl https://mybestcrm.com/zadarma?zd_echo=1234567

У відповідь посилання повинно повернути значення, що було відправлено, 1234567

Якщо там порожньо або інше значення відмінне від 1234567 - валідація не пройде.

Для збільшення безпеки, рекомендуємо дозволити доступ до вашого посилання тільки з IP 185.45.152.42 У кожному запиті на ваше посилання буде приходити додатковий заголовок "Signature", за яким також зможете звіряти цілісність і справжність даних. Детальніше тут

2. Налаштування інтеграції з боку CRM.

В особистому кабінеті Zadarma вже підтверджене посилання, що вказує на CRM, на яке будуть надсилатися повідомлення про дзвінки; створені ключі авторизації, які необхідно зберегти в CRM. На стороні CRM потрібна сторінка для налаштування інтеграції, назвемо її "Налаштування телефонії", на цій сторінці обов'язково повинні бути такі основні параметри:

  • Поля для введення ключів авторизації (Key и Secret).
  • Посилання на модуль телефонії в CRM, яке ми підтверджували раніше https://mybestcrm.com/zadarma.
  • Список користувачів з можливістю призначити кожному свій власний, унікальний внутрішній номер атс.

Список внутрішніх номерів можна отримати методом GET /v1/pbx/internal/

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

Рекомендуємо одного з користувачів призначати відповідальним за замовчуванням, створивши відповідний чекбокс на сторінці налаштувань телефонії. Відповідальний за замовчуванням - це співробітник, який буде призначатися відповідальним щодо подій у яких немає явного відповідального. Наприклад: Вхідний дзвінок від нового клієнта спрямований одночасно на 5 внутрішніх номерів (5 користувачів CRM) і ніхто з них не зняв трубку. Потенційного клієнта не хотілося б втрачати і для цього в CRM можна створити подію, завдання або лід "Пропущений дзвінок з номера". Але на кого з користувачів його призначити? Якщо призначити на всіх п'ятьох користувачів, то клієнтові можуть передзвонити 5 разів, що не дуже добре. В цьому випадку можна призначати подію на співробітника відповідального за замовчуванням (Наприклад керівник відділу продажів). Якщо у вас в CRM є пул нерозібраних лідів і користувачі самі беруть звідти ліди або вони призначаються користувачам автоматично, відповідно до внутрішнього алгоритму, опцію відповідального за замовчуванням можна не використовувати.

Налаштування телефонії в CRM зазвичай доступні тільки користувачу з правами адміністратора/керівника. Для call-центрів може бути корисним відображення балансу з особистого кабінету Zadarma на сторінці налаштувань телефонії в CRM. Отримати баланс можна методом GET /v1/info/balance/

3. Вихідні дзвінки з інтерфейсу CRM

4. Спливаючі повідомлення про дзвінки в інтерфейсі CRM

5. Аудіозаписи і статистика дзвінків

6. Автоматичне створення контактів/лідів/угод при дзвінку від нового клієнта

7. Автоматичне направлення вхідного дзвінка на відповідального співробітника

8. Відображення імені клієнта в ip-телефоні/софтфоні

9. Нагадування про пропущені дзвінки

10. Чорний список у CRM

11. Додавання інтеграції в особистий кабінет Zadarma

Функціонал з пунктів 6-10 рекомендуємо робити опціональним, щоб кінцевий користувач міг увімкнути/вимкнути необхідні йому функції на сторінці "Налаштування телефонії" в CRM