Схема работы с примерами
У товаров есть характеристики, у товара есть категория (коллекция) и бренд. Также, у товара есть остатки по разным складам. (подробнее смотрите схему Структура данных)
У коллекций есть цены. (подробнее Цены (HShopPriceValue))
Для каждого токена назначаются определенные склады и тип цены, которые ему доступны.
Предпочтительная схема работы
- Получаем справочную информацию:
- Получаем все характеристики товаров Значения характеристик (HShopPropertyValue)
- Получаем все бренды товаров Бренды (HShopBrand)
- Получаем все коллекции и производители (это вложенная структура Производитель - коллекция). Один товар относится только к одной коллекции. Производители/коллекции (HShopCategory)
- Получаем справочник складов. Склады (HShopWarehouse)
- Получаем справочник типов цен. Типы цен (HShopPrice)
- Получаем Главные товары с их характеристиками. Товары (HShopProductMain).
- Получаем Размеры товаров . Размеры товаров (HShopProduct).
- Получаем остатки по складам, доступным для клиента. Остатки товаров по складам (HShopProductWarehouse)
- Получаем цены по комбинации Бренд-страна-коллекция. Цены (HShopPriceValue). Эти же данные есть у каждого товара, так что связать их не составляет труда.
Все запросы возвращают по 500 объектов за раз. Поэтому есть GET-параметр page, для получения 500-1000, 1000-1500, и так далее. Просто делаете последовательно несколько запросов, увеличивая page, пока не получите пустой массив.
Между запросами нужно делать таймаут в секунду!
Нет никакого смысла получать справочники, цены и товары чаще, чем раз в сутки, а то и реже! Цены обновляются приблизительно раз в сутки.
Единственное, что обновляется часто - это остатки товаров. их можно получать раз в час!
Нет смысла делать запросы на получение одного объекта. Это дольше и накладнее. один запрос на 500 объектов работает быстрее, чем 500 запросов.