VRt.Packer [PC] (7.9.2527)

Veeroute Support Team: servicedesk@veeroute.com License: 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)

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

dataset_name
string (dataset_name) [ 0 .. 512 ] characters
Example: "custom_dataset_one"

Название набора данных. Техническое поле, не влияющее на расчет.

Responses

Response Schema: application/json
required
object (tracedata)

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

required
Array of objects (blueprint) [ 0 .. 70001 ] items
Example: "[object Object]"

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

required
object (pack_statistics)

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

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

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

object (unpacked_items)

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

calculation_progress
required
integer <int32> (calculation_progress) [ 0 .. 100 ]
Example: "52"

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

required
object (calculation_info)

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

Request samples

Content type
application/json
Example
{
}

Response samples

Content type
application/json
Example
{
}

Упаковка (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)

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

dataset_name
string (dataset_name) [ 0 .. 512 ] characters
Example: "custom_dataset_one"

Название набора данных. Техническое поле, не влияющее на расчет.

Responses

Response Schema: application/json
required
object (tracedata)

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

process_code
required
string <uuid> (process_code)
Example: "11111111-2222-3333-4444-555555555555"

Код процесса - идентификатор расчета.

Request samples

Content type
application/json
Example
{
}

Response samples

Content type
application/json
{
}

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

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

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

Уникальный идентификатор процесса.

Responses

Response samples

Content type
application/json
{
}

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

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

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

Уникальный идентификатор процесса.

Responses

Response Schema: application/json
required
object (tracedata)

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

calculation_progress
required
integer <int32> (calculation_progress) [ 0 .. 100 ]
Example: "52"

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

required
object (calculation_info)

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

Response Schema: application/json
required
object (tracedata)

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

calculation_progress
required
integer <int32> (calculation_progress) [ 0 .. 100 ]
Example: "52"

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

required
object (calculation_info)

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

Response samples

Content type
application/json
{
}

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

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

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

Уникальный идентификатор процесса.

Responses

Response Schema: application/json
required
object (tracedata)

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

required
Array of objects (blueprint) [ 0 .. 70001 ] items
Example: "[object Object]"

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

required
object (pack_statistics)

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

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

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

object (unpacked_items)

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

calculation_progress
required
integer <int32> (calculation_progress) [ 0 .. 100 ]
Example: "52"

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

required
object (calculation_info)

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

Response Schema: application/json
required
object (tracedata)

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

required
Array of objects (blueprint) [ 0 .. 70001 ] items
Example: "[object Object]"

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

required
object (pack_statistics)

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

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

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

object (unpacked_items)

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

calculation_progress
required
integer <int32> (calculation_progress) [ 0 .. 100 ]
Example: "52"

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

required
object (calculation_info)

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

Response samples

Content type
application/json
Example
{
}

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

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

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

Уникальный идентификатор процесса.

Responses

Response samples

Content type
application/json
{
}

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

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

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)

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

dataset_name
string (dataset_name) [ 0 .. 512 ] characters
Example: "custom_dataset_one"

Название набора данных. Техническое поле, не влияющее на расчет.

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
{
}

Response samples

Content type
application/json
{
}

System

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

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

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

Responses

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

Текущий показатель здоровья сервиса.

  • 0.0 означает неготовность сервиса выполнять задачи.
  • 1.0 означает полную готовность сервиса для выполнения задач.

Response samples

Content type
application/json
{
}

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

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

Responses

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

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

minor
required
integer <int32> [ 0 .. 111 ]
Example: "5"

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

build
required
string [ 1 .. 64 ] characters
Example: "3754RC"

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

Response samples

Content type
application/json
{
}

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

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

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
{
}