При интеграции магазина со складом сначала определяют источник каждого значения и правила изменения. Цена, остаток, резерв и заказ должны иметь согласованную модель. Без неё даже исправно работающий обмен может показывать неверное наличие.
Назначьте источник данных
Для каждого поля выберите систему, которая задаёт значение. Например, складская система управляет доступным количеством, а сайт — редакционным описанием. Если обе системы могут независимо менять одно поле, нужно правило разрешения конфликтов.
| Данные | Что согласовать |
|---|---|
| Идентификатор товара | Устойчивый ключ между системами |
| Цена | Источник, валюта и момент обновления |
| Остаток | Физическое количество либо доступность с учётом резервов |
| Заказ | Когда создаётся и где меняет состояние |
| Описание и изображения | Кто редактирует и что обмен может перезаписать |
Артикул удобен только тогда, когда его уникальность и стабильность подтверждены. Название товара не подходит как единственный ключ: оно может измениться.
Разделите остаток и резерв
Допустим, доступна одна единица товара, а два покупателя одновременно оформляют её. Это учебный сценарий проверки. Нужно заранее решить, на каком шаге товар резервируется, сколько действует резерв и что происходит при незавершённой оплате.
Наличие в карточке и возможность создать заказ должны согласовываться на сервере. Запаздывающий обмен не должен автоматически означать обещание покупателю, которое магазин не может выполнить.
Предусмотрите сбой обмена
Определите, что показывается при недоступности учётной системы. Можно использовать последний подтверждённый снимок с ограничениями или временно переводить оформление на уточнение. Выбор зависит от ассортимента и последствий ошибки.
Не маскируйте сбой бесконечным состоянием «обновляется». Сотруднику нужна запись об ошибке, время последнего успешного обмена и способ восстановить работу. Покупателю — понятное состояние товара.
Обрабатывайте повторы и порядок событий
Один и тот же пакет может прийти дважды. Более старое обновление может поступить после нового. Для обмена нужны идентификаторы событий, версия либо время изменения и правила повторной обработки.
Делайте повторный импорт безопасным: он не должен удваивать товары или заказы. Для удалённых и архивных позиций заранее определите поведение сайта и сохранность ссылок в исторических заказах.
Проверьте интеграцию на небольшом наборе
Возьмите товары с несколькими вариантами, нулевым остатком и изменяющейся ценой. Создайте тестовый заказ и проследите его в обеих системах. Затем повторите обмен, имитируйте задержку и проверьте восстановление.
Для приёмки нужны журнал событий и возможность объяснить происхождение значения. Если цена на сайте неожиданно изменилась, должно быть понятно, какая система и какое обновление её передали.
В проекте интернет-магазина под ключ оценка интеграции начинается с примеров данных и правил обмена. Название учётной системы само по себе не показывает объём разработки.
