Перейти к основному контенту

Упаковочные материалы

Запрос списка упаковочных материалов (GET /api/lite/products)

/api/lite/products

Дублирует https://wiki.kak2c.ru/books/kaktus-dlya-razrabotchikov/page/apiliteproductsОписание полей аналогичное запросу товаров.

Существует 4 типа упаковочных материалов:

Упаковочные короба PACKING_MATERIAL_BOXES Другие виды расходных материалов PACKING_MATERIAL_OTHER Допвложения для упаковки PACKING_MATERIAL_ATTACHMENT Общие материалы COMMON_PACKING_MATERIA

Запросить можно через параметр запроса filters=SKU_TYPE:

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

/api/lite/products?size=2&filters=SKU_TYPE:COMMON_PACKING_MATERIAL

{
    "products": [
        {
            "available": true,
            "deleted": false,
            "id": "COMMON_PACK_Birka",
            "images": [
                {
                    "id": "COMMON_PACK_Birka",
                    "pos": "1.000000000000000",
                    "success": true
                }
            ],
            "shortName": "Бирка + биркодержатель (цвет белый)",
            "type": "COMMON_PACKING_MATERIAL",
            "variants": [
                {
                    "article": "COMMON_PACK_Birka",
                    "id": "COMMON_PACK_Birka",
                    "type": "COMMON_PACKING_MATERIAL",
                    "vat": "NO_VAT"
                }
            ],
            "vat": "NO_VAT"
        }
    ],
    "recordsTotal": 41,
    "success": true
}

Фильтрация по полям товара

Можно задавать фильтр параметром ?query=test - для фильтрации по полям article, humanId, shortName, fullName, description

Дополнительно можно фильтровать по конкректному продукту параметром ?id=1000

