Ящик картотеки с чистыми карточками на тёмном столе, тени пальмовых листьев
← Все проекты

Финтех · Архитектура и ТЗ · в разработке

Платформа взыскания для банков Юго-Восточной Азии

Платформа, в которой оператор видит всю историю по должнику в одном окне: кто звонил, что обещали, когда следующий контакт. Спорные записи из портфелей банка проверяет человек, поэтому разных людей с одним телефоном не склеят в одного должника.

1окно оператора на звонки, мессенджеры и почту
0спорных дублей попадает в базу без проверки человеком
2языка документации

Задача

Долги ведут в таблицах и разрозненных базах: оператор не видит, кто уже звонил должнику и что тот обещал, а отчёт для банка-клиента собирают ручной сверкой.

Отдельная головная боль — мусор в портфелях: один телефон на десятки должников, имена в разных написаниях.

Что сделали

Вся история должника в одном окне

Телефония, мессенджеры и почта сведены в единый таймлайн коммуникаций: видно, кто звонил, что обещали, когда следующий контакт.

Разные люди не склеятся в одного

Записи склеиваются только по точным совпадениям. Спорные дубли уходят человеку на проверку, а не молча в базу.

Обзвон работает с первого релиза

От визуального BPM-конструктора в первом релизе отказались: заказчику нужны работающие стратегии обзвона, а не конструктор. Оставили таблицу правил.

Документы не противоречат друг другу

OpenAPI, ER и C4 всех уровней генерируются из единого графа знаний и не расходятся друг с другом. Всё — на двух языках.

Владелец и техдиректор говорят об одной системе

Техническая C4 и обзор для владельца бизнеса называют сервисы одинаково. Иначе техдиректор и владелец обсуждают две разные системы.

Почему этому можно верить

Дубли при импорте
Автоматически объединяются только записи с точным совпадением. Если у двух должников один телефон или имя записано в пять слов в разном порядке, запись уходит оператору. В азиатских портфелях один номер на десятки людей встречается регулярно, часто это мошенническая схема, и склеивать такое без человека нельзя.
Стратегии обзвона
Визуальный BPM-конструктор из первого релиза убрали. Вместо него таблица правил. Заказчику нужны были стратегии, которые работают в понедельник, а редактор для их рисования можно добавить потом.
Активные кейсы и архив
Операционная база держит только то, с чем операторы работают сейчас. Закрытые эпизоды уезжают в архив, отчёты считаются в колоночном хранилище, и боевая база не отвечает за аналитику по всей истории.
Данные по странам
Хранилище региональное. Модели должников в разных странах не совпадают по полям, общий Data Lake дал бы таблицу из пустых колонок. Страновые особенности вынесены в настраиваемые атрибуты.

Как устроено

Входы
Веб-приложение оператора, виджет звонка, админка. Всё через API Gateway.
Сервисы
Шестнадцать в пяти группах: люди и доступ (аутентификация, профили, должники, организации), кейсы и деньги (кейсы с балансом, платежи), коммуникации (хаб, уведомления, телефония), процессы (задачи, сегментация, стратегии), данные (импорт, файлы, конфигурация, отчёты).
Шина и хранилища
RabbitMQ между сервисами. PostgreSQL для основных данных, MongoDB под коммуникации и конфигурацию, Redis для сессий, MinIO для файлов, ClickHouse для отчётов.
Снаружи
АТС Asterisk по AMI/ARI/SIP, звонок в интерфейсе оператора через WebSocket. Мессенджер через облачный API, почта по SMTP и IMAP. Банк отдаёт портфели и платежи через SFTP, Excel или API, обратно уходят батчи для сверки в его хранилище.
Документация
C4 L1 и L2 в Structurizr DSL и drawio. OpenAPI и ER руками не рисовали, они собраны из графа. Веб-документация на двух языках.

Похожая задача?

Опишите её — пришлём состав работ и смету за 24 часа.

Состав работ и смету пришлём за 24 часа.

Следующий проект