Получение координат курьеров

Логистам важно получать координаты курьеров в реальном времени, чтобы контролировать посещение курьерами заказов и складов и оценивать ожидаемое время приезда на заказ (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-ключ-компании>

Результат:

{}
Написать в службу поддержки