VRt.Universal [UV] (6.20.2289)

Описание

Программный интерфейс для универсального планирования рейсов.

Возможности

  • Возможность забора груза из любой локации
  • Возможность разгрузки в любой локации
  • Парные заявки нескольких типов: PICKUP (погрузка), DROP (выгрузка)
  • Одиночные заявки нескольких типов: DROP_FROM_BOX (выгрузка груза, который уже находится в кузове), PICKUP_TO_BOX (забор груза в кузов без последующей выгрузки), WORK (работа на локации без перемещения груза)
  • Комплексный заказ может состоять из любого числа заявок любых типов
  • Транспорт и исполнители разделены на разные сущности, при планирование происходит оптимальное назначение исполнителя на транспорт
  • У транспорта несколько отсеков - каждый из которых может вмещать груз и обладает собственными характеристиками
  • Учёт совместимости груза с транспортом по параметрам габарита груза (длина, ширина, высота, дополнительные параметры вместимости)
  • Учёт совместимостей груз-отсек транспорта (возможность учесть свойства отсека: холодильник, термо-сумка, крепежи и т.п)
  • Заявки-заменители, т.е. возможность выполнить одну из заявок-заменителей, выбор которой происходит на основе её географического местоположения и временного окна

Поддержка ограничений

Ограничения на исполнителя:

  • Место старта/финиша
  • Учет передвижения исполнителя до точки старта транспорта
  • График доступности исполнителя - список временных окон, в которые исполнитель может совершать перемещения и совершать работу на локациях
  • Максимальная продолжительность работы исполнителя в течение заданного временного периода

Ограничения на транспорт:

  • Место старта/финиша
  • График доступности транспорта - список временных окон, в которые транспорт может совершать перемещения
  • Максимальная протяженность маршрута
  • Несколько отсеков в транспорте, каждый со своими параметрами
  • Ограничение сверху на суммируемые вместимости (вес, объем, количество заказов, количество заявок)

Ограничения на заказ:

  • Жесткие временные окна
  • Возможность указать разные допустимые окна работы локации и окна желаемого выполнения заявки
  • Учет порядка исполнения заявок в пределах маршрута
  • Список желаемых временных окон выполнения с разными стоимостями для каждого из них

Используемые совместимости

Сущности являются совместимыми, если список свойств одной сущности полностью покрывает список требований другой сущности (наоборот для performer_blacklist - списки не должны пересекаться).

Поддерживаемые совместимости:

НазваниеТребованияСвойства
Заказ - Исполнительorder.performer_restrictionsperformer.performer_features
Заказ - Не Исполнительorder.performer_blacklistperformer.performer_features
Груз - Отсекorder.cargo.box_restrictionstransport.box.box_features
Локация - Транспортlocation.transport_restrictionstransport.transport_features
Транспорт - Исполнительtransport.performer_restrictionsperformer.performer_features
Исполнитель - Транспортperformer.transport_restrictionstransport.transport_features
Заказ - Заказorder.order_restrictionsorder.order_features
Груз - Грузcargo.cargo_restrictionscargo.cargo_features

Примеры бизнес правил:

НазваниеПример бизнес-правила
Заказ - ИсполнительДля выполнения заказа водитель должен иметь особое разрешение
Заказ - Не ИсполнительВодитель в черном списке
Груз - ОтсекДля перевозки замороженной продукции необходим отсек с особым температурным режимом
Локация - ТранспортОграничения на высоту транспорта
Транспорт - ИсполнительДля грузового транспорта водитель должен иметь категорию C
Исполнитель - ТранспортВодителю разрешено работать только на определенном транспорте
Заказ - ЗаказНельзя перевозить рыбу и фрукты в одном отсеке
Груз - ГрузДва груза нельзя одновременно размещать в одном отсеке транспорта, по очереди - можно

Назначения

Механизм назначений (hardlinks) необходим для указания требований по нахождению заказов, исполнителя и транспорта в одном рейсе.

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

Также назначение не отменяет указанные совместимости (и штрафы за нарушение совместимостей). Например, если заказ не может быть выполнен исполнителем, он не запланируется, но назначится на рейс (попадет в waitlist).

Размещение грузов в кузове

Список способностей объекта вращаться (с шагом в 90 градусов):

  • ALL - можно поворачивать по любой оси любое количество раз
  • YAW - можно повернуть один раз по вертикальной оси (вокруг своей оси)
  • PITCH - можно повернуть один раз по поперечной оси (поставить вертикально)
  • ROLL - можно повернуть один раз по продольной оси (положить на бок)

rotation

Модель рейса

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

Возможные значения флагов, отвечающих за географическое положение:

  • AROUND_LOCATION - исполнитель находится рядом с локацией - в процессе парковки или выезда с нее.
  • INSIDE_LOCATION - исполнитель находится на локации.

Возможные значения флагов, отвечающих за нахождения во временных окнах:

  • INSIDE_WORKING_WINDOW - исполнитель находится внутри рабочего временного окна.
  • INSIDE_LOCATION_WINDOW - исполнитель находится внутри времени работы локации.
  • INSIDE_EVENT_HARD_WINDOW - исполнитель находится внутри жесткого временного окна.
  • INSIDE_EVENT_SOFT_WINDOW - исполнитель находится внутри мягкого временного окна.

Возможные значения флагов, отвечающих за действия:

  • ON_DEMAND - исполнитель работает над заявкой.
  • WAITING - исполнитель находится в режиме ожидания.
  • RELOCATING - исполнитель перемещается к следующей остановке.
  • BREAK - исполнитель находится на перерыве.

Пример маршрута с множеством состояний в каждый момент времени

ВремяНабор активных флаговЛокация / Заказ / Заявка / СобытиеКомментарий
10:00INSIDE_LOCATION
AROUND_LOCATION
2 / - / - / -Стартовая локация
10:10RELOCATING- / - / - / -Едем к первому заказу
10:20AROUND_LOCATION2 / - / - / -Подъехали к первому заказу
10:40AROUND_LOCATION
INSIDE_LOCATION
WAITING
2 / - / - / -Припарковались
11:00AROUND_LOCATION
INSIDE_LOCATION
INSIDE_LOCATION_WINDOW
WAITING
INSIDE_EVENT_HARD_WINDOW
2 / - / - / -Дождались начала окна локации и одновременно доступности заказа
11:25AROUND_LOCATION
INSIDE_LOCATION
INSIDE_LOCATION_WINDOW
ON_DEMAND
INSIDE_WORKING_WINDOW
INSIDE_EVENT_HARD_WINDOW
2 / 1 / 2 / 3Дождались смены исполнителя
11:30AROUND_LOCATION
INSIDE_LOCATION
INSIDE_LOCATION_WINDOW
ON_DEMAND
INSIDE_WORKING_WINDOW
INSIDE_EVENT_HARD_WINDOW
INSIDE_EVENT_SOFT_WINDOW
2 / 1 / 2 / 3Пока работали - случилось мягкое окно
11:40AROUND_LOCATION
INSIDE_LOCATION
INSIDE_LOCATION_WINDOW
INSIDE_WORKING_WINDOW
2 / - / - / -Закончили работать
11:45AROUND_LOCATION
INSIDE_WORKING_WINDOW
2 / - / - /-Выехали с парковки
11:45RELOCATING
INSIDE_WORKING_WINDOW
- / - / - / -Едем на следующий заказ

Конфигурация планирования

Для каждого планирования есть возможность указать конфигурацию планирования, которая определяет целевую функцию, желаемое качество маршрутов и скорость расчета.

Название конфигурации планирования передается в поле trips_settings.configuration.

Основные конфигурации:

