Задача
Разработать и внедрить решение (микросервис или скрипт), которое обеспечит автоматическую синхронизацию данных между Google Таблицами и CRM на базе Битрикс24. Все изменения на одной стороне (добавление, обновление или удаление записей) должны мгновенно отображаться на другой стороне. Дополнительно требуется настроить отчетность на основе агрегированных данных.
Обязательные требования
- Двусторонняя синхронизация (реал-тайм или по расписанию с минимальной задержкой). Изменения в строках таблицы должны создавать/обновлять сущности в CRM (лиды, сделки, контакты). Обратное движение данных (обновление CRM -> таблицы) также обязательно.
- Использование Google Cloud Services или сторонних интеграторов. Допускается разработка на любом языке (Python, Node.js, PHP), которая будет работать как парсер или API прокси.
- База-репозиторий. Вместо реляционной БД данные могут храниться непосредственно в Google Sheets или промежуточной базе данных (PostgreSQL/Clickhouse) для гибкой выгрузки.
- Вывод отчетности: На основе актуальных и исторических данных (сводки по сделкам, конверсии, воронка продаж). Инструмент: BigQuery или Looker.
- Безопасность. В ходе работы запрещено сохранять пароли/APIX-ключи в открытом виде. Все логи легко отслеживаются.
Пожелания по реализации
- Использовать standard oAuth 2.0 для подключения к Sheets API и REST Битрикс24.
- Возможность выбирать поля для синхронизации (кастомные маппинги через Webhook/UI).
- проверка access key наличие ошибок в данных (тип данных, обязательные поля) и отправка уведомлений в телеграм.
Формат сдачи
Работа считается выполненной когда: описание схемы synchronization структуры данных, готовый либо скрипт либо микросервис в Docker контейнере, публичный адрес между CRM таблицами синхронизируются, тестовые данные отражаются в обоих системах, и создан отчет (Looker-SeeudoGraph table) отображенный на табло (Dashboard).