Перейти к основному содержимому

Импорт из МойСклад в Битрикс24 — вебхуки, очередь, сделка

Импорт — это перенос из МойСклад в Битрикс24. Его запускает сам МойСклад: при каждом изменении документа он отправляет на портал короткое уведомление — вебхук. Модуль получает его, ставит задачу в очередь и в фоне обновляет CRM.

Пример

Кладовщик меняет статус заказа покупателя на «Отгружен». МойСклад отправляет вебхук, модуль находит связанную сделку и переводит её на стадию, сопоставленную статусу «Отгружен». Менеджер видит это в CRM через несколько секунд, ничего не обновляя вручную.

Какие вебхуки нужны​

Вебхуки создаются в МойСклад одной кнопкой на странице Общие параметры → Вебхуки МойСклад — всего 8 штук:

Сущность МойСкладСозданиеОбновление
Заказы покупателейдада
Заказы поставщикамдада
Контрагентыдада
Входящие платежидада

Вебхуки на удаление модуль намеренно не устанавливает: удалённый в МойСклад заказ или контрагент остаётся в Битрикс24. Если такие вебхуки остались от прежней версии модуля, кнопка Обновить хуки их снимет. Подробнее о самой странице — Вебхуки МойСклад.

Без вебхуков импорта нет

Если вебхуки не установлены или «покраснели» (например, после смены адреса сайта или секретного ключа), обмен из МойСклад в Битрикс24 молча останавливается: экспорт продолжит работать, а обратные изменения перестанут приходить. Проверяйте страницу вебхуков после любых изменений подключения.

Путь заказа до сделки​

По шагам:

  1. Приём. Модуль проверяет секретный ключ в адресе вебхука. Чужой запрос без ключа отклоняется и попадает в журнал событий портала как попытка доступа.
  2. Отсев повторов. Если МойСклад прислал одно и то же уведомление дважды за несколько секунд, второе игнорируется.
  3. Удаление — мимо. Вебхуки на удаление модуль не устанавливает; если такое уведомление всё же придёт (например, от вебхука, оставшегося от прежней версии модуля), оно записывается в лог и дальше не идёт.
  4. Задача. В очередь ставится задача со ссылкой на документ. Если такая задача уже ждёт, новая не создаётся.
  5. Включён ли обмен. Заказ покупателя и заказ поставщику загружаются, только если обмен этим документом включён. Контрагенты сами по себе — только при включённом независимом обмене контрагентами.
  6. Проверки и фильтр. Как и при экспорте, нужен полный набор обязательных настроек. Если заданы условия на вкладке Фильтры для документов МойСклад, документ должен подойти под все. Например, «только заказы определённой организации» или «от определённой даты».
  7. Поиск и запись. Модуль ищет пару в Битрикс24 по полям поиска (см. Как модуль находит пару). Нашёл — обновляет только изменившиеся поля и стадию. Не нашёл — создаёт новую сделку и сам проставляет в ней тип документа.
  8. Клиент. Контрагент заказа находится или создаётся в Битрикс24 как контакт или компания — даже при выключенном независимом обмене контрагентами. Если МойСклад временно недоступен и клиента получить не удалось, сделка без клиента не создаётся: задача уйдёт на повтор.
  9. Товары. При включённом обмене корзиной в сторону Битрикс24 позиции заказа записываются в товарные строки сделки — уже после того, как сделка сохранена. Отсутствующий в каталоге товар модуль создаёт сам.

Контрагенты​

Вебхук по контрагенту обрабатывается при включённой «Включить независимый обмен контрагентами». Станет ли контрагент контактом или компанией, зависит от его типа в МойСклад (юрлицо, ИП, физлицо) и от того, к какой сущности CRM этот тип привязан в настройках. Если обмен контактами или компаниями выключен соответствующей настройкой, такой контрагент пропускается. Подробнее — Контрагенты и Типы контрагентов.

Входящие платежи​

Входящий платёж становится оплатой в сделке, когда:

  • включён «Включить контур оплат», а «Направление обмена оплатами» допускает загрузку в Битрикс24;
  • включён обмен заказом покупателя, и платёж относится к заказу, который уже связан со сделкой;
  • выбрана «Платёжная система по умолчанию» — без неё импорт оплат не проходит проверку готовности.

Если включена «Импортировать только проведённые платежи», непроведённые платежи пропускаются. При включённой «Связывать статус "Оплачено" и проведение» проведённый платёж отмечает оплату в Битрикс24 как оплаченную — со всеми штатными последствиями: датой оплаты, записью в таймлайне и роботами. Снятие проведения в МойСклад уже оплаченную оплату не откатывает. Подробнее — Оплаты.

Как быстро​

Вебхук приходит в момент изменения в МойСклад, задача запускается в фоне сразу — обычно сделка обновляется за несколько секунд. При шторме вебхуков (массовое изменение статусов, загрузка заказов) задачи разбирает агент по расписанию. См. Очередь.