Состав и формат данных

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

Важно

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

При формировании запроса:

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

Совет

Чтобы упростить настройку и тестирование задач экспресс-планирования, используйте пресеты: они используются многократно и позволяют задавать разные сценарии планирования. Подробнее см. в разделе Использование пресетов.

Структура тела запроса в упрощенном API Экспресс-доставки:

{
"region_id": [],
"current_planning_time": {},
"next_planning_time": [],
"courier_list": [],
"order_list": {},
"solver_options_preset_id": []
}

Минимальный набор параметров при планировании по упрощенному сценарию

Корректный запрос на планирование экспресс-доставки должен содержать следующие данные:

  • region_id — идентификатор зоны доставки, для которой создается маршрут;
  • current_planning_time — текущее время и дата планирования. Алгоритм планирования определяет текущее время самостоятельно. Для целей анализа или тестирования можно задать другое время в качестве текущего;
  • courier_list — список доступных курьеров;
  • order_list — список готовых к доставке заказов.

Также в структуру запроса могут включаться разделы с информацией о следующих параметрах:

  • next_planning_time — время следующего планирования этой задачи. На основе этого времени фильтруются маршруты, которые можно назначить позже, а также фильтруются маршруты, в которых возникнут нарушения при следующем планировании;
  • solver_options_preset_id — идентификатор пресета.

Блок courier_list

Параметр

Описание

Обязательность

client_courier_id

Идентификатор курьера в клиентской системе

Да

courier_info

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

Нет

shift

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

Да

Подробнее см. в разделе Параметры курьеров.

Блок order_list

Параметр

Описание

Обязательность

client_order_id

Идентификатор заказа в клиентской системе

Да

status

Статус заказа в системе сервиса: created, preparing_for_delivery, ready_for_delivery, assigned, delivery_in_progress, completed, cancelled

client_order_status

Статус заказа в системе клиента

location

Информация о местоположении заказа: адрес или координаты

Да

delivery_policy

Тип политики доставки: временной интервал или предельное время доставки

Да

content

Содержимое заказа

Нет

required_tag_list

Обязательные теги курьера для назначения на заказ

Нет

order_priority

Приоритет заказа

Нет

depot_id

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

Нет

stage_durations

Продолжительность этапов заказа: время подготовки, передачи курьеру и вручения получателю

Нет

payment_info

Информация о платеже

Нет

recipient_info

Информация о получателе заказа

Нет

Подробнее см. в разделе Параметры заказов.

Запрос на планирование

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

Примечание

Запросы должны содержать авторизационный токен, а для некоторых запросов необходим токен идемпотентности.

Написать в службу поддержки