Інтеграція згідно протоколу HTTP(S)
Інтеграція згідно протоколу HTTP(S)
ATC Vega активний участник обміну даними
АТС може стати активним учасником обміну повідомленнями з використанням протоколу HTTP(S) завдяки WebHook. Налаштувати WebHook(s)можливо, перейшовши в розділ Налаштування – Інтеграція - Інші CRM ситеми. В даному розділі необхідно вказати адресу Вашого ресурсу для отримання інформації про клієнта і передачі подій про дзвінок. Нижче наведено описи всіх можливостей WebHook.
Авторизація АТС Vega у Вашій CRM системі
Ми рекомендуємо перевіряти запити, які надходять в Вашу CRM систему, звіряючи віддалену IP адресу.
Приклад фильтру на Java: @Override
public void doFilter(final ServletRequest request, final ServletResponse response, final FilterChain filterChain) throws IOException, ServletException
{
if (request.getRemoteAddr().equals("89.184.65.208"))
{
filterChain.doFilter(request, response);
}
}
Приклад на PHP:
if ($_SERVER['REMOTE_ADDR'] !== '89.184.65.208') {
die(sprintf('Forbidden%s', PHP_EOL));
}
Отримання імені контакту з CRM системи
При вхідному чи вихідному дзвінку, АТС Vega повинна отримати ім’я клієнта з CRM системи, потім встановити ім’я для відображення імені на дисплеї телефону і в спливаючій картці клієнта. Для цієї задачі необхідно реалізувати сервіс повернення даних про абонента, за номером телефону абонента у Вашій CRM. Даний запит не виконується для всіх вхідних і вихідних дзвінків і не виконується для внутрішніх дзвінків.
Запит
Протокол: HTTP чи HTTPS (Залежно від url який ви задали в Налаштуваннях). Тип: POST
Параметри:
request – назва запиту. Може застосовуватися у випадку, якщо один і той URL у Вас в CRM відповідає за роботу над різними запитами;
otherLegNum — номер телефону абонента,який телефонує до Вас в компанію, або абонента якому телефонує Ваш співробітник.
trunkNum – номер телефону компанії, на який телефонує клієнт ( поле встановлюється лише при вхідному виклику)
Таким чином, при вхідному чи вихідному виклику в компанію, АТС Vega може відправляти запит на сервер CRM систмеми. Дані, які АТС Vega відправляє до CRM:
{
request: "call.settings", otherLegNum: "+380442246595",
trunkNum: "0800218500"
}
Відповідь
Ответ
Код: 200 — вразі успішного виконання;
Код: 200 – вразі успішного виконання;
Приклад даних, які повертаються з CRM, дивіться нижче.
Якщо контакт наявний в CRM системі.
{
otherLeg: {
name: "Иван Иванов",
url: "http://crm.com/contacts?id=1", urlText: "Иван Иванов",
newEntry: false, responsibleEmployeeExt: "001",
responsibleEmployeeEmail: "[email protected]"
}
}
Якщо контакт відсутній в CRM системі.
a.
{
otherLeg: {
name: null,
url: "http://crm.com/contacts/new?phone=%2B380442246595", urlText: "Добавить контакт",
newEntry: true, responsibleEmployeeExt: null, responsibleEmployeeEmail: null
}
або
b.
{
}
де,
}
otherLeg: null
name – і’мя клієнта, якому належить переданий номер, null – у випадку якщо по даному номеру нічого не знайдено;
url – посилання на відкриття картки клієнта, який був знайдений за номером телефону або на створення нового, якщо контакт не був знайдений (при цьому бажано додати параметр phone з номером телефону, так як гарним номер телефону повинен бути встановленим в картці клієнта при кліку на сповіщення).
urlText – текст посилання для відкриття картки клієнта. Якщо контакт існує, найкраще встановити його і’мя в даному полі. Якщо контакт не існує, можна задати значення «Додати контакт»;
newEntry – прапорець, який вказує що контакт новий (значення true) або існуючий (значення false). Дане поле не є обов'язковим, значення за замовчуванням false. Поле можна не встановлювати і замість цього, для контактів які не існують, повертати варіант відповіді b. Виняток: даний варіант, не підходить, якщо для роботи Ви використовуєте розширення Google Chrome від Vega, так як в даному випадку потрібно щоб були встановлені поля url (посилання) і urlText (текст посилання) для створення нового контакту.
responsibleEmployeeExt – внутрішній номер відповідального співробітника, що використовується для маршрутизації викликаданому співробітнику у випадку виклика посійного клієнта;
responsibleEmployeeEmail – e-mail відповідального співробітника, використовується для маршрутизації виклика даному співробітнику в разі виклику постійного клієнта. Поле responsibleEmployeeExt вважається більш пріоритетним і маршрутизація відбудеться за нього, якщо воно встановлено.
Примітка
АТС Vega кешує результати відповіді сервера, отже даний запит може відбуватися не в результаті кожного виклика, а лише після того як останні отримані дані будуть вважатися не валідними. Проміжок часу на який зберігається інформація про контакт:
Для нових контактів - до 1 хвилини;
Для існуючих контактів - до 5 хвилин.
Примітка
Для отримання інформації про користувачів (співробітників компанії), зверніться до розділу «Користувачі» даної документації.