Каждый день менеджер тратит до 10 минут на поиск информации о входящем звонке: кто клиент, откуда, какой заказ. Если звонок обрывается — эти данные теряются. Интеграция Манго Офис с сайтом превращает звонки в структурированные обращения, которые автоматически попадают в CRM. Наш опыт — более 10 успешных проектов, обеспечиваем стабильную работу webhook и API. Результат: время реакции сокращается на 30%, а количество потерянных лидов — к нулю. Экономия на операционных затратах составляет до 30% за счёт автоматизации.
Проблема не только в потере данных, но и в дублировании: если номер не нормализован, один и тот же клиент может быть заведен несколько раз. Мы решаем это единой функцией нормализации, которая приводит все номера к формату +7XXX. А click-to-call позволяет инициировать звонок из CRM одним кликом, без набора номера. Начнем с главного: без нормализации номеров интеграция теряет смысл.
Почему важна нормализация номеров?
Манго Офис передает номера в разных форматах: 8XXX, +7XXX, 7XXX без плюса. Если не нормализовать, звонки от одного клиента будут создавать дубли. Наша функция normalizePhone (PHP) очищает номер от лишних символов, добавляет код страны и приводит к единому формату. Пример:
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; } Проверка на 80% звонков показывает, что нормализация сокращает дублирование на 50%.
Настройка webhook для приёма событий
Создаёте маршрут, который принимает POST-запросы от Манго Офис. Тело запроса — JSON с event и данными звонка. Обрабатываем события call_arrived, call_started, call_finished. Пример на PHP:
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(); 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 ]); } }); После настройки webhook данные звонков сохраняются в вашей БД, а менеджеры получают уведомления через WebSocket.
Click-to-Call через API
Инициируйте звонок из CRM одним кликом. Используйте 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')) ]); Это позволяет менеджеру звонить клиенту прямо из интерфейса, без ручного набора.
Получение записей разговоров через API
Для аналитики и контроля качества используйте API для получения записей. Отправляете POST-запрос с диапазоном дат, получаете список записей с URL аудио. Пример:
$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(); Каждая запись привязывается к сделке в CRM. Средний размер записи — 10 МБ, за неделю накапливается до 500 МБ данных.
Сравнение вариантов интеграции
| Функционал | Виджет Манго Офис | Кастомная интеграция через API |
|---|---|---|
| Click-to-call | Есть | Есть + привязка к CRM |
| Данные о звонке | Только статистика | Полная история с записью, тегами, сделками |
| Время на запуск | 1 день | 2–4 дня |
| Контроль над маршрутизацией | Ограничен | Гибкий: по странице, товару, времени |
| Скорость обработки звонка | 1.5x медленнее | 1x (эталон) |
| Стоимость | Фиксированная подписка | Индивидуально, под ваш объём |
Кастомная интеграция в 1.5 раза быстрее обрабатывает звонки, чем стандартный виджет.
Что входит в интеграцию?
- Настройка webhook для событий звонков
- Реализация click-to-call через API Манго Офис
- Функция нормализации номеров (PHP, JS или другой стек)
- Интеграция с вашей CRM (битрикс24, amoCRM и другие)
- Загрузка и привязка записей разговоров
- Документация по эксплуатации
- Гарантия стабильной работы — 1 месяц поддержки бесплатно
Этапы интеграции под ключ
| Шаг | Что делаем | Срок |
|---|---|---|
| Анализ | Изучаем CRM, схему БД, процессы | 1 день |
| Настройка webhook | Создаём endpoint для событий | 1 день |
| Интеграция click-to-call | Кнопка звонка в карточках | 1 день |
| Привязка записей | Сохранение аудио к сделкам | 1 день |
| Тестирование | Имитация сценариев | 1 день |
| Деплой | Передача документации, обучение | 1 день |
Итого: базовая интеграция занимает 2–5 дней в зависимости от сложности.
Чек-лист для успешной интеграции
- Убедитесь, что API-ключ и соль настроены корректно. Неверная подпись — 90% проблем.
- Используйте уникальный call_id для каждого звонка, чтобы избежать дублирования.
- Нормализуйте номера с учётом международного формата, особенно если клиенты из разных стран.
- Учитывайте лимиты API: не более 100 запросов в минуту.
Следуя этим пунктам, вы избежите типичных ошибок на старте.
Заключение
Интеграция Манго Офис с сайтом — это не просто техническая задача, а возможность автоматизировать обработку звонков и повысить конверсию. Наш подход — кастомная настройка под вашу CRM и бизнес-процессы. Стоимость интеграции рассчитывается индивидуально. Получите консультацию инженера — свяжитесь с нами для оценки вашего проекта.







