Консолидация

Создание товаров

Для создания товаров можно полноценно использовать Апи работы с товарами,

а также импорты/экспорты excel файлов с номеклатурой. 

Также полноценно работает и раздел Товары в ЛК пользователя 

 

В дополнение к этим стандартным возможностям - есть режим автосоздания номенклатуры для аккаунта Консолидации - прямо из Апи заказов на отгрузку.

Для этого в order.items нужно - в дополнение к стандартным полям строrи заказа (num, variantId, price, quantity, vatRate) - передать поля:

skuType, barcode, name, article
 {
 	...
	"items": [ 
                {
                    "num": 1,
                    "variantId": "100-201",
                    "price": 1000.00,              
                    "quantity": 2,                   
                    "skuType": "SKU",                   
                    "vatRate": "VAT_20",                  
                    "barcode": "461234567836",
                    "name": "Конструктор для развития творчества №12",
                    "article": "const-N12"
                }
                ...
             ]
}             

Система автоматически проверит наличие указанных товаров по их коду (поле variantId), и создаст, если не будет найден указанный товар.

 

Создание заказов

Создание заказов работает по стандартному Апи заказов.  Используется "Свой склад" без контроля остатков. 

Заказ создается/редактируется по указанному id. Если поле id не задано - то система сгенерирует очередной уникальный человекочитаемый номер из внутреннего пула (вида 1234-1000). 

Чтобы заказ был готов к упаковке - необходимо передать статус подтверждения confirmStatus = APPROVED, а также комбинацию способа и статуса оплаты, позволяющую начать упаковку. А также остальные поля по строкам заказа, способу и адресу доставки.

Упаковка заказов

Упаковка осуществляется передачей по заказу желаемого состояния упакованных мест (количество мест, их товарное содержимое, габариты и масса, уникальные номера товаров (например, честный знак), штрихкод места (опционально)).

 

Создание/редактирование всех упакованных мест заказа

/api/lite/orders/consolidation/packing

Создание/редактирование набора упакованных мест заказов. Номер заказа обязательный параметр - поле id.

Система трактует переданный набор упакованных мест как итоговое желаемое состояние упакованных мест заказа. Если уже есть упакованные места - система проанализирует и приведет их в соответствие с переданным набором.

Сверка идет по полю num и barcode.

Если у мест передан штрихкод (поле barcode) - система запишет его, иначе присвоит ШК из внутреннего пула.

Система позволяет передавать сразу много заказов на упаковку в запросе (массив orders).

 

Важно. Сразу после первичной полной упаковки заказа (по данным системы - все товары заказа упакованы) - идет выгрузка заказа в Апи службы доставки. Если получены ошибки от службы доставки - операция вернет success = false и список полученных ошибок. Их необходимо исправить и повторно вызвать упаковку заказа.


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

{
    "orders": [
        {
            "id": "60-71",
			"packings": [				
                {                                 
					"num": 1,
                    "barcode": "123456789",
					"items": [
						{
							"num":1,
							"variantId": "154",
							"quantity": 2,
                           	"accountingAttributes": [
                                  {
                                      "code": "chestnyznak",
                                      "stringValue":"010463001165001521WRA5MP18REV1Y91EE0692LsS8Yf4v2H/umBxy5U/QqZG+pWIGdAqdCktd7H5JAoI="
                                  }
                            	]                            
						},
                        {
							"num":2,
							"variantId": "100-201",
							"quantity": 2                                             
						}                                          
					],
                    "measurements": {
                        "weight": 565,
                        "dimensions": {
                            "height": 10,
                            "width": 11,
                            "depth": 13
                        }
                    } 
				}                
                                           
                ]
        }
    ]
}

 

Успешный ответ

{
    "orders": [
        {
            "id": "60-71",
            "success": true
        }
    ],
    "success": true
}

 

Ошибка:
{
    "errors": [
        {
            "code": 0,
            "message": "[1130659] Переданный уникальный номер не соответствует требованиям \"ЧестныйЗнак\""
        }
    ],
    "orders": [
        {
            "errors": [
                {
                    "code": 0,
                    "message": "[1130659] Переданный уникальный номер не соответствует требованиям \"ЧестныйЗнак\""
                }
            ],
            "id": "5113-1141",
            "success": false
        }
    ],
    "success": false
}

 

Создание/редактирование упакованного места заказа поштучно

PUT /api/lite/orders/consolidation/packing

Создание/редактирование упакованного места заказа поштучно. Влияет только на одно место заказа и изменяет его согласно переданному желаемому состоянию. Остальные места заказа не затрагиваются.

