Find Nearby Couriers
curl --request GET \
--url https://api.sandbox.usenash.com/v1/routes/nearby-couriers \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.sandbox.usenash.com/v1/routes/nearby-couriers"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.sandbox.usenash.com/v1/routes/nearby-couriers', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.sandbox.usenash.com/v1/routes/nearby-couriers",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.sandbox.usenash.com/v1/routes/nearby-couriers"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.sandbox.usenash.com/v1/routes/nearby-couriers")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sandbox.usenash.com/v1/routes/nearby-couriers")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"couriers": [
{
"courier_id": "<string>",
"courier_name": "<string>",
"route_id": "<string>",
"route_name": "<string>",
"route_status": "created",
"lat": 123,
"lng": 123,
"captured_at": "2023-11-07T05:31:56Z",
"distance_meters": 123
}
]
}[
{
"error": {
"code": "<string>",
"message": "<string>",
"details": {}
},
"response_status": "<string>",
"RequestID": "<string>"
}
]Find Nearby Couriers
Find the drivers on active routes nearest to a point.
GET
/
v1
/
routes
/
nearby-couriers
Find Nearby Couriers
curl --request GET \
--url https://api.sandbox.usenash.com/v1/routes/nearby-couriers \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.sandbox.usenash.com/v1/routes/nearby-couriers"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.sandbox.usenash.com/v1/routes/nearby-couriers', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.sandbox.usenash.com/v1/routes/nearby-couriers",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.sandbox.usenash.com/v1/routes/nearby-couriers"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.sandbox.usenash.com/v1/routes/nearby-couriers")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sandbox.usenash.com/v1/routes/nearby-couriers")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"couriers": [
{
"courier_id": "<string>",
"courier_name": "<string>",
"route_id": "<string>",
"route_name": "<string>",
"route_status": "created",
"lat": 123,
"lng": 123,
"captured_at": "2023-11-07T05:31:56Z",
"distance_meters": 123
}
]
}[
{
"error": {
"code": "<string>",
"message": "<string>",
"details": {}
},
"response_status": "<string>",
"RequestID": "<string>"
}
]Use this when a route needs help: a van has broken down, or a driver is running out of hours, and you need to know who else is close. Send the point as
lat and lng, and Nash returns the nearest drivers on routes that are assigned, started, or in progress, nearest first, each with their route and their distance from the point in meters.
Distance is a straight line from each driver’s latest GPS position, not a driving distance. A driver with no recorded position is left out, and so is one whose position is older than max_location_age_minutes (30 by default). Narrow the search to one depot with store_location_id, and leave out the route you’re rescuing, and its drivers, with exclude_route_ids.
Unlike most of the API, this endpoint’s query parameters and response fields are snake_case.Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Query Parameters
Latitude to measure from, e.g. the stranded driver.
Required range:
-90 <= x <= 90Longitude to measure from.
Required range:
-180 <= x <= 180Maximum couriers to return.
Required range:
1 <= x <= 50Only routes carrying an order picked up at this store location.
Minimum string length:
1Comma-separated route ids to leave out, along with their couriers, e.g. the route that needs rescuing.
Maximum string length:
4096Ignore couriers whose latest ping is older than this.
Required range:
1 <= x <= 1440Response
OK
Nearest first.
Show child attributes
Show child attributes
Was this page helpful?