Назначьте источник для каждого поля
Решите, где редактируются цена, описание, фотографии и остаток. Часто склад отвечает за доступное количество, а магазин — за тексты и представление, но это не универсальное правило. Согласуйте идентификаторы товаров и вариантов, единицы измерения, несколько складов и резерв. Отдельно определите, что означает «в наличии»: физический остаток или количество за вычетом резервов.
Проектируйте повторы и задержки
Сеть и внешняя система могут быть временно недоступны. Обмен должен иметь журнал, повторную обработку и стабильный идентификатор операции, чтобы повтор не создавал второй документ. Полная выгрузка полезна для сверки, изменения — для оперативного обновления. Выбор частоты зависит от нагрузки и допустимого риска продажи отсутствующего товара, а не от желания написать «в реальном времени».
Проверьте конфликтные ситуации
Протестируйте одновременную покупку последнего товара, отмену заказа, возврат и ручную корректировку склада. Установите уведомление о длительном сбое и понятный порядок сверки. Не показывайте старые остатки как гарантированно актуальные, если обмен остановился; поведение магазина в этом случае нужно согласовать заранее.
- Определён владелец каждого поля.
- Резервы и доступное количество согласованы.
- Повторы не создают дубли документов.
- Есть журнал, уведомление и сценарий сверки.
Вопросы о проекте
Нужна ли синхронизация каждую секунду?
Не всем магазинам. Частоту выбирают по оборачиваемости, ограничениям API и допустимой задержке. Важнее предсказуемые ошибки и корректная сверка.