Программный интерфейс для инструмента Veeroute Monitor.
Создание новой папки.
Запрос на создание папки. В поле parent_key
необходимо указать ключ папки, в которой будет создана новая папка. Если parent_key
не указан - папка создается в корне.
parent_key | string or null <uuid> (unique_key_null) Example: "11111111-2222-3333-4444-555555555555" Ключ родительской папки, null если папка корневая. |
name required | string (folder_name) [ 1 .. 100 ] characters Example: "folder_1" Название папки. |
comment | string or null (folder_comment) [ 0 .. 10000 ] characters Example: "long long long long text" Комментарий к папке. |
Ключ созданной папки.
{- "parent_key": "11111111-2222-3333-4444-555555555555",
- "name": "folder_1",
- "comment": "long long long long text"
}
"11111111-2222-3333-4444-555555555555"
Получение структуры папок.
folder_key | string or null <uuid> (unique_key_null) Default: null Example: folder_key=11111111-2222-3333-4444-555555555555 Ключ родительской папки, если не указан - возвращается список корневых папок |
filter | string [ 1 .. 64 ] characters Example: filter=example text Фильтр для поиска по текстовым полям - возвращаются только те папки, у которых содержится подстрока из фильтра:
|
offset | integer <int32> [ 0 .. 10000000 ] Default: 0 Example: offset=10 Количество пропущенных сущностей до возвращаемого списка. |
limit | integer <int32> [ 1 .. 2001 ] Default: 100 Example: limit=10 Максимальное количество возвращаемых сущностей. |
sort_field | string (filesystem_column_type) Enum: "NAME" "OWNER_COMPANY_KEY" "OWNER_USERNAME" … 3 more Example: sort_field=NAME Название колонки в таблице с папками. |
sort_direction | string Default: "ASC" Enum: "ASC" "DESC" Example: sort_direction=DESC Направление сортировки. |
required | object (folder) Папка - элемент виртуальной файловой системы. |
required | Array of objects (folder) [ 0 .. 2001 ] items Список папок. |
required | object (table_list_counters) Счетчики по списку. |
{- "folders": [
- {
- "key": "2bff0b86-2ddc-445c-9d98-f75ca2eec091",
- "parent_key": "65fb88e5-128d-4f3f-9a50-4c2754adcbed",
- "name": "My Folder",
- "owner_company_key": "veeroute",
- "owner_username": "username_1",
- "comment": "long text",
- "counters": {
- "folders_count": 0,
- "files_count": 3
}
}
], - "counters": {
- "overall": {
- "total": 20
}, - "filter": {
- "total": 1
}
}
}
Переименование и перемещение папки.
folder_key required | string <uuid> (unique_key) Example: 11111111-2222-3333-4444-555555555555 Ключ папки, уникальный идентификатор. |
Запрос на обновление папки.
parent_key | string or null <uuid> (unique_key_null) Example: "11111111-2222-3333-4444-555555555555" Ключ родительской папки, null если папка корневая. |
name required | string (folder_name) [ 1 .. 100 ] characters Example: "folder_1" Название папки. |
comment | string or null (folder_comment) [ 0 .. 10000 ] characters Example: "long long long long text" Комментарий к папке. |
required | object (folder) Папка - элемент виртуальной файловой системы. |
required | Array of objects (folder) [ 0 .. 2001 ] items Список папок. |
required | object (table_list_counters) Счетчики по списку. |
{- "parent_key": "11111111-2222-3333-4444-555555555555",
- "name": "folder_1",
- "comment": "long long long long text"
}
{- "folders": [
- {
- "key": "2bff0b86-2ddc-445c-9d98-f75ca2eec091",
- "parent_key": "65fb88e5-128d-4f3f-9a50-4c2754adcbed",
- "name": "My Folder",
- "owner_company_key": "veeroute",
- "owner_username": "username_1",
- "comment": "long text",
- "counters": {
- "folders_count": 0,
- "files_count": 3
}
}
], - "counters": {
- "overall": {
- "total": 20
}, - "filter": {
- "total": 1
}
}
}
Удаление папки по ключу.
folder_key required | string <uuid> (unique_key) Example: 11111111-2222-3333-4444-555555555555 Ключ папки, уникальный идентификатор. |
{- "tracedata": {
- "process_code": "11111111-2222-3333-4444-555555555555",
- "request_code": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
- "username": "username_for_login",
- "company": "smart_company",
- "service": "UNIVERSAL",
- "operation": "run_plan_calculation",
- "env": "edge7",
- "pod": "11111111-2222-3333-4444-555555555555",
- "time": "2025-09-21T09:30:00+03:00"
}, - "message": "Bad Request",
- "schema_errors": [
- {
- "entity": "order_0001",
- "message": "bad input data"
}
]
}
Получение информации о папке.
folder_key required | string <uuid> (unique_key) Example: 11111111-2222-3333-4444-555555555555 Ключ папки, уникальный идентификатор. |
parent_key | string or null <uuid> (unique_key_null) Example: "11111111-2222-3333-4444-555555555555" Ключ родительской папки, null если папка корневая. |
name required | string (folder_name) [ 1 .. 100 ] characters Example: "folder_1" Название папки. |
comment | string or null (folder_comment) [ 0 .. 10000 ] characters Example: "long long long long text" Комментарий к папке. |
{- "parent_key": "11111111-2222-3333-4444-555555555555",
- "name": "folder_1",
- "comment": "long long long long text"
}
Получение пути папки.
folder_key required | string <uuid> (unique_key) Example: 11111111-2222-3333-4444-555555555555 Ключ папки, уникальный идентификатор. |
required | Array of objects (folder) [ 0 .. 1000 ] items Список папок. |
{- "folders": [
- {
- "key": "11111111-2222-3333-4444-555555555555",
- "type": "FOLDER",
- "parent_key": "11111111-2222-3333-4444-555555555555",
- "name": "folder_1",
- "owner_company_key": "smart_company",
- "owner_username": "username_for_login",
- "comment": "long long long long text",
- "creation_date": "2025-09-21T19:45:00Z",
- "counters": {
- "folders_count": 12,
- "files_count": 16
}
}
]
}
Массовое удаление папок.
Список ключей папок, которые необходимо удалить.
Ключ, уникальный идентификатор.
[- "11111111-2222-3333-4444-555555555555"
]
{- "tracedata": {
- "process_code": "11111111-2222-3333-4444-555555555555",
- "request_code": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
- "username": "username_for_login",
- "company": "smart_company",
- "service": "UNIVERSAL",
- "operation": "run_plan_calculation",
- "env": "edge7",
- "pod": "11111111-2222-3333-4444-555555555555",
- "time": "2025-09-21T09:30:00+03:00"
}, - "message": "Bad Request",
- "schema_errors": [
- {
- "entity": "order_0001",
- "message": "bad input data"
}
]
}
Массовое удаление файлов.
Список ключей файлов, которые необходимо удалить.
Ключ, уникальный идентификатор.
[- "11111111-2222-3333-4444-555555555555"
]
{- "tracedata": {
- "process_code": "11111111-2222-3333-4444-555555555555",
- "request_code": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
- "username": "username_for_login",
- "company": "smart_company",
- "service": "UNIVERSAL",
- "operation": "run_plan_calculation",
- "env": "edge7",
- "pod": "11111111-2222-3333-4444-555555555555",
- "time": "2025-09-21T09:30:00+03:00"
}, - "message": "Bad Request",
- "schema_errors": [
- {
- "entity": "order_0001",
- "message": "bad input data"
}
]
}
Получение статистики по виртуальной файловой системе.
required | object (folder_counters) Текущее количество доступных папок/файлов. |
required | object (folder_counters) Максимальное количество доступных папок/файлов. |
{- "current": {
- "folders_count": 12,
- "files_count": 16
}, - "max": {
- "folders_count": 12,
- "files_count": 16
}
}
Экспорт папки с экспериментами.
folder_key required | string <uuid> (unique_key) Example: 11111111-2222-3333-4444-555555555555 Ключ папки, уникальный идентификатор. |
ZIP-архив с данными.
{- "tracedata": {
- "process_code": "11111111-2222-3333-4444-555555555555",
- "request_code": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
- "username": "username_for_login",
- "company": "smart_company",
- "service": "UNIVERSAL",
- "operation": "run_plan_calculation",
- "env": "edge7",
- "pod": "11111111-2222-3333-4444-555555555555",
- "time": "2025-09-21T09:30:00+03:00"
}, - "message": "Bad Request",
- "schema_errors": [
- {
- "entity": "order_0001",
- "message": "bad input data"
}
]
}
Импорт папки с экспериментами. Папка не должна типа ROOT и должна быть пустой.
folder_key required | string <uuid> (unique_key) Example: 11111111-2222-3333-4444-555555555555 Ключ папки, уникальный идентификатор. |
Данные (ZIP).
ZIP-архив с данными.
{- "tracedata": {
- "process_code": "11111111-2222-3333-4444-555555555555",
- "request_code": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
- "username": "username_for_login",
- "company": "smart_company",
- "service": "UNIVERSAL",
- "operation": "run_plan_calculation",
- "env": "edge7",
- "pod": "11111111-2222-3333-4444-555555555555",
- "time": "2025-09-21T09:30:00+03:00"
}, - "message": "Bad Request",
- "schema_errors": [
- {
- "entity": "order_0001",
- "message": "bad input data"
}
]
}
Управление командами.
Команда состоит из:
Создание новой команды.
Запрос на создание команды.
key required | string (crew_key) [ 3 .. 256 ] characters \w+ Example: "mega_crew" Уникальный идентификатор команды. |
username required | string (user_username) [ 2 .. 256 ] characters \w+ Example: "username_for_login" Уникальное имя пользователя для авторизации. |
password | string or null <password> (user_password) [ 10 .. 256 ] characters Example: "long_strong_password" Пароль. |
company_key required | string (company_key) [ 3 .. 256 ] characters \w+ Example: "smart_company" Уникальный идентификатор компании. |
required | object (performer) Исполнитель. Выполняет заказы, используя транспорт. |
required | object (transport) Транспорт. Исполнитель использует транспорт для перемещения и перевозки грузов. |
object (device) Мобильное устройство. | |
specification | string or null (user_specification) [ 2 .. 256 ] characters Example: "User full name" Описание команды. |
linked_waves | Array of strings <uuid> (unique_key_list) [ 0 .. 15001 ] items [ items <uuid > ] Example: ["11111111-2222-3333-4444-555555555555"] Связанные с командой волны. |
key required | string (crew_key) [ 3 .. 256 ] characters \w+ Example: "mega_crew" Уникальный идентификатор команды. |
username required | string (user_username) [ 2 .. 256 ] characters \w+ Example: "username_for_login" Уникальное имя пользователя для авторизации. |
company_key required | string (company_key) [ 3 .. 256 ] characters \w+ Example: "smart_company" Уникальный идентификатор компании. |
required | object (performer) Исполнитель. Выполняет заказы, используя транспорт. |
required | object (transport) Транспорт. Исполнитель использует транспорт для перемещения и перевозки грузов. |
object (device) Мобильное устройство. | |
specification | string or null (user_specification) [ 2 .. 256 ] characters Example: "User full name" Описание команды. |
linked_waves | Array of strings <uuid> (unique_key_list) [ 0 .. 15001 ] items [ items <uuid > ] Example: ["11111111-2222-3333-4444-555555555555"] Связанные с командой волны. |
{- "key": "mega_crew",
- "username": "username_for_login",
- "password": "long_strong_password",
- "company_key": "smart_company",
- "performer": {
- "key": "performer0001",
- "shifts": [
- {
- "key": "shift01",
- "availability_time": {
- "from": "2025-09-21T09:30:00+03:00",
- "to": "2025-09-21T19:45:00Z"
}, - "working_time": {
- "from": "2025-09-21T09:30:00+03:00",
- "to": "2025-09-21T19:45:00Z"
}, - "start_location_key": "start_location_01",
- "finish_location_key": "finish_location_01",
- "max_locations": 15,
- "max_stops": 15,
- "tariff": {
- "cost_per_shift": 2000,
- "constraints": [
- {
- "stage_length": "P30D",
- "cost_per_unit": 0.001
}
], - "max_penalty_cost": 2000
}, - "work_and_rest_rules": {
- "rest_rules": {
- "consecutive": {
- "relocating_duration_sum": "PT1H45M",
- "operating_duration_sum": "PT2H12M34.3S",
- "duration": "PT1H45M"
}
}, - "break_rules": {
- "first": {
- "relocating_duration_sum": "PT1H45M",
- "operating_duration_sum": "PT2H12M34.3S",
- "duration": "PT1H45M"
}, - "consecutive": {
- "relocating_duration_sum": "PT1H45M",
- "operating_duration_sum": "PT2H12M34.3S",
- "duration": "PT1H45M"
}, - "relocating_duration_type": "CONTINUOUS"
}, - "reset_location_keys": [
- "location_01"
], - "ignore_location_keys": [
- "location_01"
]
}, - "name": "X1-ABC",
- "attributes": [ ]
}
], - "own_transport_type": "CAR",
- "compatibilities": {
- "performer_features": [ ],
- "performer_features_lifetimes": [ ],
- "transport_restrictions": [ ]
}, - "limits": {
- "max_work_shifts": 3,
- "demand_extra_durations": [
- {
- "demand_key": "demand01.1",
- "additional_duration": "PT1H45M"
}
]
}, - "name": "X1-ABC",
- "attributes": [ ]
}, - "transport": {
- "key": "transport001",
- "shifts": [
- {
- "key": "shift01",
- "availability_time": {
- "from": "2025-09-21T09:30:00+03:00",
- "to": "2025-09-21T19:45:00Z"
}, - "start_location_key": "start_location_01",
- "finish_location_key": "finish_location_01",
- "tariff": {
- "cost_per_shift": 2000,
- "constraints": [
- {
- "stage_length": 100000000,
- "cost_per_unit": 0.001
}
], - "transportation_cost": {
- "mass": 11,
- "volume": 22,
- "capacity_a": 11,
- "capacity_b": 22,
- "capacity_c": 31
}
}, - "name": "X1-ABC",
- "attributes": [ ]
}
], - "transport_type": "CAR",
- "boxes": [
- {
- "key": "box01",
- "capacity": {
- "mass": 10,
- "volume": 2,
- "capacity_a": 1,
- "capacity_b": 2,
- "capacity_c": 3
}, - "compatibilities": {
- "width": 1,
- "height": 3.1,
- "length": 2.1,
- "box_features": [ ]
}, - "limits": {
- "max_one_cargo_capacity": {
- "mass": 10,
- "volume": 2,
- "capacity_a": 1,
- "capacity_b": 2,
- "capacity_c": 3
}
}
}
], - "compatibilities": {
- "transport_features": [ ],
- "transport_features_lifetimes": [ ],
- "performer_restrictions": [ ]
}, - "limits": {
- "max_boxes": 2,
- "max_capacity": {
- "mass": 10,
- "volume": 2,
- "capacity_a": 1,
- "capacity_b": 2,
- "capacity_c": 3
}
}, - "name": "X1-ABC",
- "attributes": [ ]
}, - "device": {
- "phone": "+71112223333",
- "online": true,
- "app_version": "7.21",
- "os_version": "15.0",
- "manufacturer": "samsung",
- "model": "S25 Ultra"
}, - "specification": "User full name",
- "linked_waves": [
- "11111111-2222-3333-4444-555555555555"
]
}
{- "key": "mega_crew",
- "username": "username_for_login",
- "company_key": "smart_company",
- "performer": {
- "key": "performer0001",
- "shifts": [
- {
- "key": "shift01",
- "availability_time": {
- "from": "2025-09-21T09:30:00+03:00",
- "to": "2025-09-21T19:45:00Z"
}, - "working_time": {
- "from": "2025-09-21T09:30:00+03:00",
- "to": "2025-09-21T19:45:00Z"
}, - "start_location_key": "start_location_01",
- "finish_location_key": "finish_location_01",
- "max_locations": 15,
- "max_stops": 15,
- "tariff": {
- "cost_per_shift": 2000,
- "constraints": [
- {
- "stage_length": "P30D",
- "cost_per_unit": 0.001
}
], - "max_penalty_cost": 2000
}, - "work_and_rest_rules": {
- "rest_rules": {
- "consecutive": {
- "relocating_duration_sum": "PT1H45M",
- "operating_duration_sum": "PT2H12M34.3S",
- "duration": "PT1H45M"
}
}, - "break_rules": {
- "first": {
- "relocating_duration_sum": "PT1H45M",
- "operating_duration_sum": "PT2H12M34.3S",
- "duration": "PT1H45M"
}, - "consecutive": {
- "relocating_duration_sum": "PT1H45M",
- "operating_duration_sum": "PT2H12M34.3S",
- "duration": "PT1H45M"
}, - "relocating_duration_type": "CONTINUOUS"
}, - "reset_location_keys": [
- "location_01"
], - "ignore_location_keys": [
- "location_01"
]
}, - "name": "X1-ABC",
- "attributes": [ ]
}
], - "own_transport_type": "CAR",
- "compatibilities": {
- "performer_features": [ ],
- "performer_features_lifetimes": [ ],
- "transport_restrictions": [ ]
}, - "limits": {
- "max_work_shifts": 3,
- "demand_extra_durations": [
- {
- "demand_key": "demand01.1",
- "additional_duration": "PT1H45M"
}
]
}, - "name": "X1-ABC",
- "attributes": [ ]
}, - "transport": {
- "key": "transport001",
- "shifts": [
- {
- "key": "shift01",
- "availability_time": {
- "from": "2025-09-21T09:30:00+03:00",
- "to": "2025-09-21T19:45:00Z"
}, - "start_location_key": "start_location_01",
- "finish_location_key": "finish_location_01",
- "tariff": {
- "cost_per_shift": 2000,
- "constraints": [
- {
- "stage_length": 100000000,
- "cost_per_unit": 0.001
}
], - "transportation_cost": {
- "mass": 11,
- "volume": 22,
- "capacity_a": 11,
- "capacity_b": 22,
- "capacity_c": 31
}
}, - "name": "X1-ABC",
- "attributes": [ ]
}
], - "transport_type": "CAR",
- "boxes": [
- {
- "key": "box01",
- "capacity": {
- "mass": 10,
- "volume": 2,
- "capacity_a": 1,
- "capacity_b": 2,
- "capacity_c": 3
}, - "compatibilities": {
- "width": 1,
- "height": 3.1,
- "length": 2.1,
- "box_features": [ ]
}, - "limits": {
- "max_one_cargo_capacity": {
- "mass": 10,
- "volume": 2,
- "capacity_a": 1,
- "capacity_b": 2,
- "capacity_c": 3
}
}
}
], - "compatibilities": {
- "transport_features": [ ],
- "transport_features_lifetimes": [ ],
- "performer_restrictions": [ ]
}, - "limits": {
- "max_boxes": 2,
- "max_capacity": {
- "mass": 10,
- "volume": 2,
- "capacity_a": 1,
- "capacity_b": 2,
- "capacity_c": 3
}
}, - "name": "X1-ABC",
- "attributes": [ ]
}, - "device": {
- "phone": "+71112223333",
- "online": true,
- "app_version": "7.21",
- "os_version": "15.0",
- "manufacturer": "samsung",
- "model": "S25 Ultra"
}, - "specification": "User full name",
- "linked_waves": [
- "11111111-2222-3333-4444-555555555555"
]
}
Обновление информации о команде.
Запрос на обновление команды.
key required | string (crew_key) [ 3 .. 256 ] characters \w+ Example: "mega_crew" Уникальный идентификатор команды. |
username required | string (user_username) [ 2 .. 256 ] characters \w+ Example: "username_for_login" Уникальное имя пользователя для авторизации. |
password | string or null <password> (user_password) [ 10 .. 256 ] characters Example: "long_strong_password" Пароль. |
company_key required | string (company_key) [ 3 .. 256 ] characters \w+ Example: "smart_company" Уникальный идентификатор компании. |
required | object (performer) Исполнитель. Выполняет заказы, используя транспорт. |
required | object (transport) Транспорт. Исполнитель использует транспорт для перемещения и перевозки грузов. |
object (device) Мобильное устройство. | |
specification | string or null (user_specification) [ 2 .. 256 ] characters Example: "User full name" Описание команды. |
linked_waves | Array of strings <uuid> (unique_key_list) [ 0 .. 15001 ] items [ items <uuid > ] Example: ["11111111-2222-3333-4444-555555555555"] Связанные с командой волны. |
key required | string (crew_key) [ 3 .. 256 ] characters \w+ Example: "mega_crew" Уникальный идентификатор команды. |
username required | string (user_username) [ 2 .. 256 ] characters \w+ Example: "username_for_login" Уникальное имя пользователя для авторизации. |
company_key required | string (company_key) [ 3 .. 256 ] characters \w+ Example: "smart_company" Уникальный идентификатор компании. |
required | object (performer) Исполнитель. Выполняет заказы, используя транспорт. |
required | object (transport) Транспорт. Исполнитель использует транспорт для перемещения и перевозки грузов. |
object (device) Мобильное устройство. | |
specification | string or null (user_specification) [ 2 .. 256 ] characters Example: "User full name" Описание команды. |
linked_waves | Array of strings <uuid> (unique_key_list) [ 0 .. 15001 ] items [ items <uuid > ] Example: ["11111111-2222-3333-4444-555555555555"] Связанные с командой волны. |
{- "key": "mega_crew",
- "username": "username_for_login",
- "password": "long_strong_password",
- "company_key": "smart_company",
- "performer": {
- "key": "performer0001",
- "shifts": [
- {
- "key": "shift01",
- "availability_time": {
- "from": "2025-09-21T09:30:00+03:00",
- "to": "2025-09-21T19:45:00Z"
}, - "working_time": {
- "from": "2025-09-21T09:30:00+03:00",
- "to": "2025-09-21T19:45:00Z"
}, - "start_location_key": "start_location_01",
- "finish_location_key": "finish_location_01",
- "max_locations": 15,
- "max_stops": 15,
- "tariff": {
- "cost_per_shift": 2000,
- "constraints": [
- {
- "stage_length": "P30D",
- "cost_per_unit": 0.001
}
], - "max_penalty_cost": 2000
}, - "work_and_rest_rules": {
- "rest_rules": {
- "consecutive": {
- "relocating_duration_sum": "PT1H45M",
- "operating_duration_sum": "PT2H12M34.3S",
- "duration": "PT1H45M"
}
}, - "break_rules": {
- "first": {
- "relocating_duration_sum": "PT1H45M",
- "operating_duration_sum": "PT2H12M34.3S",
- "duration": "PT1H45M"
}, - "consecutive": {
- "relocating_duration_sum": "PT1H45M",
- "operating_duration_sum": "PT2H12M34.3S",
- "duration": "PT1H45M"
}, - "relocating_duration_type": "CONTINUOUS"
}, - "reset_location_keys": [
- "location_01"
], - "ignore_location_keys": [
- "location_01"
]
}, - "name": "X1-ABC",
- "attributes": [ ]
}
], - "own_transport_type": "CAR",
- "compatibilities": {
- "performer_features": [ ],
- "performer_features_lifetimes": [ ],
- "transport_restrictions": [ ]
}, - "limits": {
- "max_work_shifts": 3,
- "demand_extra_durations": [
- {
- "demand_key": "demand01.1",
- "additional_duration": "PT1H45M"
}
]
}, - "name": "X1-ABC",
- "attributes": [ ]
}, - "transport": {
- "key": "transport001",
- "shifts": [
- {
- "key": "shift01",
- "availability_time": {
- "from": "2025-09-21T09:30:00+03:00",
- "to": "2025-09-21T19:45:00Z"
}, - "start_location_key": "start_location_01",
- "finish_location_key": "finish_location_01",
- "tariff": {
- "cost_per_shift": 2000,
- "constraints": [
- {
- "stage_length": 100000000,
- "cost_per_unit": 0.001
}
], - "transportation_cost": {
- "mass": 11,
- "volume": 22,
- "capacity_a": 11,
- "capacity_b": 22,
- "capacity_c": 31
}
}, - "name": "X1-ABC",
- "attributes": [ ]
}
], - "transport_type": "CAR",
- "boxes": [
- {
- "key": "box01",
- "capacity": {
- "mass": 10,
- "volume": 2,
- "capacity_a": 1,
- "capacity_b": 2,
- "capacity_c": 3
}, - "compatibilities": {
- "width": 1,
- "height": 3.1,
- "length": 2.1,
- "box_features": [ ]
}, - "limits": {
- "max_one_cargo_capacity": {
- "mass": 10,
- "volume": 2,
- "capacity_a": 1,
- "capacity_b": 2,
- "capacity_c": 3
}
}
}
], - "compatibilities": {
- "transport_features": [ ],
- "transport_features_lifetimes": [ ],
- "performer_restrictions": [ ]
}, - "limits": {
- "max_boxes": 2,
- "max_capacity": {
- "mass": 10,
- "volume": 2,
- "capacity_a": 1,
- "capacity_b": 2,
- "capacity_c": 3
}
}, - "name": "X1-ABC",
- "attributes": [ ]
}, - "device": {
- "phone": "+71112223333",
- "online": true,
- "app_version": "7.21",
- "os_version": "15.0",
- "manufacturer": "samsung",
- "model": "S25 Ultra"
}, - "specification": "User full name",
- "linked_waves": [
- "11111111-2222-3333-4444-555555555555"
]
}
{- "key": "mega_crew",
- "username": "username_for_login",
- "company_key": "smart_company",
- "performer": {
- "key": "performer0001",
- "shifts": [
- {
- "key": "shift01",
- "availability_time": {
- "from": "2025-09-21T09:30:00+03:00",
- "to": "2025-09-21T19:45:00Z"
}, - "working_time": {
- "from": "2025-09-21T09:30:00+03:00",
- "to": "2025-09-21T19:45:00Z"
}, - "start_location_key": "start_location_01",
- "finish_location_key": "finish_location_01",
- "max_locations": 15,
- "max_stops": 15,
- "tariff": {
- "cost_per_shift": 2000,
- "constraints": [
- {
- "stage_length": "P30D",
- "cost_per_unit": 0.001
}
], - "max_penalty_cost": 2000
}, - "work_and_rest_rules": {
- "rest_rules": {
- "consecutive": {
- "relocating_duration_sum": "PT1H45M",
- "operating_duration_sum": "PT2H12M34.3S",
- "duration": "PT1H45M"
}
}, - "break_rules": {
- "first": {
- "relocating_duration_sum": "PT1H45M",
- "operating_duration_sum": "PT2H12M34.3S",
- "duration": "PT1H45M"
}, - "consecutive": {
- "relocating_duration_sum": "PT1H45M",
- "operating_duration_sum": "PT2H12M34.3S",
- "duration": "PT1H45M"
}, - "relocating_duration_type": "CONTINUOUS"
}, - "reset_location_keys": [
- "location_01"
], - "ignore_location_keys": [
- "location_01"
]
}, - "name": "X1-ABC",
- "attributes": [ ]
}
], - "own_transport_type": "CAR",
- "compatibilities": {
- "performer_features": [ ],
- "performer_features_lifetimes": [ ],
- "transport_restrictions": [ ]
}, - "limits": {
- "max_work_shifts": 3,
- "demand_extra_durations": [
- {
- "demand_key": "demand01.1",
- "additional_duration": "PT1H45M"
}
]
}, - "name": "X1-ABC",
- "attributes": [ ]
}, - "transport": {
- "key": "transport001",
- "shifts": [
- {
- "key": "shift01",
- "availability_time": {
- "from": "2025-09-21T09:30:00+03:00",
- "to": "2025-09-21T19:45:00Z"
}, - "start_location_key": "start_location_01",
- "finish_location_key": "finish_location_01",
- "tariff": {
- "cost_per_shift": 2000,
- "constraints": [
- {
- "stage_length": 100000000,
- "cost_per_unit": 0.001
}
], - "transportation_cost": {
- "mass": 11,
- "volume": 22,
- "capacity_a": 11,
- "capacity_b": 22,
- "capacity_c": 31
}
}, - "name": "X1-ABC",
- "attributes": [ ]
}
], - "transport_type": "CAR",
- "boxes": [
- {
- "key": "box01",
- "capacity": {
- "mass": 10,
- "volume": 2,
- "capacity_a": 1,
- "capacity_b": 2,
- "capacity_c": 3
}, - "compatibilities": {
- "width": 1,
- "height": 3.1,
- "length": 2.1,
- "box_features": [ ]
}, - "limits": {
- "max_one_cargo_capacity": {
- "mass": 10,
- "volume": 2,
- "capacity_a": 1,
- "capacity_b": 2,
- "capacity_c": 3
}
}
}
], - "compatibilities": {
- "transport_features": [ ],
- "transport_features_lifetimes": [ ],
- "performer_restrictions": [ ]
}, - "limits": {
- "max_boxes": 2,
- "max_capacity": {
- "mass": 10,
- "volume": 2,
- "capacity_a": 1,
- "capacity_b": 2,
- "capacity_c": 3
}
}, - "name": "X1-ABC",
- "attributes": [ ]
}, - "device": {
- "phone": "+71112223333",
- "online": true,
- "app_version": "7.21",
- "os_version": "15.0",
- "manufacturer": "samsung",
- "model": "S25 Ultra"
}, - "specification": "User full name",
- "linked_waves": [
- "11111111-2222-3333-4444-555555555555"
]
}
Получение информации о команды по ее ключу.
crew_key required | string (crew_key) [ 3 .. 256 ] characters \w+ Example: mega_crew Параметр (path) с ключом команды. |
key required | string (crew_key) [ 3 .. 256 ] characters \w+ Example: "mega_crew" Уникальный идентификатор команды. |
username required | string (user_username) [ 2 .. 256 ] characters \w+ Example: "username_for_login" Уникальное имя пользователя для авторизации. |
company_key required | string (company_key) [ 3 .. 256 ] characters \w+ Example: "smart_company" Уникальный идентификатор компании. |
required | object (performer) Исполнитель. Выполняет заказы, используя транспорт. |
required | object (transport) Транспорт. Исполнитель использует транспорт для перемещения и перевозки грузов. |
object (device) Мобильное устройство. | |
specification | string or null (user_specification) [ 2 .. 256 ] characters Example: "User full name" Описание команды. |
linked_waves | Array of strings <uuid> (unique_key_list) [ 0 .. 15001 ] items [ items <uuid > ] Example: ["11111111-2222-3333-4444-555555555555"] Связанные с командой волны. |
{- "key": "mega_crew",
- "username": "username_for_login",
- "company_key": "smart_company",
- "performer": {
- "key": "performer0001",
- "shifts": [
- {
- "key": "shift01",
- "availability_time": {
- "from": "2025-09-21T09:30:00+03:00",
- "to": "2025-09-21T19:45:00Z"
}, - "working_time": {
- "from": "2025-09-21T09:30:00+03:00",
- "to": "2025-09-21T19:45:00Z"
}, - "start_location_key": "start_location_01",
- "finish_location_key": "finish_location_01",
- "max_locations": 15,
- "max_stops": 15,
- "tariff": {
- "cost_per_shift": 2000,
- "constraints": [
- {
- "stage_length": "P30D",
- "cost_per_unit": 0.001
}
], - "max_penalty_cost": 2000
}, - "work_and_rest_rules": {
- "rest_rules": {
- "consecutive": {
- "relocating_duration_sum": "PT1H45M",
- "operating_duration_sum": "PT2H12M34.3S",
- "duration": "PT1H45M"
}
}, - "break_rules": {
- "first": {
- "relocating_duration_sum": "PT1H45M",
- "operating_duration_sum": "PT2H12M34.3S",
- "duration": "PT1H45M"
}, - "consecutive": {
- "relocating_duration_sum": "PT1H45M",
- "operating_duration_sum": "PT2H12M34.3S",
- "duration": "PT1H45M"
}, - "relocating_duration_type": "CONTINUOUS"
}, - "reset_location_keys": [
- "location_01"
], - "ignore_location_keys": [
- "location_01"
]
}, - "name": "X1-ABC",
- "attributes": [ ]
}
], - "own_transport_type": "CAR",
- "compatibilities": {
- "performer_features": [ ],
- "performer_features_lifetimes": [ ],
- "transport_restrictions": [ ]
}, - "limits": {
- "max_work_shifts": 3,
- "demand_extra_durations": [
- {
- "demand_key": "demand01.1",
- "additional_duration": "PT1H45M"
}
]
}, - "name": "X1-ABC",
- "attributes": [ ]
}, - "transport": {
- "key": "transport001",
- "shifts": [
- {
- "key": "shift01",
- "availability_time": {
- "from": "2025-09-21T09:30:00+03:00",
- "to": "2025-09-21T19:45:00Z"
}, - "start_location_key": "start_location_01",
- "finish_location_key": "finish_location_01",
- "tariff": {
- "cost_per_shift": 2000,
- "constraints": [
- {
- "stage_length": 100000000,
- "cost_per_unit": 0.001
}
], - "transportation_cost": {
- "mass": 11,
- "volume": 22,
- "capacity_a": 11,
- "capacity_b": 22,
- "capacity_c": 31
}
}, - "name": "X1-ABC",
- "attributes": [ ]
}
], - "transport_type": "CAR",
- "boxes": [
- {
- "key": "box01",
- "capacity": {
- "mass": 10,
- "volume": 2,
- "capacity_a": 1,
- "capacity_b": 2,
- "capacity_c": 3
}, - "compatibilities": {
- "width": 1,
- "height": 3.1,
- "length": 2.1,
- "box_features": [ ]
}, - "limits": {
- "max_one_cargo_capacity": {
- "mass": 10,
- "volume": 2,
- "capacity_a": 1,
- "capacity_b": 2,
- "capacity_c": 3
}
}
}
], - "compatibilities": {
- "transport_features": [ ],
- "transport_features_lifetimes": [ ],
- "performer_restrictions": [ ]
}, - "limits": {
- "max_boxes": 2,
- "max_capacity": {
- "mass": 10,
- "volume": 2,
- "capacity_a": 1,
- "capacity_b": 2,
- "capacity_c": 3
}
}, - "name": "X1-ABC",
- "attributes": [ ]
}, - "device": {
- "phone": "+71112223333",
- "online": true,
- "app_version": "7.21",
- "os_version": "15.0",
- "manufacturer": "samsung",
- "model": "S25 Ultra"
}, - "specification": "User full name",
- "linked_waves": [
- "11111111-2222-3333-4444-555555555555"
]
}
Удаление команды.
crew_key required | string (crew_key) [ 3 .. 256 ] characters \w+ Example: mega_crew Параметр (path) с ключом команды. |
{- "tracedata": {
- "process_code": "11111111-2222-3333-4444-555555555555",
- "request_code": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
- "username": "username_for_login",
- "company": "smart_company",
- "service": "UNIVERSAL",
- "operation": "run_plan_calculation",
- "env": "edge7",
- "pod": "11111111-2222-3333-4444-555555555555",
- "time": "2025-09-21T09:30:00+03:00"
}, - "message": "Bad Request",
- "schema_errors": [
- {
- "entity": "order_0001",
- "message": "bad input data"
}
]
}
Получение списка команд в виде таблицы.
offset | integer <int32> [ 0 .. 10000000 ] Default: 0 Example: offset=10 Количество пропущенных сущностей до возвращаемого списка. |
limit | integer <int32> [ 1 .. 2001 ] Default: 100 Example: limit=10 Максимальное количество возвращаемых сущностей. |
sort_field | string (table_crew_column_type) Enum: "ESSENCE_KEY" "USERNAME" "COMPANY_KEY" … 2 more Example: sort_field=ESSENCE_KEY Название колонки в таблице с командами. |
sort_direction | string Default: "ASC" Enum: "ASC" "DESC" Example: sort_direction=DESC Направление сортировки. |
Фильтр команд.
Array of objects (table_crew_filter) [ 0 .. 50 ] items Список фильтров. |
required | Array of objects (table_crew) [ 0 .. 2001 ] items Список. |
required | object (table_list_counters) Счетчики по списку. |
{- "filters": [
- {
- "type": "STRING_SEARCH",
- "column": "ESSENCE_KEY",
- "string_search": {
- "text": "key01",
- "strict": false
}
}
]
}
{- "essences": [
- {
- "fields": {
- "essence_key": "key01",
- "username": "AAA",
- "company_key": "key01",
- "device_phone": "AAA",
- "device_online": true
}
}
], - "counters": {
- "overall": {
- "total": 1
}, - "filter": {
- "total": 1
}
}
}
Массовое удаление команд.
Запрос на удаление команд.
Уникальный идентификатор команды.
[- "mega_crew"
]
{- "tracedata": {
- "process_code": "11111111-2222-3333-4444-555555555555",
- "request_code": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
- "username": "username_for_login",
- "company": "smart_company",
- "service": "UNIVERSAL",
- "operation": "run_plan_calculation",
- "env": "edge7",
- "pod": "11111111-2222-3333-4444-555555555555",
- "time": "2025-09-21T09:30:00+03:00"
}, - "message": "Bad Request",
- "schema_errors": [
- {
- "entity": "order_0001",
- "message": "bad input data"
}
]
}
Управление волнами планирования и исполнения.
Волна состоит из:
Создание нового волны.
Запрос на создание волны.
name required | string [ 1 .. 100 ] characters Example: "wave_1" Название волны. |
comment required | string or null [ 0 .. 10000 ] characters Default: null Example: "long long long long text" Комментарий к волне. |
folder_key required | string <uuid> (unique_key) Example: "11111111-2222-3333-4444-555555555555" Ключ папки типа |
Ключ созданной волны.
{- "name": "wave_1",
- "comment": "long long long long text",
- "folder_key": "11111111-2222-3333-4444-555555555555"
}
"11111111-2222-3333-4444-555555555555"
Получение информации о волне по ее ключу.
wave_key required | string <uuid> (unique_key) Example: 11111111-2222-3333-4444-555555555555 Ключ, уникальный идентификатор. |
key required | string <uuid> (unique_key) Example: "11111111-2222-3333-4444-555555555555" Ключ, уникальный идентификатор. |
required | object (wave_specification) Описание волны. |
required | object (experiment_settings) Настройки эксперимента. |
required | object (experiment_statistics) Статистика эксперимента. |
object or null (calculation_state) Текущее состояние расчета. | |
object or null (experiment_check) Результат проверки данных по файлу. | |
edit_date required | string <date-time> Example: "2025-09-21T19:45:00Z" Дата и время последнего редактирования в соответствии с ISO 8601. |
creation_date required |
{- "key": "da4e62b0-86cb-4423-b187-5c1a633ca703",
- "specification": {
- "name": "new wave 3000",
- "comment": "just run it",
- "folder_key": "2bff0b86-2ddc-445c-9d98-f75ca2eec091"
}, - "settings": {
- "plan_settings": {
- "trips_settings": {
- "configuration": "default",
- "assumptions": {
- "disable_compatibility": false,
- "disable_capacity": false,
- "same_order_time_window": false,
- "expand_shift_time_window": false
}, - "penalties": {
- "compatibilities": [ ]
}
}, - "geo_settings": {
- "geo_provider": "VRT",
- "toll_roads": true,
- "ferry_crossing": true,
- "traffic_jams": true,
- "flight_distance": false
}, - "calculation_settings": {
- "max_calculation_time": "PT20M",
- "max_waiting_time": "PT30M",
- "result_ttl": "PT20M",
- "result_timezone": 0,
- "treat_warnings_as_errors": false,
- "precision": 2
}
}, - "actualize_settings": {
- "current_time": "2025-09-07T22:30:00Z",
- "max_delay_duration": "PT1H"
}, - "replan_settings": {
- "replan_strategy": {
- "reorder": true,
- "plan_new_orders": true,
- "create_new_trips": true
}
}
}, - "statistics": {
- "indicators": [
- "data_statistics_hardlinks",
- "data_statistics_locations",
- "data_statistics_orders",
- "data_statistics_performers",
- "data_statistics_transports",
- "data_statistics_trips",
- "data_statistics_facts",
- "total_statistics_max_transport_load_capacity_a",
- "total_statistics_max_transport_load_capacity_b",
- "total_statistics_max_transport_load_capacity_c",
- "total_statistics_max_transport_load_mass",
- "total_statistics_max_transport_load_volume",
- "total_statistics_cargo_capacity_ratio_capacity_a",
- "total_statistics_cargo_capacity_ratio_capacity_b",
- "total_statistics_cargo_capacity_ratio_capacity_c",
- "total_statistics_cargo_capacity_ratio_mass",
- "total_statistics_cargo_capacity_ratio_volume",
- "total_statistics_cost",
- "total_statistics_measurements_arriving_time",
- "total_statistics_measurements_departure_time",
- "total_statistics_measurements_distance",
- "total_statistics_measurements_driving_time",
- "total_statistics_measurements_time_window_from",
- "total_statistics_measurements_time_window_to",
- "total_statistics_measurements_total_time",
- "total_statistics_measurements_waiting_time",
- "total_statistics_measurements_working_time",
- "total_statistics_orders_count",
- "total_statistics_performers_count",
- "total_statistics_plan_orders_count",
- "quality_hard_time_window_violations_after_count",
- "quality_hard_time_window_violations_before_count",
- "quality_soft_time_window_violations_after_count",
- "quality_soft_time_window_violations_before_count",
- "total_statistics_reward",
- "total_statistics_waitlist_orders_count"
], - "total_statistics": {
- "profit": 1,
- "cost": 0,
- "reward": 0,
- "measurements": {
- "driving_time": "P0D",
- "waiting_time": "P0D",
- "break_time": "P0D",
- "rest_time": "PT0S",
- "working_time": "P0D",
- "arriving_time": "P0D",
- "departure_time": "P0D",
- "total_time": "P0D",
- "distance": 0,
- "time_window": {
- "from": "2025-09-15T13:56:07.697Z",
- "to": "2025-09-15T13:56:07.697Z"
}
}, - "performers_count": 0,
- "trips_count": 0,
- "orders_count": 0,
- "plan_orders_count": 0,
- "waitlist_orders_count": 0,
- "stops_count": 1,
- "locations_count": 1,
- "average_speed": 45.2,
- "round_trips_count": 1,
- "cargo_capacity_sum": {
- "mass": 1.9,
- "volume": 2,
- "capacity_a": 3,
- "capacity_b": 1,
- "capacity_c": 1
}, - "cargo_capacity_ratio": {
- "mass": 0,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}, - "max_transport_load": {
- "mass": 0,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}, - "quality": {
- "locations_limits_penalty": 0,
- "soft_time_window_violations": {
- "before": {
- "demand_keys": [ ],
- "count": 0
}, - "after": {
- "demand_keys": [ ],
- "count": 0
}
}, - "hard_time_window_violations": {
- "before": {
- "demand_keys": [ ],
- "count": 0
}, - "after": {
- "demand_keys": [ ],
- "count": 0
}
}
}, - "task_statistics": {
- "planning_horizon": {
- "from": "2025-09-21T09:30:00+03:00",
- "to": "2025-09-21T19:45:00Z"
}
}, - "data_statistics": {
- "locations": 958,
- "orders": 1000,
- "performers": 1000,
- "transports": 1000,
- "hardlinks": 0,
- "trips": 0,
- "facts": 1,
- "external_routing": false
}
}, - "edit_date": "2025-09-15T13:56:07.728Z",
- "creation_date": "2025-09-15T13:56:07.728Z"
}
Переименование \ перемещение волны.
wave_key required | string <uuid> (unique_key) Example: 11111111-2222-3333-4444-555555555555 Ключ, уникальный идентификатор. |
Запрос на обновление описания волны.
name required | string [ 1 .. 100 ] characters Example: "wave_1" Название волны. |
comment required | string or null [ 0 .. 10000 ] characters Default: null Example: "long long long long text" Комментарий к волне. |
folder_key required | string <uuid> (unique_key) Example: "11111111-2222-3333-4444-555555555555" Ключ папки типа |
key required | string <uuid> (unique_key) Example: "11111111-2222-3333-4444-555555555555" Ключ, уникальный идентификатор. |
required | object (wave_specification) Описание волны. |
required | object (experiment_settings) Настройки эксперимента. |
required | object (experiment_statistics) Статистика эксперимента. |
object or null (calculation_state) Текущее состояние расчета. | |
object or null (experiment_check) Результат проверки данных по файлу. | |
edit_date required | string <date-time> Example: "2025-09-21T19:45:00Z" Дата и время последнего редактирования в соответствии с ISO 8601. |
creation_date required |
{- "name": "wave_1",
- "comment": "long long long long text",
- "folder_key": "11111111-2222-3333-4444-555555555555"
}
{- "key": "da4e62b0-86cb-4423-b187-5c1a633ca703",
- "specification": {
- "name": "new wave 3000",
- "comment": "just run it",
- "folder_key": "2bff0b86-2ddc-445c-9d98-f75ca2eec091"
}, - "settings": {
- "plan_settings": {
- "trips_settings": {
- "configuration": "default",
- "assumptions": {
- "disable_compatibility": false,
- "disable_capacity": false,
- "same_order_time_window": false,
- "expand_shift_time_window": false
}, - "penalties": {
- "compatibilities": [ ]
}
}, - "geo_settings": {
- "geo_provider": "VRT",
- "toll_roads": true,
- "ferry_crossing": true,
- "traffic_jams": true,
- "flight_distance": false
}, - "calculation_settings": {
- "max_calculation_time": "PT20M",
- "max_waiting_time": "PT30M",
- "result_ttl": "PT20M",
- "result_timezone": 0,
- "treat_warnings_as_errors": false,
- "precision": 2
}
}, - "actualize_settings": {
- "current_time": "2025-09-07T22:30:00Z",
- "max_delay_duration": "PT1H"
}, - "replan_settings": {
- "replan_strategy": {
- "reorder": true,
- "plan_new_orders": true,
- "create_new_trips": true
}
}
}, - "statistics": {
- "indicators": [
- "data_statistics_hardlinks",
- "data_statistics_locations",
- "data_statistics_orders",
- "data_statistics_performers",
- "data_statistics_transports",
- "data_statistics_trips",
- "data_statistics_facts",
- "total_statistics_max_transport_load_capacity_a",
- "total_statistics_max_transport_load_capacity_b",
- "total_statistics_max_transport_load_capacity_c",
- "total_statistics_max_transport_load_mass",
- "total_statistics_max_transport_load_volume",
- "total_statistics_cargo_capacity_ratio_capacity_a",
- "total_statistics_cargo_capacity_ratio_capacity_b",
- "total_statistics_cargo_capacity_ratio_capacity_c",
- "total_statistics_cargo_capacity_ratio_mass",
- "total_statistics_cargo_capacity_ratio_volume",
- "total_statistics_cost",
- "total_statistics_measurements_arriving_time",
- "total_statistics_measurements_departure_time",
- "total_statistics_measurements_distance",
- "total_statistics_measurements_driving_time",
- "total_statistics_measurements_time_window_from",
- "total_statistics_measurements_time_window_to",
- "total_statistics_measurements_total_time",
- "total_statistics_measurements_waiting_time",
- "total_statistics_measurements_working_time",
- "total_statistics_orders_count",
- "total_statistics_performers_count",
- "total_statistics_plan_orders_count",
- "quality_hard_time_window_violations_after_count",
- "quality_hard_time_window_violations_before_count",
- "quality_soft_time_window_violations_after_count",
- "quality_soft_time_window_violations_before_count",
- "total_statistics_reward",
- "total_statistics_waitlist_orders_count"
], - "total_statistics": {
- "profit": 1,
- "cost": 0,
- "reward": 0,
- "measurements": {
- "driving_time": "P0D",
- "waiting_time": "P0D",
- "break_time": "P0D",
- "rest_time": "PT0S",
- "working_time": "P0D",
- "arriving_time": "P0D",
- "departure_time": "P0D",
- "total_time": "P0D",
- "distance": 0,
- "time_window": {
- "from": "2025-09-15T13:56:07.697Z",
- "to": "2025-09-15T13:56:07.697Z"
}
}, - "performers_count": 0,
- "trips_count": 0,
- "orders_count": 0,
- "plan_orders_count": 0,
- "waitlist_orders_count": 0,
- "stops_count": 1,
- "locations_count": 1,
- "average_speed": 45.2,
- "round_trips_count": 1,
- "cargo_capacity_sum": {
- "mass": 1.9,
- "volume": 2,
- "capacity_a": 3,
- "capacity_b": 1,
- "capacity_c": 1
}, - "cargo_capacity_ratio": {
- "mass": 0,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}, - "max_transport_load": {
- "mass": 0,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}, - "quality": {
- "locations_limits_penalty": 0,
- "soft_time_window_violations": {
- "before": {
- "demand_keys": [ ],
- "count": 0
}, - "after": {
- "demand_keys": [ ],
- "count": 0
}
}, - "hard_time_window_violations": {
- "before": {
- "demand_keys": [ ],
- "count": 0
}, - "after": {
- "demand_keys": [ ],
- "count": 0
}
}
}, - "task_statistics": {
- "planning_horizon": {
- "from": "2025-09-21T09:30:00+03:00",
- "to": "2025-09-21T19:45:00Z"
}
}, - "data_statistics": {
- "locations": 958,
- "orders": 1000,
- "performers": 1000,
- "transports": 1000,
- "hardlinks": 0,
- "trips": 0,
- "facts": 1,
- "external_routing": false
}
}, - "edit_date": "2025-09-15T13:56:07.728Z",
- "creation_date": "2025-09-15T13:56:07.728Z"
}
Удаление волны по ключу.
wave_key required | string <uuid> (unique_key) Example: 11111111-2222-3333-4444-555555555555 Ключ, уникальный идентификатор. |
{- "tracedata": {
- "process_code": "11111111-2222-3333-4444-555555555555",
- "request_code": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
- "username": "username_for_login",
- "company": "smart_company",
- "service": "UNIVERSAL",
- "operation": "run_plan_calculation",
- "env": "edge7",
- "pod": "11111111-2222-3333-4444-555555555555",
- "time": "2025-09-21T09:30:00+03:00"
}, - "message": "Bad Request",
- "schema_errors": [
- {
- "entity": "order_0001",
- "message": "bad input data"
}
]
}
Получение списка волн в виде таблицы.
folder_key | string or null <uuid> (unique_key_null) Default: null Example: folder_key=11111111-2222-3333-4444-555555555555 Ключ папки, уникальный идентификатор. |
offset | integer <int32> [ 0 .. 10000000 ] Default: 0 Example: offset=10 Количество пропущенных сущностей до возвращаемого списка. |
limit | integer <int32> [ 1 .. 2001 ] Default: 100 Example: limit=10 Максимальное количество возвращаемых сущностей. |
sort_field | string (table_wave_column_type) Enum: "ESSENCE_KEY" "SPECIFICATION_NAME" "SPECIFICATION_COMMENT" … 1 more Example: sort_field=ESSENCE_KEY Название колонки в таблице с волнами. |
sort_direction | string Default: "ASC" Enum: "ASC" "DESC" Example: sort_direction=DESC Направление сортировки. |
Фильтр волн.
Array of objects (table_wave_filter) [ 0 .. 50 ] items Список фильтров. |
required | Array of objects (table_wave) [ 0 .. 2001 ] items Список. |
required | object (table_list_counters) Счетчики по списку. |
{- "filters": [
- {
- "type": "STRING_SEARCH",
- "column": "ESSENCE_KEY",
- "string_search": {
- "text": "key01",
- "strict": false
}
}
]
}
{- "essences": [
- {
- "fields": {
- "essence_key": "wave1",
- "specification_folder_key": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee"
}
}
], - "counters": {
- "overall": {
- "total": 1
}, - "filter": {
- "total": 1
}
}
}
Массовое удаление волн.
Запрос на удаление волн.
Ключ, уникальный идентификатор.
[- "11111111-2222-3333-4444-555555555555"
]
{- "tracedata": {
- "process_code": "11111111-2222-3333-4444-555555555555",
- "request_code": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
- "username": "username_for_login",
- "company": "smart_company",
- "service": "UNIVERSAL",
- "operation": "run_plan_calculation",
- "env": "edge7",
- "pod": "11111111-2222-3333-4444-555555555555",
- "time": "2025-09-21T09:30:00+03:00"
}, - "message": "Bad Request",
- "schema_errors": [
- {
- "entity": "order_0001",
- "message": "bad input data"
}
]
}
Дублирование волны.
wave_key required | string <uuid> (unique_key) Example: 11111111-2222-3333-4444-555555555555 Ключ, уникальный идентификатор. |
Запрос на дублирование волны.
name required | string [ 1 .. 100 ] characters Example: "wave_1" Название волны. |
comment required | string or null [ 0 .. 10000 ] characters Default: null Example: "long long long long text" Комментарий к волне. |
folder_key required | string <uuid> (unique_key) Example: "11111111-2222-3333-4444-555555555555" Ключ папки типа |
Ключ продублированного волны.
{- "name": "wave_1",
- "comment": "long long long long text",
- "folder_key": "11111111-2222-3333-4444-555555555555"
}
"11111111-2222-3333-4444-555555555555"
Получение пути волны.
wave_key required | string <uuid> (unique_key) Example: 11111111-2222-3333-4444-555555555555 Ключ, уникальный идентификатор. |
required | Array of objects (folder) [ 0 .. 1000 ] items Список папок. |
{- "folders": [
- {
- "key": "11111111-2222-3333-4444-555555555555",
- "type": "FOLDER",
- "parent_key": "11111111-2222-3333-4444-555555555555",
- "name": "folder_1",
- "owner_company_key": "smart_company",
- "owner_username": "username_for_login",
- "comment": "long long long long text",
- "creation_date": "2025-09-21T19:45:00Z",
- "counters": {
- "folders_count": 12,
- "files_count": 16
}
}
]
}
Импорт новых данных из файла формата XLSX. Если сущность уже присутствует (определяется по ее ключу) - она обновляется. Если нет - создается новая. Временная зона данных берется из файла XLSX.
wave_key required | string <uuid> (unique_key) Example: 11111111-2222-3333-4444-555555555555 Ключ, уникальный идентификатор. |
Данные (XLSX).
Файл с данными в формате XLSX.
key required | string <uuid> (unique_key) Example: "11111111-2222-3333-4444-555555555555" Ключ, уникальный идентификатор. |
required | object (wave_specification) Описание волны. |
required | object (experiment_settings) Настройки эксперимента. |
required | object (experiment_statistics) Статистика эксперимента. |
object or null (calculation_state) Текущее состояние расчета. | |
object or null (experiment_check) Результат проверки данных по файлу. | |
edit_date required | string <date-time> Example: "2025-09-21T19:45:00Z" Дата и время последнего редактирования в соответствии с ISO 8601. |
creation_date required |
{- "key": "da4e62b0-86cb-4423-b187-5c1a633ca703",
- "specification": {
- "name": "new wave 3000",
- "comment": "just run it",
- "folder_key": "2bff0b86-2ddc-445c-9d98-f75ca2eec091"
}, - "settings": {
- "plan_settings": {
- "trips_settings": {
- "configuration": "default",
- "assumptions": {
- "disable_compatibility": false,
- "disable_capacity": false,
- "same_order_time_window": false,
- "expand_shift_time_window": false
}, - "penalties": {
- "compatibilities": [ ]
}
}, - "geo_settings": {
- "geo_provider": "VRT",
- "toll_roads": true,
- "ferry_crossing": true,
- "traffic_jams": true,
- "flight_distance": false
}, - "calculation_settings": {
- "max_calculation_time": "PT20M",
- "max_waiting_time": "PT30M",
- "result_ttl": "PT20M",
- "result_timezone": 0,
- "treat_warnings_as_errors": false,
- "precision": 2
}
}, - "actualize_settings": {
- "current_time": "2025-09-07T22:30:00Z",
- "max_delay_duration": "PT1H"
}, - "replan_settings": {
- "replan_strategy": {
- "reorder": true,
- "plan_new_orders": true,
- "create_new_trips": true
}
}
}, - "statistics": {
- "indicators": [
- "data_statistics_hardlinks",
- "data_statistics_locations",
- "data_statistics_orders",
- "data_statistics_performers",
- "data_statistics_transports",
- "data_statistics_trips",
- "data_statistics_facts",
- "total_statistics_max_transport_load_capacity_a",
- "total_statistics_max_transport_load_capacity_b",
- "total_statistics_max_transport_load_capacity_c",
- "total_statistics_max_transport_load_mass",
- "total_statistics_max_transport_load_volume",
- "total_statistics_cargo_capacity_ratio_capacity_a",
- "total_statistics_cargo_capacity_ratio_capacity_b",
- "total_statistics_cargo_capacity_ratio_capacity_c",
- "total_statistics_cargo_capacity_ratio_mass",
- "total_statistics_cargo_capacity_ratio_volume",
- "total_statistics_cost",
- "total_statistics_measurements_arriving_time",
- "total_statistics_measurements_departure_time",
- "total_statistics_measurements_distance",
- "total_statistics_measurements_driving_time",
- "total_statistics_measurements_time_window_from",
- "total_statistics_measurements_time_window_to",
- "total_statistics_measurements_total_time",
- "total_statistics_measurements_waiting_time",
- "total_statistics_measurements_working_time",
- "total_statistics_orders_count",
- "total_statistics_performers_count",
- "total_statistics_plan_orders_count",
- "quality_hard_time_window_violations_after_count",
- "quality_hard_time_window_violations_before_count",
- "quality_soft_time_window_violations_after_count",
- "quality_soft_time_window_violations_before_count",
- "total_statistics_reward",
- "total_statistics_waitlist_orders_count"
], - "total_statistics": {
- "profit": 1,
- "cost": 0,
- "reward": 0,
- "measurements": {
- "driving_time": "P0D",
- "waiting_time": "P0D",
- "break_time": "P0D",
- "rest_time": "PT0S",
- "working_time": "P0D",
- "arriving_time": "P0D",
- "departure_time": "P0D",
- "total_time": "P0D",
- "distance": 0,
- "time_window": {
- "from": "2025-09-15T13:56:07.697Z",
- "to": "2025-09-15T13:56:07.697Z"
}
}, - "performers_count": 0,
- "trips_count": 0,
- "orders_count": 0,
- "plan_orders_count": 0,
- "waitlist_orders_count": 0,
- "stops_count": 1,
- "locations_count": 1,
- "average_speed": 45.2,
- "round_trips_count": 1,
- "cargo_capacity_sum": {
- "mass": 1.9,
- "volume": 2,
- "capacity_a": 3,
- "capacity_b": 1,
- "capacity_c": 1
}, - "cargo_capacity_ratio": {
- "mass": 0,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}, - "max_transport_load": {
- "mass": 0,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}, - "quality": {
- "locations_limits_penalty": 0,
- "soft_time_window_violations": {
- "before": {
- "demand_keys": [ ],
- "count": 0
}, - "after": {
- "demand_keys": [ ],
- "count": 0
}
}, - "hard_time_window_violations": {
- "before": {
- "demand_keys": [ ],
- "count": 0
}, - "after": {
- "demand_keys": [ ],
- "count": 0
}
}
}, - "task_statistics": {
- "planning_horizon": {
- "from": "2025-09-21T09:30:00+03:00",
- "to": "2025-09-21T19:45:00Z"
}
}, - "data_statistics": {
- "locations": 958,
- "orders": 1000,
- "performers": 1000,
- "transports": 1000,
- "hardlinks": 0,
- "trips": 0,
- "facts": 1,
- "external_routing": false
}
}, - "edit_date": "2025-09-15T13:56:07.728Z",
- "creation_date": "2025-09-15T13:56:07.728Z"
}
Импорт новых данных из файла формата VRt.Universal JSON. Если сущность уже присутствует (определяется по ее ключу) - она обновляется. Если нет - создается новая.
wave_key required | string <uuid> (unique_key) Example: 11111111-2222-3333-4444-555555555555 Ключ, уникальный идентификатор. |
Данные (JSON).
Array of objects (location_list) [ 0 .. 15001 ] items unique Список локаций, которые используются в заказах и сменах. | |
Array of objects (order_list) [ 0 .. 15001 ] items unique Список заказов, которые необходимо выполнить. | |
Array of objects (performer_list) [ 0 .. 15001 ] items unique Список доступных исполнителей. Исполнитель выполняет заказы используя транспорт. | |
Array of objects (transport_list) [ 0 .. 15001 ] items unique Список доступного транспорта. Транспорт используется исполнителем рейса для выполнения заказов. | |
Array of objects (hardlink_list) [ 0 .. 15001 ] items unique Список назначений. | |
Array of objects (trip_list) [ 0 .. 15001 ] items unique Список рейсов. Рейс - это совокупность работ, запланированных на выполнение конкретным исполнителем на конкретном транспорте, выраженных через изменение состояний исполнителя. | |
Array of objects (fact_list) [ 0 .. 15001 ] items unique Список фактов. Факт - это произошедшее событие, которое влияет на дальнейшие выполнение рейсов. | |
object or null (plan_statistics) Общая статистика по результату расчета. | |
Array of objects (routing_transport_matrix_list) [ 0 .. 16 ] items unique Список матриц времен и расстояний для каждого типа транспорта, которые указаны в данных.
Матрица должна описывать все локации для каждого типа транспорта из данных.
При указании внешней матрицы маршрутизации | |
object (plan_settings) Настройки планирования. | |
object (replan_settings) Настройки перепланирования. | |
object (actualize_settings) Настройки актуализации. | |
dataset_name | string (dataset_name) [ 0 .. 512 ] characters Example: "custom_dataset_one" Название набора данных. Техническое поле, не влияющее на расчет. |
key required | string <uuid> (unique_key) Example: "11111111-2222-3333-4444-555555555555" Ключ, уникальный идентификатор. |
required | object (wave_specification) Описание волны. |
required | object (experiment_settings) Настройки эксперимента. |
required | object (experiment_statistics) Статистика эксперимента. |
object or null (calculation_state) Текущее состояние расчета. | |
object or null (experiment_check) Результат проверки данных по файлу. | |
edit_date required | string <date-time> Example: "2025-09-21T19:45:00Z" Дата и время последнего редактирования в соответствии с ISO 8601. |
creation_date required |
{- "locations": [
- {
- "key": "location_client_1",
- "geopoint": {
- "latitude": 55.713699,
- "longitude": 37.621839
}
}, - {
- "key": "location_client_2",
- "geopoint": {
- "latitude": 55.630721,
- "longitude": 37.62493
}
}, - {
- "key": "location_client_3",
- "geopoint": {
- "latitude": 55.722801,
- "longitude": 37.674984
}
}, - {
- "key": "location_storage",
- "geopoint": {
- "latitude": 55.685853,
- "longitude": 37.43181
}
}
], - "orders": [
- {
- "key": "order_1",
- "demands": [
- {
- "key": "demand_1_drop",
- "demand_type": "DROP",
- "target_cargos": [
- "order_1_cargos"
], - "possible_events": [
- {
- "key": "demand_1_drop_event",
- "location_key": "location_client_1",
- "duration": "PT10M",
- "hard_time_window": {
- "from": "2025-09-08T05:00:00+00:00",
- "to": "2025-09-08T07:00:00+00:00"
}
}
]
}, - {
- "key": "demand_1_pickup",
- "demand_type": "PICKUP",
- "target_cargos": [
- "order_1_cargos"
], - "possible_events": [
- {
- "key": "demand_1_pickup_event",
- "location_key": "location_storage",
- "duration": "P0D",
- "reward": 0,
- "hard_time_window": {
- "from": "2025-09-07T21:00:00+00:00",
- "to": "2025-09-08T20:59:59+00:00"
}
}
]
}
], - "cargos": [
- {
- "key": "order_1_cargos",
- "capacity": {
- "mass": 1
}
}
]
}, - {
- "key": "order_2",
- "demands": [
- {
- "key": "demand_2_drop",
- "demand_type": "DROP",
- "target_cargos": [
- "order_2_cargos"
], - "possible_events": [
- {
- "key": "demand_2_drop_event",
- "location_key": "location_client_2",
- "duration": "PT10M",
- "hard_time_window": {
- "from": "2025-09-08T05:00:00+00:00",
- "to": "2025-09-08T07:00:00+00:00"
}
}
]
}, - {
- "key": "demand_2_pickup",
- "demand_type": "PICKUP",
- "target_cargos": [
- "order_2_cargos"
], - "possible_events": [
- {
- "key": "demand_2_pickup_event",
- "location_key": "location_storage",
- "duration": "P0D",
- "reward": 0,
- "hard_time_window": {
- "from": "2025-09-07T21:00:00+00:00",
- "to": "2025-09-08T20:59:59+00:00"
}
}
]
}
], - "cargos": [
- {
- "key": "order_2_cargos",
- "capacity": {
- "mass": 1
}
}
]
}, - {
- "key": "order_3",
- "demands": [
- {
- "key": "demand_3_work",
- "demand_type": "WORK",
- "possible_events": [
- {
- "key": "demand_3_work_event",
- "location_key": "location_client_3",
- "duration": "PT15M",
- "hard_time_window": {
- "from": "2025-09-08T05:00:00+00:00",
- "to": "2025-09-08T07:00:00+00:00"
}
}
]
}
]
}
], - "performers": [
- {
- "key": "performer_1",
- "shifts": [
- {
- "key": "performer_1_shift",
- "availability_time": {
- "from": "2025-09-07T21:00:00+00:00",
- "to": "2025-09-08T20:59:59+00:00"
}, - "working_time": {
- "from": "2025-09-07T21:00:00+00:00",
- "to": "2025-09-08T20:59:59+00:00"
}, - "tariff": {
- "cost_per_shift": 1000,
- "constraints": [
- {
- "stage_length": "PT10H",
- "cost_per_unit": 1
}
]
}
}
]
}
], - "transports": [
- {
- "key": "transport_1",
- "shifts": [
- {
- "key": "transport_1_shift",
- "availability_time": {
- "from": "2025-09-07T21:00:00+00:00",
- "to": "2025-09-08T20:59:59+00:00"
}, - "tariff": {
- "cost_per_shift": 1000,
- "constraints": [
- {
- "stage_length": 1000000,
- "cost_per_unit": 0.01
}
]
}
}
], - "transport_type": "CAR",
- "boxes": [
- {
- "key": "box_1",
- "capacity": {
- "mass": 300
}
}
]
}
], - "trips": [
- {
- "key": "performer_1_shift",
- "performer": {
- "performer_key": "performer_1",
- "shift_key": "performer_1_shift",
- "shift_time": {
- "from": "2025-09-08T04:38:34Z",
- "to": "2025-09-08T05:53:39Z"
}
}, - "transport": {
- "transport_key": "transport_1",
- "shift_key": "transport_1_shift",
- "shift_time": {
- "from": "2025-09-08T04:38:34Z",
- "to": "2025-09-08T05:53:39Z"
}
}, - "states": [
- {
- "time": "2025-09-08T04:38:34Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_storage",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T04:38:34Z",
- "flags": [
- "ON_DEMAND",
- "INSIDE_EVENT_HARD_WINDOW",
- "INSIDE_LOCATION_WINDOW",
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "order_key": "order_2",
- "demand_key": "demand_2_pickup",
- "event_key": "demand_2_pickup_event",
- "location_key": "location_storage",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T04:38:34Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_storage",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_2_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T04:38:34Z",
- "flags": [
- "ON_DEMAND",
- "INSIDE_EVENT_HARD_WINDOW",
- "INSIDE_LOCATION_WINDOW",
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "order_key": "order_1",
- "demand_key": "demand_1_pickup",
- "event_key": "demand_1_pickup_event",
- "location_key": "location_storage",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_2_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T04:38:34Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_storage",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_1_cargos",
- "cargo_action_type": "ADD"
}, - {
- "box_key": "box_1",
- "cargo_key": "order_2_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T04:38:34Z",
- "flags": [
- "RELOCATING"
], - "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_1_cargos",
- "cargo_action_type": "ADD"
}, - {
- "box_key": "box_1",
- "cargo_key": "order_2_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T05:00:00Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_2",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_1_cargos",
- "cargo_action_type": "ADD"
}, - {
- "box_key": "box_1",
- "cargo_key": "order_2_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T05:00:00Z",
- "flags": [
- "ON_DEMAND",
- "INSIDE_EVENT_HARD_WINDOW",
- "INSIDE_LOCATION_WINDOW",
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "order_key": "order_2",
- "demand_key": "demand_2_drop",
- "event_key": "demand_2_drop_event",
- "location_key": "location_client_2",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_1_cargos",
- "cargo_action_type": "ADD"
}, - {
- "box_key": "box_1",
- "cargo_key": "order_2_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T05:10:00Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_2",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_1_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T05:10:00Z",
- "flags": [
- "RELOCATING"
], - "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_1_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T05:20:52Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_1",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_1_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T05:20:52Z",
- "flags": [
- "ON_DEMAND",
- "INSIDE_EVENT_HARD_WINDOW",
- "INSIDE_LOCATION_WINDOW",
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "order_key": "order_1",
- "demand_key": "demand_1_drop",
- "event_key": "demand_1_drop_event",
- "location_key": "location_client_1",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_1_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T05:30:52Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_1",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:30:52Z",
- "flags": [
- "RELOCATING"
], - "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:38:39Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_3",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:38:39Z",
- "flags": [
- "ON_DEMAND",
- "INSIDE_EVENT_HARD_WINDOW",
- "INSIDE_LOCATION_WINDOW",
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "order_key": "order_3",
- "demand_key": "demand_3_work",
- "event_key": "demand_3_work_event",
- "location_key": "location_client_3",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:53:39Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_3",
- "cargo_actions": [ ],
- "attributes": [ ]
}
], - "waitlist": [ ],
- "attributes": [ ]
}
]
}
{- "key": "da4e62b0-86cb-4423-b187-5c1a633ca703",
- "specification": {
- "name": "new wave 3000",
- "comment": "just run it",
- "folder_key": "2bff0b86-2ddc-445c-9d98-f75ca2eec091"
}, - "settings": {
- "plan_settings": {
- "trips_settings": {
- "configuration": "default",
- "assumptions": {
- "disable_compatibility": false,
- "disable_capacity": false,
- "same_order_time_window": false,
- "expand_shift_time_window": false
}, - "penalties": {
- "compatibilities": [ ]
}
}, - "geo_settings": {
- "geo_provider": "VRT",
- "toll_roads": true,
- "ferry_crossing": true,
- "traffic_jams": true,
- "flight_distance": false
}, - "calculation_settings": {
- "max_calculation_time": "PT20M",
- "max_waiting_time": "PT30M",
- "result_ttl": "PT20M",
- "result_timezone": 0,
- "treat_warnings_as_errors": false,
- "precision": 2
}
}, - "actualize_settings": {
- "current_time": "2025-09-07T22:30:00Z",
- "max_delay_duration": "PT1H"
}, - "replan_settings": {
- "replan_strategy": {
- "reorder": true,
- "plan_new_orders": true,
- "create_new_trips": true
}
}
}, - "statistics": {
- "indicators": [
- "data_statistics_hardlinks",
- "data_statistics_locations",
- "data_statistics_orders",
- "data_statistics_performers",
- "data_statistics_transports",
- "data_statistics_trips",
- "data_statistics_facts",
- "total_statistics_max_transport_load_capacity_a",
- "total_statistics_max_transport_load_capacity_b",
- "total_statistics_max_transport_load_capacity_c",
- "total_statistics_max_transport_load_mass",
- "total_statistics_max_transport_load_volume",
- "total_statistics_cargo_capacity_ratio_capacity_a",
- "total_statistics_cargo_capacity_ratio_capacity_b",
- "total_statistics_cargo_capacity_ratio_capacity_c",
- "total_statistics_cargo_capacity_ratio_mass",
- "total_statistics_cargo_capacity_ratio_volume",
- "total_statistics_cost",
- "total_statistics_measurements_arriving_time",
- "total_statistics_measurements_departure_time",
- "total_statistics_measurements_distance",
- "total_statistics_measurements_driving_time",
- "total_statistics_measurements_time_window_from",
- "total_statistics_measurements_time_window_to",
- "total_statistics_measurements_total_time",
- "total_statistics_measurements_waiting_time",
- "total_statistics_measurements_working_time",
- "total_statistics_orders_count",
- "total_statistics_performers_count",
- "total_statistics_plan_orders_count",
- "quality_hard_time_window_violations_after_count",
- "quality_hard_time_window_violations_before_count",
- "quality_soft_time_window_violations_after_count",
- "quality_soft_time_window_violations_before_count",
- "total_statistics_reward",
- "total_statistics_waitlist_orders_count"
], - "total_statistics": {
- "profit": 1,
- "cost": 0,
- "reward": 0,
- "measurements": {
- "driving_time": "P0D",
- "waiting_time": "P0D",
- "break_time": "P0D",
- "rest_time": "PT0S",
- "working_time": "P0D",
- "arriving_time": "P0D",
- "departure_time": "P0D",
- "total_time": "P0D",
- "distance": 0,
- "time_window": {
- "from": "2025-09-15T13:56:07.697Z",
- "to": "2025-09-15T13:56:07.697Z"
}
}, - "performers_count": 0,
- "trips_count": 0,
- "orders_count": 0,
- "plan_orders_count": 0,
- "waitlist_orders_count": 0,
- "stops_count": 1,
- "locations_count": 1,
- "average_speed": 45.2,
- "round_trips_count": 1,
- "cargo_capacity_sum": {
- "mass": 1.9,
- "volume": 2,
- "capacity_a": 3,
- "capacity_b": 1,
- "capacity_c": 1
}, - "cargo_capacity_ratio": {
- "mass": 0,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}, - "max_transport_load": {
- "mass": 0,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}, - "quality": {
- "locations_limits_penalty": 0,
- "soft_time_window_violations": {
- "before": {
- "demand_keys": [ ],
- "count": 0
}, - "after": {
- "demand_keys": [ ],
- "count": 0
}
}, - "hard_time_window_violations": {
- "before": {
- "demand_keys": [ ],
- "count": 0
}, - "after": {
- "demand_keys": [ ],
- "count": 0
}
}
}, - "task_statistics": {
- "planning_horizon": {
- "from": "2025-09-21T09:30:00+03:00",
- "to": "2025-09-21T19:45:00Z"
}
}, - "data_statistics": {
- "locations": 958,
- "orders": 1000,
- "performers": 1000,
- "transports": 1000,
- "hardlinks": 0,
- "trips": 0,
- "facts": 1,
- "external_routing": false
}
}, - "edit_date": "2025-09-15T13:56:07.728Z",
- "creation_date": "2025-09-15T13:56:07.728Z"
}
Экспортировать (XLSX).
wave_key required | string <uuid> (unique_key) Example: 11111111-2222-3333-4444-555555555555 Ключ, уникальный идентификатор. |
timezone | integer <int32> (timezone) [ -12 .. 12 ] Default: 0 Example: timezone=3 Целевая временная зона данных. |
Файл с данными в формате XLSX.
{- "tracedata": {
- "process_code": "11111111-2222-3333-4444-555555555555",
- "request_code": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
- "username": "username_for_login",
- "company": "smart_company",
- "service": "UNIVERSAL",
- "operation": "run_plan_calculation",
- "env": "edge7",
- "pod": "11111111-2222-3333-4444-555555555555",
- "time": "2025-09-21T09:30:00+03:00"
}, - "message": "Bad Request",
- "schema_errors": [
- {
- "entity": "order_0001",
- "message": "bad input data"
}
]
}
Экспортировать данные в файл формата VRt.Universal JSON.
wave_key required | string <uuid> (unique_key) Example: 11111111-2222-3333-4444-555555555555 Ключ, уникальный идентификатор. |
Array of objects (location_list) [ 0 .. 15001 ] items unique Список локаций, которые используются в заказах и сменах. | |
Array of objects (order_list) [ 0 .. 15001 ] items unique Список заказов, которые необходимо выполнить. | |
Array of objects (performer_list) [ 0 .. 15001 ] items unique Список доступных исполнителей. Исполнитель выполняет заказы используя транспорт. | |
Array of objects (transport_list) [ 0 .. 15001 ] items unique Список доступного транспорта. Транспорт используется исполнителем рейса для выполнения заказов. | |
Array of objects (hardlink_list) [ 0 .. 15001 ] items unique Список назначений. | |
Array of objects (trip_list) [ 0 .. 15001 ] items unique Список рейсов. Рейс - это совокупность работ, запланированных на выполнение конкретным исполнителем на конкретном транспорте, выраженных через изменение состояний исполнителя. | |
Array of objects (fact_list) [ 0 .. 15001 ] items unique Список фактов. Факт - это произошедшее событие, которое влияет на дальнейшие выполнение рейсов. | |
object or null (plan_statistics) Общая статистика по результату расчета. | |
Array of objects (routing_transport_matrix_list) [ 0 .. 16 ] items unique Список матриц времен и расстояний для каждого типа транспорта, которые указаны в данных.
Матрица должна описывать все локации для каждого типа транспорта из данных.
При указании внешней матрицы маршрутизации | |
object (plan_settings) Настройки планирования. | |
object (replan_settings) Настройки перепланирования. | |
object (actualize_settings) Настройки актуализации. | |
dataset_name | string (dataset_name) [ 0 .. 512 ] characters Example: "custom_dataset_one" Название набора данных. Техническое поле, не влияющее на расчет. |
{- "locations": [
- {
- "key": "location_client_1",
- "geopoint": {
- "latitude": 55.713699,
- "longitude": 37.621839
}
}, - {
- "key": "location_client_2",
- "geopoint": {
- "latitude": 55.630721,
- "longitude": 37.62493
}
}, - {
- "key": "location_client_3",
- "geopoint": {
- "latitude": 55.722801,
- "longitude": 37.674984
}
}, - {
- "key": "location_storage",
- "geopoint": {
- "latitude": 55.685853,
- "longitude": 37.43181
}
}
], - "orders": [
- {
- "key": "order_1",
- "demands": [
- {
- "key": "demand_1_drop",
- "demand_type": "DROP",
- "target_cargos": [
- "order_1_cargos"
], - "possible_events": [
- {
- "key": "demand_1_drop_event",
- "location_key": "location_client_1",
- "duration": "PT10M",
- "hard_time_window": {
- "from": "2025-09-08T05:00:00+00:00",
- "to": "2025-09-08T07:00:00+00:00"
}
}
]
}, - {
- "key": "demand_1_pickup",
- "demand_type": "PICKUP",
- "target_cargos": [
- "order_1_cargos"
], - "possible_events": [
- {
- "key": "demand_1_pickup_event",
- "location_key": "location_storage",
- "duration": "P0D",
- "reward": 0,
- "hard_time_window": {
- "from": "2025-09-07T21:00:00+00:00",
- "to": "2025-09-08T20:59:59+00:00"
}
}
]
}
], - "cargos": [
- {
- "key": "order_1_cargos",
- "capacity": {
- "mass": 1
}
}
]
}, - {
- "key": "order_2",
- "demands": [
- {
- "key": "demand_2_drop",
- "demand_type": "DROP",
- "target_cargos": [
- "order_2_cargos"
], - "possible_events": [
- {
- "key": "demand_2_drop_event",
- "location_key": "location_client_2",
- "duration": "PT10M",
- "hard_time_window": {
- "from": "2025-09-08T05:00:00+00:00",
- "to": "2025-09-08T07:00:00+00:00"
}
}
]
}, - {
- "key": "demand_2_pickup",
- "demand_type": "PICKUP",
- "target_cargos": [
- "order_2_cargos"
], - "possible_events": [
- {
- "key": "demand_2_pickup_event",
- "location_key": "location_storage",
- "duration": "P0D",
- "reward": 0,
- "hard_time_window": {
- "from": "2025-09-07T21:00:00+00:00",
- "to": "2025-09-08T20:59:59+00:00"
}
}
]
}
], - "cargos": [
- {
- "key": "order_2_cargos",
- "capacity": {
- "mass": 1
}
}
]
}, - {
- "key": "order_3",
- "demands": [
- {
- "key": "demand_3_work",
- "demand_type": "WORK",
- "possible_events": [
- {
- "key": "demand_3_work_event",
- "location_key": "location_client_3",
- "duration": "PT15M",
- "hard_time_window": {
- "from": "2025-09-08T05:00:00+00:00",
- "to": "2025-09-08T07:00:00+00:00"
}
}
]
}
]
}
], - "performers": [
- {
- "key": "performer_1",
- "shifts": [
- {
- "key": "performer_1_shift",
- "availability_time": {
- "from": "2025-09-07T21:00:00+00:00",
- "to": "2025-09-08T20:59:59+00:00"
}, - "working_time": {
- "from": "2025-09-07T21:00:00+00:00",
- "to": "2025-09-08T20:59:59+00:00"
}, - "tariff": {
- "cost_per_shift": 1000,
- "constraints": [
- {
- "stage_length": "PT10H",
- "cost_per_unit": 1
}
]
}
}
]
}
], - "transports": [
- {
- "key": "transport_1",
- "shifts": [
- {
- "key": "transport_1_shift",
- "availability_time": {
- "from": "2025-09-07T21:00:00+00:00",
- "to": "2025-09-08T20:59:59+00:00"
}, - "tariff": {
- "cost_per_shift": 1000,
- "constraints": [
- {
- "stage_length": 1000000,
- "cost_per_unit": 0.01
}
]
}
}
], - "transport_type": "CAR",
- "boxes": [
- {
- "key": "box_1",
- "capacity": {
- "mass": 300
}
}
]
}
], - "trips": [
- {
- "key": "performer_1_shift",
- "performer": {
- "performer_key": "performer_1",
- "shift_key": "performer_1_shift",
- "shift_time": {
- "from": "2025-09-08T04:38:34Z",
- "to": "2025-09-08T05:53:39Z"
}
}, - "transport": {
- "transport_key": "transport_1",
- "shift_key": "transport_1_shift",
- "shift_time": {
- "from": "2025-09-08T04:38:34Z",
- "to": "2025-09-08T05:53:39Z"
}
}, - "states": [
- {
- "time": "2025-09-08T04:38:34Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_storage",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T04:38:34Z",
- "flags": [
- "ON_DEMAND",
- "INSIDE_EVENT_HARD_WINDOW",
- "INSIDE_LOCATION_WINDOW",
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "order_key": "order_2",
- "demand_key": "demand_2_pickup",
- "event_key": "demand_2_pickup_event",
- "location_key": "location_storage",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T04:38:34Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_storage",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_2_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T04:38:34Z",
- "flags": [
- "ON_DEMAND",
- "INSIDE_EVENT_HARD_WINDOW",
- "INSIDE_LOCATION_WINDOW",
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "order_key": "order_1",
- "demand_key": "demand_1_pickup",
- "event_key": "demand_1_pickup_event",
- "location_key": "location_storage",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_2_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T04:38:34Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_storage",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_1_cargos",
- "cargo_action_type": "ADD"
}, - {
- "box_key": "box_1",
- "cargo_key": "order_2_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T04:38:34Z",
- "flags": [
- "RELOCATING"
], - "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_1_cargos",
- "cargo_action_type": "ADD"
}, - {
- "box_key": "box_1",
- "cargo_key": "order_2_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T05:00:00Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_2",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_1_cargos",
- "cargo_action_type": "ADD"
}, - {
- "box_key": "box_1",
- "cargo_key": "order_2_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T05:00:00Z",
- "flags": [
- "ON_DEMAND",
- "INSIDE_EVENT_HARD_WINDOW",
- "INSIDE_LOCATION_WINDOW",
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "order_key": "order_2",
- "demand_key": "demand_2_drop",
- "event_key": "demand_2_drop_event",
- "location_key": "location_client_2",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_1_cargos",
- "cargo_action_type": "ADD"
}, - {
- "box_key": "box_1",
- "cargo_key": "order_2_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T05:10:00Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_2",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_1_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T05:10:00Z",
- "flags": [
- "RELOCATING"
], - "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_1_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T05:20:52Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_1",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_1_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T05:20:52Z",
- "flags": [
- "ON_DEMAND",
- "INSIDE_EVENT_HARD_WINDOW",
- "INSIDE_LOCATION_WINDOW",
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "order_key": "order_1",
- "demand_key": "demand_1_drop",
- "event_key": "demand_1_drop_event",
- "location_key": "location_client_1",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_1_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T05:30:52Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_1",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:30:52Z",
- "flags": [
- "RELOCATING"
], - "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:38:39Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_3",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:38:39Z",
- "flags": [
- "ON_DEMAND",
- "INSIDE_EVENT_HARD_WINDOW",
- "INSIDE_LOCATION_WINDOW",
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "order_key": "order_3",
- "demand_key": "demand_3_work",
- "event_key": "demand_3_work_event",
- "location_key": "location_client_3",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:53:39Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_3",
- "cargo_actions": [ ],
- "attributes": [ ]
}
], - "waitlist": [ ],
- "attributes": [ ]
}
]
}
Получение информации о рейсе по его ключу.
wave_key required | string <uuid> (unique_key) Example: 11111111-2222-3333-4444-555555555555 Ключ, уникальный идентификатор. |
essence_key required | string (basic_essence_key) [ 1 .. 1024 ] characters Example: key01 Ключ, уникальный идентификатор. |
required | object (trip) Рейс - это совокупность работ, запланированных на выполнение конкретным исполнителем на конкретном транспорте, выраженных через изменение состояний исполнителя. |
required | object (trip_statistics) Статистика по конкретному рейсу. |
object (table_trip_fields) Табличные поля рейса и остановок. | |
Array of objects (linked_essence_list) [ 0 .. 15001 ] items Список связанных сущностей. |
{- "trip": {
- "key": "trip-0000-9999",
- "performer": {
- "performer_key": "performer0001",
- "shift_key": "performer0001_shift01",
- "shift_time": {
- "from": "2025-09-21T09:30:00+03:00",
- "to": "2025-09-21T19:45:00Z"
}
}, - "transport": {
- "transport_key": "transport001",
- "shift_key": "performer01",
- "shift_time": {
- "from": "2025-09-21T09:30:00+03:00",
- "to": "2025-09-21T19:45:00Z"
}
}, - "states": [
- {
- "time": "2025-09-21T09:30:00+03:00",
- "order_key": "order01",
- "demand_key": "demand01.1",
- "event_key": "event01",
- "location_key": "location_01",
- "flags": [
- "RELOCATING"
], - "cargo_actions": [
- {
- "box_key": "box01",
- "cargo_key": "cargo01",
- "cargo_action_type": "ADD"
}
], - "distance": 5200,
- "cost": 1231.1,
- "reward": 2343.3,
- "attributes": [ ]
}
], - "waitlist": [
- "order02"
], - "name": "X1-ABC",
- "attributes": [ ]
}, - "trip_statistics": {
- "trip_key": "trip01",
- "general_statistics": {
- "cost": 1231.1,
- "reward": 2343.3,
- "profit": 1231.1,
- "measurements": {
- "time_window": {
- "from": "2025-09-21T09:30:00+03:00",
- "to": "2025-09-21T19:45:00Z"
}, - "driving_time": "PT1H45M",
- "waiting_time": "PT1H45M",
- "working_time": "PT1H45M",
- "break_time": "PT1H45M",
- "rest_time": "PT1H45M",
- "arriving_time": "PT1H45M",
- "departure_time": "PT1H45M",
- "total_time": "PT1H45M",
- "distance": 5200
}, - "trips_count": 250,
- "performers_count": 157,
- "orders_count": 1700,
- "plan_orders_count": 1003,
- "waitlist_orders_count": 697,
- "stops_count": 87,
- "locations_count": 45,
- "cargo_capacity_sum": {
- "mass": 105500,
- "volume": 220034,
- "capacity_a": 100000,
- "capacity_b": 200000,
- "capacity_c": 300000
}, - "cargo_capacity_ratio": {
- "mass": 0.5,
- "volume": 0.1,
- "capacity_a": 0.7,
- "capacity_b": 0.8,
- "capacity_c": 0.9
}, - "max_transport_load": {
- "mass": 0.5,
- "volume": 0.1,
- "capacity_a": 0.7,
- "capacity_b": 0.8,
- "capacity_c": 0.9
}, - "average_speed": 43.1,
- "round_trips_count": 2,
- "average_roundtrip_distance": 23.4,
- "average_roundtrip_time": "PT1H45M",
- "attributes": [ ]
}, - "load_statistics": {
- "total_load": {
- "count": 1460,
- "capacity": {
- "mass": 105500,
- "volume": 220034,
- "capacity_a": 100000,
- "capacity_b": 200000,
- "capacity_c": 300000
}
}, - "max_load": {
- "count": 1460,
- "capacity": {
- "mass": 105500,
- "volume": 220034,
- "capacity_a": 100000,
- "capacity_b": 200000,
- "capacity_c": 300000
}
}, - "max_transfer_load": {
- "count": 1460,
- "capacity": {
- "mass": 105500,
- "volume": 220034,
- "capacity_a": 100000,
- "capacity_b": 200000,
- "capacity_c": 300000
}
}
}, - "stop_statistics": [
- {
- "location_key": "location_01",
- "stop_demands": [
- {
- "demand_key": "demand_key_01",
- "event_key": "event_key_01",
- "demand_time_window": {
- "from": "2025-09-21T09:30:00+03:00",
- "to": "2025-09-21T19:45:00Z"
}
}
], - "stop_time_window": {
- "from": "2025-09-21T09:30:00+03:00",
- "to": "2025-09-21T19:45:00Z"
}, - "measurements": {
- "time_window": {
- "from": "2025-09-21T09:30:00+03:00",
- "to": "2025-09-21T19:45:00Z"
}, - "driving_time": "PT1H45M",
- "waiting_time": "PT1H45M",
- "working_time": "PT1H45M",
- "break_time": "PT1H45M",
- "rest_time": "PT1H45M",
- "arriving_time": "PT1H45M",
- "departure_time": "PT1H45M",
- "total_time": "PT1H45M",
- "distance": 5200
}, - "upload": {
- "count": 1460,
- "capacity": {
- "mass": 105500,
- "volume": 220034,
- "capacity_a": 100000,
- "capacity_b": 200000,
- "capacity_c": 300000
}
}, - "download": {
- "count": 1460,
- "capacity": {
- "mass": 105500,
- "volume": 220034,
- "capacity_a": 100000,
- "capacity_b": 200000,
- "capacity_c": 300000
}
}, - "max_load": {
- "count": 1460,
- "capacity": {
- "mass": 105500,
- "volume": 220034,
- "capacity_a": 100000,
- "capacity_b": 200000,
- "capacity_c": 300000
}
}, - "arrival_load": {
- "count": 1460,
- "capacity": {
- "mass": 105500,
- "volume": 220034,
- "capacity_a": 100000,
- "capacity_b": 200000,
- "capacity_c": 300000
}
}, - "departure_load": {
- "count": 1460,
- "capacity": {
- "mass": 105500,
- "volume": 220034,
- "capacity_a": 100000,
- "capacity_b": 200000,
- "capacity_c": 300000
}
}, - "attributes": [ ]
}
], - "roundtrip_statistics": [
- {
- "roundtrip_key": "trip_01_round_02",
- "general_statistics": {
- "cost": 1231.1,
- "reward": 2343.3,
- "profit": 1231.1,
- "measurements": {
- "time_window": {
- "from": "2025-09-21T09:30:00+03:00",
- "to": "2025-09-21T19:45:00Z"
}, - "driving_time": "PT1H45M",
- "waiting_time": "PT1H45M",
- "working_time": "PT1H45M",
- "break_time": "PT1H45M",
- "rest_time": "PT1H45M",
- "arriving_time": "PT1H45M",
- "departure_time": "PT1H45M",
- "total_time": "PT1H45M",
- "distance": 5200
}, - "trips_count": 250,
- "performers_count": 157,
- "orders_count": 1700,
- "plan_orders_count": 1003,
- "waitlist_orders_count": 697,
- "stops_count": 87,
- "locations_count": 45,
- "cargo_capacity_sum": {
- "mass": 105500,
- "volume": 220034,
- "capacity_a": 100000,
- "capacity_b": 200000,
- "capacity_c": 300000
}, - "cargo_capacity_ratio": {
- "mass": 0.5,
- "volume": 0.1,
- "capacity_a": 0.7,
- "capacity_b": 0.8,
- "capacity_c": 0.9
}, - "max_transport_load": {
- "mass": 0.5,
- "volume": 0.1,
- "capacity_a": 0.7,
- "capacity_b": 0.8,
- "capacity_c": 0.9
}, - "average_speed": 43.1,
- "round_trips_count": 2,
- "average_roundtrip_distance": 23.4,
- "average_roundtrip_time": "PT1H45M",
- "attributes": [ ]
}
}
], - "attributes": [ ]
}, - "fields": {
- "essence_type": "TRIP",
- "essence_key": "key01",
- "enabled": false,
- "pristine": false,
- "trip_name": "X1-ABC",
- "cost": 1231.1,
- "reward": 2343.3,
- "profit": 1231.1,
- "driving_time": "PT1H45M",
- "waiting_time": "PT1H45M",
- "break_time": "PT1H45M",
- "rest_time": "PT1H45M",
- "working_time": "PT1H45M",
- "arriving_time": "PT1H45M",
- "departure_time": "PT1H45M",
- "total_time": "PT1H45M",
- "distance": 5200,
- "time_window": {
- "from": "2025-09-21T08:45:00+03:00",
- "to": "2025-09-21T19:45:00+03:00"
}, - "orders_count": 1700,
- "plan_orders_count": 1003,
- "waitlist_orders_count": 697,
- "stops_count": 87,
- "locations_count": 45,
- "cargo_capacity_ratio_mass": 10,
- "cargo_capacity_ratio_volume": 2,
- "cargo_capacity_ratio_capacity_a": 1,
- "cargo_capacity_ratio_capacity_b": 2,
- "cargo_capacity_ratio_capacity_c": 3,
- "max_transport_load_mass": 0.1,
- "max_transport_load_volume": 0.1,
- "max_transport_load_capacity_a": 0.1,
- "max_transport_load_capacity_b": 0.1,
- "max_transport_load_capacity_c": 0.1,
- "attributes": "key1:value1, key2:value2",
- "customfields": {
- "datetime_1": "2025-09-21T18:00:00+03:00",
- "datetime_2": "2025-09-21T18:00:00+03:00",
- "datetime_3": "2025-09-21T18:00:00+03:00",
- "datetime_4": "2025-09-21T18:00:00+03:00",
- "datetime_5": "2025-09-21T18:00:00+03:00",
- "int_1": 1,
- "int_2": 1,
- "int_3": 1,
- "int_4": 1,
- "int_5": 1,
- "float_1": 2343.3,
- "float_2": 2343.3,
- "float_3": 2343.3,
- "float_4": 2343.3,
- "float_5": 2343.3,
- "duration_1": "PT2H12M34.3S",
- "duration_2": "PT2H12M34.3S",
- "duration_3": "PT2H12M34.3S",
- "duration_4": "PT2H12M34.3S",
- "duration_5": "PT2H12M34.3S",
- "bool_1": true,
- "bool_2": true,
- "bool_3": true,
- "bool_4": true,
- "bool_5": true,
- "string_1": "value01",
- "string_2": "value01",
- "string_3": "value01",
- "string_4": "value01",
- "string_5": "value01"
}
}, - "linked_essences": [
- {
- "essence_key": "key01",
- "essence_type": "LOCATION"
}
]
}
Создание факта.
wave_key required | string <uuid> (unique_key) Example: 11111111-2222-3333-4444-555555555555 Ключ, уникальный идентификатор. |
Запрос на создание новой сущности.
key required | string [ 1 .. 1024 ] characters Example: "fact_01" Ключ факта. |
time required | string <date-time> (fact_time) Example: "2025-09-21T09:30:00+03:00" Дата и время создания факта в формате ISO 8601. |
type required | string (fact_type) Enum: "NEW_LOCATION" "ORDER_DONE" "DEMAND_START" … 1 more Example: "NEW_LOCATION" Возможные типы фактов:
|
trip_key required | string [ 1 .. 1024 ] characters Example: "trip_01" Ключ рейса, к которому относится факт. |
order_key | string or null [ 1 .. 1024 ] characters Default: null Example: "order_01" Ключ заказа, обязателен для фактов с типом |
demand_key | string or null [ 1 .. 1024 ] characters Default: null Example: "order_01_demand_01" Ключ заявки, обязателен для фактов с типами |
performer_key | string or null [ 1 .. 1024 ] characters Default: null Example: "performer_01" Ключ исполнителя, обязателен для фактов с типом |
location_key | string or null [ 1 .. 1024 ] characters Default: null Example: "location_01" Ключ локации, обязателен для фактов с типом |
Array of objects (attributes) [ 0 .. 250 ] items unique Атрибуты. Используются для указания служебной информации. |
required | object (fact) Факт о заказе - совершенное действие с заказом или его частью (заявкой). |
object (table_fact_fields) Табличные поля факта. | |
Array of objects (linked_essence_list) [ 0 .. 15001 ] items Список связанных сущностей. |
{- "key": "fact_01",
- "type": "NEW_LOCATION",
- "time": "2025-09-07T22:00:00Z",
- "trip_key": "trip_for_performer_1",
- "performer_key": "performer_1",
- "location_key": "performer_1_current_location"
}
{- "fact": {
- "key": "fact_01",
- "type": "NEW_LOCATION",
- "time": "2025-09-07T22:00:00Z",
- "trip_key": "trip_for_performer_1",
- "performer_key": "performer_1",
- "location_key": "performer_1_current_location"
}, - "fields": {
- "essence_key": "fact_01",
- "enabled": true
}
}
Обновление факта по ключу.
wave_key required | string <uuid> (unique_key) Example: 11111111-2222-3333-4444-555555555555 Ключ, уникальный идентификатор. |
Запрос на обновление сущности.
key required | string [ 1 .. 1024 ] characters Example: "fact_01" Ключ факта. |
time required | string <date-time> (fact_time) Example: "2025-09-21T09:30:00+03:00" Дата и время создания факта в формате ISO 8601. |
type required | string (fact_type) Enum: "NEW_LOCATION" "ORDER_DONE" "DEMAND_START" … 1 more Example: "NEW_LOCATION" Возможные типы фактов:
|
trip_key required | string [ 1 .. 1024 ] characters Example: "trip_01" Ключ рейса, к которому относится факт. |
order_key | string or null [ 1 .. 1024 ] characters Default: null Example: "order_01" Ключ заказа, обязателен для фактов с типом |
demand_key | string or null [ 1 .. 1024 ] characters Default: null Example: "order_01_demand_01" Ключ заявки, обязателен для фактов с типами |
performer_key | string or null [ 1 .. 1024 ] characters Default: null Example: "performer_01" Ключ исполнителя, обязателен для фактов с типом |
location_key | string or null [ 1 .. 1024 ] characters Default: null Example: "location_01" Ключ локации, обязателен для фактов с типом |
Array of objects (attributes) [ 0 .. 250 ] items unique Атрибуты. Используются для указания служебной информации. |
required | object (fact) Факт о заказе - совершенное действие с заказом или его частью (заявкой). |
object (table_fact_fields) Табличные поля факта. | |
Array of objects (linked_essence_list) [ 0 .. 15001 ] items Список связанных сущностей. |
{- "key": "fact_01",
- "type": "NEW_LOCATION",
- "time": "2025-09-07T22:00:00Z",
- "trip_key": "trip_for_performer_1",
- "performer_key": "performer_1",
- "location_key": "performer_1_current_location"
}
{- "fact": {
- "key": "fact_01",
- "type": "NEW_LOCATION",
- "time": "2025-09-07T22:00:00Z",
- "trip_key": "trip_for_performer_1",
- "performer_key": "performer_1",
- "location_key": "performer_1_current_location"
}, - "fields": {
- "essence_key": "fact_01",
- "enabled": true
}
}
Получение информации о факте по его ключу.
wave_key required | string <uuid> (unique_key) Example: 11111111-2222-3333-4444-555555555555 Ключ, уникальный идентификатор. |
essence_key required | string (basic_essence_key) [ 1 .. 1024 ] characters Example: key01 Ключ, уникальный идентификатор. |
required | object (fact) Факт о заказе - совершенное действие с заказом или его частью (заявкой). |
object (table_fact_fields) Табличные поля факта. | |
Array of objects (linked_essence_list) [ 0 .. 15001 ] items Список связанных сущностей. |
{- "fact": {
- "key": "fact_01",
- "type": "NEW_LOCATION",
- "time": "2025-09-07T22:00:00Z",
- "trip_key": "trip_for_performer_1",
- "performer_key": "performer_1",
- "location_key": "performer_1_current_location"
}, - "fields": {
- "essence_key": "fact_01",
- "enabled": true
}
}
Удаление факта по его ключу.
wave_key required | string <uuid> (unique_key) Example: 11111111-2222-3333-4444-555555555555 Ключ, уникальный идентификатор. |
essence_key required | string (basic_essence_key) [ 1 .. 1024 ] characters Example: key01 Ключ, уникальный идентификатор. |
{- "tracedata": {
- "process_code": "11111111-2222-3333-4444-555555555555",
- "request_code": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
- "username": "username_for_login",
- "company": "smart_company",
- "service": "UNIVERSAL",
- "operation": "run_plan_calculation",
- "env": "edge7",
- "pod": "11111111-2222-3333-4444-555555555555",
- "time": "2025-09-21T09:30:00+03:00"
}, - "message": "Bad Request",
- "schema_errors": [
- {
- "entity": "order_0001",
- "message": "bad input data"
}
]
}
Получение списка фактов.
wave_key required | string <uuid> (unique_key) Example: 11111111-2222-3333-4444-555555555555 Ключ, уникальный идентификатор. |
offset | integer <int32> [ 0 .. 10000000 ] Default: 0 Example: offset=10 Количество пропущенных сущностей до возвращаемого списка. |
limit | integer <int32> [ 1 .. 2001 ] Default: 100 Example: limit=10 Максимальное количество возвращаемых сущностей. |
sort_field | string (table_fact_column_type) Enum: "ESSENCE_KEY" "ENABLED" "PRISTINE" … 8 more Example: sort_field=ESSENCE_KEY Название колонки в таблице со фактами. |
sort_customfield | string or null (table_customfields_column_type) Default: null Enum: "DATETIME_1" "DATETIME_2" "DATETIME_3" … 27 more Example: sort_customfield=NONE Название дополнительной колонки в таблице. |
sort_direction | string Default: "ASC" Enum: "ASC" "DESC" Example: sort_direction=DESC Направление сортировки. |
Фильтр фактов.
Array of objects (table_fact_filter) [ 0 .. 50 ] items Список фильтров. |
required | Array of objects (table_fact) [ 0 .. 2001 ] items Список связей. |
required | object (table_list_counters) Счетчики по списку. |
{- "filters": [
- {
- "type": "STRING_SEARCH",
- "column": "ESSENCE_KEY",
- "string_search": {
- "text": "key01",
- "strict": false
}
}
]
}
{- "essences": [ ],
- "counters": {
- "overall": {
- "total": 0
}, - "filter": {
- "total": 0
}
}
}
Массовое удаление фактов из эксперимента.
wave_key required | string <uuid> (unique_key) Example: 11111111-2222-3333-4444-555555555555 Ключ, уникальный идентификатор. |
Запрос на удаление фактов.
Ключ сущности, уникальный идентификатор.
[- "key01"
]
{- "tracedata": {
- "process_code": "11111111-2222-3333-4444-555555555555",
- "request_code": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
- "username": "username_for_login",
- "company": "smart_company",
- "service": "UNIVERSAL",
- "operation": "run_plan_calculation",
- "env": "edge7",
- "pod": "11111111-2222-3333-4444-555555555555",
- "time": "2025-09-21T09:30:00+03:00"
}, - "message": "Bad Request",
- "schema_errors": [
- {
- "entity": "order_0001",
- "message": "bad input data"
}
]
}
Проверка доступности сервиса.
health required | number <double> [ 0 .. 1 ] Example: "0.999" Текущий показатель здоровья сервиса.
|
{- "health": 0.999
}
Получение версии сервиса.
major required | integer <int32> [ 1 .. 100 ] Example: "7" Версия продукта.
В рамках одной версии гарантируется совместимость общих структур данных между сервисами. |
minor required | integer <int32> [ 0 .. 111 ] Example: "15" Минорная версия сервиса. Изменение версии указывает на новую функциональность. Обновление имеет обратную совместимость в рамках мажорной версии сервиса. |
build required | string [ 1 .. 64 ] characters Example: "3754RC" Версия сборки. |
{- "major": 7,
- "minor": 15,
- "build": "3754RC"
}
Получение файла с документацией на этот сервис.
filename required | string [ 6 .. 128 ] characters Example: file_en.html Название файла. |
Файл с данными в формате HTML.
{- "resource_key": "resource_key",
- "detail": {
- "tracedata": {
- "process_code": "11111111-2222-3333-4444-555555555555",
- "request_code": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
- "username": "username_for_login",
- "company": "smart_company",
- "service": "UNIVERSAL",
- "operation": "run_plan_calculation",
- "env": "edge7",
- "pod": "11111111-2222-3333-4444-555555555555",
- "time": "2025-09-21T09:30:00+03:00"
}
}
}