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

Событийна интеграция на Bitrix24 през Kafka

Клиент: NDA Категория: Интеграции Стек: Node.js, Kafka (kafkajs), Bitrix24 REST, Azure AD, Telegram известия Срок: 2–5 седмици
Проблем

Единичните HTTP заявки към външна система не се мащабираха и не оставяха история от събития: при отказ обменът просто се губеше, а за прекъсванията се разбираше едва след оплаквания от клиенти.

Ограничения

Събитията трябваше да се съпоставят със записи в CRM по бизнес ключ, а не по вътрешен ID, не биваше да се губят събития при срив на обработчика, отказите трябваше да се докладват бързо, а достъпът на служителите в CRM трябваше да е синхронизиран с корпоративната директория.

Какво направих
  • HTTP приемник, публикуващ събития в Kafka топик
  • Kafka консуматор, който намира или създава сделка в CRM по бизнес ключ
  • Кастомни полета за залог и данни за кредитополучателя направо в картата на сделката
  • Синхронизация на служебните акаунти с Azure AD
  • Telegram известия с линк към картата на сделката при грешки в обработката на събитие
  • Развитие на схемата на събитието без спиране на обмена
Архитектура
External system HTTP → Kafka producer Kafka topic Consumer Bitrix24 REST Azure AD Telegram известия с линк
Резултат

Обменът стана событиен и възстановим: отказ в обработчика вече не губи събитието и не мълчи — има повторен опит и известие вместо тишина.

Какво може да се преизползва
HTTP → Kafka producer Consumer със съпоставяне по бизнес ключ Схема за Telegram известия при грешки в обработката