---
metadata:
  - name: generator
    content: Diplodoc Platform v5.52.0
alternate:
  - https://yandex.kz/routing/doc/en/delivery/quickstart/start-work.md
  - https://yandex.kz/routing/doc/kk/delivery/quickstart/start-work.md
  - https://yandex.kz/routing/doc/ru/delivery/quickstart/start-work.md
  - https://yandex.kz/routing/doc/tr/delivery/quickstart/start-work.md
  - href: ru/delivery/quickstart/start-work.md
    type: text/markdown
    title: Markdown version
  - href: ../llms.txt
    type: text/markdown
    title: llms.txt
title: Яндекс Маршрутизация — порядок внедрения API — формирование маршрутов на день
---
> **Documentation Index:** Fetch the complete configuration index at https://yandex.kz/routing/doc/ru/llms.txt


# Формирование маршрутов на день

{% note info "" %}

Схема процесса импорта планирований в Мониторинг доступна по [ссылке](https://doc-static.yandex.net/src/dev/routing/schema/import-to-track-and-trace-ru.pdf).

{% endnote %}

Перед началом рабочего дня компания, выполняющая доставку, должна загрузить информацию о маршрутах и заказах в базу данных Мониторинга. Сформированный маршрут автоматически передается в приложение [Яндекс Маршрутизация](https://yandex.kz/routing/doc/ru/delivery/app.md). При построении маршрута последовательность заказов курьера выстраивается автоматически с учетом данных об интервалах доставки и прогноза дорожной ситуации.

{% note info %}

<!-- source: ru/delivery/_includes/poluchenie-ID.md -->
Для работы с API Мониторинга нужно использовать ID компании. Если у вас нет ID, [напишите нам](../_includes/<mailto:routing@yandex-team.ru>).
<!-- endsource: ru/delivery/_includes/poluchenie-ID.md -->

{% endnote %}


## Создание маршрутов {#route}

В API маршрут присваивается курьеру на определенную дату.

Отправьте запрос к ресурсу [routes-batch](https://yandex.ru/routing/doc/ru/delivery/redoc/index.html#operation/editsMultipleRoutes). В запросе укажите информацию о заказах.

<!-- source: ru/_includes/postman-collection.md -->
Для отправки API-запросов вы можете использовать коллекцию [Routing API](https://doc-static.yandex.net/src/dev/routing/postman-collection/routeq-api-postman-collection-ru.zip). Подробнее о том, как загрузить коллекцию в Postman или Bruno, см. на странице [Работа с готовой коллекцией запросов](https://yandex.kz/routing/doc/ru/vrp/upload-api-collection.md).
<!-- endsource: ru/_includes/postman-collection.md -->


{% note alert %}

В спецификации указаны обязательные поля для уже существующих объектов, для новых этот список шире. При добавлении новых объектов через запрос к ресурсу `routes-batch` заполните поля, указанные как обязательные при запросе к ресурсу [routes](https://yandex.ru/routing/doc/ru/delivery/redoc/index.html#operation/addsARoute).

{% endnote %}


**Запрос:**

{% list tabs %}

- Windows

  cURL

  ```html
  curl -H "Content-Type: application/json" -H "Authorization: OAuth <ваш-токен>" -X POST -d @<Путь_до_файла_в_кодировке_UTF-8> https://courier.yandex.ru/api/v1/companies/<id-вашей-компании>/routes-batch
  ```

  Файл

  ```json
  [
    {
      "courier_number":"222",
      "number":"23423-2000",
      "date": "2017-08-08",
      "depot_number":"111"
    },
    {
      "courier_number":"224",
      "number":"23423-2001",
      "date": "2017-08-08",
      "depot_number":"112"
    }
  ]
  ```

- MacOS/Linux

  cURL

  ```html
  curl -H "Content-Type: application/json" -H "Authorization: OAuth <ваш-OAuth-токен>" -X POST -d '[{"courier_number":"222", "number":"23423-2000", "date": "2017-08-08", "depot_number":"111"}, {"courier_number":"224", "number":"23423-2001", "date": "2017-08-08", "depot_number":"112"}]' https://courier.yandex.ru/api/v1/companies/<id-вашей-компании>/routes-batch
  ```

{% endlist %}

**Результат:**

```json
{
  "inserted": 2,
  "updated": 0
}
```

## Наполнение базы данных заказами {#order}

Заказы в API присваиваются маршруту. Заказы в маршруте организуются в порядке добавления. При необходимости, порядок можно изменить с помощью запроса к ресурсу [orders-sequence](https://yandex.ru/routing/doc/ru/delivery/redoc/index.html#operation/setsTheOrderOfDeliveriesInTheRoute).

Отправьте запрос к ресурсу [orders-batch](https://yandex.ru/routing/doc/ru/delivery/redoc/index.html#operation/editsMultipleOrders). В запросе укажите информацию о заказах.

{% note alert %}

В спецификации указаны обязательные поля для уже существующих объектов, для новых этот список шире. При добавлении новых объектов через запрос к ресурсу `orders-batch` заполните поля, указанные как обязательные при запросе к ресурсу [orders](https://yandex.ru/routing/doc/ru/delivery/redoc/index.html#operation/addsAnOrder).

{% endnote %}


**Запрос:**

{% list tabs %}

- Windows

  cURL

  ```
  curl -H "Content-Type: application/json" -H "Authorization: OAuth <ваш-токен>" -X POST -d @<Путь_до_файла_в_кодировке_UTF-8> https://courier.yandex.ru/api/v1/companies/<id-вашей-компании>/orders-batch
  ```

  Файл


  ```json
  [
    {
      "number":"222239",
      "route_number":"23423-2000",
      "address":"ул. Льва Толстого, 16",
      "lat": 55.7447,
      "lon": 37.6728,
      "customer_name": "Игорь",
      "phone": "+712345678",
      "status":"new",
      "time_interval":"11-12"
    },
    {
      "number":"222241",
      "route_number":"23423-2001",
      "address":"ул. Льва Толстого, 17",
      "lat": 55.7448,
      "lon": 37.6729,
      "customer_name": "Ольга",
      "phone": "+712345679",
      "status":"new",
      "time_interval":"10:00 - 11:00"
    }
  ]
  ```

    
    


- MacOS/Linux

  cURL


  ```html
  curl -H "Content-Type: application/json" -H "Authorization: OAuth <ваш-OAuth-токен>" -X POST -d '[{"number":"222239", "route_number":"23423-2000", "address":"ул. Льва Толстого, 16", "lat": 55.7447, "lon": 37.6728, "customer_name": "Игорь", "phone": "+712345678", "status":"new", "time_interval":"11-12"}, {"number":"222241", "route_number":"23423-2001", "address":"ул. Льва Толстого, 17", "lat": 55.7448, "lon": 37.6729, "customer_name": "Ольга", "phone": "+712345679", "status":"new", "time_interval":"10:00 - 11:00"}]' https://courier.yandex.ru/api/v1/companies/<id-вашей-компании>/orders-batch
  ```

    
    


{% endlist %}

**Результат:**

```json
{
  "inserted": 2,
  "updated": 0
}
```


## Привязка заказов к складу или другому заказу {#related-orders}

Чтобы обозначить, где нужно забрать или куда доставить заказ, привяжите этот заказ к складу или другому заказу с помощью запроса к ресурсу [nodes](https://yandex.ru/routing/doc/ru/delivery/redoc/index.html#operation/setsRouteNodesAndTheirSequenceInTheRoute). Возможность привязки доступна только через API.

<!-- source: ru/_includes/postman-collection.md -->
Для отправки API-запросов вы можете использовать коллекцию [Routing API](https://doc-static.yandex.net/src/dev/routing/postman-collection/routeq-api-postman-collection-ru.zip). Подробнее о том, как загрузить коллекцию в Postman или Bruno, см. на странице [Работа с готовой коллекцией запросов](https://yandex.kz/routing/doc/ru/vrp/upload-api-collection.md).
<!-- endsource: ru/_includes/postman-collection.md -->

Заказы, которые нужно привязать, указываются в массиве `value.related_orders`.  

Возможны следующие типы связей:

* Заказ с типом `pickup` нужно доставить на склад. Для склада указывается `number` = <номер заказа с типом `pickup`> и `action` = `delivery`.
* Заказ с типом `delivery` нужно забрать со склада (чтобы доставить на точку `drop_off`). Для склада указывается `number` = <номер заказа с типом `delivery`> и `action` = `pickup`.
* Заказ с типом `delivery` нужно забрать с точки `pickup`. Для заказа с типом `pickup` указывается `number` = <номер заказа с типом `delivery`> и `action` = `pickup`.
* Заказ с типом `pickup` нужно доставить в точку `drop-off`. Для заказа с типом `drop_off` указывается `number` = <номер заказа с типом `pickup`> и `action` = `delivery`.

{% note warning %}

Добавлять связи можно, только если у заказов указаны соответствующие типы: `pickup`, `delivery` или `drop_off`.  
  
{% endnote %}

**Запрос:**

{% list tabs %}

- Windows

  cURL


  ```html
  curl -H "Content-Type: application/json" -H "Authorization: OAuth <ваш-OAuth-токен>" -X POST "https://courier.yandex.ru/api/v1/companies/<id-вашей-компании>/routes/<id-маршрута>/nodes"
  ```

    
    

  Файл


  ```json
  [
    {
        "type": "depot",
        "value": {
            "number": "200",
            "related_orders": [
                {
                    "number": "20 2024-03-26",
                    "action": "pickup"
                }
            ]
        }
    },
    {
        "type": "depot",
        "value": {
            "number": "100",
            "related_orders": [
                {
                    "number": "19 2024-03-26",
                    "action": "pickup"
                }
            ]
        }
    },
    {
        "type": "order",
        "value": {
            "address": "Москва, 3-я Рыбинская улица, 18с2",
            "lat": 55.790514,
            "lon": 37.660153,
            "number": "19 2024-03-26",
            "time_interval": "08:00:00-23:00:00"
        }
    },
    {
        "type": "order",
        "value": {
            "address": "Москва, Пятницкое шоссе, 23к2",
            "lat": 55.847285,
            "lon": 37.367544,
            "number": "20 2024-03-26",
            "time_interval": "08:00:00-23:00:00"
        }
    },
    {
        "type": "order",
        "value": {
            "address": "Московская область, Реутов, Транспортная улица, 11",
            "lat": 55.768182,
            "lon": 37.881291,
            "number": "21 2024-03-26",
            "time_interval": "08:00:00-23:00:00",
            "type": "pickup",
            "related_orders": [
                {
                    "number": "22 2024-03-26",
                    "action": "pickup"
                }
            ]
        }
    },
    {
        "type": "order",
        "value": {
            "address": "Октябрьская ул., 103, Москва, Россия, 127521",
            "lat": 55.798859,
            "lon": 37.61218,
            "number": "22 2024-03-26",
            "time_interval": "08:00:00-23:00:00",
            "type": "delivery"
        }
    }
  ]
  ```

    
    


- MacOS/Linux

  cURL


  ```html
  curl -H "Content-Type: application/json" -H "Authorization: OAuth <ваш-OAuth-токен>" -X POST -d '[{"type":"depot","value":{"number":"200","related_orders":[{"number":"20 2024-03-26","action":"pickup"}]}},{"type":"depot","value":{"number":"100","related_orders":[{"number":"19 2024-03-26","action":"pickup"}]}},{"type":"order","value":{"address":"Москва, 3-я Рыбинская улица,18 с2","lat":55.790514,"lon":37.660153,"number":"19 2024-03-26","time_interval":"08:00:00-23:00:00"}},{"type":"order","value":{"address":"Москва, Пятницкое шоссе, 23 к2","lat":55.847285,"lon":37.367544,"number":"20 2024-03-26","time_interval":"08:00:00-23:00:00"}},{"type":"order","value":{"address":"Московская область ,Реутов, Транспортная улица, 11","lat":55.768182,"lon":37.881291,"number":"21 2024-03-26","time_interval":"08:00:00-23:00:00","type":"pickup","related_orders":[{"number":"22 2024-03-26","action":"pickup"}]}},{"type":"order","value":{"address":"Октябрьская ул.,103, Москва, Россия, 127521","lat":55.798859,"lon":37.61218,"number":"22 2024-03-26","time_interval":"08:00:00-23:00:00","type":"delivery"}}]' "https://courier.yandex.ru/api/v1/companies/<id-вашей-компании>/routes/<id-маршрута>/nodes"
  ```

    
    

{% endlist %}
 

**Результат:**

```json
{}
```

Чтобы посмотреть, какие связи заказов и складов созданы, отправьте запрос к ресурсу [route-info](https://yandex.ru/routing/doc/ru/delivery/redoc/index.html#operation/getsRouteInfo).

## Проверка загруженных данных {#checkdata}

Чтобы проверить, что все данные загружены успешно, отправьте запрос к ресурсу [verification](https://yandex.ru/routing/doc/ru/delivery/redoc/index.html#operation/getsOrderInformation). Ответ от сервера содержит информацию о всех заказах на указанную дату. Полученную информацию можно сравнить с информацией в базе данных компании, выполняющей доставку.

**Запрос:**

```html
curl -H "Authorization: OAuth <ваш-OAuth-токен>" -X GET https://courier.yandex.ru/api/v1/companies/<id-вашей-компании>/verification?date=2018-01-01
```

**Результат:**


```json
[
  {
    "order_id": "20170513-713",
    "time_interval": "12-23",
    "route_number": "23423-2000",
    "courier_id": "номер-вашего-курьера",
    "status": "finished",
    "phone": "+712345678",
    "address": "ул. Льва Толстого, 16",
    "lat": 55.7448,
    "lon": 37.6729
  },
  {
    "order_id": "20170513-329",
    "time_interval": "12-52",
    "route_number": "23423-2001",
    "courier_id": "8272",
    "status": "finished",
    "phone": "+712345679",
    "address": "ул. Льва Толстого, 17",
    "lat": 55.7448,
    "lon": 37.6729
  }
]
```

    
    

<!-- source: ru/delivery/_includes/feedback.md -->
<a href="../feedback">
  <span class="button">Написать в службу поддержки</span>
</a>



[//]: # (Вариант без html\: \[Написать в службу поддержки\]\(../../../feedback.md\))

<!-- source: ru/_includes/neuroexpert.md -->



<!-- endsource: ru/_includes/neuroexpert.md -->
<!-- endsource: ru/delivery/_includes/feedback.md -->
