Для B2B сайта необходимо обеспечить двухстороннюю синхронизацию клиенту между CRM (Freshoffice) и сайтом. Обеспечить показ разных типов цен разным клиентам. Уведомлять менеджеров о всех действиях привязанного к ним пользователя. Сформировать списки рассылок в sendsay (сервис email рассылок).
Сайт клиента: https://electrastyle.ru/
Особенности реализации. Основная проблема - двухсторонняя синхронизация. За основу взяли принцип единого источника данных. В данном случае - эти источником выступает CRM. Все пользователи, которые регистрируются на сайте автоматически отправляются в CRM (если их еще там нет) и распределяются по группам. Каждую ночь мы выкачиваем всех пользователей из CRM, сравниваем с пользователями на сайте и при необходимости регистрируем тех, которых нет в списках. Такая реализация задачи связана с тем, что в CRM нет возможности получить только “измененных” за определенный период пользователей.
При отправке данных иногда происходит ошибка и пользователи не передаются в CRM. Такие пользователи сохраняются и передаются одним списком ночью (время наименьшей нагрузки на CRM).
На сайте каждый пользователь привязан к определенному менеджеру из CRM. Синхронизация менеджеров пользователей так же происходит каждую ночь. Менеджер получает уведомления о всех активностях пользователя на сайте: клиент не может восстановить пароль, клиент оставил товары в корзине и пр. Такие уведомления позволяют менеджерам работать “на опережение” по закрепленным клиентам.
На основании типа контрагента каждую ночь происходит обновление списков для рассылок в sendsay. Несмотря на сложность и объемность ночных синхронизаций (более 40 000 клиентов, три разных системы), они проходят буквально за 20 минут.