Состав и формат данных
Запрос к ресурсу позволяет строить маршрут с соблюдением баланса между скоростью и оптимальным уровнем загрузки курьеров. Планирование выполняется с помощью алгоритма экспресс-доставки.
Важно
Чтобы получить корректный результат планирования, убедитесь, что все параметры в запросе актуальные и валидные.
При формировании запроса:
- Учитывайте структуру запроса. Подробнее см. в спецификации.
- Указывайте уникальные идентификаторы заказов. Они не должны повторяться в течение дня и на протяжении всего периода планирования. Для соблюдения уникальности можно добавлять к идентификатору текущую дату. Например,
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
|
Параметр |
Описание |
Обязательность |
|
|
Идентификатор курьера в клиентской системе |
Да |
|
|
Информация о курьере: зона доставки, тип транспорта, максимальный вес груза, список тегов и др. |
Нет |
|
|
Смена курьера для построения маршрута: идентификатор смены в системе клиента, временное окно работы, настройки назначения курьера в очередь и др. |
Да |
Подробнее см. в разделе Параметры курьеров.
Блок order_list
|
Параметр |
Описание |
Обязательность |
|
|
Идентификатор заказа в клиентской системе |
Да |
|
|
Статус заказа в системе сервиса: |
|
|
|
Статус заказа в системе клиента |
|
|
|
Информация о местоположении заказа: адрес или координаты |
Да |
|
|
Тип политики доставки: временной интервал или предельное время доставки |
Да |
|
|
Содержимое заказа |
Нет |
|
|
Обязательные теги курьера для назначения на заказ |
Нет |
|
|
Приоритет заказа |
Нет |
|
|
Идентификатор склада |
Нет |
|
|
Продолжительность этапов заказа: время подготовки, передачи курьеру и вручения получателю |
Нет |
|
|
Информация о платеже |
Нет |
|
|
Информация о получателе заказа |
Нет |
Подробнее см. в разделе Параметры заказов.
Запрос на планирование
Чтобы создать новую задачу планирования экспресс-доставки и получить информацию о спланированном маршруте, выполните шаги одного из сценариев:
Примечание
Запросы должны содержать авторизационный токен, а для некоторых запросов необходим токен идемпотентности.