Номер заказа обязательный параметр - поле id.

Формат запроса и ответа аналогичен POST запросу.


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

{
    "orders": [
        {
            "id": "60-71",
			"packings": [				
                {                                 
					"num": 1,
                    "barcode": "123456789",
					"items": [
						{
							"num":1,
							"variantId": "154",
							"quantity": 2                                             
						},
                        {
							"num":2,
							"variantId": "100-201",
							"quantity": 2                                             
						}                                          
					],
                    "measurements": {
                        "weight": 565,
                        "dimensions": {
                            "height": 10,
                            "width": 11,
                            "depth": 13
                        }
                    } 
				}                
                                           
                ]
        }
    ]
}

 

Успешный ответ

{
    "orders": [
        {
            "id": "60-71",
            "success": true
        }
    ],
    "success": true
}

 

 

Получение упакованных мест заказа

/api/lite/orders/consolidation/packing

Возвращает перечень упакованных мест заказа. 

Обязательный параметр: id заказа.

Пример ответа по частично упакованному заказу
{
    "orders": [
        {
            "date": "2023-09-26 13:40:13",
            "externalId": "60-72",
            "id": "60-72",
            "items": [
                {
                    "article": "",
                    "barcode": "2000916300001",
                    "img": "https://storage.yandexcloud.net/images-k2c/ea62ff54-ea8f-4a4c-a100-ff3ae38937ca.png",
                    "itemAmountState": {},
                    "itemDimensions": {
                        "depth": 1,
                        "height": 15,
                        "width": 5
                    },
                    "itemWeight": 80,
                    "name": "Расческа в чехле Bro Cosmetics, Цвет: коричневый ",
                    "num": 1,
                    "price": 2846.00,
                    "productExtId": "BR00T-000140",
                    "productId": "1013",
                    "productVariantCount": 3,
                    "quantity": 2,
                    "skuType": "SKU",
                    "variantExtId": "BR00T-000140-2",
                    "variantId": "154",
                    "vatRate": "NO_VAT",
                    "vatSkuProduct": "NO_VAT"
                },
                {
                    "article": "100-201-артикул",
                    "barcode": "100-100-201",
                    "itemAmountState": {},
                    "itemDimensions": {
                        "depth": 10,
                        "height": 10,
                        "width": 10
                    },
                    "itemWeight": 500,
                    "name": "Тест товар - 100-201",
                    "num": 2,
                    "price": 1000.00,
                    "productId": "1066",
                    "productVariantCount": 1,
                    "quantity": 2,
                    "skuType": "SKU",
                    "variantId": "100-201",
                    "vatRate": "VAT_20"
                },
                {
                    "article": "",
                    "barcode": "",
                    "name": "Доставка",
                    "num": 3,
                    "price": 0.00,
                    "quantity": 1,
                    "skuType": "SERVICE",
                    "variantId": "delivery",
                    "vatRate": "NO_VAT"
                }
            ],
            "notPackedItems": [
                {
                    "article": "100-201-артикул",
                    "barcode": "100-100-201",
                    "itemDimensions": {
                        "depth": 10,
                        "height": 10,
                        "width": 10
                    },
                    "itemWeight": 500,
                    "name": "Тест товар - 100-201",
                    "num": 2,
                    "productId": "1066",
                    "quantity": 1,
                    "skuType": "SKU",
                    "variantId": "100-201"
                },
                {
                    "article": "",
                    "barcode": "2000916300001",
                    "img": "https://storage.yandexcloud.net/images-k2c/ea62ff54-ea8f-4a4c-a100-ff3ae38937ca.png",
                    "itemDimensions": {
                        "depth": 1,
                        "height": 15,
                        "width": 5
                    },
                    "itemWeight": 80,
                    "name": "Расческа в чехле Bro Cosmetics, Цвет: коричневый ",
                    "num": 1,
                    "productExtId": "BR00T-000140",
                    "productId": "1013",
                    "quantity": 1,
                    "skuType": "SKU",
                    "variantExtId": "BR00T-000140-2",
                    "variantId": "154"
                }
            ],
            "packings": [
                {
                    "barcode": "3837100281759",
                    "files": [],
                    "items": [
                        {
                            "accountingAttributes": [],
                            "article": "",
                            "barcode": "2000916300001",
                            "img": "https://storage.yandexcloud.net/images-k2c/ea62ff54-ea8f-4a4c-a100-ff3ae38937ca.png",
                            "itemDimensions": {
                                "depth": 1,
                                "height": 15,
                                "width": 5
                            },
                            "itemWeight": 80,
                            "name": "Расческа в чехле Bro Cosmetics, Цвет: коричневый ",
                            "num": 1,
                            "price": 2846.00,
                            "productExtId": "BR00T-000140",
                            "productId": "1013",
                            "productVariantCount": 3,
                            "quantity": 1,
                            "skuType": "SKU",
                            "variantExtId": "BR00T-000140-2",
                            "variantId": "154",
                            "vatRate": "NO_VAT",
                            "vatSkuProduct": "NO_VAT"
                        },
                        {
                            "accountingAttributes": [],
                            "article": "100-201-артикул",
                            "barcode": "100-100-201",
                            "itemDimensions": {
                                "depth": 10,
                                "height": 10,
                                "width": 10
                            },
                            "itemWeight": 500,
                            "name": "Тест товар - 100-201",
                            "num": 2,
                            "price": 1000.00,
                            "productId": "1066",
                            "productVariantCount": 1,
                            "quantity": 1,
                            "skuType": "SKU",
                            "variantId": "100-201",
                            "vatRate": "VAT_20"
                        }
                    ],
                    "measurements": {
                        "dimensions": {
                            "depth": 13,
                            "height": 10,
                            "width": 11
                        },
                        "success": true,
                        "weight": 565
                    },
                    "num": 1
                }
            ],
            "status": "ORDER_INFO_READY_TO_PACK"
        }
    ],
    "recordsTotal": 1,
    "success": true
}

