Към съдържанието
N1
Интеграции · Kafka · мобилно приложение

Заявки от мобилното приложение в Bitrix24 през Kafka и обратна връзка към клиента

Клиент: Финансова компания, NDA Категория: Интеграции Стек: PHP 8, Kafka (rdkafka), Bitrix24 REST и D7, supervisor/systemd, Telegram известия Срок: внедрявано поетапно
Проблем

Заявките за кредит със залог на недвижим имот идваха от мобилното приложение и трябваше без ръчно пренасяне да се превръщат в сделки в CRM с документи и данни за залога. В обратната посока приложението трябваше да научава за решението и да моли клиента да оцени обслужването.

Ограничения

Консуматорът работи постоянно и не бива да пада при некоректно съобщение; телефоните идват в различни формати; документът на клиента не бива да се губи; клъстерите на Kafka са два и изпращането към грешния вече беше давало „успех“ с празен топик.

Какво направих
  • PHP консуматор на rdkafka под supervisor/systemd: заявката от топика се превръща в контакт и сделка във фунията за микробизнес
  • Контактът се търси по ИИН и варианти на изписване на телефона; към сделката се прикачва личната карта, мапват се видът на залога и кодът КАТО
  • Ръчна повторна обработка на пропуснати заявки по HTTP и от CLI, Telegram известия при сривове, маскиране на лични данни и документи в логовете
  • Статусите на заявката по номер на сделката се изпращат обратно в топика на мобилното приложение
  • Producer: при краен етап на сделката събитието отива в Kafka с acks=all и потвърждение чрез delivery report, а приложението изпраща на клиента push с молба да оцени обслужването
Архитектура
Мобилно приложение → Kafka топик за заявки → Консуматор на PHP → Bitrix24: контакт и сделка → Producer → push към клиента
Резултат

Заявките от мобилното приложение влизат в CRM без ръчно пренасяне — с документа и данните за залога, а клиентът научава за решението и получава молба за оценка. Доставката на събитието се потвърждава от брокера, а срив в обработката веднага се вижда в Telegram.

Какво може да се преизползва
PHP консуматор за Kafka с ръчна повторна обработка Producer с потвърждение на доставката acks=all Търсене на контакт по варианти на телефона