Сквозной сценарий: 1С → маршрут
Типовой порядок работы для учётной системы.
Шаг 1. Вечерняя выгрузка накладных
POST /orders/bulk/
Отправьте до 500 накладных, в external_id — номер документа, обязательно укажите
delivery_date на завтра. Сохраните соответствие «номер документа → id заказа»
из ответа.
Разберите ответ: позиции со статусом error не создались — покажите их оператору.
Шаг 2. Проверка координат
Через 1–2 минуты запросите свои заказы и убедитесь, что у всех заполнены lat и lon.
Заказы с пустыми координатами в планирование не отправляйте — сначала исправьте адрес
через PATCH.
Шаг 3. Запуск планирования
POST /planning/jobs/
Передайте external_ids со своими номерами документов. Сохраните job_id.
Шаг 4. Ожидание результата
Либо подпишитесь на вебхук planning_job.finished (рекомендуется), либо опрашивайте
GET /planning/jobs/{job_id}/ раз в 10–15 секунд.
Шаг 5. Разбор результата
result.route_ids— построенные маршруты;result.unassigned— что не поместилось и почему;- сравните
input.order_idsс суммой размещённых и нераспределённых: разница означает заказы, потерянные из-за неопределённых координат.
Нераспределённые заказы верните оператору для решения — добавить машину, изменить интервал доставки или перенести на другой день.
Шаг 6. Получение маршрутов
GET /routes/{route_id}/
В точках маршрута поле order_external_id содержит ваш номер документа — по нему
проставляйте в учётной системе номер маршрута и плановое время прибытия
(planned_arrival_at).
Шаг 7. Приём статусов
Подпишитесь на order.status_changed и обновляйте статус документа в 1С. Итоговые
статусы: confirmed — доставлено, rejected — отказ получателя, skipped — точка
пропущена.
Не забудьте про отсечение дублей по X-DP-Delivery-Id и про то, что порядок событий
не гарантирован.