Чтобы воспользоваться оптимизацией выполнения заявок, используйте order/optimize:
svc=order/optimize¶ms={"itemId":<long>, "orders":[<uint>,{JSON},...], "warehouses":[<uint>], "units":[<uint>], "flags":<uint>, "gis":{ "provider":<uint>, "addPoints":<uint>, "speed":<uint>, "mode":<text>, "avoid":<text>, "departure_time":<uint>, "traffic_model":<text>, "transit_mode":<text>, "transit_routing_preference":<text> }, "busyRoutes":{ "<uint>":[ { "tf":<uint>, "tt":<uint>, "pf":{<uint> || {JSON}}, "pt":{<uint> || {JSON} }, ... ] }, "priority":{<uint>:{<uint>:<uint>},...}, "criterions":{<text>:<uint>,...}, "preference":{<uint>:<uint>,...} // DEPRECATED }
| Название | Описание | 
|---|---|
| itemId | id ресурса | 
| orders | массив оптимизируемых заявок (индексы/JSON заявок через запятую) | 
| warehouses | массив складов | 
| units | массив объектов, которые будут выполнять заявки | 
| flags | флаги оптимизации | 
| gis | настройки карт | 
| busyRoutes | периоды занятости, далее индекс | 
| tf | время начала периода занятости | 
| tt | время конца периода занятости | 
| pf | точка начала периода занятости: id или JSON заявки | 
| pt | точка конца периода занятости: id или JSON заявки | 
| provider | источник данных для оптимизации: 0 - нет, 1 - gurtam maps(по умолчанию), 2 -google | 
| mode | транспорт: driving, walking, bicycling или transit (только для provider google) | 
| avoid | ограничения: tolls, highways, ferries и/или indoor (только для provider google) | 
| departure_time | учитывать интервал заявок для опции traffic_model: 0 - нет, 1 - да (только для provider google) | 
| traffic_model | предположение: best_guess, pessimistic или optimistic (только для provider google) | 
| transit_mode | предпочитаемые виды транспорта: bus, subway, train, tram и/или rail (только для provider google) | 
| transit_routing_preference | предпочтения маршрутов на общественном транспорте (только для provider google) | 
| addPoints | вернуть в ответе трек: 1 - да, 0 - нет | 
| speed | скорость для оптимизации, км/ч (60 по умолчанию) | 
| priority | порядок заявок: {индекс объекта:{индекс заявки: ожидаемая позиция заявки в маршруте}} (позиция равная -1 будет считаться как всегда последняя) | 
| criterions | критерии завершения маршрута: max_mileage - максимальный пробег, м; max_duration - максимальная длительность, сек; max_order_count - максимальное количество заявок; max_idling - максимальное время простоя между заявками, сек; split_intervals - если 1, то делить по интервалам (если время выполнения заявки с разгрузкой и переездом, не попадает в коридор следующей) | 
| preference | DEPRECATED: приоритет заявки в маршруте, если не задать, то берётся из JSON заявки {«индекс заявки»:«приоритет»,…} | 
 Формат JSON заявки как в запросе Работа с заявками.
 Формат JSON заявки как в запросе Работа с заявками.
 Подробнее о настройках оптимизации с использованием Google. Google
 Подробнее о настройках оптимизации с использованием Google. Google
| Флаг | Описание | 
|---|---|
| 0x1 | оптимизировать по расписанию заявки (используются параметры tf и tt) | 
| 0x2 | оптимизировать по времени выполнения всех заявки | 
| 0x20 | учитывать грузоподъемность объекта | 
| 0x40 | учитывать вместимость объекта по объёму | 
| 0x80 | учитывать текущее время | 
| В случае, если превышены лимиты (criterions): | |
| 0x100 | маршрут завершается | 
| 0x200 | посещается склад перезагрузки | 
| 0x300 | маршрут разделяется на несколько | 
| 0x400 | разделить на независимые маршруты | 
| 0x1000 | отключить оптимизацию | 
| 0x2000 | расчет предварительного расстояния | 
{ "1":{ /* оптимизация для первого объекта */ "orders":[ { "ml":<uint>, /* пробег */ "tm":<uint>, /* время посещения области заявки */ "id":<uint> /* индекс заявки в переданном в запросе массиве (нумерация от 0) */ }, { "ml":<uint>, /* пробег */ "tm":<uint>, /* время посещения области заявки */ "id":<uint> /* индекс заявки в переданном в запросе массиве (нумерация от 0) */ } ] }, "2":{ /* оптимизация для второго объекта (если заданное число объектов больше одного) */ "orders":[ { "ml":<uint>, /* пробег */ "tm":<uint>, /* время посещения области заявки */ "id":<uint> /* индекс заявки в переданном в запросе массиве (нумерация от 0) */ }, { "ml":<uint>, /* пробег */ "tm":<uint>, /* время посещения области заявки */ "id":<uint> /* индекс заявки в переданном в запросе массиве (нумерация от 0) */ } ] }, ..., /* оптимизация для других объектов (если задано большее число объектов) */ "success":<bool> /* статус оптимизации: 1 - успех (есть решение для всех заданных требований), 0 - неудача */ }
 Если на объект назначены только заявки склада(флаг 0x4), то он не будет фигурировать в ответе.
  Если на объект назначены только заявки склада(флаг 0x4), то он не будет фигурировать в ответе.
 Если маршрут разделился на несколько, то в ответе будет массив маршрутов.
  Если маршрут разделился на несколько, то в ответе будет массив маршрутов.
 «p»:<text> - маршрут заявки, google polyline encoding формат
 «p»:<text> - маршрут заявки, google polyline encoding формат