Інтеграція Бітрікс24 з МТТ
МТТ (Міжрегіональний ТранзитТелеком) — російський оператор зв'язку з сервісом віртуальної АТС для бізнесу. Компанії обирають МТТ часто через широку географію номерів і конкурентні тарифи на вихідні дзвінки. Інтеграція з Бітрікс24 будується через REST API МТТ та webhooks.
API МТТ ВАТС: що доступно
МТТ надає HTTP API для управління віртуальною АТС і отримання подій про дзвінки. Документація доступна в особистому кабінеті МТТ (розділ «API»).
Ключові події для інтеграції з Бітрікс24:
| Подія МТТ | Опис | Дія в Бітрікс24 |
|---|---|---|
incoming_call |
Вхідний дзвінок | telephony.externalcall.register |
answer_call |
Оператор відповів | Оновлення статусу дзвінка |
end_call |
Дзвінок завершено | telephony.externalcall.finish |
miss_call |
Пропущений | telephony.externalcall.finish (STATUS_CODE=304) |
МТТ надсилає сповіщення на налаштований URL у форматі POST JSON. Налаштування в особистому кабінеті МТТ: Налаштування АТС → Інтеграції → HTTP-сповіщення.
Схема обробника
Обробник для МТТ працює аналогічно до інших ВАТС-інтеграцій із важливою особливістю: МТТ передає події в режимі реального часу без гарантій доставки. Необхідно передбачити ідемпотентність — повторна обробка однієї події не повинна створювати дублікатів у Бітрікс24.
Ідемпотентність через кеш з TTL:
$cacheKey = 'mtt_call_' . $event['call_id'] . '_' . $event['type'];
if ($cache->exists($cacheKey)) {
// Цю подію вже оброблено
http_response_code(200);
exit;
}
$cache->set($cacheKey, 1, 3600); // TTL 1 година
// Обробляємо подію
Маппінг внутрішніх номерів
МТТ ВАТС ідентифікує співробітників за внутрішніми номерами (extension). У Бітрікс24 — за USER_ID. Таблиця відповідностей зберігається в конфігурації обробника або в БД.
Окремий сценарій — груповий дзвінок, коли МТТ розсилає виклик кільком операторам одночасно. У події answer_call МТТ вказує, хто саме відповів. Важливо використовувати цей номер для USER_ID у Бітрікс24, а не той, кому спочатку надійшов дзвінок.
Запис дзвінків: завантаження через API
МТТ зберігає записи на своїх серверах. Доступ через API:
GET https://api.mtt.ru/v1/records/{call_id}
Authorization: Bearer {api_key}
Відповідь містить URL для завантаження файлу. Файл доступний протягом 90 днів за замовчуванням (налаштовується в тарифі).
Після отримання файлу — стандартне завантаження в Бітрікс24 через telephony.externalCall.attachRecord.
Налаштування кількох номерів МТТ
Компанії з кількома міськими номерами на МТТ можуть направити всі номери на один набір операторів або розділити по відділах. В інтеграції з Бітрікс24 це важливо для правильного визначення LINE_NUMBER — за ним Бітрікс24 розуміє, до якої лінії прив'язаний дзвінок.
МТТ передає в події поле to_number — номер, на який зателефонували. За цим полем обробник визначає LINE_NUMBER:
$lineMap = [
'+74991234567' => '100', // Лінія відділу продажів
'+74997654321' => '101', // Лінія підтримки
];
$lineNumber = $lineMap[$event['to_number']] ?? '100';
Кейс: компанія автоматизації торгівлі
Компанія з 15 менеджерами та двома групами: вхідні продажі та техпідтримка. МТТ використовувався як основний оператор із двома міськими номерами. Вимога до інтеграції: дзвінок на номер продажів — до менеджерів продажів, на номер підтримки — до технічних спеціалістів. Пропущені дзвінки — автоматичний передзвін через роботів Бітрікс24.
Складність: у МТТ пропущений дзвінок фіксувався подією miss_call, але лише якщо жоден із операторів не відповів. Якщо оператор підняв трубку і одразу поклав (менше 3 секунд) — подія приходила як end_call з duration < 3. Обробник перевіряв тривалість: якщо duration < 3 — позначав як пропущений у Бітрікс24.
Для автопередзвону на пропущені налаштували робота в Бітрікс24: створення нового ліда і запуск ланцюжка із завданням на передзвін через 10 хвилин.
Термін налаштування: 4–6 робочих днів.







