Пользовательские поля маршрута
Чтобы учитывать информацию о маршруте, для которой недостаточно стандартного набора полей, можно создавать пользовательские поля custom_fields
.
Важно
Функциональность доступна только пользователям API.
Дополнительные поля добавляются и удаляются через обращение в службу поддержки. Также в службе поддержки можно уточнить, какие пользовательские поля уже добавлены. Для передачи данных в Яндекс Навигатор используйте специальный набор пользовательских полей route_custom_fields
.
При работе с пользовательскими полями учитывайте следующие особенности:
- В маршруте можно использовать только те поля, которые добавлены в настройки компании.
- Пользователь самостоятельно следит за форматом и содержимым полей.
- Для одной компании можно добавить не более 10 полей.
- Максимальная длина поля с названием и значением — 255 символов.
- Если удалить какое-либо поле, оно останется в уже созданных маршрутах.
- При редактировании маршрута сохраняются только те поля, которые есть в запросе. Остальные поля удаляются из маршрута.
Пользовательские поля отображаются:
-
в разделе Карта.
Пример -
в карточке курьера.
Пример -
в отчете Качество работы курьера.
Пример
Создать маршрут
Чтобы создать маршрут с пользовательскими полями:
- Сообщите службе поддержки название полей, которые нужно добавить. Например,
route_type
иroute_priority
. - Отправьте 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
}
]