НазваниеЗадача
optimize_distanceРасставить как можно больше заказов, затем оптимизировать суммарный пробег (количество транспорта выбирается исходя из пробега), используется по умолчанию
optimize_transportsРасставить как можно больше заказов, при этом использовать как можно меньше транспорта, при прочих равных оптимизировать время работы исполнителей
optimize_locality_groupingРасставить как можно больше заказов, при этом стремиться оптимизировать визуальную группировку маршрутов, но не их количество
optimize_cars_then_distanceРасставить как можно больше заказов, затем оптимизировать количество транспорта, затем пробег
optimize_timeРасставить как можно больше заказов, затем оптимизировать суммарное время работы исполнителей
optimize_cars_then_timeРасставить как можно больше заказов, затем оптимизировать количество транспорта, затем суммарное время работы исполнителей
optimize_moneyОптимизировать величину "прибыль - затраты", складывается из наград за заявки и расходов на исполнителей и транспорты (оптимизируемая величина неотрицательна)

Дополнительные конфигурации:

НазваниеЗадача
visual_groupingРасставить как можно больше заказов, при этом использовать как можно меньше транспорта и маршруты должны быть визуально сгруппированы
optimize_visual_groupingРасставить как можно больше заказов, затем равномерно распределить заказы с учетом зон транспортной доступности (как visual_grouping, но визуальная группировка рассчитывается иначе)
optimize_cars_then_locality_groupingРасставить как можно больше заказов, затем оптимизировать количество транспорта, затем визуальную группировку маршрутов
optimize_cars_then_single_location_grouping_sequencedРасставить как можно больше заказов, затем оптимизировать количество машин, а затем надёжность

В дополнение к существующим вариантам планирования возможно создание целевой функции непосредственно под бизнес-процессы клиента (запросить конфигурацию).

Для разработки рекомендуется использовать optimize_cars_then_distance, так как данная конфигурация не требует детального подбора тарифов и стоимостей заказов.

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

Валидация входных данных состоит из нескольких этапов, которые описаны ниже.

1. Проверка по схеме

Если запрос не проходит по схеме, то планирование не запускается целиком и такая ошибка возвращается вместе с кодом 400 в schema_errors.

Мы рекомендуем проверять запрос по схеме (или yaml-файлу) перед отправкой на сервер.

2. Проверка на логические ошибки, которые не позволяют продолжить планирование

Корректные по схеме данные проходят второй этап проверки на возможность запуска планирования.

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

Данные ошибки возвращаются вместе с кодом 400 в logical_errors.

3. Проверка на логические ошибки, которые не позволяют продолжить планирование

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

Все сущности, которые не прошли проверку - вырезаются из исходной задачи и не отправляются на планирование.

В зависимости от настройки treat_warnings_as_errors результаты данного типа проверки возвращаются в warnings вместе с кодом 400, либо вместе с результатом планирования.

4. Проверки в процессе планирования

Часть проверок можно осуществить только в процессе планирования.

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

Результаты данных проверок возвращаются в warnings либо вместе с результатом планирования.

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

erd

Xlsx

Описание формата VRt.Universal XLSX для импорта\экспорта данных.

Данный формат является полным отображением json-модели данных и используется для:

  • исходных данных
  • настроек процессов
  • результатов расчета
  • статистики по результату расчета

Ниже представлено описание каждого листа отдельно, жирным выделены ключи.

Локации

Название листа locations.

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

НазваниеОписаниеПримечание
keyКлюч локации, уникальный идентификаторУникальный ключ в рамках расчета
departure_durationВремя на отъезд от локации, временной промежуток
geopoint.latitudeГеографическая широта в градусах
geopoint.longitudeГеографическая долгота в градусах
work_windows.fromНачало временного окна работы локацииОбязательно, если указан to. Если список пустой или не указан - локация работает без ограничений по времени.
work_windows.toОкончание временного окна работы локацииОбязательно, если указан from. Если список пустой или не указан - локация работает без ограничений по времени.
compatibilities
.transport_restrictions
Список необходимых требований к транспортуИспользуется для проверки совместимости транспорта локацией.
attributes.{key}Атрибуты, используются для указания служебной информации{key} - ключ атрибута. Можно заводить несколько. Эти данные не учитываются в планировании.

Описываемый объект:

key
required
string [ 1 .. 1024 ] characters

Ключ локации, уникальный идентификатор.

required
object (geopoint)

Географическая точка.

