Skip to main content

Механизмы запуска синхронизации и их настройки

Функционал модуля синхронизации охватывает различные этапы бизнес-процессов, связанных с заказами и каталогом товаров.

Для запуска процессов синхронизации (загрузки, выгрузки и передачи данных) используются различные триггеры как на стороне модуля, так и на стороне МойСклад.

В модуле используется 3 типа основных инициаторов (триггеров) запуска процессов синхронизации:

1. Вебхуки МойСклад

Срабатывают при создании или изменении сущностей в МойСклад. К таким сущностям относятся элементы каталога (товары, модификации, комплекты), а также данные, связанные с заказами.

При срабатывании вебхука запрос отправляется на сайт, где обрабатывается модулем и запускает соответствующие процессы синхронизации.

При первой установке модуля вебхуки не добавляются в МойСклад автоматически — их необходимо создать вручную.

Для этого после авторизации перейдите в раздел «Вебхуки и агенты». В данном разделе доступны несколько вкладок, две из которых предназначены для настройки вебхуков, необходимых для корректной работы модуля:

wh1.jpg

При добавлении вебхука в МойСклад указывается URL (ссылка), на который будет отправляться запрос. Для такой ссылки обязательно должен быть указан домен.

По умолчанию домен определяется на основании общих настроек 1С-Битрикс, однако для корректной работы рекомендуется явно указать его в поле «Основной домен».

Рекомендуется заполнять это поле во всех случаях при настройке вебхуков:

wh2.jpg

Типы обработки вебхуков

В модуле предусмотрено два режима обработки вебхуков. Режим можно указать в отдельном выпадающем списке в разделе настроек вебхуков:

wh3.jpg

1. Обработка без очереди.

В данном режиме вебхуки обрабатываются сразу при поступлении на сайт. Это наиболее быстрый способ, при котором изменения в МойСклад практически мгновенно отражаются на сайте.

Для настройки доступны дополнительные параметры:

"Количество одновременно обрабатываемых вебхуков":

wh4.jpg

"Синхронизировать множественные вебхуки" — используется при массовом редактировании данных в МойСклад:

wh5.jpg

Однако данный рРежим обработки вебхуков без очередей имеет ограничения:

  • при высокой нагрузке и большом количестве изменений возможны ошибки обработки;
  • часть вебхуков может быть пропущена и не обработана;
  • использование режима с включённой обработкой множественных вебхуков (вебхук полученный после группового редактирования элементов в МойСклад) на текущий момент не рекомендуется.

2. Обработка на очередях

В этом режиме все входящие вебхуки сначала сохраняются в базе данных, после чего обрабатываются последовательно.

Обработка выполняется:

  • через агенты 1С-Битрикс;
  • либо через cron (с использованием отдельного скрипта).

Дополнительно можно настроить количество вебхуков, обрабатываемых за один запуск:

wh6.jpg

Преимущества данного режима:

  • гарантированная обработка всех вебхуков;
  • отсутствие потери данных при высокой нагрузке;
  • стабильная работа при большом объёме изменений.

Несмотря на то, что обработка происходит не мгновенно, данный режим является рекомендуемым для использования.

Как создать в МойСклад необходимые вебхуки

Для добавления всех необходимых вебхуков в МойСклад перейдите в раздел «Вебхуки и агенты», на вкладку «Основные настройки», и нажмите кнопку «Проверить/восстановить необходимые вебхуки».

После завершения процесса в блоках «Вебхуки заказов и контрагентов» и «Вебхуки товаров, оприходований и разделов» отобразится список всех добавленных вебхуков.

wh7.jpg

Возможные проблемы с вебхуками при смене домена

Вебхук - это механизм отправки уведомлений при наступлении в системе события, на которое подписано клиентское приложение. Под событием понимается изменение состояния системы.

Например, событиями являются: <I>создание нового товара, изменение полей у контрагента, удаление заказа покупателя</I>.

Уведомлением будет запрос метода POST, который будет содержать следующую информацию о наступившем событии: его тип и ссылку на изменившийся объект. Например, при изменении наименования товара, будет отправлено уведомление, которое будет содержать ссылку на созданный товар.

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

Настройка вебхуков расположена на странице обязательных настроек модуля обмена с МС.

Скриншот 25-07-2025 133129.jpg

Вебхуки прописаны в модуле для каждого действия, которое может делать модуль с их помощью. Если возникают проблемы с синхронизацией по вебхукам (иногда бывает, когда на сайте есть еще интеграции, которые используют вебхуки) или же Вы сменили домен Вашего сайта - нужно вручную перенастроить вебхуки.

ВАЖНО! Ознакомьтесь с инструкцией МойСклад

На каждую сущность должно быть не более 5 вебхуков. Например, вебхук customerorder должен встречаться не более 5 раз.

Удаление вебхуков
Возможные блокировки вебхуков со стороны МоегоСклада

2. События в 1С-Битрикс

Возникают при создании или изменении сущностей на сайте (например, заказов). При срабатывании таких событий запускаются процессы выгрузки данных в МойСклад.

3. Циклические процессы (планировщик)

Отдельные методы синхронизации выполняются по расписанию.

Такие процессы могут запускаться:

  • через агенты 1С-Битрикс;
  • через cron (с использованием отдельного скрипта).

Циклический запуск используется для выполнения регулярной синхронизации и обработки накопленных данных.

Основные функции модуля работают через события (вебхуки). Но для полноценной работы модуля нужно перевести выполнение агентов на cron. А именно крон нужно настроить обязательно для:

  • одноразовой и циклической синхронизации товаров и остатков;
  • синхронизации заказов на агентах (если нужно, они изначально настроены на вебхуки);
  • синхронизации скидок. Выполнение агентов можно настроить через постановку агентов на CronTab так и через выполнение агентов на крон.

Для выполнения агентов на крон нужно поставить обязательно файл

<адрес сайта>/bitrix/services/design2u.syncms/cron_aprix.php в планировщике на выполнение каждую минуту.

Второй способ: Для постановки выполнения агентов на CronTab нужно сделать настройки следуя шагам инструкции от Битрикс.

Видео: 1С-Битрикс. Ставим выполнение агентов на крон (CronTab)