Пользовательские поля маршрута

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

Важно

Функциональность доступна только пользователям API.

Дополнительные поля добавляются и удаляются через обращение в службу поддержки. Также в службе поддержки можно уточнить, какие пользовательские поля уже добавлены. Для передачи данных в Яндекс Навигатор используйте специальный набор пользовательских полей route_custom_fields.

При работе с пользовательскими полями учитывайте следующие особенности:

  • В маршруте можно использовать только те поля, которые добавлены в настройки компании.
  • Пользователь самостоятельно следит за форматом и содержимым полей.
  • Для одной компании можно добавить не более 10 полей.
  • Максимальная длина поля с названием и значением — 255 символов.
  • Если удалить какое-либо поле, оно останется в уже созданных маршрутах.
  • При редактировании маршрута сохраняются только те поля, которые есть в запросе. Остальные поля удаляются из маршрута.

Пользовательские поля отображаются:

  • в разделе Карта.

    Пример

  • в карточке курьера.

    Пример

  • в отчете Качество работы курьера.

    Пример

Создать маршрут

Чтобы создать маршрут с пользовательскими полями:

  1. Сообщите службе поддержки название полей, которые нужно добавить. Например, route_type и route_priority.
  2. Отправьте POST-запрос к ресурсу routes. У элемента массива custom_fields в поле key укажите название, в поле value — соответствующее значение. Например, в запросе ниже для route_type укажем значение межгород, для route_priority — 0.

Запрос

cURL

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

Файл

{
    "courier_number": "Courier 1",
    "date": "2022-05-12",
    "number": "add-custom-fields",
    "depot_number": "111",
    "route_start": "8:00:00",
    "route_finish": "19:00:00",
    "custom_fields": [
        {
            "key": "route_type",
            "value": "межгород"
        },
        {
            "key": "route_priority",
            "value": "0"
        }
    ]
}

Результат

{
    "id": <id-маршрута>,
    "company_id": <id-вашей-компании>,
    "courier_id": <id-курьера>,
    "car_id": null,
    "custom_fields": [
        {
            "key": "route_type",
            "value": "межгород"
        },
        {
            "key": "route_priority",
            "value": "0"
        }
    ],
    "depot_id": <id-склада>,
    "number": "add-custom-fields",
    "date": "2022-05-12",
    "imei": null,
    "rented_courier_id": null,
    "courier_violated_route": false,
    "routing_mode": "driving",
    "tracking_start_h": null,
    "route_start": "08:00:00",
    "route_finish": "19:00:00",
    "imei_str": null
}

Отредактировать маршрут

Чтобы изменить значения пользовательских полей, отправьте PATCH-запрос к ресурсу routes. Например, можно оставить в маршруте только поле route_priority со значением 1.

Запрос

cURL

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

Файл

{
    "courier_number": "Courier 1",
    "date": "2022-05-12",
    "number": "add-custom-fields",
    "depot_number": "111",
    "route_start": "8:00:00",
    "route_finish": "19:00:00",
    "custom_fields": [
        {
            "key": "route_priority",
            "value": "1"
        }
    ]
}

Результат

{
    "id": <id-маршрута>,
    "company_id": <id-вашей-компании>,
    "courier_id": <id-курьера>,
    "car_id": null,
    "custom_fields": [
        {
            "key": "route_priority",
            "value": "1"
        }
    ],
    "depot_id": <id-склада>,
    "number": "add-custom-fields",
    "date": "2022-05-12",
    "imei": null,
    "rented_courier_id": null,
    "courier_violated_route": false,
    "routing_mode": "driving",
    "tracking_start_h": null,
    "route_start": "08:00:00",
    "route_finish": "19:00:00",
    "imei_str": null
}

Получить маршрут

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

Запрос

cURL

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

Результат

[
    {
        "id": <id-маршрута>,
        "company_id": <id-вашей-компании>,
        "courier_id": <id-курьера>,
        "car_id": null,
        "custom_fields": [
            {
                "key": "route_priority",
                "value": "1"
            }
        ],
        "depot_id": <id-склада>,
        "number": "add-custom-fields",
        "date": "2022-05-12",
        "imei": null,
        "rented_courier_id": null,
        "courier_violated_route": false,
        "routing_mode": "driving",
        "tracking_start_h": null,
        "route_start": "08:00:00",
        "route_finish": "19:00:00",
        "imei_str": null
    }
]
Написать в службу поддержки