← ЖУРНАЛ KODERA

Разработка сайтов / ≈ 6 МИН ЧТЕНИЯ

Архитектура интернет-магазина: каталог, оплата и интеграции

Разбираем состав интернет-магазина до начала проектирования.

Предметная фотография наушников для демонстрации цифровой витрины
COMMERCE / OBJECT STORY

01 / РАЗДЕЛ

Модель каталога

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

Не храните критичные характеристики в произвольном описании: структурированные данные проще проверять, обновлять и использовать в поиске.

02 / РАЗДЕЛ

Корзина и оформление заказа

Опишите гостевую покупку, способы доставки, налоги, скидки, промокоды и сценарии изменения состава корзины.

Важно заранее решить, как обрабатываются недоступный товар, изменение цены и повторное нажатие кнопки оплаты.

03 / РАЗДЕЛ

Платежи и безопасность

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

Настройте права доступа, защиту административных маршрутов и безопасное хранение персональных данных.

04 / РАЗДЕЛ

Интеграции и остатки

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

Для интеграций нужны журналы ошибок и понятная процедура восстановления после сбоя.

Авторская иллюстрация к материалу: Архитектура интернет-магазина: каталог, оплата и интеграции
KODERA / ИЛЛЮСТРАЦИЯ К ТЕМЕ МАТЕРИАЛА

05 / РАЗДЕЛ

SEO и развитие

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

После запуска анализируйте поиск по каталогу, брошенные корзины и ошибки оформления заказа.

06 / РАЗДЕЛ

Как моделировать товар до разработки интерфейса

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

Отдельно различайте товар и его варианты. Футболка в трёх цветах и размерах может быть одним карточным представлением с несколькими SKU; оборудование с независимыми комплектациями может требовать другой структуры. Решение влияет на URL, остатки, фильтры и корзину. Зафиксируйте несколько сложных примеров заранее, иначе схема данных окажется рассчитана только на самый простой товар.

07 / РАЗДЕЛ

Сценарии оформления заказа

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

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

08 / РАЗДЕЛ

Интеграция склада и витрины

Для синхронизации данных определите направления обмена и периодичность. Что происходит, когда товар переименован в учётной системе? Где редактируется SEO-текст? Как быстро должен обновиться остаток и что показывает витрина при временной недоступности API? Ответы на эти вопросы важнее названия конкретной платформы интеграции.

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

09 / РАЗДЕЛ

SEO и навигация по каталогу

Категории должны соответствовать способам выбора товара, а не только внутренней структуре склада. Покупатели могут искать «наушники для работы» и «беспроводные наушники» разными путями. Группируйте востребованные запросы в осмысленные страницы, а случайные комбинации фильтров не превращайте автоматически в индексируемые URL.

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

10 / РАЗДЕЛ

Что проверить до первого заказа

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

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

11 / РАЗДЕЛ

Реальный сценарий каталога с вариантами

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

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

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

12 / РАЗДЕЛ

Матрица проверок перед релизом магазина

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

Отдельно имитируйте нестабильную сеть и ошибки внешних интеграций. Что видит пользователь, если API доставки временно недоступен? Сохраняется ли корзина? Можно ли повторить действие без двойной оплаты? В административной части проверьте, видны ли неудачные обмены данными и кто может исправить их вручную.

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