Консолидация
Создание товаров
Для создания товаров можно полноценно использовать Апи работы с товарами,
а также импорты/экспорты excel файлов с номеклатурой.
Также полноценно работает и раздел Товары в ЛК пользователя
В дополнение к этим стандартным возможностям - есть режим автосоздания номенклатуры для аккаунта Консолидации - прямо из Апи заказов на отгрузку.
Для этого в order.items нужно - в дополнение к стандартным полям строrи заказа (num, variantId, price, quantity, vatRate) - передать поля:
{
...
"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"
}
Пример стикера:
Отгрузка заказов (создание реестра отгрузки)
Создание/редактирование реестра отгрузки
/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 - код курьерской компании (из перечисления),
Успешный ответ
{
"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 реестра.
Пример печатной формы: