> For the complete documentation index, see [llms.txt](https://doc.waix.ru/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.waix.ru/api/cart.md).

# Работа с корзиной

## Получение позиций в корзине

<mark style="color:blue;">`GET`</mark> `https://api.waix.ru/cart/items?key=ключ-доступа`

Метод для получения JSON списка всех позиций в корзине.

#### Query Parameters

<table><thead><tr><th width="102.33331298828125">Name</th><th width="86.99993896484375" align="center">Type</th><th>Description</th></tr></thead><tbody><tr><td>sort</td><td align="center">string</td><td><p>Способ сортировки.</p><p>Изначально <a data-footnote-ref href="#user-content-fn-1">sort=default</a>.</p><p>Укажите <code>sort=id</code> для сортировки по мере добавления (более ранние позиции вверху списка).</p></td></tr></tbody></table>

{% tabs %}
{% tab title="200 Ответ с содержанием списка товаров" %}
{% code overflow="wrap" fullWidth="false" expandable="true" %}

```json
{
   "status":"OK",
   "result":[
      {
         "date_create":1575429660,
         "id":52299,
         "image":[
            "http:\/\/d.vaix.ru\/76e7512af65d.jpg"
         ],
         "link":"https:\/\/item.taobao.com\/item.htm?id=578602347732",
         "note":"",
         "number":1,
         "param":[
            {
               "name":"尺码",
               "value":"帽子+围脖(收藏加购送手套)"
            },
            {
               "name":"颜色分类",
               "value":"925-咖啡色"
            }
         ],
         "platform":"taobao.com",
         "price":26.8,
         "price_delivery":0,
         "price_total":26.8,
         "seller":"劲卡龙男装旗舰店",
         "seller_crc":1958537025,
         "taobao_id":"578602347732",
         "title":"帽子男冬天加厚保暖针织毛线帽秋冬季韩版潮加绒防寒骑车男士棉帽"
      },
      {
         "date_create":1575683885,
         "id":53323,
         "image":[
            "http:\/\/d.vaix.ru\/582b4a2e8800.jpg"
         ],
         "link":"https:\/\/item.taobao.com\/item.htm?id=552966909042",
         "note":"",
         "number":1,
         "param":[
            {
               "name":"食品口味",
               "value":"蓝罐[含夏威夷果]"
            }
         ],
         "platform":"taobao.com",
         "price":489,
         "price_delivery":0,
         "price_total":489,
         "seller":"味轩阁",
         "seller_crc":1709928385,
         "taobao_id":"552966909042",
         "title":"柯可蓝美国进口SAVANNA蜂蜜混合坚果仁孕妇零食组合什锦干果罐装"
      }
   ],
   "total": 56
}
```

{% endcode %}
{% endtab %}

{% tab title="302 Ошибка в случае неверного указания ключа." %}

```json
{"status":"ERROR","result":false,"message":"Некорректный ключ."}
```

{% endtab %}
{% endtabs %}

## Полная очистка корзины

<mark style="color:green;">`POST`</mark> `https://api.waix.ru/cart/clear?key=ключ-доступа`

~~**Очистка корзины происходит в 2 этапа во избежании случайных срабатываний.**~~\
~~**1 шаг.** Выполните данный *GET* запрос для получения **code** и **hash** для подтверждения очистки корзины.~~\
~~**2 шаг.** Выполните повторный *POST* запрос и передайте полученные ранее **code** и **hash**.~~

{% hint style="warning" %}
Очистка корзины теперь происходит одним запросом, на своей стороне, вам рекомендуется использовать предупреждения пользователя перед удалением, эту операцию нельзя будет откатить.

*Лучший вариант: используйте модальное окно с подтверждением действий на клиентской стороне.*
{% endhint %}

#### Query Parameters

| Name                                            | Type   | Description                |
| ----------------------------------------------- | ------ | -------------------------- |
| key или token<mark style="color:red;">\*</mark> | string | [Ключ-доступа](/access.md) |

{% tabs %}
{% tab title="200 result = количество удаленных позиций" %}

```json
{
    "status":"OK",
    "result":4
}
```

{% endtab %}
{% endtabs %}

{% hint style="warning" %}
Внимание! Данный метод полностью очищает все позиции в корзине без возможности их восстановить! Очистка будет произведена даже ранее **скрытых/удаленных/спрятанных** товаров.
{% endhint %}

## Обновление товара в корзине

<mark style="color:green;">`POST`</mark> `https://api.waix.ru/cart/update?key=ключ-доступа&id=индентификатор-товара`

Метод для обновления позиции в корзине, возвращает JSON успеха всегда независимо от отправленных Form данных.

#### Query Parameters

<table><thead><tr><th width="90.33331298828125">Name</th><th width="90" align="center">Type</th><th>Description</th></tr></thead><tbody><tr><td>id<mark style="color:red;">*</mark></td><td align="center">integer</td><td>Идентификатор позиции в корзине из <a href="/pages/-Lwdf_6g7HvCKci1hpvc#poluchenie-tovarov-v-korzine">списка товаров</a></td></tr></tbody></table>

#### Request Body

<table><thead><tr><th width="98.3333740234375">Name</th><th width="95.66668701171875" align="center">Type</th><th>Description</th></tr></thead><tbody><tr><td>active</td><td align="center">integer</td><td>0 — не показывать (удалить)<br>1 — отображать (восстановить)</td></tr><tr><td>number</td><td align="center">number</td><td>Количество товаров в позиции.</td></tr></tbody></table>

{% tabs %}
{% tab title="200 код ответа всегда "200: OK"" %}

```yaml
{"status":"OK","result":true}
```

{% endtab %}

{% tab title="204 Если запрос не POST либо данные не переданы, отображается сообщение" %}

```yaml

{"status":"ERROR","result":false,"message":"Пустой POST запрос либо содержит недостаточно полей."}
```

{% endtab %}

{% tab title="304 Если POST данные отправлены, но товар не обновлен по нескольким причинам, ответ будет ERROR без сообщений об ошибках." %}

```yaml

{"status":"ERROR","result":false}
```

{% endtab %}
{% endtabs %}

## Создать заказ на основе позиций корзины

<mark style="color:green;">`POST`</mark> `https://api.waix.ru/cart/order`

Создает заказ и переносит в него позиции из корзины. Если id позиций не были указаны, то будут перенесены все позиции из корзины в новый заказ.

*Можно отправить GET запрос если вам нет необходимости передавать `ids`*

#### Request Body

<table><thead><tr><th width="91.66668701171875">Name</th><th width="100.3333740234375" align="center">Type</th><th>Description</th></tr></thead><tbody><tr><td>ids</td><td align="center">array</td><td>Массив из <strong>id</strong> позиций, <em>например [5612,95214,132] если массив пустой или ids = null будут выбраны все позиции</em></td></tr></tbody></table>

{% tabs %}
{% tab title="200: OK Ответ будет содержать id нового заказа" %}

{% endtab %}
{% endtabs %}

[^1]: По умолчанию сортировка позиций осуществляется по продавцу, затем по уникальному id товара таобао, затем по заголовку. Таким образом происходит *группировка* товаров и товары одного продавца размещаются рядом друг с другом. Однако, вы можете изменить первостепенный параметр сортировки.
