# Получение информации о товаре

JS SDK позволяет получить данные товаров из фида, social proof по товарам и product sets. Все методы в этом разделе возвращают `Promise`.

---

## Social proof и данные из фида

Метод возвращает информацию о просмотрах и покупках товаров за выбранные периоды, а также данные товаров из фида.

**Синтаксис**

```jsx
GF.ServerUtils.getProductsData(skusArray, options)
```

{.compact}
| Параметр | Тип | Описание |
| --- | --- | --- |
| `skusArray` [!badge variant="danger" text="обязательно"] | `Array<string>` | Массив SKU товаров. |
| `options` | `Object` | Набор параметров запроса. |
| Объект **options**: | | |
| `interest` | `boolean` | Добавить данные о просмотрах и покупках. |
| `timeframes` | `Array<string>` | Периоды social proof: `daily`, `twoDays`, `weekly`, `twoWeeks`, `monthly`. |
| `data` | `boolean` | Добавить данные товара из фида. |

!!!warning
По SKU, которых нет в фиде, данные не вернутся. Если передать только несуществующий SKU, метод вернет объект с пустым `products`.
!!!

=== Пример использования

```jsx
GF.ServerUtils.getProductsData(['1374156'], {
  interest: true,
  timeframes: ['weekly'],
  data: true,
}).then(function (data) {
  console.log(data);
});
```
=== Пример ответа

```json
{
  "products": {
    "1374156": {
      "productData": {
        "sku": "1374156",
        "categories": [
          "Спорт и отдых",
          "Туризм",
          "Мебель кемпинговая и надувная"
        ],
        "group_id": "1374156",
        "in_stock": true,
        "name": "...",
        "price": "299",
        "url": "https://...",
        "image_url": "https://...",
        "price_old": "599",
        "rating": "5",
        "stock_count": "10",
        "unit": "шт"
      },
      "productInterest": {
        "view": {
          "weekly": 1278
        },
        "purchase": {
          "weekly": 25
        }
      }
    }
  }
}
```
===

---

## Product sets

Метод возвращает заранее настроенные наборы товаров. В публичном объекте доступны два равнозначных вызова: `GF.ServerUtils.getProductSets()` и короткий алиас `GF.getProductSets()`.

**Синтаксис**

```jsx
GF.ServerUtils.getProductSets(setsArray)
GF.getProductSets(setsArray)
```

{.compact}
| Параметр | Тип | Описание |
| --- | --- | --- |
| `setsArray` [!badge variant="danger" text="обязательно"] | `Array<string>` | Массив идентификаторов product set. |

=== Пример использования

```jsx
GF.getProductSets(['bestsellers-main']).then(function (sets) {
  console.log(sets);
});
```
===

---

## Данные товара на странице

На странице товара, если товар найден в фиде, скрипт сохраняет данные в `GF.pageData`. Данные появляются асинхронно после pageview-запроса, поэтому перед чтением используйте `GF.waitForVariable`.

```jsx
GF.waitForVariable('GF.pageData.categories').then(function () {
  console.log(GF.pageData.categories);
});
```

Набор свойств зависит от настроек продуктового фида в секции.

!!!
Если вам не хватает каких-либо данных, обратитесь в службу поддержки или к команде, работающей на вашем проекте.
!!!
