Получение координат курьеров
Логистам важно получать координаты курьеров в реальном времени, чтобы контролировать посещение курьерами заказов и складов и оценивать ожидаемое время приезда на заказ (ETA).
Источники координат
Координаты могут поступать в Мониторинг из мобильного приложения или GPS-трекера (см. раздел Подготовка данных), а также через API (этот способ настраивается специалистами техподдержки). Передача координат через API может применяться, например, если компания использует собственное мобильное приложение.
Курьеры могут использовать одновременно и GPS-трекеры, и мобильное приложение Яндекс Курьер: с помощью приложения курьеры получают информацию о заказах, оставляют комментарии и фотографии, а также определяют свое местоположение на карте. А GPS-трекер обеспечивает передачу в Мониторинг более точных координат, чем смартфон.
Определение источника координат
Если координаты поступают из нескольких источников, можно указать, какой именно источник нужно использовать для отображения маршрута курьера и расчета ETA. Указать источник можно для всей компании или для отдельных курьеров.
Если в качестве источника координат указан GPS-трекер, то приложение на смартфоне курьера не получает координаты с этого GPS-трекера, а определяет их самостоятельно. Координаты со смартфона при этом в Мониторинг не передаются.
Задать источник координат для компании можно, только обратившись в службу поддержки.
Задать источник координат для курьера можно через API, передав в теле запроса массив значений параметра allowed_courier_position_sources
. Возможные значения:
gps_tracker
— из GPS-трекера;app
— из мобильного приложения Яндекс Курьер;s2s_api
— через API.
Если для курьера параметр не задан, используется значение, установленное для компании.
По умолчанию для компании разрешены все источники координат, а отдельно для курьеров параметры не заданы.
Если для компании или курьера значение параметра allowed_courier_position_sources
определено как пустой массив, координаты передаваться в Мониторинг не будут.
Получение координат через API
Чтобы передать координаты курьера в базу данных, отправьте запрос к ресурсу push-positions-v3.
В запросе укажите:
-
courier_id
иroute_id
— ID курьера и ID маршрута, используемые в запросах к API Мониторинга. -
apikey
— API-ключ компании . Ключ указан в настройках компании, поле API Key.
В заголовках запроса укажите X-YaCourier-Signature
, в который должна быть добавлена подпись.
Важно
Подпись вычисляется по алгоритму. Для вычисления используется секрет из 16 символов (нужно получить через клиентского менеджера или службу поддержки). Секрет не является подписью.
Запрос:
cURL
curl -H "Content-Type: application/json" -H "Authorization: OAuth <ваш-OAuth-токен>" -H "X-YaCourier-Signature: <ваша-подпись>" -X POST -d @<Путь_до_файла_в_кодировке_UTF-8> https://api.courier.yandex.net/api/v1/couriers/<id-курьера>/routes/<id-маршрута>/push-positions-v3?apikey=<API-ключ-компании>
Файл
{
"positions": [
{
"accuracy": 5,
"point": {
"lat": 59.987543,
"lon": 30.353874
},
"timestamp": 1711964409
}
]
}
cURL
curl -H "Content-Type: application/json" -H "Authorization: OAuth <ваш-OAuth-токен>" -H "X-YaCourier-Signature: <ваша-подпись>" -X POST -d '{"positions": [{"accuracy": 5, "point": {"lat": 59.987543, "lon": 30.353874}, "timestamp": 1711964409}]}' https://api.courier.yandex.net/api/v1/couriers/<id-курьера>/routes/<id-маршрута>/push-positions-v3?apikey=<API-ключ-компании>
Результат:
{}