Шаг 1. Сформулировать цели и метрики (Скучно, но обязательно, если хотите получить измеряемый результат). Например: «снизить дубли на 50%», «поднять скорость ответа до 5 минут», «видеть выручку по каналам в BI».
Шаг 2. Построить карту данных. Сопоставьте сущности: Лид/Сделка Контакт Компания, кастомные поля, статусы воронок, источники лидов, пользователи. Опишите правила «кто источник истины».
Шаг 3. Спроектировать архитектуру интеграции. Шина/микросервис интеграций, очереди (например, очередь сообщений), ретраи с бэкоффом, идемпотентность (повторяемая без побочных эффектов обработка). Внешние системы — через веб‑хуки и/или плановый опрос.
Шаг 4. Авторизация и безопасность. OAuth2, безопасное хранение токенов, обновление рефреш‑токенов, строгие роли. Логи доступа.
Шаг 5. Веб‑хуки и идемпотентность. Веб‑хуки могут приходить повторно и не по порядку — кладём их в очередь, откладываем обработку до полной информации, защищаемся от дублей по уникальным ключам (hash/uuid).
Шаг 6. Антидубликаты. Алгоритмы объединения по телефону/e‑mail/ИНН + «золотые» поля. Настроить приоритеты источников и слияние историй.
Шаг 7. Учёт лимитов API. Пакеты/пакетные запросы, «делтовая» репликация, агрегация операций, экспоненциальный бэкофф. Пиковые задачи (исторические выгрузки) — ночью.
Шаг 8. Файлы и вложения. Файловый API авторизуется отдельно; привязка к сделкам/контактам — только после успешной загрузки, иначе висящие «хвосты».
Шаг 9. Логи, мониторинг, алерты. Технические (RPS, ошибки), бизнес (создано лидов, SLA ответа, конверсия этапов). Отдельный дешёвый «долгий лог» для расследований.
Шаг 10. Песочница и миграция. Тестовый аккаунт, фиктивные данные, сценарии отката. Релиз поэтапно: источники → продажи → финансы.