VRt.Packer [PC] (6.20.2289)

Veeroute Support Team: servicedesk@veeroute.comLicense: Proprietary

Программный интерфейс для Veeroute Packer.

Описание

Сервис предназначен для расчета размещения товаров внутри заданных упаковок.

Виды упаковок

Поддон

pallet

Моно-поддон

Если поддон полностью укомплектован одинаковым товаром, то такой поддон называется моно-поддон, такой поддон имеет следующие правила загрузки:

  1. Учитывается максимально допустимая высота поддона с уложенным на него товаром.
  2. Учитывается максимально допустимый вес загруженного поддона.
  3. Упаковки товара могут укладываться только параллельно стенкам поддона.
  4. Допускается поворачивать упаковки вокруг вертикальной оси Z и только под прямым углом.
  5. Чтобы выровнять высоту между позициями (для размещения еще одного поддона сверху), в укладку по слоям могут добавляться пустые места.

Разделенный на зоны поддон

После формирования моно-поддонов оставшаяся часть товаров того же артикула размещается на на следующем поддоне, который делится при помощи картонной перегородки на зоны таким образом, чтобы в каждой зоне был размещен товар только одного артикула, при этом зоны имеют следующие ограничения:

  1. Зоны прямоугольные.
  2. Соотношение между сторонами зон может быть любое.
  3. Одна из сторон любой зоны всегда соприкасается с краем поддоны.
  4. Допустимое количество зон на поддоне: от 2 до 6.
  5. Каждая зона заполняется по правилам заполнения моно-поддона.
  6. Высота укладки всех товаров не превышает 50 мм, чтобы сверху такого поддона можно было поставить еще один поддон.
  7. Допускается формировать поддоны с разной высотой укладки для разных позиций (разница высот больше 50 мм), если это будут верхние поддоны в стопке.

Миксбокс

mixbox

Если на описанных выше этапах не удается разместить номенклатуру таким образом, чтобы поддон был необходимой высоты или веса, используются миксбоксы:

  1. Миксбокс можно класть только в один слой.
  2. В одном миксбоксе могут находится разные товары, в этом случае он делится перегородками аналогично поддону (единственно отличие - не выравнивается высота упакованного товара).
  3. Миксбоксы можно смешивать с товарными позициями на одной палете.
  4. Один товар может быть упакован в разные миксбокс.

Слот

slot

Загруженные поддоны укладываются в стопки друг на друга, слот - это место установки стопки поддонов. У слота нет физического тела - поэтому размеры body слота нулевые.

Система координат

coordinates

Для указания местоположение упаковок и товаров используется локальная система координат, в которой координаты конкретного объекта указываются относительно ближнего левого нижнего угла родительского объекта, при этом:

  • Горизонтальная плоскость - оси X, Y
  • Вертикальная - ось Z

Соотношение осей товаров и упаковок:

  • Ширина - по оси X
  • Длина - по оси Y
  • Высота - по оси Z

Диаграмма сущностей

erd

Pack

Расчет размещения товаров внутри упаковок.

Упаковка (SYNC)

Планирование оптимального размещения.

Authorizations:
ApiKeyAuth
Request Body schema: application/json
required

Данные для расчета.

required
Array of objects (product) [ 1 .. 70001 ] items unique

Список товаров, которые необходимо упаковать.

required
Array of objects (package) [ 1 .. 11 ] items unique

Список доступных упаковок. Обязательно наличие хотя бы одной упаковки каждого типа (SLOT, PALLET, MIXBOX).

object (pack_settings)

Настройки упаковки.

Responses

Response Schema: application/json
required
object (tracedata)

Данные используемые для трассировки запросов.

required
Array of objects (blueprint) [ 0 .. 70001 ] items

План размещения товаров в виде списка расположений упаковок. На первом уровне находится список стопок поддонов.

required
object (pack_statistics)

Общая статистика по схеме упаковки.

Array of objects (entity_warning_list) [ 0 .. 70001 ] items

Список предупреждений. В зависимости от флага calculation_settings.treat_warnings_as_errors - сработавшие проверки интерпретируются как ошибки или приводят к удалению некорректных данных из расчета.

