Get Distances and Duration for Closest Locations
1 min
POST
https://api.upstartcommerce.com/v1/location/closestLocationsWithDistancesAndDuration2
Header Parameters
- x-upstart-tenantstringrequiredDescription
- x-upstart-sitestringDescription
Body Parameters
- bodyLocationByCoordinatesReqrequiredDescription
- coordinatesCoordinatesrequiredDescription
- latitudenumber<double>requiredFormatdoubleMinimum-90Maximum90
- longitudenumber<double>requiredFormatdoubleMinimum-180Maximum180
- distanceDistanceFilterrequiredDescription
- valuenumber<double>requiredFormatdouble
- unitDistanceUnitsDescription
- termSearchTermDescription
- SearchConditionTerm
- condSearchConditionDescription
- propertystring
- comparatorSearchComparatorDescription
- valueobject
- SearchAndTerm
- andSearchTerm[]Description
- SearchConditionTerm
- Circular-Reference
- SearchAndTerm
- Circular-Reference
- SearchOrTerm
- orSearchTerm[]Description
- SearchConditionTerm
- Circular-Reference
- SearchAndTerm
- Circular-Reference
- SearchOrTerm
- Circular-Reference
- SearchNotTerm
- notSearchTermDescription
- SearchConditionTerm
- Max depth limit reached
- SearchAndTerm
- Max depth limit reached
- SearchOrTerm
- Max depth limit reached
- SearchNotTerm
- Max depth limit reached
- SearchNotTerm
- notSearchTermDescription
- SearchConditionTerm
- Max depth limit reached
- SearchAndTerm
- Max depth limit reached
- SearchOrTerm
- Max depth limit reached
- SearchNotTerm
- Max depth limit reached
- SearchOrTerm
- orSearchTerm[]Description
- SearchConditionTerm
- Circular-Reference
- SearchAndTerm
- Circular-Reference
- SearchOrTerm
- Circular-Reference
- SearchNotTerm
- notSearchTermDescription
- SearchConditionTerm
- Max depth limit reached
- SearchAndTerm
- Max depth limit reached
- SearchOrTerm
- Max depth limit reached
- SearchNotTerm
- Max depth limit reached
- SearchNotTerm
- notSearchTermDescription
- SearchConditionTerm
- Max depth limit reached
- SearchAndTerm
- Max depth limit reached
- SearchOrTerm
- Max depth limit reached
- SearchNotTerm
- Max depth limit reached
Responses
200
- LocationDistancesDescription
- coordinatesFromCoordinatesDescription
- latitudenumber<double>requiredFormatdoubleMinimum-90Maximum90
- longitudenumber<double>requiredFormatdoubleMinimum-180Maximum180
- locationsWithGoogleDataLocationDistance[]requiredDescription
- locationLocationrequiredDescription
- idLocationIdrequiredDescription
- namestringrequiredDescription
- siteIdsSiteId[]Description
- locationTypestringrequiredDescription
- publicbooleanrequiredExampleDescription
- operationalbooleanrequiredExampleDescription
- addressAddressrequiredDescription
- citystringrequired
- countrystringrequiredDescriptionPattern^[A-Z]{2}$
- countystring
- postalCodestringrequired
- stateOrRegionstringrequired
- street1stringrequired
- street2string
- coordinatesCoordinatesrequiredDescription
- latitudenumber<double>requiredFormatdoubleMinimum-90Maximum90
- longitudenumber<double>requiredFormatdoubleMinimum-180Maximum180
- contactInformationmap<string, string>requiredDescription
- operationHoursExceptionsOperationHoursException[]Description
- closedstringExampleDescriptionPattern[0-2][0-9]:[0-5][0-9]
- exceptionTypestringrequiredDescription
- isOpenbooleanrequiredDescription
- namestringrequiredExampleDescription
- openstringExampleDescriptionPattern[0-2][0-9]:[0-5][0-9]
- pickupHoursExceptionsOperationHoursException[]Description
- closedstringExampleDescriptionPattern[0-2][0-9]:[0-5][0-9]
- exceptionTypestringrequiredDescription
- isOpenbooleanrequiredDescription
- namestringrequiredExampleDescription
- openstringExampleDescriptionPattern[0-2][0-9]:[0-5][0-9]
- dateOriginallyOpenedstring<date>DescriptionFormatdate
- remodelDatesstring[]Example
[ "2019-05-29" ]
- externalApplicationReferencesmap<string, string>Description
- contentContent[]Description
- contentstringrequiredDescription
- endDateTimestring<date-time>DescriptionFormatdate-time
- identifierstringrequiredDescription
- startDateTimestring<date-time>DescriptionFormatdate-time
- dynamicPropertiesobjectDescription
- pricingZonestringDescriptionDefaultNTL
- pickupAvailablebooleanDescriptionDefaultfalse
- deliveryAvailablebooleanDescriptionDefaultfalse
- numReviewsinteger<int32>DescriptionFormatint32Minimum0
- avgRatingnumber<double>DescriptionFormatdouble
- directionsSummarystringDescription
- hoursOfOperationNormalHoursOfOperation[]Description
- closedstringExampleDescriptionPattern[0-2][0-9]:[0-5][0-9]
- dayDayOfWeekrequiredDescription
- isOpenbooleanrequiredDescription
- openstringExampleDescriptionPattern[0-2][0-9]:[0-5][0-9]
- pickupHoursNormalHoursOfOperation[]Description
- closedstringExampleDescriptionPattern[0-2][0-9]:[0-5][0-9]
- dayDayOfWeekrequiredDescription
- isOpenbooleanrequiredDescription
- openstringExampleDescriptionPattern[0-2][0-9]:[0-5][0-9]
- mediamap<string, MediaValue>
- directDistanceDistancerequiredDescription
- valuenumber<double>ExampleDescriptionFormatdouble
- unitDistanceUnitsDescription
- roadDistanceDistancerequiredDescription
- valuenumber<double>ExampleDescriptionFormatdouble
- unitDistanceUnitsDescription
- durationInSecondsnumberrequired
400
- ValidationErrorResponseDescription
- namestringrequired
- codestringrequired
- detailstring
401
- ErrorResponseDescription
- namestringrequired
- codestringrequired
- detailstringrequired
- reasonstring
curl
curl --request POST \
--url https://api.upstartcommerce.com/v1/location/closestLocationsWithDistancesAndDuration2 \
--header 'accept: application/json' \
--header 'content-type: application/json' \
--header 'x-upstart-tenant: string' \
--data '{
"coordinates": {
"latitude": "",
"longitude": ""
},
"distance": {
"value": ""
},
"term": {
"and": {
"or": {
"not": {}
},
"not": {}
},
"or": {
"not": {}
},
"not": {}
}
}'javascript
var myHeaders = new Headers();
myHeaders.append("accept", "application/json");
myHeaders.append("content-type", "application/json");
myHeaders.append("x-upstart-tenant", "string");
var raw = JSON.stringify({
"coordinates": {
"latitude": "",
"longitude": ""
},
"distance": {
"value": ""
},
"term": {
"and": {
"or": {
"not": {}
},
"not": {}
},
"or": {
"not": {}
},
"not": {}
}
});
var requestOptions = {
method: 'POST',
headers: myHeaders,
body: raw,
redirect: 'follow'
};
fetch("https://api.upstartcommerce.com/v1/location/closestLocationsWithDistancesAndDuration2", requestOptions)
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.log('error', error));ruby
require "uri"
require "json"
require "net/http"
url = URI("https://api.upstartcommerce.com/v1/location/closestLocationsWithDistancesAndDuration2")
https = Net::HTTP.new(url.host, url.port)
https.use_ssl = true
request = Net::HTTP::Post.new(url)
request["accept"] = "application/json"
request["content-type"] = "application/json"
request["x-upstart-tenant"] = "string"
request.body = JSON.dump({
"coordinates": {
"latitude": "",
"longitude": ""
},
"distance": {
"value": ""
},
"term": {
"and": {
"or": {
"not": {}
},
"not": {}
},
"or": {
"not": {}
},
"not": {}
}
})
response = https.request(request)
puts response.read_body
python
import requests
import json
url = "https://api.upstartcommerce.com/v1/location/closestLocationsWithDistancesAndDuration2"
payload = json.dumps({
"coordinates": {
"latitude": "",
"longitude": ""
},
"distance": {
"value": ""
},
"term": {
"and": {
"or": {
"not": {}
},
"not": {}
},
"or": {
"not": {}
},
"not": {}
}
})
headers = {
'accept': 'application/json',
'content-type': 'application/json',
'x-upstart-tenant': 'string'
}
response = requests.request("POST", url, headers=headers, data=payload)
print(response.text)
200
// Object with filtered locations, including several distances and duration data from specified coordinates.
{
"coordinatesFrom": {
"latitude": "",
"longitude": ""
},
"locationsWithGoogleData": [
{
"location": {
"id": "",
"name": "",
"siteIds": [
""
],
"locationType": "",
"public": true,
"operational": true,
"address": {
"city": "",
"country": "",
"county": "",
"postalCode": "",
"stateOrRegion": "",
"street1": "",
"street2": ""
},
"coordinates": {
"latitude": "",
"longitude": ""
},
"contactInformation": "",
"operationHoursExceptions": [
{
"closed": 1200,
"exceptionType": "",
"isOpen": false,
"name": "Memorial Day",
"open": "08:00"
}
],
"pickupHoursExceptions": [
{
"closed": 1200,
"exceptionType": "",
"isOpen": false,
"name": "Memorial Day",
"open": "08:00"
}
],
"dateOriginallyOpened": "",
"remodelDates": [
"2019-05-29"
],
"externalApplicationReferences": "",
"content": [
{
"content": "",
"endDateTime": "",
"identifier": "",
"startDateTime": ""
}
],
"dynamicProperties": {},
"pricingZone": "",
"pickupAvailable": false,
"deliveryAvailable": false,
"numReviews": "",
"avgRating": "",
"directionsSummary": "",
"hoursOfOperation": [
{
"closed": 1200,
"day": "",
"isOpen": false,
"open": "08:00"
}
],
"pickupHours": [
{
"closed": 1200,
"day": "",
"isOpen": false,
"open": "08:00"
}
],
"media": ""
},
"directDistance": {
"value": 157.75,
"unit": ""
},
"roadDistance": {
"value": 157.75,
"unit": ""
},
"durationInSeconds": 0
}
]
}400
// The request contained information that the server was unable to process. Appropriate errors are provided in the response body.
{
"name": "",
"code": "",
"detail": ""
}401
// The provided credentials were not valid for this endpoint. It may be that they are expired or that the user's roles are insufficient.
{
"name": "",
"code": "",
"detail": "",
"reason": ""
}