Інтеграція Бітрікс24 з МегаФон Віртуальна АТС
МегаФон Віртуальна АТС — хмарна телефонія від одного з найбільших російських операторів. Для компаній, у яких корпоративні номери вже на МегаФоні, це природний вибір віртуальної АТС. Інтеграція з Бітрікс24 будується через API МегаФону, який надає webhooks на події дзвінків.
Як МегаФон передає події
МегаФон ВАТС працює з push-сповіщеннями (webhooks). В особистому кабінеті налаштовується URL для сповіщень про один або кілька типів подій:
| Подія | Коли відбувається |
|---|---|
start |
Дзвінок надійшов на ВАТС |
answer |
Абонент відповів |
end |
Дзвінок завершено |
record |
Запис готовий до завантаження |
Особливість МегаФону: всі події для одного дзвінка об'єднані через єдиний call_id. Це зручно — не потрібно генерувати власний ідентифікатор для зв'язки подій.
Приклад сповіщення від МегаФону при завершенні дзвінка:
{
"type": "end",
"call_id": "meg_0123456789abcdef",
"start_time": "2024-01-15 10:30:00",
"end_time": "2024-01-15 10:33:05",
"duration": 185,
"from_number": "+74951234567",
"to_number": "+74992345678",
"internal_number": "102",
"state": "answered",
"direction": "in"
}
Налаштування обробника
Обробник приймає POST-запити від МегаФону і транслює події в Бітрікс24.
При події answer (оператор підняв трубку):
- Визначаємо
USER_IDу Бітрікс24 заinternal_number - Викликаємо
telephony.externalcall.register - Зберігаємо пару
{meg_call_id → bitrix_call_id}у сховищі
При події end:
- Дістаємо
bitrix_call_idзаmeg_call_id - Визначаємо
STATUS_CODEз поляstate:-
answered→200 -
not_answered→304(пропущений) -
busy→486
-
- Викликаємо
telephony.externalcall.finish
При події record (надходить через кілька хвилин після end):
- За
call_idдістаємоbitrix_call_id - Завантажуємо запис за посиланням із події
- Завантажуємо через
telephony.externalCall.attachRecord
МегаФон надає посилання на запис у форматі:
{
"type": "record",
"call_id": "meg_0123456789abcdef",
"url": "https://vats.megafon.ru/records/...",
"duration": 185
}
Вихідні дзвінки через МегаФон ВАТС
МегаФон підтримує API для ініціації вихідних дзвінків (click-to-call). Менеджер клікає на номер у Бітрікс24, Бітрікс24 передає подію обробнику, обробник викликає МегаФон API:
POST https://vats.megafon.ru/v1/click2call
{
"from": "102", // внутрішній номер співробітника
"to": "+74951234567", // номер клієнта
"line_id": "000001" // ID лінії
}
МегаФон спочатку телефонує на телефон співробітника, потім з'єднує з клієнтом. У цей момент обробник повинен зареєструвати вихідний дзвінок у Бітрікс24 через telephony.externalcall.register з TYPE=2 (вихідний).
Налаштування в особистому кабінеті МегаФон ВАТС
У розділі Інтеграції → Сповіщення:
- URL для подій — адреса вашого обробника
- Формат — JSON
- Секретний ключ (HMAC-підпис запитів) — для верифікації запитів від МегаФону
Верифікація підпису обов'язкова, інакше обробник прийматиме будь-які POST-запити від будь-кого:
$signature = hash_hmac('sha256', $rawBody, $secretKey);
if ($signature !== $_SERVER['HTTP_X_MEGAFON_SIGNATURE']) {
http_response_code(403);
exit;
}
Кейс: медична клініка, 8 адміністраторів
Клініка використовувала МегаФон ВАТС з 8 внутрішніми номерами та IVR на дві спеціалізації. Проблема: дзвінок міг проходити через IVR і чергу, перш ніж потрапити до адміністратора. Потрібно було фіксувати в Бітрікс24 саме той внутрішній номер, з якого відповів співробітник, а не початковий номер розподілу.
МегаФон у полі internal_number передає номер останнього абонента, який відповів — це саме те, що потрібно. Додатково: якщо клієнт поклав трубку в IVR (до потрапляння в чергу), подія end надходить зі state=not_answered і порожнім internal_number. У цьому випадку створюється пропущений дзвінок без відповідального — він видно в загальному списку у адміністратора рецепції.
Термін налаштування: 4–5 робочих днів.