Имеется поддержка фильтрации и по другим полям:

    по Id варианта - ?variantId=1001 по ШК (штрихкоду товара) - ?barcode=0000000000001 по названию, артикулу - ?query=короб1

    Пейджинация

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

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

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

    Максимальное количество продуктов - 100. Даже если указано значение более 100

    Также, для отображение пейджинации следует анализировать параметр recordsTotal, возвращающий общее количество записей (с учетом примененной фильтрации, если она есть).

    Сортировка

    Для сортировки задается параметр order, принимающий код поля для сортировки и направление сортировки (asc, desc), отделенное символом плюса.

    Пример сортировки по имени (возрастание): /api/lite/products?order=shortname+asc

    Пример сортировки по имени (убывание): /api/lite/products?order=shortname+desc

    Доступные коды сортировки:

      shortname article price amount
      stockUpdateFrom

      Пример вызова с одновременной фильтрацией, пейджинацией и сортировкой:

      /api/lite/products?query=Поло&order=shortname+asc&page=0&size=200

      Создание/обновление упаковочных материалов (POST /api/lite/products)

      /api/lite/products

      Создает или обновляет продукт.

      Если id указан - проводится обновление продукта с указанным id, если не указан - создается новый.

      Если проводится обновление продукта (или варианта) - то обновляются все поля на те, что переданы. Если какие то поля в продукте были непустые, а в запросе они не переданы - то после обновления поля очищаются.

      Опционально можно передавать список вариантов товара для обновления, в поле variantsToUpdate. Обновление продукта выполняется первым, если успешно - то начинается обновление вариантов.

      Этот список не означает, что коллекция вариантов данного продукта будет приведена к виду в переданном списке вариантов. Будет выполнено только обновление указанных вариантов, безотносительно остальных вариантов их продукта.

      Если передан список вариантов - то в ответе в поле variantsResult будет список результатов обновления по каждому варианту, для сопоставления на вызывающей стороне (по полям productId + variantId)

      Поле Тип / формат

      Описание

      id string

      Идентификатор продукта. Если не указан, создается новый продукт. Если указан, обновляется продукт с данным id или создаётся новый продукт с пользовательским id.

      extId string Дополнительный идентификатор продукта shortName string Наименование продукта description string Описание (может содержать html) deleted boolean Архивная карточка type enum Тип упаковочного материала variantsToUpdate объект Объект варианта товара (см. POST /api/lite/products/variants)

       

      Пример вызова:

      Пример запроса
      {
          "id": "10106",
          "shortName": "Новый упаковочный короб 1",
          "type": "PACKING_MATERIAL_BOXES",
          "variantsToUpdate": [
              {
                  "weight": 1000,
                  "dimensions": {
                      "width": 10,
                      "height": 10,
                      "depth": 10
                  },
                  "article": "242343",
                  "barcodes": [
                      {
                          "isDefault": true,
                          "type": "COMMON",
                          "value": "342424655"
                      }
                  ],
                  "productId": "10106",
                  "variantId": "10234659"
              }
          ]
      }

      Пример положительного ответа:

      {
          "id": "10106",
          "success": true,
          "variantsResult": [
              {
                  "productId": "10106",
                  "success": true,
                  "variantId": "10234659"
              }
          ]
      }

       

      Пример положительного ответа с ошибкой сохранения по указанному варианту:

      Пример ответа
      {
          "id": "10107",
          "success": true,
          "variantsResult": [
              {
                  "errors": [
                      {
                          "code": 0,
                          "message": "Штрихкод 3424246755 уже используются в варианте [10234659] Новый упаковочный короб 1, артикул: 242343, ШК: 3424246755 "
                      }
                  ],
                  "productId": "10107",
                  "success": false,
                  "variantId": "10234654"
              }
          ]
      }

       

      Создание/обновление заказа с упаковочными материалами (POST/api/lite/orders)

      /api/lite/orders

      Дублирует https://wiki.kak2c.ru/books/kaktus-dlya-razrabotchikov/page/apiliteorders

      Упаковочные материалы можно добавить к каждому товару в заказе списком packingMaterials, 
      который содержит в себе 2 дополнительных списка:
      commonMaterials - передаются только общие упаковочные материалы
      customMaterials - 3 других типа упаковочных материалов

       "packingMaterials": {
                      "commonMaterials": [
                          {
                              "id": "COMMON_PACK_Birka",
                              "shortName": "Бирка + биркодержатель (цвет белый)",
                              "type": "COMMON_PACKING_MATERIAL",
                              "variants": [
                                  {
                                      "article": "COMMON_PACK_Birka",
                                      "id": "COMMON_PACK_Birka",
                                      "type": "COMMON_PACKING_MATERIAL",
                                      "vat": "NO_VAT"
                                  }
                              ],
                              "quantity": 1,
                              "variantId": "COMMON_PACK_Birka"
                          }
                      ],
                      "customMaterials": [
                          {
                              "id": "10058",
                              "shortName": "тест_ДВ",
                              "type": "PACKING_MATERIAL_ATTACHMENT",
                              "variants": [
                                  {
                                      "article": "66456456",
                                      "barcodes": [
                                          {
                                              "isDefault": true,
                                              "type": "COMMON",
                                              "value": "6564645456"
                                          }
                                      ],
                                      "dimensions": {
                                          "depth": 10,
                                          "height": 10,
                                          "width": 10
                                      },
                                      "id": "1023402",
                                      "type": "PACKING_MATERIAL_ATTACHMENT",
                                      "weight": 1000
                                  }
                              ],
                              "quantity": 1,
                              "variantId": "1023402"
                          },
                          {
                              "id": "10059",
                              "shortName": "тест 44 апап",
                              "type": "PACKING_MATERIAL_OTHER",
                              "variants": [
                                  {
                                      "barcodes": [
                                          {
                                              "isDefault": true,
                                              "type": "COMMON",
                                              "value": "441441441441441441"
                                          }
                                      ],
                                      "dimensions": {
                                          "depth": 0,
                                          "height": 0,
                                          "width": 0
                                      },
                                      "id": "1023403",
                                      "type": "PACKING_MATERIAL_OTHER",
                                      "weight": 0
                                  }
                              ],
                              "quantity": 1,
                              "variantId": "1023403"
                          },
                          {
                              "id": "10042",
                              "shortName": "Короб 01",
                              "type": "PACKING_MATERIAL_BOXES",
                              "variants": [
                                  {
                                      "barcodes": [
                                          {
                                              "isDefault": true,
                                              "type": "COMMON",
                                              "value": "34523465"
                                          }
                                      ],
                                      "dimensions": {
                                          "depth": 0,
                                          "height": 0,
                                          "width": 0
                                      },
                                      "id": "1023386",
                                      "type": "PACKING_MATERIAL_BOXES",
                                      "weight": 0
                                  }
                              ],
                              "quantity": 1,
                              "variantId": "1023386"
                          }
                      ]
                  }

      Пример вызова:

      Пример запроса
      {
          "confirmStatus": "NEED_CONFIRM",
          "createTs": "2025-02-10 17:41:47.618",
          "crossdockEditable": true,
          "currency": "RUB",
          "customerPaymentInProcess": false,
          "date": "2025-02-10 17:41:47",
          "delivery": {
              "address": {
                  "fullAddress": "",
                  "region": ""
              },
              "deliveryPrice": 0,
              "desiredDeliveryTimeFrom": "09:00",
              "desiredDeliveryTimeTo": "18:00",
              "pvzComment": "",
              "receiver": {
                  "address": {
                      "fullAddress": "",
                      "region": ""
                  },
                  "alternativePhone": "",
                  "passport": {},
                  "personType": "CUSTOMER",
                  "phone": ""
              }
          },
          "fbmWithFile": false,
          "id": "5669-232434357",
          "insuranceSum": 0,
          "insuranceSumAutoCalculation": true,
          "items": [
              {
                  "article": "78787878",
                  "barcode": "4254345564",
                  "expirationDays": 180,
                  "expirationMode": "USE_EXPIRATION",
                  "itemDimensions": {
                      "depth": 0,
                      "height": 0,
                      "width": 0
                  },
                  "itemWeight": 0,
                  "name": "Кактус",
                  "num": 1,
                  "price": 0,
                  "productId": "10040",
                  "productVariantCount": 1,
                  "quantity": 3,
                  "quantityAvailable": 0,
                  "skuType": "SKU",
                  "variantId": "10040",
                  "vatRate": "VAT_5",
                  "vatSkuProduct": "VAT_5",
                  "packingMaterials": {
                      "commonMaterials": [
                          {
                              "id": "COMMON_PACK_Birka",
                              "shortName": "Бирка + биркодержатель (цвет белый)",
                              "type": "COMMON_PACKING_MATERIAL",
                              "variants": [
                                  {
                                      "article": "COMMON_PACK_Birka",
                                      "id": "COMMON_PACK_Birka",
                                      "type": "COMMON_PACKING_MATERIAL",
                                      "vat": "NO_VAT"
                                  }
                              ],
                              "quantity": 1,
                              "variantId": "COMMON_PACK_Birka"
                          }
                      ],
                      "customMaterials": [
                          {
                              "id": "10058",
                              "shortName": "тест_ДВ",
                              "type": "PACKING_MATERIAL_ATTACHMENT",
                              "variants": [
                                  {
                                      "article": "66456456",
                                      "barcodes": [
                                          {
                                              "isDefault": true,
                                              "type": "COMMON",
                                              "value": "6564645456"
                                          }
                                      ],
                                      "dimensions": {
                                          "depth": 10,
                                          "height": 10,
                                          "width": 10
                                      },
                                      "id": "1023402",
                                      "type": "PACKING_MATERIAL_ATTACHMENT",
                                      "weight": 1000
                                  }
                              ],
                              "quantity": 1,
                              "variantId": "1023402"
                          },
                          {
                              "id": "10059",
                              "shortName": "тест 44 апап",
                              "type": "PACKING_MATERIAL_OTHER",
                              "variants": [
                                  {
                                      "barcodes": [
                                          {
                                              "isDefault": true,
                                              "type": "COMMON",
                                              "value": "441441441441441441"
                                          }
                                      ],
                                      "dimensions": {
                                          "depth": 0,
                                          "height": 0,
                                          "width": 0
                                      },
                                      "id": "1023403",
                                      "type": "PACKING_MATERIAL_OTHER",
                                      "weight": 0
                                  }
                              ],
                              "quantity": 1,
                              "variantId": "1023403"
                          },
                          {
                              "id": "10042",
                              "shortName": "Короб 01",
                              "type": "PACKING_MATERIAL_BOXES",
                              "variants": [
                                  {
                                      "barcodes": [
                                          {
                                              "isDefault": true,
                                              "type": "COMMON",
                                              "value": "34523465"
                                          }
                                      ],
                                      "dimensions": {
                                          "depth": 0,
                                          "height": 0,
                                          "width": 0
                                      },
                                      "id": "1023386",
                                      "type": "PACKING_MATERIAL_BOXES",
                                      "weight": 0
                                  }
                              ],
                              "quantity": 1,
                              "variantId": "1023386"
                          }
                      ]
                  }
              },
              {
                  "barcode": "",
                  "name": "Доставка",
                  "num": 2,
                  "price": 0,
                  "quantity": 1,
                  "skuType": "SERVICE",
                  "variantId": "delivery",
                  "vatRate": "NO_VAT"
              }
          ],
          "legalEntity": {
              "id": "15d72385-dadf-a591-fefe-86c65661463f",
              "name": " Розничный покупатель",
              "type": "COMPANY"
          },
          "manualDiscount": {
              "appliedDiscountValue": 0,
              "discountType": "FIX",
              "discountValue": 0,
              "isActive": false
          },
          "needCustomerPayment": false,
          "needReserve": true,
          "onlinePaymentSum": 0,
          "orderType": "STANDARD",
          "packingOptions": [
              {
                  "packSpecialsToSeparatePackingPlace": false
              }
          ],
          "paymentMethodCode": "no-cod",
          "paymentMethodName": "Без наложенного платежа",
          "paymentMethodType": "NO_COD",
          "paymentStatus": "NOT_PAID",
          "status": "ORDER_INFO_NEED_CONFIRM",
          "totalOrderSum": 0,
          "updateTs": "2025-02-10 17:41:48.025",
          "warehouseCode": "21ad85be-09a9-c4f8-72e1-4976f9d5bda6",
          "warehouseFFExportError": false,
          "warehouseFFExported": false,
          "warehouseFFSync": false,
          "warehouseName": "NEW WMS!",
          "warehouseShippingOptions": {
              "packingType": "MIX_PACKINGS"
          }
      }

      Пример положительного ответа:

      {
          "c": "825f47b4-fd58-24ce-65e0-2f3cf116caa0",
          "orderId": "5669-232434357",
          "status": "ORDER_INFO_NEED_CONFIRM",
          "success": true
      }