# Физические наборы

# /api/lite/physical_set_orders

### Запрос списка заданий на сборку/разборку

/api/lite/physical\_set\_orders

Метод возвращает список заданий с заданной фильтрацией.

#### **Фильтрация**

Для фильтрации используется параметр query. Если он задан, то будут показаны задания на сборку/разборку наборов, которые содержат query в id, артикуле, имени или ШК.

Также есть параметры dateFrom и dateTo для фильтра по датам

Пример: `/api/lite/physical_set_orders?query=1038&dateFrom=2023-01-10T15:35:46&dateTo=2023-02-02T15:35:46`

#### **Пейджинация**

Для пейджинации используются параметры page и size: size - записей на странице, page - номер страницы.

Пример: `/api/lite/physical_set_orders?page=0&size=100`

Если параметры не переданы, то дефолтные значения page=0&amp;size=100

#### **Пример результата запроса**

```JSON
{
    "physicalSetOrders": [
        {
            "id": "1008",
            "createTs": "2021-01-13 17:23:44.058",
            "action": "ASSEMBLY", // DISASSEMBLY
            "status": "NEW", // IN_PROCESS, DONE
            "quantity": 2,
           	"tag": "Тег1",
            "isPreferredPacking" : "true",
            "packingMaterials": {
                       "commonMaterials": [],
                       "customMaterials": [
                           {
                             "name": "Гофрокороб Sultane",
                              "num": 0,
                              "productId": "1256635998",
                              "quantity": 1,
                              "skuType": "PACKING_MATERIAL_BOXES",
                              "variantId": "566335798"
                          }
                    ]
               },
            "physicalSet": {
                "id": "1044",
                "shortName": "Набор ложек",
                "article": null,
                "images": null,
                "items": [
                    {
                        "id": "1042",
                        "shortName": "Ложка",
                        "article": "loz",
                        "quantity": 2,
                        "images": null
                    }
                ]
            }
        }
    ]
}
```

### Создание задания на сборку/разборку

/api/lite/physical\_set\_orders

Создает задание на сборку/разборку физического набора.

#### **Пример запроса**

```JSON
{
    "variantId": "1044",
    "quantity": 2,
    "warehouseCode": "2970c244-20f4-bab8-4c29-b04504281120",
    "action": "ASSEMBLY" // DISASSEMBLY,
  	"tag": "Тег1"
    "isPreferredPacking" : "true",
    "packingMaterials": {
        "commonMaterials": [],
        "customMaterials": [
           {
              "id": "1256635998",
              "shortName": "Гофрокороб Sultane",
              "type": "PACKING_MATERIAL_BOXES",
               "variants": [
                   {
                     "article": "sul1",
                     "id": "566335798",
                     "shortName": "Гофрокороб Sultane",
                     "type": "PACKING_MATERIAL_BOXES"
                     }
                  ],
               "quantity": 1,
               "variantId": "566335798"
           }
         ]
    }
}
```

#### **Успех:**

```JSON
{
  	"id": "1047",
    "success": true
}
```

#### **Ошибка:** 

```JSON
{
    "success": false,
    "errors": [
        {
            "code": 0,
            "message": "Текст ошибки"
        }
    ]
}
```

### Копирование задания на сборку/разборку

/api/lite/physical\_set\_orders/copy

Копирует задание на сборку/разборку физического набора

#### **Пример запроса**

```JSON
{
    "id": "1008"
}
```

#### **Успех:**

```JSON
{
    "success": true
}
```

#### **Ошибка:** 

```JSON
{
    "success": false,
    "errors": [
        {
            "code": 0,
            "message": "Текст ошибки"
        }
    ]
}
```

<div id="bkmrk-"><div></div></div><div id="bkmrk--0"><div></div></div>

# /api/lite/products/physical_sets

### Запрос списка физических наборов

/api/lite/products/physical\_sets

Метод возвращает список наборов с заданной фильтрацией.

#### **Фильтрация**

Для фильтрации используется параметр query. Если он задан, то будут показаны наборы, содержащие query в id, артикуле, имени или ШК.

Для поиска только по id можно использовать параметр "id".

#### **Пейджинация**

