Кейс | Restful сервис для обмена Битрикс24 и 1С

Кейс | Restful сервис для обмена Битрикс24 и 1С

Что требовалось сделать

  • Реализовать обмен между CRM системой Битрикс24 и 1С логистика
    • Обеспечить двух стороннюю синхронизацию контактов и компаний
    • Обеспечить сценарии при которых контакты и компании могут быть созданы или отредактированы как в Битрикс24 так и в 1С
если создаем компанию в 1с – она должна появится в битриксе, если менеджер добавил этой компании номер телефона в битриксе, он должен быть передан в 1С
если в 1с для компании добавили несколько реквизитов, их надо передать в битрикс

Что было сделано

  • REST API Приложение обеспечивающее обмен между двумя системами
  • Промежуточная база данных для хранения данных о клиентах и компаниях
  • Учет клиента который совершал манипуляции с данными
    • Под клиентом подразумевается система которая отправляет запросы в апи.
    • Под учетом клиента подразумевается системный сценарий, записи даты последнего изменения элемента в базе, с указанием каким клиентом было внесено изменение, это нужно для синхронизации изменений.
  • Интерактивная документация с функционалом тестирования запросов

Логика работы приложения

Mermaid Diagram
sequenceDiagram participant Bitrix24 participant 1C participant FastAPI participant Database Bitrix24->>FastAPI: HTTP Запрос FastAPI->>FastAPI: Валидация Запроса FastAPI<<->>Database: Взаимодействие с Базой Данных FastAPI->>FastAPI: Подготовка Ответа FastAPI-->>Bitrix24: HTTP Ответ 1C->>FastAPI: HTTP Запрос FastAPI->>FastAPI: Валидация Запроса FastAPI<<->>Database: Взаимодействие с Базой Данных FastAPI->>FastAPI: Подготовка Ответа FastAPI-->>1C: HTTP Ответ

Модель взаимодействия построена следующим образом:

  • Есть два клиента
    • Битрикс
  • Клиенты отправляют запросы на приложение
  • Приложение узнает клиента по токену (у каждого свой)
  • После получения и проверки запроса, приложение выполняет манипуляции с базой данных
  • Промежуточная база пополняется данными асинхроно

Данная парадигма исключает взаимодействие битрикс и 1с напрямую, все взаимодействие между двумя системами (клиентами) случается через промежуточную базу, по запросу от разработчиков 1С был добавлен дополнительный метод позволяющий получить изменения сделанные конкретным клиентом, в определенный промежуток времени, чтобы 1С могла забирать только те контакты и компании которые были изменены или созданы с момента последнего запроса


Что в итоге получилось, какие боли вылечили

  • Исключили рассинхрон в данных между системами (теперь карточки компаний и контрагентов выглядят одинаково во всех системах)
  • Клиентская база пополняется в двух системах одновременно
  • Исключили передачу клиентских данных по "голубиной почте" между сотрудниками
    • Если у сотрудника, который работает в 1с но не работает в битриксе возникает потребность связаться с клиентом, ему больше не нужно изыскивать его контакты у отдела продаж, или просить что-то ему передать, контакты теперь в удобном для него месте.
  • Повышено качество данных при работе с CRM
    • как следствие открывается огромный пул возможностей для crm маркетинга
💡

- С какими версиями 1С может работать это решение?
- С любой версией, которая может отправлять http запросы
- Можно даже подключить несколько баз 1С, если бизнесовые сценарии того требуют.

С каким версиями Битрикс24 может работать это решение?
Облако, любой платный тариф, а также в Коробке.