object (unpacked_items)

Список неупакованных товаров и не используемых упаковок.

progress
required
integer<int32> (calculation_progress) [ 0 .. 100 ]

Прогресс расчета в процентах. Прогресс отражает текущее количество завершенных шагов.

required
object (calculation_info)

Информация о расчете.

Request samples

Content type
application/json
Example
{
  • "products": [
    ],
  • "packages": [
    ],
  • "pack_settings": {
    }
}

Response samples

Content type
application/json
Example
{
  • "tracedata": {
    },
  • "blueprint": [
    ],
  • "statistics": {
    },
  • "progress": 100,
  • "info": {
    },
  • "warnings": [ ],
  • "unpacked_items": {
    }
}

Упаковка (ASYNC)

Получение результата производится с помощью метода result, а удаление - с помощью delete.

Authorizations:
ApiKeyAuth
Request Body schema: application/json
required

Данные для расчета.

required
Array of objects (product) [ 1 .. 70001 ] items unique

Список товаров, которые необходимо упаковать.

required
Array of objects (package) [ 1 .. 11 ] items unique

Список доступных упаковок. Обязательно наличие хотя бы одной упаковки каждого типа (SLOT, PALLET, MIXBOX).

object (pack_settings)

Настройки упаковки.

Responses

Response Schema: application/json
required
object (tracedata)

Данные используемые для трассировки запросов.

id
required
string<uuid> (calculation_id)

Идентификатор расчета.

Request samples

Content type
application/json
Example
{
  • "products": [
    ],
  • "packages": [
    ],
  • "pack_settings": {
    }
}

Response samples

Content type
application/json
{
  • "tracedata": {
    },
  • "id": "11111111-2222-3333-4444-555555555555"
}

Состояние расчета

Получение состояния расчета по идентификатору расчета.

Authorizations:
ApiKeyAuth
path Parameters
id
required
string<uuid> (calculation_id)
Example: 11111111-2222-3333-4444-555555555555

Идентификатор расчета.

Responses

Response Schema: application/json
required
object (tracedata)

Данные используемые для трассировки запросов.

progress
required
integer<int32> (calculation_progress) [ 0 .. 100 ]

Прогресс расчета в процентах. Прогресс отражает текущее количество завершенных шагов.

required
object (calculation_info)

Информация о расчете.

Response samples

Content type
application/json
{
  • "tracedata": {
    },
  • "progress": 52,
  • "info": {
    }
}

Отмена расчета

Отмена процесса планирования по идентификатору расчета.

Authorizations:
ApiKeyAuth
path Parameters
id
required
string<uuid> (calculation_id)
Example: 11111111-2222-3333-4444-555555555555

Идентификатор расчета.

Responses

Response samples

Content type
application/json
{
  • "tracedata": {
    },
  • "message": "bad task data",
  • "schema_errors": [ ],
  • "logical_errors": [
    ],
  • "warnings": [ ]
}

Получение результата

Получение результата расчета по идентификатору расчета.

Authorizations:
ApiKeyAuth
path Parameters
id
required
string<uuid> (calculation_id)
Example: 11111111-2222-3333-4444-555555555555

Идентификатор расчета.

Responses

Response Schema: application/json
required
object (tracedata)

Данные используемые для трассировки запросов.

required
Array of objects (blueprint) [ 0 .. 70001 ] items

План размещения товаров в виде списка расположений упаковок. На первом уровне находится список стопок поддонов.

required
object (pack_statistics)

Общая статистика по схеме упаковки.

Array of objects (entity_warning_list) [ 0 .. 70001 ] items

Список предупреждений. В зависимости от флага calculation_settings.treat_warnings_as_errors - сработавшие проверки интерпретируются как ошибки или приводят к удалению некорректных данных из расчета.

object (unpacked_items)

Список неупакованных товаров и не используемых упаковок.

progress
required
integer<int32> (calculation_progress) [ 0 .. 100 ]

Прогресс расчета в процентах. Прогресс отражает текущее количество завершенных шагов.

required
object (calculation_info)

Информация о расчете.

Response Schema: application/json
required
object (tracedata)