Для пейджинации используются параметры page и size: size - записей на странице, page - номер страницы.

Пример: `/api/lite/products/physical_sets?page=0&size=100`

Если параметры не переданы, то дефолтные значения page=0&amp;size=100

#### **Пример результата запроса**

```JSON
{
    "physicalSets": [
        {
            "id": "1044",
            "shortName": "Набор ложек",
            "article": null,
            "images": null,
            "price": null,
            "stockAvailable": 0,
            "barcodes": [
                {
                    "value": "70100401010210",
                    "isDefault": false,
                    "type": "COMMON"
                }
            ],
            "items": [
                {
                    "id": "1042",
                    "shortName": "Ложка",
                    "article": "loz",
                    "quantity": 2,
                    "images": null,
                    "price": "50.00",
                    "stockAvailable": 45,
                    "barcodes": [
                        {
                            "value": "70100401010204",
                            "isDefault": true,
                            "type": "COMMON"
                        }
                    ]
                }
            ]
        }
    ]
}
```

### Создание/редактирование физического набора

/api/lite/products/physical\_sets

Делает из существующего товара физический набор. Если состав набора пустой, то набор будет преобразован обратно в обычный товар

#### **Пример запроса**

```JSON
{
    "id": "1044",
    "items": [
        {
            "id": "1042",
            "quantity": 2
        }
    ]
}
```

#### **Успех:**

```JSON
{
    "success": true
}
```

#### **Ошибка:** 

```JSON
{
    "success": false,
    "errors": [
        {
            "code": 0,
            "message": "Текст ошибки"
        }
    ]
}
```

# /api/lite/products/sku_sets

### Запрос списка наборов

/api/lite/products/sku\_sets

Метод возвращает список наборов с заданной фильтрацией.

#### **Фильтрация**

Для фильтрации используется параметр query. Если он задан, то будут показаны наборы, содержащие query в id, артикуле, имени или ШК.

Для поиска только по id можно использовать параметр "id".

Для фильтрации по типу набора можно использовать параметр "type". Возможные значения: BUNDLE и PHYSICAL\_SET

#### **Пейджинация**

Для пейджинации используются параметры page и size: size - записей на странице, page - номер страницы.

Пример: `/api/lite/products/physical_sets?page=0&size=100`

Если параметры не переданы, то дефолтные значения page=0&amp;size=100

#### **Пример результата запроса**

```JSON
{
    "skuSets": [
        {
            "id": "1044",
            "shortName": "Набор ложек",
            "article": null,
          	"skuType": "BUNDLE", // PHYSICAL_SET
          	"bundleOptionalCount": 0,
            "images": null,
            "price": null,
            "stockAvailable": 0,
            "barcodes": [
                {
                    "value": "70100401010210",
                    "isDefault": false,
                    "type": "COMMON"
                }
            ],
            "items": [
                {
                    "id": "1042",
                    "shortName": "Ложка",
                    "article": "loz",
                    "quantity": 2,
                    "images": null,
                    "price": "50.00",
                    "stockAvailable": 45,
                    "barcodes": [
                        {
                            "value": "70100401010204",
                            "isDefault": true,
                            "type": "COMMON"
                        }
                    ],
                  	"optional": false
                }
            ]
        }
    ]
}
```

### Создание/редактирование набора

/api/lite/products/sku\_sets

Делает из существующего товара физический набор. Если состав набора пустой, то набор будет преобразован обратно в обычный товар

#### **Пример запроса**

```JSON
{
    "id": "1044",
    "skuType": "PHYSICAL_SET",
    "bundleOptionalCount": 0,
    "items": [
        {
            "id": "1042",
            "quantity": 2,
          	"optional": false
        }
    ]
}
```

#### **Успех:**

```JSON
{
    "success": true
}
```

#### **Ошибка:** 

```JSON
{
    "success": false,
    "errors": [
        {
            "code": 0,
            "message": "Текст ошибки"
        }
    ]
}
```

# /api/lite/pub/products/sku_sets

/api/lite/pub/products/sku\_sets

Аналогичен [приватному методу](https://wiki.kak2c.ru/books/kaktus-dlya-razrabotchikov/page/apiliteproductssku-sets)