gamification.shop.product.get

Scope: gamification

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

Получить товар магазина по ID (включая неактивные).

HTTP: GET

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

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

Параметр Тип Обяз. Описание
id int да ID товара

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

result.result — объект товара. Кроме основных полей (ID, NAME, ACTIVE, PRICE, QUANTITY и т. д.) товар содержит поля вариантов:

Поле Тип Описание
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 для простого товара
OFFERS array Варианты товара (включая неактивные) — массив объектов с полями ID, NAME, ACTIVE, ACTIVE_NOW (активен с учётом дат активности), PRICE, CURRENCY, QUANTITY, QUANTITY_TRACE, CAN_BUY_ZERO, PURCHASING_PRICE, PURCHASING_CURRENCY, PICTURE, AVAILABLE. Пустой массив для простого товара
SELECTED_OFFER_ID int ID первого доступного для покупки варианта; 0, если доступных нет или товар простой
SKU_SELECTOR object|null Дерево свойств вариантов (размер, цвет) для построения переключателя вариантов: productId, selectedOfferId, properties[] (id, code, name, showMode — TEXT/PICT/COLOR, values[] с id, name, colorHex, pictureSrc) и offers[] (id, tree — ID свойства → ID значения, price, priceFormatted, available, quantity, quantityTrace, canBuyZero, picture); null для простого товара

Варианты, их цены, остатки и свойства управляются стандартными методами каталога — см. Магазин бонусов.

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

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

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

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

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

Пример ответа (товар с вариантами, сокращённо):

{
          "result": {
            "result": {
              "ID": 1110,
              "NAME": "Футболка",
              "PRICE": 0,
              "ACTIVE": "Y",
              "PREVIEW_TEXT": "",
              "QUANTITY": 0,
              "PRODUCT_TYPE": "sku",
              "HAS_OFFERS": true,
              "PRICE_FROM": 100,
              "PRICE_TO": 120,
              "OFFERS_COUNT": 4,
              "OFFERS": [
                {
                  "ID": 1111,
                  "NAME": "Футболка S красная",
                  "ACTIVE": "Y",
                  "ACTIVE_NOW": true,
                  "PRICE": 100,
                  "CURRENCY": "BAL",
                  "QUANTITY": 10,
                  "QUANTITY_TRACE": "Y",
                  "CAN_BUY_ZERO": "N",
                  "PURCHASING_PRICE": null,
                  "PURCHASING_CURRENCY": "",
                  "PICTURE": null,
                  "AVAILABLE": true
                }
              ],
              "SELECTED_OFFER_ID": 1111,
              "SKU_SELECTOR": {"productId": 1110, "selectedOfferId": 1111, "properties": [], "offers": []}
            },
            "total": null,
            "next": null,
            "error": null
          }
        }