Інтеграція IP-телефонії Манго Офіс на сайт

Наша компанія займається розробкою, підтримкою та обслуговуванням сайтів будь-якої складності. Від простих односторінкових сайтів до масштабних кластерних систем, побудованих на мікро сервісах. Досвід розробників підтверджено сертифікатами від вендорів.
Розробка та обслуговування будь-яких видів сайтів:
Інформаційні сайти або веб-програми
Сайти візитки, landing page, корпоративні сайти, онлайн каталоги, квіз, промо-сайти, блоги, ресурси новин, інформаційні портали, форуми, агрегатори
Сайти або веб-програми електронної комерції
Інтернет-магазини, B2B-портали, маркетплейси, онлайн-обмінники, кешбек-сайти, біржі, дропшиппінг-платформи, парсери товарів
Веб-програми для управління бізнес-процесами
CRM-системи, ERP-системи, корпоративні портали, системи управління виробництвом, парсери інформації
Сайти або веб-програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, конструктори сайтів, портали надання електронних послуг, відеохостинги, тематичні портали

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

Пропоновані послуги
Показано 1 з 1 послугУсі 2065 послуг
Інтеграція IP-телефонії Манго Офіс на сайт
Середня
від 1 робочого дня до 3 робочих днів
Часті питання
Наші компетенції:
Етапи розробки
Останні роботи
  • image_website-b2b-advance_0.png
    Розробка сайту компанії B2B ADVANCE
    1262
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1171
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    874
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1094
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    831
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Розробка веб-сайту для компанії ФІКСПЕР
    851

Інтеграція IP-телефонії Mango Office на сайт

Mango Office — российская віртуальна АТС для бізнесу. Забезпечує хмарну телефонію, запис розмов, аналітику та API для інтеграції з вашим сайтом та CRM.

Що дає інтеграція

  • Спливаюче вікно з даними клієнта при вхідному дзвінку (менеджер бачить, хто дзвонить)
  • Click-to-call: кнопка дзвінка прямо в карточці клієнта або замовленні
  • Історія дзвінків привʼязана до замовлення/клієнта
  • Маршрутизація: залежно від сторінки або товару — інший відділ

Webhook при дзвінку

Mango Office відправляє POST-запити при подіях дзвінка (вхідний, відповідь, завершення):

Route::post('/webhooks/mango', function (Request $request) {
    $json = json_decode($request->json, true);
    $event  = $json['event'];
    $call   = $json['call_id'];
    $caller = $json['from']['number'];

    if ($event === 'call_arrived') {
        $customer = Customer::where('phone', normalizePhone($caller))->first();
        // Сповістити менеджера через WebSocket
        broadcast(new MangoCallArrived($call, $caller, $customer));
    }

    if ($event === 'call_finished') {
        CallRecord::create([
            'mango_call_id' => $call,
            'duration'      => $json['duration'],
            'recording'     => $json['recording_url'] ?? null,
            'caller'        => $caller
        ]);
    }
});

Click-to-Call через API

$response = Http::withHeaders(['X-Mango-VPbxApiKey' => env('MANGO_API_KEY')])
    ->post('https://app.mango-office.ru/vpbx/commands/callback', [
        'json' => json_encode([
            'command_id' => uniqid(),
            'extension'  => $agentExtension,  // номер менеджера в АТС
            'number'     => $customerPhone,
            'line_number'=> env('MANGO_LINE_NUMBER')
        ]),
        'sign' => hash('sha256', env('MANGO_API_KEY') . json_encode([...]) . env('MANGO_SALT'))
    ]);

Отримання записів розмов

$recordings = Http::withHeaders(['X-Mango-VPbxApiKey' => env('MANGO_API_KEY')])
    ->post('https://app.mango-office.ru/vpbx/stats/calls/recording/post_read', [
        'json' => json_encode([
            'start'  => strtotime('today midnight'),
            'end'    => time(),
            'fields' => ['start_time', 'duration', 'direction', 'from_number', 'to_number', 'recording']
        ])
    ])->json();

Нормалізація номерів телефонів

Ключове питання — нормалізація телефонів для пошуку клієнта. Mango передає номери в різних форматах, а в БД вони можуть зберігатися інакше. Єдина функція нормалізації:

function normalizePhone(string $phone): string {
    $phone = preg_replace('/[^0-9]/', '', $phone);
    if (strlen($phone) === 10) $phone = '7' . $phone;
    if (str_starts_with($phone, '8')) $phone = '7' . substr($phone, 1);
    return '+' . $phone;
}

Строк інтеграції: 2–4 дні для повної інтеграції зі спливаючим вікном, click-to-call та історією дзвінків.