Получение стикера упакованного места

/api/lite/orders/consolidation/packing/print

Возвращает pdf файл со стикером 6x6 см для переданного упакованного места, в формате base64.

Обязательный параметр: barcode -  ШК упакованного места.

{
	"success": true,
	"content": "base64"
}

Пример стикера:

image-1696274700224.png

 

Отгрузка заказов (создание реестра отгрузки)

 

Создание/редактирование реестра отгрузки

/api/lite/takeout_list

Создание реестра отгружаемых заказов, объединенных одной службой доставки. По каждой службе доставки необходимо формировать отдеьный реестр. В отгруженный реестр вносить изменения состава заказов более нельзя. 

 

{
    "id":"1105",
    "courierCode":"LOGSIS",
    "takeoutDate": "2023-09-22",
    "takeoutHourStart":"09:00",
    "takeoutHourEnd":"18:00",
    "gatherType": "COURIER",
    "date":"2023-09-20 22:12:12", 
    "warehouseCode" : "e98f2e33-d488-d75c-4e38-b912e87429b6",   
    "orders": [{"id":"60-71"}, {"id":"60-72"}]
}

id - номер реестра,

courierCode - код курьерской компании (из перечисления),

takeoutDate - дата передачи заказов в службу доставки,
takeoutHourStart - интервал сбора  (начало),
takeoutHourEnd - интервал сбора  (окончание),
date - дата документа реестра,
gatherType - способ сбора (COURIER - вызов курьера, SELF_PICKUP - самопривоз),
warehouseCode - код склада с которого идет отгрузка (из справочника складов аккаунта),
orders - список номеров заказов реестра

Успешный ответ

{
    "id": "1105",
    "success": true
}

 

Получение  реестра отгрузки

/api/lite/takeout_list

Возвращает реестр отгрузки по его id 

Обязательный параметр: id реестра.

Пример успешного ответа
{
    "recordsTotal": 1,
    "success": true,
    "takeoutLists": [
        {
            "availableForChanges": false,
            "courierCode": "LOGSIS",
            "date": "2023-09-22 11:53:44",
            "id": "1101",
            "orders": [
                {
                    "customer": "Тестовый Покупатель",
                    "date": "2023-09-19",
                    "id": "60-55"
                },
                {
                    "customer": "Тестовый Покупатель",
                    "date": "2023-09-19",
                    "id": "60-56"
                }
            ],
            "status": "SHIPPED",
            "takeoutDate": "2023-09-22",
            "updateTs": "2023-09-22 11:53:44.643",
            "warehouseCode": "e98f2e33-d488-d75c-4e38-b912e87429b6",
            "warehouseManager": {
                "address": {},
                "alternativePhone": "",
                "name": "Не задано",
                "passport": {},
                "patronymic": "",
                "phone": "+73434343434",
                "rawPhone": "Не задано",
                "surname": ""
            },
            "warehouseName": "Свой склад"
        }
    ]
}

 

Получение печатной формы реестра

/api/lite/takeout_list/print

Возвращает pdf файл спечатной формой реестра А4 для указанного реестра, в формате base64.

Обязательный параметр: id реестра.

Пример печатной формы:

image-1696275500785.png