gamification.shop.product.list

Scope: gamification

Кто может вызывать: Только admin или manager. Подробнее: Права доступа

Постраничный список товаров магазина бонусов (в том числе неактивных).

HTTP: GET

Побочные эффекты: нет

Параметры метода

Параметр Тип Обяз. Описание
filter object нет Фильтр в Mongo-стиле
limit int нет Размер страницы, по умолчанию 50, максимум 500
offset int нет Смещение, по умолчанию 0
fetchAll bool нет Вернуть все записи одним ответом (защитный лимит 5000)

Возвращаемые данные

result.result — массив товаров. result.total — общее количество.

Кроме основных полей каждый товар содержит поля вариантов (значения для всех товаров страницы вычисляются одним запросом):

Поле Тип Описание
PRODUCT_TYPE string Тип товара: product — простой товар, sku — товар с вариантами, empty_sku — товар с вариантами, у которого варианты ещё не созданы
HAS_OFFERS bool true для товара с вариантами (sku, empty_sku). Цена, остаток и покупка такого товара определяются его вариантами
PRICE_FROM float Минимальная цена BAL среди активных вариантов с ценой; для простого товара равна PRICE; 0, если вариантов с ценой нет
PRICE_TO float Максимальная цена BAL среди активных вариантов с ценой; для простого товара равна PRICE
OFFERS_COUNT int Количество активных вариантов с ценой; 0 для простого товара

Сами варианты в списке не возвращаются — их отдаёт gamification.shop.product.get.

Обработка ошибок

Справочник кодов ошибок.

Код Описание
UNAUTHORIZED Пользователь не авторизован
ACCESS_DENIED Вызывающий не является admin/manager

Пример запроса (GET)

curl -G "https://{портал}/rest/{user_id}/{webhook_code}/gamification.shop.product.list.json" \
          -H "Accept: application/json" \
          --data-urlencode "limit=10"
        

Пример ответа:

{
          "result": {
            "result": [
              {
                "ID": 1,
                "NAME": "Кофе",
                "PRICE": 100,
                "ACTIVE": "Y",
                "QUANTITY": 0,
                "ENABLE_SELLING": "Y",
                "PRODUCT_TYPE": "product",
                "HAS_OFFERS": false,
                "PRICE_FROM": 100,
                "PRICE_TO": 100,
                "OFFERS_COUNT": 0
              },
              {
                "ID": 1110,
                "NAME": "Футболка",
                "PRICE": 0,
                "ACTIVE": "Y",
                "QUANTITY": 0,
                "ENABLE_SELLING": "N",
                "PRODUCT_TYPE": "sku",
                "HAS_OFFERS": true,
                "PRICE_FROM": 100,
                "PRICE_TO": 120,
                "OFFERS_COUNT": 4
              }
            ],
            "total": 2,
            "next": null,
            "error": null
          }
        }