Данные используемые для трассировки запросов.

required
Array of objects (blueprint) [ 0 .. 70001 ] items

План размещения товаров в виде списка расположений упаковок. На первом уровне находится список стопок поддонов.

required
object (pack_statistics)

Общая статистика по схеме упаковки.

Array of objects (entity_warning_list) [ 0 .. 70001 ] items

Список предупреждений. В зависимости от флага calculation_settings.treat_warnings_as_errors - сработавшие проверки интерпретируются как ошибки или приводят к удалению некорректных данных из расчета.

object (unpacked_items)

Список неупакованных товаров и не используемых упаковок.

progress
required
integer<int32> (calculation_progress) [ 0 .. 100 ]

Прогресс расчета в процентах. Прогресс отражает текущее количество завершенных шагов.

required
object (calculation_info)

Информация о расчете.

Response samples

Content type
application/json
Example
{
  • "tracedata": {
    },
  • "blueprint": [
    ],
  • "statistics": {
    },
  • "progress": 100,
  • "info": {
    },
  • "warnings": [ ],
  • "unpacked_items": {
    }
}

Удаление результата

Удаление результата по идентификатору расчета.

Authorizations:
ApiKeyAuth
path Parameters
id
required
string<uuid> (calculation_id)
Example: 11111111-2222-3333-4444-555555555555

Идентификатор расчета.

Responses

Response samples

Content type
application/json
{
  • "tracedata": {
    },
  • "message": "bad task data",
  • "schema_errors": [ ],
  • "logical_errors": [
    ],
  • "warnings": [ ]
}

Валидация данных

Проверка данных перед отправкой на расчет.

Authorizations:
ApiKeyAuth
Request Body schema: application/json
required

Данные для расчета.

required
Array of objects (product) [ 1 .. 70001 ] items unique

Список товаров, которые необходимо упаковать.

required
Array of objects (package) [ 1 .. 11 ] items unique

Список доступных упаковок. Обязательно наличие хотя бы одной упаковки каждого типа (SLOT, PALLET, MIXBOX).

object (pack_settings)

Настройки упаковки.

Responses

Response Schema: application/json
required
object (tracedata)

Данные используемые для трассировки запросов.

required
Array of objects (entity_warning_list) [ 0 .. 70001 ] items

Список предупреждений. В зависимости от флага calculation_settings.treat_warnings_as_errors - сработавшие проверки интерпретируются как ошибки или приводят к удалению некорректных данных из расчета.

Request samples

Content type
application/json
Example
{
  • "products": [
    ],
  • "packages": [
    ],
  • "pack_settings": {
    }
}

Response samples

Content type
application/json
{
  • "tracedata": {
    },
  • "warnings": [ ]
}

System

Системные функции. Вспомогательный функционал, общий для всех сервисов.

Проверка доступности

Проверка доступности сервиса.

Responses

Response Schema: application/json
health
required
number<double> [ 0 .. 1 ]

Текущий показатель здоровья сервиса.
0 означает неготовность сервиса выполнять задачи.
1 означает полную готовность сервиса для выполнения задач.

Response samples

Content type
application/json
{
  • "health": 0.999
}

Получение версии сервиса

Получение версии сервиса.

Responses

Response Schema: application/json
major
required
integer<int32> [ 1 .. 100 ]

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

minor
required
integer<int32> [ 0 .. 111 ]

Минорная версия сервиса. Изменение версии указывает на новую функциональность. Обновление имеет обратную совместимость в рамках мажорной версии сервиса.

build
required
string [ 1 .. 64 ] characters

Версия сборки.
Изменяется при обновлении документации и исправлении ошибок.

Response samples

Content type
application/json
{
  • "major": 4,
  • "minor": 4,
  • "build": "1754RC"
}

Получение документации

Получение файла с документацией на этот сервис.

path Parameters
filename
required
string [ 6 .. 128 ] characters
Example: file_en.html

Название файла.

Responses

Response Schema:
string (file_html)

Файл с данными в формате HTML.

Response samples

Content type
application/json
{
  • "resource_id": "resource_id",
  • "detail": {
    }
}