Региональные остатки мультисклада на InSales
Решили проблему с отображением остатков товаров по региональным складам. Незарегистрированные видят общий остаток, авторизованные — только со своего склада.
Проблема
InSales по умолчанию показывает суммарный остаток со всех складов. Пользователь видит "Товар в наличии", добавляет в корзину, а при оформлении оказывается, что в его регионе товара нет.
Региональность мультискладов работает только на этапе оформления заказа. До этого момента нет способа узнать, есть ли товар на нужном складе.
Решение
Сделали кастомную логику выбора склада с привязкой к региону пользователя. Теперь каждый видит остатки с того склада, который его обслуживает.
Pop-up выбора склада
При первом визите на сайт появляется всплывающее окно. В нем список складов — названия совпадают с мультискладами в InSales.
У каждого склада есть пояснение "Регионы работы". Можно развернуть список и посмотреть, какие города обслуживает склад. Тексты редактируются через виджет в админке.
Сохранение выбора
После того как пользователь выбрал склад, эта информация сохраняется в браузере (localStorage). При следующем визите pop-up не появляется — система помнит выбор.
Изменение склада
Авторизованные пользователи могут изменить склад в любой момент:
- В личном кабинете в блоке "Адрес доставки"
- Через отдельный пункт меню
- Менеджер может изменить склад вручную в профиле клиента
Как работают остатки
Логика отображения зависит от статуса пользователя:
- Не авторизован — видит суммарный остаток со всех складов
- Авторизован — видит остаток только с выбранного склада
Если на выбранном складе товара нет (остаток = 0), показывается "Нет в наличии". Даже если на других складах товар есть.
Механизм сопоставления
Названия складов в pop-up должны точно совпадать с названиями в разделе "Мультисклады" InSales. По этому совпадению система понимает, какой склад использовать для вывода остатков.
Виджет управления
В админке есть виджет для настройки складов. Там можно:
- Добавить или удалить склад из списка
- Отредактировать пояснение по географии каждого склада
- Изменить текст про необходимость совпадения склада и адреса доставки
Все данные редактируются без программиста. Менеджер заходит в админку и меняет тексты прямо в интерфейсе.
Добавление нового склада
Когда в InSales добавляется новый мультисклад:
- Администратор добавляет его в виджет вручную
- Указывает регионы работы в пояснении
- Проверяет, что название точно совпадает с мультискладом
Ограничения InSales
Платформа не дает доступа к некоторым функциям:
- Нет API для работы с региональной логикой мультискладов
- Невозможно автоматически определить регион по IP
- Нельзя автоматически связать регион со складом
Поэтому сопоставление регионов и складов возможно только через ручной выбор пользователем.
Результат
Теперь покупатели не видят товары, которые им не могут отправить. Если товара нет на их складе — сразу показывается "Нет в наличии".
Это убрало путаницу при оформлении заказов. Раньше люди добавляли товар в корзину, а потом узнавали, что его нет в их регионе.
Система гибкая — легко добавлять новые склады и редактировать регионы без программиста.
Похожие кейсы
- Интеграция МойСклад с магазином на InSales
- Интеграция modbrand.ru с сервисом МойСклад
- Интеграция доставки perfectooo.ru с Яндекс.Такси и МойСклад