Как синхронизировать каталог сайта и приложения

Как выбрать источник товаров, согласовать цены и остатки, обработать сбои обмена и проверить общий каталог сайта и мобильного приложения.

Компьютер и смартфон соединены стрелками обмена с общими карточками каталога

Чтобы синхронизировать каталог сайта и приложения, сначала определите, где редактируются товары, цены и остатки. Затем согласуйте, как изменения попадают в каждый канал и что происходит при задержке. Два похожих экрана ещё не означают общий каталог: за ними могут стоять независимые данные, которые сотрудники обновляют вручную.

Для владельца магазина результат выглядит просто: товар не нужно заводить повторно, а покупателю понятно, что он может заказать и по какой цене. Но за этим результатом стоят несколько решений. Их лучше записать до разработки приложения, пока расхождения не превратились в отменённые заказы и ручные исправления.

1. Назначьте главный источник для каждого вида данных

Необязательно хранить всё в одной программе. Например, учётная система отвечает за остатки и базовые цены, а сайт — за описания и фотографии. Важно, чтобы у каждого поля был понятный владелец. Если название товара разрешено менять одновременно в двух системах, нужно заранее решить, чья правка сохраняется.

Составьте короткую карту каталога:

  • Товары и варианты: где создаются позиции, размеры, цвета и комплектации.
  • Цены: где задаются обычная стоимость, скидка и персональные условия.
  • Остатки: какие склады учитываются и что означает доступность для заказа.
  • Контент: кто редактирует описания, фотографии и категории.
  • Статусы: как снятый с продажи товар исчезает из покупки, но остаётся в истории заказов.

Нужен устойчивый идентификатор товара, общий для обмена. Название для этого неудобно: его можно исправить, а у разных позиций оно бывает одинаковым. Отдельно уточните идентификаторы вариантов, иначе приложение может перепутать размер или комплектацию.

При развитии интернет-магазина на 1С-Битрикс я сначала разбираю существующий обмен. Само наличие CMS не подтверждает, что нужные приложению данные уже доступны и обновляются по согласованным правилам.

2. Разделите показ каталога и подтверждение покупки

Покупатель мог открыть карточку утром, а оформить заказ вечером. За это время цена или остаток изменились. Поэтому показанная на экране информация и окончательная проверка покупки — разные этапы.

Согласуйте, когда приложение запрашивает свежие данные: при открытии каталога, возвращении в него, обновлении пользователем. Для большого ассортимента полезно обсуждать передачу изменений, а не повторную загрузку всех карточек. Конкретный способ зависит от возможностей источника и нагрузки, а не от желания назвать обмен «мгновенным».

Перед подтверждением заказа сервер должен заново проверить применимые цены, наличие и условия покупки. Если сумма изменилась, покупателю нужно показать новую стоимость и дать возможность пересмотреть заказ. Молчаливое изменение суммы разрушает доверие, даже когда данные технически обновились правильно.

Отдельный вопрос — резервирование. Остаток на складе, свободное количество и возможность оформить предзаказ могут различаться. Запишите, когда товар резервируется, когда резерв снимается и какой канал принимает решение. Иначе два покупателя могут одновременно увидеть последнюю единицу.

3. Опишите задержки и восстановление обмена

Интернет на телефоне пропадает, сервер источника временно недоступен, отдельная карточка приходит с ошибкой. Синхронизация должна иметь понятное поведение в каждом случае, а не только при успешном соединении.

Приложение может сохранять ранее загруженный каталог для просмотра. Это не означает, что сохранённые остатки актуальны. Решите, какие действия доступны без сети, как обозначается устаревшая информация и когда требуется подключение. В рекомендациях Android отдельно рассматриваются источники данных и разрешение конфликтов между ними; для бизнеса это вопрос доверия к показанному состоянию.

У ответственного сотрудника должен быть способ узнать, что обмен остановился. Полезны время последнего успешного обновления, список ошибок и возможность повторить обработку. При повторной передаче одной позиции не должны появляться дубли. Такие условия стоит включить в приёмку, а не оставлять подразумеваемыми.

4. Проверьте обмен на небольшом наборе товаров

Выберите обычный товар, позицию с вариантами, товар со скидкой и отсутствующую позицию. Для каждого пройдите один и тот же путь на сайте и телефоне:

  1. Измените описание и цену в назначенном источнике.
  2. Проверьте, что нужный вариант обновился в обоих каналах.
  3. Уменьшите остаток и попробуйте оформить заказ из ранее открытой карточки.
  4. Отключите сеть, верните соединение и проверьте восстановление данных.
  5. Повторите обмен и убедитесь, что карточки не продублировались.

Для оценки приложения к магазину подготовьте эту карту данных, примеры товаров и описание существующих интеграций. По ним можно отделить готовые возможности от доработок. Так обсуждение начинается с правил вашего магазина, а не с обещания «соединить всё» без проверки.

Источники

  • каталог
  • сайт и приложение
  • интернет-магазин

Автор — Денис Бондаренко. Проектирую и разрабатываю сайты, интернет-магазины и приложения.