Главная → Интеграции → Контроль обмена 1С и CRM
Интеграции · эксплуатацияКонтроль обмена 1С и CRM: как обнаруживать сбои и проверять данные
Обмен может запускаться по расписанию и при этом оставлять в CRM старые данные. Для контроля нужны признаки доставки, обработки и актуальности, а также понятный порядок действий при сбое.
Автор: Александр Усольцев. Опубликовано .
Сначала опишите правила обмена
Составьте список объектов и направлений: клиенты, товары, заказы, остатки или статусы. Для каждого определите источник данных, способ сопоставления записей и допустимую задержку. При двустороннем обмене отдельно согласуйте, что происходит, если одно поле изменили с обеих сторон.
Укажите, через что проходит передача: модуль, API, очередь или промежуточный сервис. В планах обмена 1С предусмотрены узлы и нумерованные сообщения. При другой реализации используйте её средства прослеживания; наличие 1С не означает, что любой обмен построен на планах обмена.
Четыре вида контроля
Последний успешный результат
Когда данные не только отправлены, но приняты и обработаны. Отдельно фиксируйте момент запуска задания: его выполнение ещё не доказывает актуальность CRM или 1С.
Ошибки и частичные отказы
Какие объекты не прошли проверку, какие права или реквизиты отсутствуют. Успешный ответ на пакет не должен скрывать ошибки отдельных элементов.
Очередь и задержка
Есть ли необработанные сообщения, сколько времени ждёт самое старое и как меняется очередь. Отсутствие новых сообщений тоже нужно отличать от остановки отправителя.
Сверка данных
Появился ли нужный заказ или клиент, совпадают ли согласованные остатки и статусы. Проверяйте направление обмена и систему, которая считается источником каждого поля.
Что проверить при сбое
- Зафиксируйте время, затронутую систему, направление и пример объекта. Сохраните идентификатор сообщения или запроса, если он есть.
- Найдите последний подтверждённый успешный результат. Определите, какие изменения могли накопиться после него.
- Проверьте, где остановилась цепочка: подготовка данных, отправка, приём или обработка. Сопоставьте записи журналов разных систем по времени и идентификаторам.
- Разделите временную недоступность, ограничения API, ошибки авторизации и ошибки самих данных: способы восстановления различаются.
- Согласуйте повторную обработку и проверьте результат в принимающей системе. Отдельно убедитесь, что не появились дубли и не затёрты более новые изменения.
Не очищайте очередь и не запускайте полный обмен повторно, пока не понятно, какие записи уже обработаны. Для первого обращения передайте обезличенное описание ошибки; пароли, токены и выгрузки клиентов в форму заявки не нужны.
Повторы без дублей
Таймаут не всегда означает, что принимающая система ничего не сделала: ответ мог потеряться после записи данных. Поэтому перед автоматическими повторами нужен понятный способ отличить уже обработанную операцию от новой.
Один из подходов — стабильный идентификатор операции и проверка повторной обработки. Идемпотентный обработчик не создаёт дополнительный заказ при повторной доставке той же операции. Возможность и срок такого контроля зависят от API и реализации; одинаковый HTTP-запрос сам по себе этого не гарантирует. Принцип разобран в материале AWS о безопасных повторах.
Для временных отказов применяйте ограниченное число повторов с паузами. Ошибки формата или прав требуют исправления причины. При накоплении необработанных сообщений нужен отдельный разбор, а не бесконечный цикл запросов.
Особенности Битрикс24
В облачном Битрикс24 действуют ограничения интенсивности и ресурсоёмкости REST-запросов. Обрабатывайте код ошибки и планируйте нагрузку с учётом текущей документации API. В коробочной версии условия зависят также от настроек сервера.
После смены учётной записи, прав или настроек приложения повторно проверьте доступные операции. Успешная проверка соединения ещё не подтверждает, что интеграция может создать или изменить нужный объект.
Что должно быть в оповещении
- Какая интеграция и направление затронуты.
- Когда возникла ошибка и когда был последний успешный результат.
- Тип проблемы, идентификатор для поиска в журнале и влияние на данные.
- Ответственный, канал связи и следующий шаг.
Порог задержки согласуйте с бизнесом: требования к остаткам магазина и обновлению справочника могут различаться. Предусмотрите уведомление не только об ошибке, но и об отсутствии ожидаемых успешных запусков. Проверяйте доставку сообщений и сообщение о восстановлении. Мониторинг и режим реакции специалиста — отдельные условия.
Как принять восстановленный обмен
Сначала проверьте согласованный набор объектов и направления на тестовых данных. После восстановления рабочего обмена сравните значения на обеих сторонах, проверьте накопившуюся очередь и контроль дублей. Наблюдайте несколько обычных циклов и убедитесь, что оповещения соответствуют фактическому состоянию.
В описании интеграции сохраните правила, ответственных, доступ к журналам и порядок восстановления. Журналы должны помогать искать ошибку без раскрытия токенов и лишних персональных данных.
Пример из практики и услуги
В кейсе интернет-магазина ручной запуск заменён автоматическим обменом с контролем. Самописный микросервис связан с 1С, самописной CRM и программой комплектации посылок. Это подтверждённая схема проекта; конкретные очереди, протоколы и алгоритмы повторов в кейсе не раскрываются.
- Интеграции систем — обмены между учётом, CRM, сайтом и сервисами.
- Интеграция 1С и Битрикс24 — согласование, настройка и контроль.
- Сопровождение 1С — регулярная работа с базой и обменами.