Интеграции
МойСклад: Обмен контрагентами по API
Двусторонний обмен пользователями 1С-Битрикс и контрагентами МойСклад по API: стандартные и дополнительные поля, группы, тип контрагента и персональные скидки. Работает даже на редакции «Старт».
- МойСклад
- Контрагенты
- Пользователи
- Интеграция
- 1С-Битрикс
- despi.moyskladusers
-
Демо-период 14 дней
Полный функционал до оплаты — проверьте на своём каталоге.
-
Бессрочная лицензия
Платите один раз — модуль остаётся на сайте без подписки.
-
Поддержка от автора
Отвечает разработчик модуля. Входит в стоимость лицензии.
-
Доработка под задачу
Нужен свой сценарий — сделаю на заказ.
Описание
Модуль связывает пользователей сайта на 1С-Битрикс и контрагентов МойСклад. Покупатель регистрируется на сайте — в МойСкладе сразу появляется контрагент. Менеджер правит контрагента в учёте: меняет телефон, группу, персональную скидку — изменения приезжают в карточку пользователя на сайте. Без выгрузок файлами и ручного переписывания клиентской базы.
Обмен двусторонний, и каждое направление включается отдельно: можно только принимать контрагентов на сайт, только отдавать пользователей в учёт или делать и то и другое. Какие поля, группы и сайты участвуют в обмене — решаете вы в настройках модуля.
Что синхронизируется
Пользователи 1С-Битрикс и контрагенты МойСклад — в обе стороны: создание и обновление.
Все стандартные поля пользователя и контрагента с гибким сопоставлением «поле ↔ поле».
Дополнительные поля МойСклад: строка (включая текст и ссылку), число (включая дробное), дата — её можно связать с датой рождения пользователя.
Группы: группы пользователя Битрикс ↔ группы контрагента МойСклад.
Тип контрагента (юрлицо, ИП, физлицо) ↔ группа пользователя на сайте.
Персональная и накопительная скидка контрагента — в группу пользователя, которую дальше можно использовать в типах цен.
Профиль покупателя интернет-магазина — создаётся и обновляется по данным контрагента (только из МойСклад в Битрикс).
Как это выглядит в работе
Обмен идёт по событиям. Создали или изменили контрагента в МойСкладе — учётная система присылает веб-хук, модуль находит пользователя на сайте и создаёт или обновляет его. Зарегистрировался или изменился пользователь на сайте — модуль ищет контрагента в МойСкладе и создаёт или обновляет его.
Чтобы подтянуть уже существующую базу, есть массовый импорт контрагентов агентом: по умолчанию он забирает только изменённых контрагентов, а по команде разово проходит по всей базе и возвращается к режиму изменений.
Каждая операция пишется в журнал модуля: успешные импорты, экспорты и ошибки, с подробностями по клику на запись.
Настройка без программиста
Поиск с приоритетом. Пользователь и контрагент ищутся по выбранным полям — Email, телефон, внешний код, ИНН, пользовательские поля — в заданном порядке. Например, сначала по внешнему коду, потом по Email. Так обмен находит существующую запись, а не плодит дубли.
Отдельные правила импорта и экспорта. Создавать ли новые записи, обновлять ли существующие, какие поля переносить в каждую сторону.
Значения по умолчанию для новых контрагентов: статус, тип контрагента, ответственный сотрудник, отдел, общий доступ.
Сайт и группы по умолчанию для пользователей, которых создаёт модуль, и группы, которые обмен никогда не трогает.
Исключения из обмена по группам пользователей и по ID — например, чтобы не трогать старых пользователей.
Обработка неполных данных. Генерация Email на вашем домене, если у контрагента его нет; разбор наименования контрагента на фамилию, имя и отчество; шаблон для поля «Обращение» и имени нового контрагента; объединение полей ОГРН/ОГРНИП и ОКПО у ИП и юрлиц.
Генерация внешнего кода для новых пользователей, у которых он пустой.
Для доработок под свой проект есть события модуля: перед созданием и обновлением пользователя доступен объект импортируемого контрагента.
Безопасность данных пользователей
Модуль работает с персональными данными, поэтому в нём есть жёсткие ограничения:
Администраторы защищены. Пользователей группы с ID = 1 модуль не создаёт и не изменяет ни при каких условиях; эта группа всегда исключена из обмена.
Пароли не трогаются. Пароль генерируется только при создании нового пользователя, нигде не сохраняется и не показывается.
Активность не меняется. Новый пользователь создаётся активным, дальше модуль на это поле не влияет.
Защищённые группы. Группы, отмеченные как не участвующие в обмене, остаются у пользователя при любом обновлении.
Требования
1С-Битрикс: Управление сайтом, начиная с редакции «Старт». Импорт профиля покупателя — с редакции «Малый бизнес» (нужен модуль «Интернет-магазин»).
Платный тариф МойСклад — для веб-хуков и дополнительных полей.
Подключение к МойСклад по токену или по логину и паролю администратора.
Агенты 1С-Битрикс на cron — для массового импорта контрагентов.
Что модуль не делает
Не удаляет пользователей на сайте и контрагентов в МойСкладе.
Не выгружает пользователей массово в МойСклад — экспорт идёт только по событиям, точечно.
Не меняет пароли и активность пользователей.
Не ведёт историю изменений пользователя и не откатывает поля — для этого перед запуском нужен бэкап.
Не передаёт профиль покупателя из Битрикс в МойСклад: этот обмен только в одну сторону.
Не отменяет кастомные обработчики создания и изменения пользователя на сайте — они по-прежнему влияют на итоговые поля.
Частые вопросы
Обмен односторонний или двусторонний?
Двусторонний: контрагенты МойСклад импортируются в пользователей сайта, пользователи сайта экспортируются в контрагентов. Импорт и экспорт включаются отдельно, и для каждого направления отдельно задаётся, создавать ли новые записи и обновлять ли существующие.
Когда происходит обмен?
По событиям: при создании или изменении контрагента в МойСкладе (через веб-хуки CREATE и UPDATE) или пользователя на сайте. При включённом экспорте контрагент в МойСкладе создаётся сразу при регистрации нового пользователя. Для загрузки уже существующей базы есть массовый импорт агентом.
Можно ли загрузить на сайт всю базу контрагентов сразу?
Да. Агент массово импортирует контрагентов в пользователей по текущим настройкам импорта. По умолчанию он берёт только изменённых контрагентов, но можно разово запустить полный обмен — после него агент вернётся к режиму изменений. Перед включением агента обязательно сделайте резервную копию базы данных.
Можно ли массово выгрузить пользователей сайта в МойСклад?
Нет. Экспорт в МойСклад идёт только по событиям — при создании и изменении пользователя. Благодаря этому ошибку в настройках экспорта всегда можно точечно откатить по истории изменений контрагента в МойСкладе.
Как модуль находит существующих пользователей и не создаёт дубли?
По полям поиска, которые вы выбираете сами: Email, телефон, внешний код, ИНН, пользовательские поля. Для каждого задаётся соответствие полю другой системы и приоритет: например, сначала искать по внешнему коду, потом по Email. Поиск при импорте и при экспорте настраивается отдельно.
Переносятся ли дополнительные поля контрагента?
Да, дополнительные поля типов «Строка» (включая текст и ссылку), «Число» (включая дробное) и «Дата». Дату можно связать с датой рождения пользователя Битрикс. Для работы с дополнительными полями нужен платный тариф МойСклад.
Как передать на сайт персональную скидку контрагента?
Через группы пользователей. На сайте создаются группы с общим префиксом в символьном коде (например, DISCOUNT_10 для 10%). Модуль читает процент накопительной и/или персональной скидки контрагента и ставит пользователю нужную группу; можно выбрать, брать максимальную или минимальную скидку. Дальше группы используются в типах цен.
Работает ли модуль на редакции «Старт»?
Да, модуль поддерживает редакции «Старт» и «Стандарт». В них нет модуля «Интернет-магазин», поэтому импорт профиля покупателя и связанные с ним настройки недоступны — они есть с редакции «Малый бизнес». Обмен пользователями и контрагентами работает полностью.
Может ли модуль создать или изменить администратора сайта?
Нет. Пользователей группы с ID = 1 (как правило, это администраторы) модуль не создаёт и не изменяет ни при каких условиях. Другие служебные группы можно исключить из обмена в настройках, а также исключить пользователей по ID.
Что происходит с паролями и активностью пользователей?
Модуль их не трогает. Пароль генерируется только при создании нового пользователя, нигде не сохраняется и не показывается. Новый пользователь создаётся активным, и дальше модуль на активность и блокировку не влияет.
Что будет с группами пользователя при импорте?
При каждом импорте модуль заново собирает список групп пользователя: группы по умолчанию, группы по типу контрагента, сопоставленные группы контрагента и группы скидок. Чтобы какие-то группы не сбрасывались, отметьте их как не участвующие в обмене — они останутся у пользователя при любом обновлении.
Что делать, если у контрагента нет Email или ФИО записано одной строкой?
Модуль может сгенерировать Email на указанном вами домене, чтобы пользователь создался. Наименование контрагента из двух или трёх слов разбирается на фамилию, имя и отчество в заданном порядке — для выбранных типов контрагента.
Переносится ли удаление?
Нет. Модуль не удаляет ни пользователей на сайте, ни контрагентов в МойСкладе.
Как проверить, что обмен работает?
Открыть вкладку «Логи» в настройках модуля. Там фиксируется каждая операция — успешные импорты, экспорты и ошибки, а по клику на запись видны подробности.
Можно ли доработать логику импорта под свой проект?
Да. У модуля есть события OnBeforeUserBxAdd, OnBeforeUserBxUpdate и OnBeforeUserFieldsUpdate: в них доступны поля пользователя и объект импортируемого контрагента, поля можно менять перед записью. Обработчики подключаются в init.php.
Не нашли ответ?
Напишите — отвечу лично и подскажу, подойдёт ли модуль под вашу задачу.
Установка
Модуль работает с данными пользователей, поэтому перед включением обмена сделайте бэкап сайта или базы данных и прочитайте важную информацию о работе модуля.
Установка
Модуль ставится из Маркетплейс 1С-Битрикс, как любое решение. Общая инструкция: Установка модуля.
Первая настройка
- Авторизация в МойСклад. Вкладка «Настройки» → «Авторизация в МойСклад»: токен или логин и пароль администратора. Как выпустить токен — Создание токена.
- Веб-хуки. Вкладка «Веб-хук»: проверьте полный путь до обработчика (
https://ваш-сайт/mshooks/hookuser.php) и отметьте «Создать» у событий контрагента CREATE и UPDATE. Веб-хуки других интеграций не трогайте. - Импорт пользователя. Вкладка «Пользователь»: включите импорт, создание и обновление, задайте поля поиска (например, «Внешний код» и «Email») и соответствие полей.
- Экспорт пользователя — если нужен обмен в сторону МойСклад: там же, в группе «Экспорт пользователя», включите экспорт и сопоставьте поля.
- Исключения. Выберите группы пользователей, которые не должны участвовать в обмене.
- Включение модуля. Вкладка «Настройки» → «Работа модуля» → «Включить модуль».
Пошагово со скриншотами — в разделе Быстрый старт.
Проверка
Создайте или измените тестового контрагента в МойСкладе (или пользователя на сайте) и откройте вкладку «Логи»: там появится запись об импорте или экспорте с подробностями или текстом ошибки.
Массовый импорт базы
Чтобы загрузить уже существующих контрагентов, включите агента — только после проверки настроек импорта и бэкапа. Агенты должны работать на cron: Настройка агентов на cron.
Другие модули
МойСклад: Гибкий обмен заказами по API
Двусторонний обмен заказами между интернет-магазином на 1С-Битрикс и МойСклад по JSON API 1.2: статусы, корзина, контрагенты, оплаты, отгрузки и свойства заказа — с веб-хуками для мгновенной передачи изменений.
- Интеграции
- Новинка
- Демо 14 дней
МойСклад: Интеграция с Битрикс24
Двусторонний обмен Битрикс24 (коробка) и МойСклад: сделки ↔ заказы покупателя и поставщику, контакты и компании ↔ контрагенты с реквизитами, товарные строки ↔ позиции документа.
- Интеграции
- Новинка
- Демо 14 дней
- Партнёрская скидка
Нужно расширить функционал модуля?
Смогу доработать как текущий модуль, так и сделать кастомный модуль под ваш обмен.