arrival_duration
string<duration> (time_duration) [ 3 .. 16 ] characters ^P(?!$)((\d+Y)|(\d+\.\d+Y$))?((\d+M)|(\d+\.\d...

Время на подъезд (парковку) на локации, в формате ISO 8601 duration.

departure_duration
string<duration> (time_duration) [ 3 .. 16 ] characters ^P(?!$)((\d+Y)|(\d+\.\d+Y$))?((\d+M)|(\d+\.\d...

Время на отъезд от локации, в формате ISO 8601 duration.

Array of objects or null (time_window) [ 0 .. 100 ] items unique
Default: []

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

object or null (location_compatibilities)

Совместимости локации с транспортом.

Array of objects (attributes) [ 0 .. 1000 ] items unique

Атрибуты. Используются для указания служебной информации.

{
  • "key": "location01",
  • "geopoint": {
    },
  • "arrival_duration": "P1Y1M1DT2H12M34.3S",
  • "departure_duration": "P1Y1M1DT2H12M34.3S",
  • "work_windows": [ ],
  • "compatibilities": {
    },
  • "attributes": [ ]
}

Исполнители

Название листа performers.

Список доступных исполнителей.

НазваниеОписаниеПримечание
keyКлюч исполнителя, уникальный идентификатор
own_transport_typeТип транспортаЕсли не указан, по умолчанию, проставляется CAR.
shifts.keyКлюч смены, уникальный идентификатор
shifts.start_location_keyКлюч начальной локациямиЕсли ключ не задан - то путь перформера начинается на первом заказе.
shifts.finish_location_keyКлюч финальной локацииЕсли ключ не задан - то путь перформера завершается на последнем заказе.
shifts.max_locationsОграничение количества уникальных локаций в одном рейсе, включая локации старта и финишаЕсли параметр не указан или указан как null - то количество локаций не ограничено.
shifts.max_stopsОграничение количества остановок в одном рейсе, включая локации старта и финишаЕсли параметр не указан или указан как null - то количество остановок не ограничено.
shifts.attributes.{key}Атрибуты. Используются для указания служебной информации{key} - ключ атрибута. Можно заводить несколько. Эти данные не учитываются в планировании.
shifts.availability_time.fromНачало временного окна сменыВ которое исполнитель может выполнять работу на локациях и осуществлять перемещение между локациями.
shifts.availability_time.toОкончание временного окна сменыВ которое исполнитель может выполнять работу на локациях и осуществлять перемещение между локациями.
shifts.working_time.fromНачало рабочего временного окнаВ которые исполнитель может выполнять работу на локациях, должно быть внутри временного окна смены.
shifts.working_time.toОкончание рабочего временного окнаВ которые исполнитель может выполнять работу на локациях, должно быть внутри временного окна смены.
shifts.tariff
.cost_per_shift
Цена за использование смены, денежная единицаПо умолчанию: 0.001
shifts.tariff
.max_penalty_cost
Максимальная сумма штрафов, которую может получить исполнитель в рамках данной смены, денежная единица.Если сумма не задана или равна null - исполнитель не может нарушать ограничения.
shifts.tariff
.constraints.stage_length
Длина оплачиваемого периода, временной промежутокПо умолчанию: 525960
shifts.tariff
.constraints.cost_per_unit
Стоимость внутри оплачиваемого периода, денежная единица за секунду работыПо умолчанию: 0.001
shifts.work_and_rest_rules
.first_break
.max_work_duration_sum
Суммарное время работы, после которого необходимо сделать перерыв
shifts.work_and_rest_rules
.first_break
.duration
Продолжительность перерыва
compatibilities
.performer_features
Список свойств исполнителяИспользуется для проверки совместимости исполнителя с заказами и транспортом.
compatibilities
.transport_restrictions
Список необходимых требований к транспортуИспользуется для проверки совместимости исполнителя с транспортом.
limits.max_work_shiftsОграничение на рабочую загрузку исполнителяОграничение количества смен исполнителя в одном планировании.
attributes.{key}Атрибуты, используются для указания служебной информации{key} - ключ атрибута. Можно заводить несколько. Эти данные не учитываются в планировании.

Описываемый объект:

key
required
string [ 1 .. 1024 ] characters

Ключ исполнителя, уникальный идентификатор.

required
Array of objects (performer_shift) [ 1 .. 15001 ] items unique

Список рабочих смен исполнителя.

own_transport_type
string (transport_type)
Enum: "CAR" "TRUCK_1500" "TRUCK_3000" … 9 more

Типы транспорта:

  • CAR - легковой автомобиль
  • TRUCK_1500 - грузовой автомобиль с разрешенной массой не более 1500 кг
  • TRUCK_3000 - грузовой автомобиль с разрешенной массой не более 3000 кг
  • TRUCK_5000 - грузовой автомобиль с разрешенной массой не более 5000 кг
  • TRUCK_10000 - грузовой автомобиль с разрешенной массой не более 10000 кг
  • TRUCK_20000 - грузовой автомобиль с разрешенной массой не более 20000 кг
  • TRUCK_GARBAGE_1 - грузовой автомобиль для перевозки мусора (тип 1)
  • TRUCK_GARBAGE_2 - грузовой автомобиль для перевозки мусора (тип 2)
  • TUK_TUK - моторикша
  • BICYCLE - велосипед
  • PEDESTRIAN - пешеход
  • PUBLIC_TRANSPORT - общественный транспорт

Разрешенная масса - это масса снаряженного транспорта с грузом и водителем, установленная предприятием-изготовителем в качестве максимально допустимой.

object or null (performer_compatibilities)

Совместимости исполнителя с транспортом и заказами.

object or null (performer_limits)

Ограничение на рабочую загрузку исполнителя.

Array of objects (attributes) [ 0 .. 1000 ] items unique

Атрибуты. Используются для указания служебной информации.

{
  • "key": "performer0001",
  • "shifts": [
    ],
  • "own_transport_type": "CAR",
  • "compatibilities": {
    },
  • "limits": {
    },
  • "attributes": [ ]
}

Транспорт

Название листа transports.

Список доступного транспорта.

НазваниеОписаниеПримечание
keyКлюч транспорта уникальный идентификатор
transport_typeТип транспортаЕсли не указан, по умолчанию, проставляется CAR
boxes.keyСписок отсеков транспорта, которые могут вмещать грузОбязательно,если в задаче присутствуют заказы с демандами PICKUP и DROP
shifts.keyКлюч смены, уникальный идентификатор
shifts.start_location_keyКлюч начальной локации.Если ключ не задан - то путь транспорта начинается на первом заказе
shifts.finish_location_keyКлюч финальной локацииЕсли ключ не задан - то путь транспорта завершается на последнем заказе
shifts.attributes.{key}Атрибуты. Используются для указания служебной информации{key} - ключ атрибута. Можно заводить несколько. Эти данные не учитываются в планировании
shifts.availability_time.fromНачало временного окна сменыВ которое транспорт может осуществлять перемещение между локациями и использоваться исполнителем в работах на локациях
shifts.availability_time.toОкончание временного окна сменыВ которое транспорт может осуществлять перемещение между локациями и использоваться исполнителем в работах на локациях
shifts.working_time.fromНачало рабочего временного окнаВ которые транспорт может использоваться исполнителем в работах на локациях, должно быть внутри временного окна смены
shifts.working_time.toОкончание рабочего временного окнаВ которые транспорт может использоваться исполнителем в работах на локациях, должно быть внутри временного окна смены
shifts.tariff
.cost_per_shift
Цена за использование смены, денежная единицаПо умолчанию: 0.001
shifts.tariff
.max_penalty_cost
Максимальная сумма штрафовПо умолчанию: 0. Которую может получить транспорт в рамках данной смены, денежная единица. Если сумма не задана или равна null - транспорт не может нарушать ограничения.
shifts.tariff
.constraints.stage_length
Длина оплачиваемой части пути, в метрахПо умолчанию: 100000000
shifts.tariff
.constraints.cost_per_unit
Стоимость внутри оплачиваемой части путиДенежная единица за один метр. По умолчанию: 0.001
shifts.tariff
.transportation_cost.mass
Стоимость перемещения 1 единицы массы груза на 1 метрВ условных денежных единицах
shifts.tariff
.transportation_cost.volume
Стоимость перемещения 1 единицы объема груза на 1 метрВ условных денежных единицах
shifts.tariff
.transportation_cost.capacity_a
Стоимость перемещения 1 единицы доп.параметра A груза на 1 метрВ условных денежных единицах
shifts.tariff
.transportation_cost.capacity_b
Стоимость перемещения 1 единицы доп.параметра B груза на 1 метрВ условных денежных единицах
shifts.tariff
.transportation_cost.capacity_c
Стоимость перемещения 1 единицы доп.параметра C груза на 1 метрВ условных денежных единицах
compatibilities
.transport_features
Список свойств транспортаИспользуется для проверки совместимости транспорта с локациями и исполнителями
compatibilities
.performer_restrictions
Список требований транспорта к исполнителюИспользуется для проверки совместимости с исполнителем
limits.max_boxesОграничение максимального количества используемых отсеков транспорта в одном рейсеЕсли параметр не указан или указан как null - то количество отсеков не ограничено. Ограничение не должно превышать количество отсеков
limits.max_capacity.massПараметр дополнительно ограничивает максимально возможную загрузку транспорта по массе суммарно по всем отсекамМасса в килограммах, применимо только если у транспорта больше одного отсека, параметр не должен быть меньше вместимости любого отсека.
limits.max_capacity.volumeПараметр дополнительно ограничивает максимально возможную загрузку транспорта по объему суммарно по всем отсекамОбъем в кубических метрах, применимо только если у транспорта больше одного отсека, параметр не должен быть меньше вместимости любого отсека.
limits.max_capacity.capacity_aПараметр дополнительно ограничивает максимально возможную загрузку транспорта по доп.параметру A суммарно по всем отсекамДополнительный параметр вместимости (A) для измерения грузов и отсеков в альтернативных единицах измерения. Например, для учета грузов в штуках (у груза данный параметр равен единице, у отсека - максимальному количеству вмещаемых грузов)
limits.max_capacity.capacity_bПараметр дополнительно ограничивает максимально возможную загрузку транспорта по доп.параметру B суммарно по всем отсекамДополнительный параметр вместимости (B) для измерения грузов и отсеков в альтернативных единицах измерения.
limits.max_capacity.capacity_cПараметр дополнительно ограничивает максимально возможную загрузку транспорта по доп.параметру C суммарно по всем отсекамДополнительный параметр вместимости (C) для измерения грузов и отсеков в альтернативных единицах измерения.
attributes.{key}Атрибуты, используются для указания служебной информации{key} - ключ атрибута. Можно заводить несколько. Эти данные не учитываются в планировании.

Описываемый объект:

key
required
string [ 1 .. 1024 ] characters

Ключ транспорта, уникальный идентификатор.

required
Array of objects (transport_shift) [ 1 .. 15001 ] items unique

Список рабочих смен транспорта.

transport_type
string (transport_type)
Enum: "CAR" "TRUCK_1500" "TRUCK_3000" … 9 more

Типы транспорта:

  • CAR - легковой автомобиль
  • TRUCK_1500 - грузовой автомобиль с разрешенной массой не более 1500 кг
  • TRUCK_3000 - грузовой автомобиль с разрешенной массой не более 3000 кг
  • TRUCK_5000 - грузовой автомобиль с разрешенной массой не более 5000 кг
  • TRUCK_10000 - грузовой автомобиль с разрешенной массой не более 10000 кг
  • TRUCK_20000 - грузовой автомобиль с разрешенной массой не более 20000 кг
  • TRUCK_GARBAGE_1 - грузовой автомобиль для перевозки мусора (тип 1)
  • TRUCK_GARBAGE_2 - грузовой автомобиль для перевозки мусора (тип 2)
  • TUK_TUK - моторикша
  • BICYCLE - велосипед
  • PEDESTRIAN - пешеход
  • PUBLIC_TRANSPORT - общественный транспорт

Разрешенная масса - это масса снаряженного транспорта с грузом и водителем, установленная предприятием-изготовителем в качестве максимально допустимой.

Array of objects (box) [ 0 .. 100 ] items unique
Default: []

Список отсеков транспорта, которые могут вмещать груз.

object or null (transport_compatibilities)

Совместимости транспорта с исполнителями и локациями.

object or null (transport_limits)

Ограничения на загрузку транспорт.

Array of objects (attributes) [ 0 .. 1000 ] items unique

Атрибуты. Используются для указания служебной информации.

{
  • "key": "transport001",
  • "shifts": [
    ],
  • "transport_type": "CAR",
  • "boxes": [ ],
  • "compatibilities": {
    },
  • "limits": {
    },
  • "attributes": [ ]
}

Кузова

Название листа transports.boxes.

Список отсеков транспорта, которые могут вмещать груз. Таблица обязательна, если в расчете есть заказы с заявками типов PICKUP и DROP. В описании отсеков обязательны те поля, которые описывают грузы.

НазваниеОписаниеПримечание
keyКлюч отсекаУникальный идентификатор, используется для идентификации размещения грузов по отсекам.
capacity.massМасса, кгОграничение по массе, которое может единовременно находиться в отсеке
capacity.volumeОбъем, м3Ограничение по объему, которое может единовременно находиться в отсеке
capacity.capacity_aДополнительный параметр вместимости (A)Для измерения грузов и отсеков в альтернативных единицах измерения. Например, для учета грузов в штуках (у груза данный параметр равен единице, у отсека - максимальному количеству вмещаемых грузов)
capacity.capacity_bДополнительный параметр вместимости (B)Для измерения грузов и отсеков в альтернативных единицах измерения.
capacity.capacity_cДополнительный параметр вместимости (C)Для измерения грузов и отсеков в альтернативных единицах измерения.
compatibilities
.width
Ширина в метрах
compatibilities
.height
Высота в метрах
compatibilities
.length
Длина в метрах
compatibilities
.box_features
Список свойств отсекаПо оценивается возможность перевозки груза в данном отсеке
limits
.max_one_cargo_capacity.mass
Масса в килограммахОграничение по полям capacity для одного груза
limits
.max_one_cargo_capacity.volume
Объем в кубических метрахОграничение по полям capacity для одного груза
limits
.max_one_cargo_capacity.capacity_a
Дополнительный параметр вместимости (A)Ограничение по полям capacity для одного груза
limits
.max_one_cargo_capacity.capacity_b
Дополнительный параметр вместимости (B)Ограничение по полям capacity для одного груза
limits
.max_one_cargo_capacity.capacity_c
Дополнительный параметр вместимости (C)Ограничение по полям capacity для одного груза

Описываемый объект:

key
required
string [ 1 .. 1024 ] characters

Ключ отсека, уникальный идентификатор, используется для идентификации размещения грузов по отсекам.

object or null (capacity)

Вместимость отсека, которая ограничивает максимальную сумму по всем полям capacity у всех грузов.

object or null (box_compatibilities)

Совместимости отсека транспорта.

object or null (box_limits)

max_one_cargo_capacity - ограничение по полям capacity для одного груза.

{
  • "key": "box01",
  • "capacity": {
    },
  • "compatibilities": {
    },
  • "limits": {
    }
}

Заказы

Название листа orders.

Список заказов.

НазваниеОписаниеПримечание
keyКлюч заказаПовторяющийся ключ заказа означает заявки одного заказа
cargos.keyСписок грузовМожет содержать один груз для DROP, список для PICKUP, пустой для WORK.
demands.keyКлюч заявки, уникальный идентификатор
demands.demand_typeТип заявкиЗагрузка - PICKUP, выгрузка - DROP, работа на локации - WORK.
demands.target_cargosСписок ключей грузовДля PICKUP, один ключ груза для DROP, пустой ключ для WORK
demands.precedence_in_tripПриоритет внутри рейса0 - приоритет не учитывается. По умолчанию: 0.
demands.precedence_in_orderПриоритет внутри заказа0 - приоритет не учитывается. По умолчанию: 0.
demands
.possible_events.key
Ключ события, уникальный идентификаторОписание объекта временного окна и локаций, в котором возможно выполнение заявки
demands
.possible_events.location_key
Ключ локации, в которой возможно данное событие
demands
.possible_events.duration
Время выполнения события
demands
.possible_events.reward
Вознаграждение за выполнение данного события
demands
.possible_events.hard_time_window.from
Начало жесткого временного окна
demands
.possible_events.hard_time_window.to
Конец жесткого временного окна
demands
.possible_events.soft_time_window.from
Начало мягкого временного окна
demands
.possible_events.soft_time_window.to
Конец мягкого временного окна
demands
.attributes.{key}
Атрибуты. Используются для указания служебной информации{key} - ключ атрибута. Можно заводить несколько. Эти данные не учитываются в планировании.
compatibilities
.order_features
Список свойств заказа
compatibilities
.order_restrictions
Список требований к заказу, выполняемому в этом же рейсе
compatibilities
.performer_restrictions
Список необходимых требований к исполнителюИспользуется для проверки совместимости исполнителя и заказа (работы).
compatibilities
.performer_blacklist
Список требований, наличие которых у исполнителя не допустимоИспользуется для проверки совместимости исполнителя и заказа (работы). Данный список не должен пересекаться с performer_restrictions
attributes.{key}Атрибуты, используются для указания служебной информации{key} - ключ атрибута. Можно заводить несколько. Эти данные не учитываются в планировании.

Описываемый объект:

key
required
string [ 1 .. 1024 ] characters

Ключ заказа, уникальный идентификатор.

required
Array of objects (demand) [ 1 .. 1000 ] items unique

Список заявок.

Array of objects (cargo) [ 0 .. 1000 ] items unique
Default: []

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

object or null (order_compatibilities)

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

Array of objects (attributes) [ 0 .. 1000 ] items unique

Атрибуты. Используются для указания служебной информации.

{
  • "key": "order01",
  • "demands": [
    ],
  • "cargos": [ ],
  • "compatibilities": {
    },
  • "attributes": [ ]
}

Грузы

Название листа orders.cargos.

Список грузов. Может содержать один груз для DROP, список для PICKUP, пустой для WORK. Таблица не обязательна, если все заявки имеют тип WORK.

НазваниеОписаниеПримечание
keyКлюч груза, уникальный идентификатор
capacity.massМасса в килограммах
capacity.volumeОбъем в кубических метрах
capacity.capacity_aДополнительный параметр вместимости (A)Для измерения грузов и отсеков в альтернативных единицах измерения. Например, для учета грузов в штуках (у груза данный параметр равен единице, у отсека - максимальному количеству вмещаемых грузов).
capacity.capacity_bДополнительный параметр вместимости (B)
capacity.capacity_cДополнительный параметр вместимости (C)
compatibilities
.width
Ширина в метрахИспользуется для проверки вместимости в отсек транспорта по ширине.
compatibilities
.height
Высота в метрахИспользуется для проверки вместимости в отсек транспорта по высоте
compatibilities
.length
Длина в метрахИспользуется для проверки вместимости в отсек транспорта по длине
compatibilities
.rotation
Список способностей объекта вращатьсяШаг вращения 90 градусов. Если список пустой - объект вращать запрещено. Доступные значения: ALL, YAW, PITCH, ROLL
compatibilities
.box_restrictions
Список требования к отсеку транспорта
compatibilities
.cargo_features
Список свойств грузаИспользуется для проверки совместимости груза с другими грузами. Несовместимые грузы не могу находится одновременно в одном отсеке транспорта
compatibilities
.cargo_restrictions
Список необходимых требований к грузуИспользуется для проверки совместимости груза с другими грузами. Несовместимые грузы не могу находится одновременно в одном отсеке транспорта

Описываемый объект:

key
required
string [ 1 .. 1024 ] characters

Ключ груза, уникальный идентификатор.

object or null (capacity)

Аддитивные меры груза.

object or null (cargo_compatibilities)

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

target_box_key
string or null [ 1 .. 1024 ] characters
Default: null

Ключ отсека транспорта, в котором уже находится груз. Применимо только для груза, который находится в заявке с типом DROP_FROM_BOX. Для других типов заявок ключ должен быть пустым.

{
  • "key": "cargo01",
  • "capacity": {
    },
  • "compatibilities": {
    },
  • "target_box_key": "box01"
}

Назначения

Название листа hardlinks.

Список назначений.

Описываемый объект:

key
required
string [ 1 .. 1024 ] characters

Ключ назначения.

required
Array of objects (hardlink_element) [ 2 .. 1000 ] items

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

{
  • "key": "group01",
  • "links": [
    ]
}

Рейсы

Название листа trips.

Список рейсов.

Описываемый объект:

key
required
string [ 1 .. 1024 ] characters

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

name
string (trip_name) [ 0 .. 64 ] characters

Краткое наименование рейса.

required
object (assigned_performer)

Назначенная на определенное время (shift_time) смена исполнителя.

required
object (assigned_transport)

Назначенная на определенное время (shift_time) смена транспорта.

required
Array of objects (trip_state) [ 0 .. 15001 ] items

Список состояний исполнителя.

waitlist
Array of strings (trip_waitlist) [ 0 .. 15001 ] items unique [ items [ 1 .. 1024 ] characters ]

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

Array of objects (attributes) [ 0 .. 1000 ] items unique

Атрибуты. Используются для указания служебной информации.

{
  • "key": "631988f0-9e27-11ed-a8fc-0242ac120002",
  • "name": "1-ABC",
  • "performer": {
    },
  • "transport": {
    },
  • "states": [
    ],
  • "waitlist": [
    ],
  • "attributes": [ ]
}

Факты

Название листа facts.

Список фактов.

Описываемый объект:

Array of objects (order_fact) [ 0 .. 50001 ] items

Список фактов по заказам - совершенных действий с заказами или его частями (заявками).

Array of objects (performer_fact) [ 0 .. 15001 ] items

Список фактов о нахождении исполнителя в определенной локации. При наличии нескольких фактов учитывается только самый поздний по полю time. Локация, на которую ссылается факт, должна находится в списке locations.

{
  • "order_facts": [
    ],
  • "performer_facts": [
    ]
}

Настройки планирования

Название листа plan_settings.

Настройки планирования.

Описываемый объект:

object (trips_settings)

Настройки создания рейсов.

object (geo_settings)

Настройки использования гео-данных.

object (calculation_settings)

Настройки процесса расчета.

{
  • "trips_settings": {
    },
  • "geo_settings": {
    },
  • "calculation_settings": {
    }
}

Настройки актуализации

Название листа actualize_settings.

Настройки актуализации.

Описываемый объект:

current_time
string or null<date-time>

Указание даты и времени, которое для актуализации будет являться текущим, в соответствии с ISO 8601. Если не указано - берется текущее время получения запроса сервером.

object (geo_settings)

Настройки использования гео-данных.

object (calculation_settings)

Настройки процесса расчета.

{
  • "current_time": "2024-02-21T09:30:00+03:00",
  • "geo_settings": {
    },
  • "calculation_settings": {
    }
}

Настройки перепланирования

Название листа replan_settings.

Настройки перепланирования.

Описываемый объект:

object (replan_strategy)

Стратегия перепланирования.

object (trips_settings)

Настройки создания рейсов.

object (geo_settings)

Настройки использования гео-данных.

object (calculation_settings)

Настройки процесса расчета.

{
  • "replan_strategy": {
    },
  • "trips_settings": {
    },
  • "geo_settings": {
    },
  • "calculation_settings": {
    }
}

Plan

Планирование - создание рейсов, которые учитывают все заданные ограничения, на основе данных о заказах, исполнителях и транспорте.

Запросы на планирования возможно выполнять в синхронном (для тестирования) и асинхронном (для основного использования) режимах.

Планирование (SYNC)

Синхронный метод для создания рейсов. Данный метод рекомендуется только для тестового использования и ручного запуска расчетов на небольшом объеме данных. Для боевой среды рекомендуется использовать асинхронный метод.

Authorizations:
ApiKeyAuth
Request Body schema: application/json
required

Новый запрос на планирование.

required
Array of objects (location) [ 1 .. 15001 ] items unique

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

required
Array of objects (order) [ 1 .. 15001 ] items unique

Список заказов.

required
Array of objects (performer) [ 1 .. 15001 ] items unique

Список доступных исполнителей.

required
Array of objects (transport) [ 1 .. 15001 ] items unique

Список доступного транспорта.

Array of objects (hardlink) [ 0 .. 15001 ] items unique
Default: []

Список назначений.

object (plan_settings)

Настройки планирования.

Array of objects (routing_transport_matrix_list) [ 0 .. 12 ] items unique

Список матриц времен и расстояний для каждого типа транспорта, которые указаны в данных. Матрица должна описывать все локации для каждого типа транспорта из данных. При указании внешней матрицы маршрутизации external_routing не учитываются параметры geo_settings.

dataset_name
string (dataset_name) [ 0 .. 1000 ] characters

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

Responses

Response Schema: application/json
required
object (tracedata)

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

required
Array of objects (trip) [ 0 .. 15001 ] items unique
Default: []

Расписание рейсов, назначенных на исполнителей.

required
object or null (plan_statistics)

Общая статистика по запланированным рейсам.

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

Список предупреждений.

object (unplanned_items)

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

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

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

required
object (calculation_info)

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

Request samples

Content type
application/json
Example
{
  • "locations": [
    ],
  • "orders": [
    ],
  • "performers": [
    ],
  • "transports": [
    ],
  • "plan_settings": {
    }
}

Response samples

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

Планирование (ASYNC)

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

Authorizations:
ApiKeyAuth
Request Body schema: application/json
required

Запуск асинхронного планирования.

required
Array of objects (location) [ 1 .. 15001 ] items unique

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

required
Array of objects (order) [ 1 .. 15001 ] items unique

Список заказов.

required
Array of objects (performer) [ 1 .. 15001 ] items unique

Список доступных исполнителей.

required
Array of objects (transport) [ 1 .. 15001 ] items unique

Список доступного транспорта.

Array of objects (hardlink) [ 0 .. 15001 ] items unique
Default: []

Список назначений.

object (plan_settings)

Настройки планирования.

Array of objects (routing_transport_matrix_list) [ 0 .. 12 ] items unique

Список матриц времен и расстояний для каждого типа транспорта, которые указаны в данных. Матрица должна описывать все локации для каждого типа транспорта из данных. При указании внешней матрицы маршрутизации external_routing не учитываются параметры geo_settings.

dataset_name
string (dataset_name) [ 0 .. 1000 ] characters

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

Responses

Response Schema: application/json
required
object (tracedata)

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

id
required
string<uuid> (calculation_id)

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

Request samples

Content type
application/json
Example
{
  • "locations": [
    ],
  • "orders": [
    ],
  • "performers": [
    ],
  • "transports": [
    ],
  • "plan_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": "logical",
  • "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 (trip) [ 0 .. 15001 ] items unique
Default: []

Расписание рейсов, назначенных на исполнителей.

required
object or null (plan_statistics)

Общая статистика по запланированным рейсам.

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

Список предупреждений.

object (unplanned_items)

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

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

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

required
object (calculation_info)

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

Response Schema: application/json
required
object (tracedata)

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

required
Array of objects (trip) [ 0 .. 15001 ] items unique
Default: []

Расписание рейсов, назначенных на исполнителей.

required
object or null (plan_statistics)

Общая статистика по запланированным рейсам.

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

Список предупреждений.

object (unplanned_items)

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

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

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

required
object (calculation_info)

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

Response samples

Content type
application/json
Example
{
  • "tracedata": {
    },
  • "trips": [
    ],
  • "statistics": {
    },
  • "progress": 100,
  • "info": {
    },
  • "warnings": [ ],
  • "unplanned_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": "logical",
  • "schema_errors": [ ],
  • "logical_errors": [
    ],
  • "warnings": [ ]
}

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

Проверка данных для планирования перед использованием.

Authorizations:
ApiKeyAuth
Request Body schema: application/json
required

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

required
Array of objects (location) [ 1 .. 15001 ] items unique

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

required
Array of objects (order) [ 1 .. 15001 ] items unique

Список заказов.

required
Array of objects (performer) [ 1 .. 15001 ] items unique

Список доступных исполнителей.

required
Array of objects (transport) [ 1 .. 15001 ] items unique

Список доступного транспорта.

Array of objects (hardlink) [ 0 .. 15001 ] items unique
Default: []

Список назначений.

object (plan_settings)

Настройки планирования.

Array of objects (routing_transport_matrix_list) [ 0 .. 12 ] items unique

Список матриц времен и расстояний для каждого типа транспорта, которые указаны в данных. Матрица должна описывать все локации для каждого типа транспорта из данных. При указании внешней матрицы маршрутизации external_routing не учитываются параметры geo_settings.

dataset_name
string (dataset_name) [ 0 .. 1000 ] characters

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

Responses

Response Schema: application/json
required
object (tracedata)

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

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

Список предупреждений.

Request samples

Content type
application/json
Example
{
  • "locations": [
    ],
  • "orders": [
    ],
  • "performers": [
    ],
  • "transports": [
    ],
  • "plan_settings": {
    }
}

Response samples

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

Actualize

Актуализация рейсов - обновление планового времени выполнения заказов с учетом фактов и без изменения порядка обьезда.

Актуализация проходит в три этапа - проверка, применение фактов, обновление времен у невыполненных состояний рейсов.

Чтобы получить результат применения фактов к исходной задаче воспользуйтесь очисткой данных для актуализации.

Учет текущего времени current_time:

  • Учитываются только те факты, которые произошли позже current_time.
  • Минимальное время всех состояний вычисляемых рейсов берется из current_time.

Учет фактов о заказах:

  • Если у заказа выполнены все заявки - он считается завершенным.
  • Если заказ завершен или отменен - он, и сущности на которые ссылается только он, удаляются из данных для актуализации.
  • Если у заказа выполнена заявка с типом PICKUP, то соответствующая ей заявка с типом DROP будет преобразована в заявку с типом DROP_FROM_BOX.
  • Факт о заказе имеет больший приоритет, чем факты о заявках по этому заказу (если факты о заявках противоречат факту о заказе - они не будут учтены).
  • На каждый рейс разрешен только один незакрытый факт DEMAND_START (закрывается фактом DEMAND_DONE) - так как исполнитель может в один момент времени выполнять только одну заявку.
  • Если есть факт о работе по заявке, которая противоречит плановому порядку в указанном рейсе - будет сперва завершена эта заявка, затем продолжится выполнение рейса согласно запланированному порядку.

Учет фактов об исполнителе:

  • Список фактов о нахождении исполнителя в определенной локации.
  • Если рейс начался (время факта позже планового времени начала рейса) - транспорт считается в той же локации, что и исполнитель.
  • При наличии нескольких фактов учитывается только самый поздний по полю time.
  • Локация, на которую ссылается факт, должна находится в списке locations.

Учет существующих рейсов:

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

Полученные в результате актуализации рейсы содержат только те работы, которые осталось выполнить.

Актуализация (SYNC)

Актуализация ранее запланированных рейсов.

Authorizations:
ApiKeyAuth
Request Body schema: application/json
required

Новый запрос на актуализацию.

required
Array of objects (location) [ 1 .. 15001 ] items unique

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

required
Array of objects (order) [ 1 .. 15001 ] items unique

Список заказов.

required
Array of objects (performer) [ 1 .. 15001 ] items unique

Список доступных исполнителей.

required
Array of objects (transport) [ 1 .. 15001 ] items unique

Список доступного транспорта.

Array of objects (hardlink) [ 0 .. 15001 ] items unique

Список назначений.

required
Array of objects (trip) [ 0 .. 15001 ] items unique

Существующие рейсы.

object (facts)

Произошедшие события.

Array of objects (routing_transport_matrix_list) [ 0 .. 12 ] items unique

Список матриц времен и расстояний для каждого типа транспорта, которые указаны в данных. Матрица должна описывать все локации для каждого типа транспорта из данных. При указании внешней матрицы маршрутизации external_routing не учитываются параметры geo_settings.

object (actualize_settings)

Настройки актуализации.

dataset_name
string (dataset_name) [ 0 .. 1000 ] characters

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

Responses

Response Schema: application/json
required
object (tracedata)

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

required
Array of objects (trip) [ 0 .. 15001 ] items unique
Default: []

Расписание рейсов, назначенных на исполнителей.

required
object or null (plan_statistics)

Общая статистика по запланированным рейсам.

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

Список предупреждений.

object (unplanned_items)

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

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

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

required
object (calculation_info)

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

Request samples

Content type
application/json
{
  • "locations": [
    ],
  • "orders": [
    ],
  • "performers": [
    ],
  • "transports": [
    ],
  • "trips": [
    ]
}

Response samples

Content type
application/json
{
  • "tracedata": {
    },
  • "trips": [ ],
  • "statistics": {
    },
  • "warnings": [ ],
  • "unplanned_items": {
    },
  • "progress": 52,
  • "info": {
    }
}

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

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

Authorizations:
ApiKeyAuth
Request Body schema: application/json
required

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

required
Array of objects (location) [ 1 .. 15001 ] items unique

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

required
Array of objects (order) [ 1 .. 15001 ] items unique

Список заказов.

required
Array of objects (performer) [ 1 .. 15001 ] items unique

Список доступных исполнителей.

required
Array of objects (transport) [ 1 .. 15001 ] items unique

Список доступного транспорта.

Array of objects (hardlink) [ 0 .. 15001 ] items unique

Список назначений.

required
Array of objects (trip) [ 0 .. 15001 ] items unique

Существующие рейсы.

object (facts)

Произошедшие события.

Array of objects (routing_transport_matrix_list) [ 0 .. 12 ] items unique

Список матриц времен и расстояний для каждого типа транспорта, которые указаны в данных. Матрица должна описывать все локации для каждого типа транспорта из данных. При указании внешней матрицы маршрутизации external_routing не учитываются параметры geo_settings.

object (actualize_settings)

Настройки актуализации.

dataset_name
string (dataset_name) [ 0 .. 1000 ] characters

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

Responses

Response Schema: application/json
required
object (tracedata)

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

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

Список предупреждений.

Request samples

Content type
application/json
{
  • "locations": [
    ],
  • "orders": [
    ],
  • "performers": [
    ],
  • "transports": [
    ],
  • "hardlinks": [
    ],
  • "trips": [
    ],
  • "facts": {
    },
  • "external_routing": [ ],
  • "actualize_settings": {
    },
  • "dataset_name": "custom_dataset_one"
}

Response samples

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

Очистка данных

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

Authorizations:
ApiKeyAuth
Request Body schema: application/json
required

Данные, которые необходимо очистить.

required
Array of objects (location) [ 1 .. 15001 ] items unique

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

required
Array of objects (order) [ 1 .. 15001 ] items unique

Список заказов.

required
Array of objects (performer) [ 1 .. 15001 ] items unique

Список доступных исполнителей.

required
Array of objects (transport) [ 1 .. 15001 ] items unique

Список доступного транспорта.

Array of objects (hardlink) [ 0 .. 15001 ] items unique

Список назначений.

required
Array of objects (trip) [ 0 .. 15001 ] items unique

Существующие рейсы.

object (facts)

Произошедшие события.

Array of objects (routing_transport_matrix_list) [ 0 .. 12 ] items unique

Список матриц времен и расстояний для каждого типа транспорта, которые указаны в данных. Матрица должна описывать все локации для каждого типа транспорта из данных. При указании внешней матрицы маршрутизации external_routing не учитываются параметры geo_settings.

object (actualize_settings)

Настройки актуализации.

dataset_name
string (dataset_name) [ 0 .. 1000 ] characters

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

Responses

Response Schema: application/json
required
Array of objects (location) [ 1 .. 15001 ] items unique

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

required
Array of objects (order) [ 1 .. 15001 ] items unique

Список заказов.

required
Array of objects (performer) [ 1 .. 15001 ] items unique

Список доступных исполнителей.

required
Array of objects (transport) [ 1 .. 15001 ] items unique

Список доступного транспорта.

Array of objects (hardlink) [ 0 .. 15001 ] items unique

Список назначений.

required
Array of objects (trip) [ 0 .. 15001 ] items unique

Существующие рейсы.

object (facts)

Произошедшие события.

Array of objects (routing_transport_matrix_list) [ 0 .. 12 ] items unique

Список матриц времен и расстояний для каждого типа транспорта, которые указаны в данных. Матрица должна описывать все локации для каждого типа транспорта из данных. При указании внешней матрицы маршрутизации external_routing не учитываются параметры geo_settings.

object (actualize_settings)

Настройки актуализации.

dataset_name
string (dataset_name) [ 0 .. 1000 ] characters

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

Request samples

Content type
application/json
{
  • "locations": [
    ],
  • "orders": [
    ],
  • "performers": [
    ],
  • "transports": [
    ],
  • "trips": [
    ]
}

Response samples

Content type
application/json
{
  • "locations": [
    ],
  • "orders": [
    ],
  • "performers": [
    ],
  • "transports": [
    ],
  • "hardlinks": [
    ],
  • "trips": [
    ],
  • "facts": {
    },
  • "external_routing": [ ],
  • "actualize_settings": {
    },
  • "dataset_name": "custom_dataset_one"
}

Replan

Перепланирование - создание новых рейсов на основе уже существующих рейсов с учетом фактов.

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

Чтобы получить результат применения фактов к исходной задаче воспользуйтесь очисткой данных для перепланирования.

Учет текущего времени current_time:

  • Учитываются только те факты, которые произошли позже current_time.
  • Минимальное время всех состояний вычисляемых рейсов берется из current_time.

Перепланирование (SYNC)

Перепланирование - создание рейсов на основе данных о заказах, исполнителях и транспорте.

Authorizations:
ApiKeyAuth
Request Body schema: application/json
required

Новый запрос на перепланирование.

required
Array of objects (location) [ 1 .. 15001 ] items unique

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

required
Array of objects (order) [ 1 .. 15001 ] items unique

Список заказов.

required
Array of objects (performer) [ 1 .. 15001 ] items unique

Список доступных исполнителей.

required
Array of objects (transport) [ 1 .. 15001 ] items unique

Список доступного транспорта.

Array of objects (hardlink) [ 0 .. 15001 ] items unique
Default: []

Список назначений.

required
Array of objects (trip) [ 0 .. 15001 ] items unique

Существующие рейсы.

object (facts)

Произошедшие события.

Array of objects (routing_transport_matrix_list) [ 0 .. 12 ] items unique

Список матриц времен и расстояний для каждого типа транспорта, которые указаны в данных. Матрица должна описывать все локации для каждого типа транспорта из данных. При указании внешней матрицы маршрутизации external_routing не учитываются параметры geo_settings.

object (replan_settings)

Настройки перепланирования.

dataset_name
string (dataset_name) [ 0 .. 1000 ] characters

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

Responses

Response Schema: application/json
required
object (tracedata)

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

required
Array of objects (trip) [ 0 .. 15001 ] items unique
Default: []

Расписание рейсов, назначенных на исполнителей.

required
object or null (plan_statistics)

Общая статистика по запланированным рейсам.

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

Список предупреждений.

object (unplanned_items)

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

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

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

required
object (calculation_info)

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

Request samples

Content type
application/json
{
  • "locations": [
    ],
  • "orders": [
    ],
  • "performers": [
    ],
  • "transports": [
    ],
  • "trips": [
    ]
}

Response samples

Content type
application/json
{
  • "tracedata": {
    },
  • "trips": [
    ],
  • "statistics": {
    },
  • "progress": 100,
  • "info": {
    },
  • "warnings": [ ],
  • "unplanned_items": {
    }
}

Перепланирование (ASYNC)

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

Authorizations:
ApiKeyAuth
Request Body schema: application/json
required

Запуск асинхронного перепланирования.

required
Array of objects (location) [ 1 .. 15001 ] items unique

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

required
Array of objects (order) [ 1 .. 15001 ] items unique

Список заказов.

required
Array of objects (performer) [ 1 .. 15001 ] items unique

Список доступных исполнителей.

required
Array of objects (transport) [ 1 .. 15001 ] items unique

Список доступного транспорта.

Array of objects (hardlink) [ 0 .. 15001 ] items unique
Default: []

Список назначений.

required
Array of objects (trip) [ 0 .. 15001 ] items unique

Существующие рейсы.

object (facts)

Произошедшие события.

Array of objects (routing_transport_matrix_list) [ 0 .. 12 ] items unique

Список матриц времен и расстояний для каждого типа транспорта, которые указаны в данных. Матрица должна описывать все локации для каждого типа транспорта из данных. При указании внешней матрицы маршрутизации external_routing не учитываются параметры geo_settings.

object (replan_settings)

Настройки перепланирования.

dataset_name
string (dataset_name) [ 0 .. 1000 ] characters

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

Responses

Response Schema: application/json
required
object (tracedata)

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

id
required
string<uuid> (calculation_id)

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

Request samples

Content type
application/json
{
  • "locations": [
    ],
  • "orders": [
    ],
  • "performers": [
    ],
  • "transports": [
    ],
  • "trips": [
    ]
}

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": "logical",
  • "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 (trip) [ 0 .. 15001 ] items unique
Default: []

Расписание рейсов, назначенных на исполнителей.

required
object or null (plan_statistics)

Общая статистика по запланированным рейсам.

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

Список предупреждений.

object (unplanned_items)

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

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

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

required
object (calculation_info)

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

Response Schema: application/json
required
object (tracedata)

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

required
Array of objects (trip) [ 0 .. 15001 ] items unique
Default: []

Расписание рейсов, назначенных на исполнителей.

required
object or null (plan_statistics)

Общая статистика по запланированным рейсам.

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

Список предупреждений.

object (unplanned_items)

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

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

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

required
object (calculation_info)

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

Response samples

Content type
application/json
{
  • "tracedata": {
    },
  • "trips": [
    ],
  • "statistics": {
    },
  • "progress": 100,
  • "info": {
    },
  • "warnings": [ ],
  • "unplanned_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": "logical",
  • "schema_errors": [ ],
  • "logical_errors": [
    ],
  • "warnings": [ ]
}

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

Проверка данных для перепланирования перед использованием.

Authorizations:
ApiKeyAuth
Request Body schema: application/json
required

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

required
Array of objects (location) [ 1 .. 15001 ] items unique

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

required
Array of objects (order) [ 1 .. 15001 ] items unique

Список заказов.

required
Array of objects (performer) [ 1 .. 15001 ] items unique

Список доступных исполнителей.

required
Array of objects (transport) [ 1 .. 15001 ] items unique

Список доступного транспорта.

Array of objects (hardlink) [ 0 .. 15001 ] items unique
Default: []

Список назначений.

required
Array of objects (trip) [ 0 .. 15001 ] items unique

Существующие рейсы.

object (facts)

Произошедшие события.

Array of objects (routing_transport_matrix_list) [ 0 .. 12 ] items unique

Список матриц времен и расстояний для каждого типа транспорта, которые указаны в данных. Матрица должна описывать все локации для каждого типа транспорта из данных. При указании внешней матрицы маршрутизации external_routing не учитываются параметры geo_settings.

object (replan_settings)

Настройки перепланирования.

dataset_name
string (dataset_name) [ 0 .. 1000 ] characters

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

Responses

Response Schema: application/json
required
object (tracedata)

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

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

Список предупреждений.

Request samples

Content type
application/json
{
  • "locations": [
    ],
  • "orders": [
    ],
  • "performers": [
    ],
  • "transports": [
    ],
  • "trips": [
    ]
}

Response samples

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

Очистка данных

Очистка данных для перепланирования перед планированием.

Authorizations:
ApiKeyAuth
Request Body schema: application/json
required

Данные, которые необходимо очистить.

required
Array of objects (location) [ 1 .. 15001 ] items unique

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

required
Array of objects (order) [ 1 .. 15001 ] items unique

Список заказов.

required
Array of objects (performer) [ 1 .. 15001 ] items unique

Список доступных исполнителей.

required
Array of objects (transport) [ 1 .. 15001 ] items unique

Список доступного транспорта.

Array of objects (hardlink) [ 0 .. 15001 ] items unique
Default: []

Список назначений.

required
Array of objects (trip) [ 0 .. 15001 ] items unique

Существующие рейсы.

object (facts)

Произошедшие события.

Array of objects (routing_transport_matrix_list) [ 0 .. 12 ] items unique

Список матриц времен и расстояний для каждого типа транспорта, которые указаны в данных. Матрица должна описывать все локации для каждого типа транспорта из данных. При указании внешней матрицы маршрутизации external_routing не учитываются параметры geo_settings.

object (replan_settings)

Настройки перепланирования.

dataset_name
string (dataset_name) [ 0 .. 1000 ] characters

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

Responses

Response Schema: application/json
required
Array of objects (location) [ 1 .. 15001 ] items unique

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

required
Array of objects (order) [ 1 .. 15001 ] items unique

Список заказов.

required
Array of objects (performer) [ 1 .. 15001 ] items unique

Список доступных исполнителей.

required
Array of objects (transport) [ 1 .. 15001 ] items unique

Список доступного транспорта.

Array of objects (hardlink) [ 0 .. 15001 ] items unique
Default: []

Список назначений.

required
Array of objects (trip) [ 0 .. 15001 ] items unique

Существующие рейсы.

object (facts)

Произошедшие события.

Array of objects (routing_transport_matrix_list) [ 0 .. 12 ] items unique

Список матриц времен и расстояний для каждого типа транспорта, которые указаны в данных. Матрица должна описывать все локации для каждого типа транспорта из данных. При указании внешней матрицы маршрутизации external_routing не учитываются параметры geo_settings.

object (replan_settings)

Настройки перепланирования.

dataset_name
string (dataset_name) [ 0 .. 1000 ] characters

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

Request samples

Content type
application/json
{
  • "locations": [
    ],
  • "orders": [
    ],
  • "performers": [
    ],
  • "transports": [
    ],
  • "hardlinks": [ ],
  • "trips": [
    ],
  • "facts": {
    },
  • "external_routing": [ ],
  • "replan_settings": {
    },
  • "dataset_name": "custom_dataset_one"
}

Response samples

Content type
application/json
{
  • "locations": [
    ],
  • "orders": [
    ],
  • "performers": [
    ],
  • "transports": [
    ],
  • "hardlinks": [ ],
  • "trips": [
    ],
  • "facts": {
    },
  • "external_routing": [ ],
  • "replan_settings": {
    },
  • "dataset_name": "custom_dataset_one"
}

Convert

Конвертация данных.

JSON >> XLSX

Используется для конвертации входных и выходных данных в формат VRt.Universal XLSX.

Authorizations:
ApiKeyAuth
Request Body schema: application/json
required

Запрос на конвертацию в XLSX.

Array of objects (location) [ 0 .. 15001 ] items unique

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

Array of objects (order) [ 0 .. 15001 ] items unique

Список заказов.

Array of objects (performer) [ 0 .. 15001 ] items unique

Список доступных исполнителей.

Array of objects (transport) [ 0 .. 15001 ] items unique

Список доступного транспорта.

Array of objects (hardlink) [ 0 .. 15001 ] items unique

Список назначений.

Array of objects (trip) [ 0 .. 15001 ] items unique

Существующие рейсы.

object (facts)

Произошедшие события.

object or null (plan_statistics)

Общая статистика по запланированным рейсам.

Array of objects (routing_transport_matrix_list) [ 0 .. 12 ] items unique

Список матриц времен и расстояний для каждого типа транспорта, которые указаны в данных. Матрица должна описывать все локации для каждого типа транспорта из данных. При указании внешней матрицы маршрутизации external_routing не учитываются параметры geo_settings.

object (plan_settings)

Настройки планирования.

object (replan_settings)

Настройки перепланирования.

object (actualize_settings)

Настройки актуализации.

dataset_name
string (dataset_name) [ 0 .. 1000 ] characters

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

Responses

Response Schema: application/octet-stream
string<byte> (file_xlsx)

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

Request samples

Content type
application/json
{
  • "locations": [
    ],
  • "orders": [
    ],
  • "performers": [
    ],
  • "transports": [
    ],
  • "trips": [
    ]
}

Response samples

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

XLSX >> JSON

Используется для конвертации данных из формата VRt.Universal XLSX в формат VRt.Universal JSON.

Authorizations:
ApiKeyAuth
Request Body schema: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
required

Запрос на конвертацию в JSON.

string<byte> (file_xlsx)

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

Responses

Response Schema: application/json
Array of objects (location) [ 0 .. 15001 ] items unique

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

Array of objects (order) [ 0 .. 15001 ] items unique

Список заказов.

Array of objects (performer) [ 0 .. 15001 ] items unique

Список доступных исполнителей.

Array of objects (transport) [ 0 .. 15001 ] items unique

Список доступного транспорта.

Array of objects (hardlink) [ 0 .. 15001 ] items unique

Список назначений.

Array of objects (trip) [ 0 .. 15001 ] items unique

Существующие рейсы.

object (facts)

Произошедшие события.

object or null (plan_statistics)

Общая статистика по запланированным рейсам.

Array of objects (routing_transport_matrix_list) [ 0 .. 12 ] items unique

Список матриц времен и расстояний для каждого типа транспорта, которые указаны в данных. Матрица должна описывать все локации для каждого типа транспорта из данных. При указании внешней матрицы маршрутизации external_routing не учитываются параметры geo_settings.

object (plan_settings)

Настройки планирования.

object (replan_settings)

Настройки перепланирования.

object (actualize_settings)

Настройки актуализации.

dataset_name
string (dataset_name) [ 0 .. 1000 ] characters

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

Response samples

Content type
application/json
{
  • "locations": [
    ],
  • "orders": [
    ],
  • "performers": [
    ],
  • "transports": [
    ],
  • "hardlinks": [
    ],
  • "trips": [
    ],
  • "facts": {
    },
  • "statistics": {
    },
  • "external_routing": [ ],
  • "plan_settings": {
    },
  • "replan_settings": {
    },
  • "actualize_settings": {
    },
  • "dataset_name": "custom_dataset_one"
}

JSON >> THRIFT

Используется для конвертации входных данных в формат THRIFT.

Authorizations:
ApiKeyAuth
Request Body schema: application/json
required

Запрос на конвертацию в THRIFT.

Array of objects (location) [ 0 .. 15001 ] items unique

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

Array of objects (order) [ 0 .. 15001 ] items unique

Список заказов.

Array of objects (performer) [ 0 .. 15001 ] items unique

Список доступных исполнителей.

Array of objects (transport) [ 0 .. 15001 ] items unique

Список доступного транспорта.

Array of objects (hardlink) [ 0 .. 15001 ] items unique

Список назначений.

Array of objects (trip) [ 0 .. 15001 ] items unique

Существующие рейсы.

object (facts)

Произошедшие события.

object or null (plan_statistics)

Общая статистика по запланированным рейсам.

Array of objects (routing_transport_matrix_list) [ 0 .. 12 ] items unique

Список матриц времен и расстояний для каждого типа транспорта, которые указаны в данных. Матрица должна описывать все локации для каждого типа транспорта из данных. При указании внешней матрицы маршрутизации external_routing не учитываются параметры geo_settings.

object (plan_settings)

Настройки планирования.

object (replan_settings)

Настройки перепланирования.

object (actualize_settings)

Настройки актуализации.

dataset_name
string (dataset_name) [ 0 .. 1000 ] characters

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

Responses

Response Schema: text/plain
string (file_text)

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

Request samples

Content type
application/json
{
  • "locations": [
    ],
  • "orders": [
    ],
  • "performers": [
    ],
  • "transports": [
    ],
  • "trips": [
    ]
}

Response samples

Content type
application/json
{
  • "tracedata": {
    },
  • "message": "logical",
  • "schema_errors": [ ],
  • "logical_errors": [
    ],
  • "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": {
    }
}