Контекст
Колл-центру нужна была платформа, где менеджер сам собирает обзвон: загружает контактов, выбирает скрипт, запускает кампанию и видит результат в кабинете — без прокладок и сторонних SaaS.
Решение
В кабинете живут кампании, контакты, скрипты обзвона и журнал звонков. При запуске кампании система отправляет звонки в телефонию, обрабатывает входящие колбэки через VoiceHookController, фиксирует длительность, статус и результат. Биллинг считает минуты по тарифу проекта и обновляет внутренний инвойс. Есть отдельные дешборды для кампаний и биллинга.
Стек и архитектура
- Backend: Spring Boot, Spring Security, Spring Data MongoDB.
- Контроллеры:
CallController,CampaignController,ContactController,IncomingCallController,TelephonyController,VoiceHookController,BillingController,InternalInvoiceController,ProjectManagementController,UserController. - Frontend: Next.js, разделы
dashboard/campaigns/calls/contacts/billing/settings/profile. - Деплой: Docker.
Роль и результат
Мы сделали доменную модель кампаний и звонков, voice-hook callback, биллинг по минутам и кабинет менеджера. Менеджер запускает кампанию за пару минут и видит результат без выгрузок.