Архитектура платформы интернет-магазина InSales

Объект корзина (cart)
Данные корзины покупателей интернет-магазина хранятся в cookie на компьютере самих пользователей. Ввиду того, что размер cookie-файла имеет ограничение, после набора определенного количества товаров в корзине ее содержимое сохраняется на сервере InSales. Содержимое корзины на сервере соотносится с сессией покупателя.
Информация, хранимая в корзине:
- позиции товаров;
- итоговая сумма покупок;
- скидки;
- комментарий к своему заказу (в случае его указания);
- адрес доставки товаров (в случае его указания);
- выбранный способ доставки (в случае его указания);
- стоимость осуществления доставки;
- выбранный способ оплаты;
- скидка или наценка, связанная с выбранным способом оплаты;
- другие дополнительные поля.
После того, как заказ будет оформлен, все данные из объекта Корзина попадут в новый объект Заказ, а сама корзина из системы удалится.
Объект заказ (order)
После того, как заказ был подтвержден, объект «Корзина» удаляется, а вместо нее появляется объект «Заказ». Новый объект наследует все свойства, которые были у «Корзины».
В объект «Заказ» также передаются данные из сессии покупателя, например: страница его входа на сайт, источник первого посещения, источник текущего посещения.
В объекте «Заказ» кроме данных, присущих «Корзине», хранится и другая информация:
- номер заказа;
- текущий статус оплаты;
- текущий статус доставки;
- страница входа и источник посещения, при котором заказ был создан;
- информация о покупателе;
- информация об изменениях заказа.
Объекты позиция корзины и позиция заказа
В позиции заказа присутствует информация, скопированная из модификации товара, а также некоторые изменения или дополнения к ней. В объектах позиции корзины и позиции заказа содержится закупочная и выставленная цены товара, которые могут не совпадать с ценами, установленными в модификациях товаров.
После создания позиции корзины или заказа они существуют независимо от родительских модификаций конкретных товаров. Так, можно менять данные в модификациях без опаски изменить что-либо в созданных ранее объектах корзины или заказа.
Благодаря созданию отдельных объектов для каждой позиции корзины и заказа администратор интернет-магазина может править цену товаров любого заказа, создавая индивидуальные условия для каждого покупателя. Также такая возможность позволяет учитывать актуальные закупочные цены при расчете прибыли.
В позициях корзины или заказа присутствует следующая информация о товарах:
- названия;
- артикулы;
- вес;
- количество выбранных и зарезервированных;
- цена продажи;
- стоимость с включением всех надбавок;
- id родительской модификации;
- id товара родителя.
Объект модификация (variant)
Модификациями товара называют варианты этого товара, каждый из которых охарактеризован индивидуальными свойствами. В качестве примера можно привести юбку, имеющую определенный цвет, размер и длину. Такие характеристики товара называются свойствами модификации.
Изначально каждому товару приписывается модификация, имеющая безымянные свойства. Дополнительные модификации создаются после добавления товару какого-либо нового свойства, отличного от имеющегося.
Модификация товара содержит следующие данные:
- цену (закупочную, продажи, старую и типы цен, созданные владельцем интернет-магазина);
- остатки товара;
- артикул;
- свойства и их значения;
- вес;
- название, представляющее из себя набор значений свойств, разделенных знаком слеша, например, «Ж / Красный / 154».
Стоит отметить, что создать две модификации одного товара с одинаковыми значениями всех их свойств невозможно. Также разные модификации одного товара не могут иметь различный набор свойств. Например, для юбки с модификацией с указанными размером, цветом и длиной не может быть создана другая модификация без свойства ее размера или другого наличествующего параметра.
Объект товар (product)
Объект «Товар» можно назвать самым сложным среди прочих объектов интернет-магазина InSales. Он состоит из следующих параметров:
- названия;
- краткого и полного описания;
- SEO-параметров, таких как title и метатегов description и keywords;
- handle или пермалинка (часть URL, находящаяся после "/product/"), который индивидуален для каждого товара интернет-магазина;
- параметров;
- изображения;
- свойств;
- модификаций;
- аналогичных и сопутствующих товаров;
- видимости товара на витрине;
- категорий сайта, к которым он относится;
- дополнительных полей.
При просмотре страницы товара, открытого в интернет-магазине, стоит обратить внимание на присутствие или отсутствие названия категории в его URL (например, /collection/…/product/…). Если в URL категория отображается, то она является заданной для конкретного товара, а ее отсутствие означает, что товар не приписан ни к одной из категорий.
У каждого товара, созданного в интернет-магазине системы InSales, обязательно присутствует его название и одна модификация с безымянным свойством.
Взаимосвязь объектов

Любой имеющийся в интернет-магазине объект имеет индивидуальный числовой идентификатор (id), записанный в базе данных системы InSales. Уникальность каждого id связана с использованием одной базы для всех интернет-магазинов системы.
Чтобы узнать id какого-либо объекта, можно посмотреть на URL страницы его редактирования или же проанализировать страницу вашего бэк-офиса, который содержит данный объект. Второй метод нахождения id объекта выполняется при помощи функции inspect element (анализ элемента), которая присутствует практически в любом браузере.
0 комментариев