Get near by locations within the radius - Fabric
Get near by locations within the radius
cURL
curl --request POST \
--url https://prod01.oms.fabric.inc/api/v2/location/geography/search \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'x-site-context: <x-site-context>' \
--data '
{
"filter": {
"postalCode": "94008",
"radius": 100,
"city": "San Francisco",
"state": "California",
"country": "United States",
"radiusUnit": "MILE",
"services": {
"isCurbsidePickUp": false
}
},
"limit": 10,
"offset": 0,
"sortBy": "updatedAt",
"sortDirection": "desc"
}
'```
### Python
```python
import requests
url = "https://prod01.oms.fabric.inc/api/v2/location/geography/search"
payload = {
"filter": {
"postalCode": "94008",
"radius": 100,
"city": "San Francisco",
"state": "California",
"country": "United States",
"radiusUnit": "MILE",
"services": { "isCurbsidePickUp": False }
},
"limit": 10,
"offset": 0,
"sortBy": "updatedAt",
"sortDirection": "desc"
}
headers = {
"x-site-context": "<x-site-context>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)
JavaScript
const options = {
method: 'POST',
headers: {
'x-site-context': '<x-site-context>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
filter: {
postalCode: '94008',
radius: 100,
city: 'San Francisco',
state: 'California',
country: 'United States',
radiusUnit: 'MILE',
services: {isCurbsidePickUp: false}
},
limit: 10,
offset: 0,
sortBy: 'updatedAt',
sortDirection: 'desc'
})
};
fetch('https://prod01.oms.fabric.inc/api/v2/location/geography/search', 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://prod01.oms.fabric.inc/api/v2/location/geography/search",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'filter' => [
'postalCode' => '94008',
'radius' => 100,
'city' => 'San Francisco',
'state' => 'California',
'country' => 'United States',
'radiusUnit' => 'MILE',
'services' => [
'isCurbsidePickUp' => false
]
],
'limit' => 10,
'offset' => 0,
'sortBy' => 'updatedAt',
'sortDirection' => 'desc'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json",
"x-site-context: <x-site-context>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
Go
package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://prod01.oms.fabric.inc/api/v2/location/geography/search"
payload := strings.NewReader("{\n \"filter\": {\n \"postalCode\": \"94008\",\n \"radius\": 100,\n \"city\": \"San Francisco\",\n \"state\": \"California\",\n \"country\": \"United States\",\n \"radiusUnit\": \"MILE\",\n \"services\": {\n \"isCurbsidePickUp\": false\n }\n },\n \"limit\": 10,\n \"offset\": 0,\n \"sortBy\": \"updatedAt\",\n \"sortDirection\": \"desc\"}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-site-context", "<x-site-context>")
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}
Response Format
{
"count": 100,
"limit": 10,
"offset": 1,
"locations": [
{
"distance": 100,
"name": "Mise En Place, Inc.",
"address": {
"addressLine1": "2800 Ashcraft Court",
"addressLine2": "Fairview road",
"addressLine3": "N 9 1/2 street",
"addressLine4": "Coronado school",
"city": "Coronado",
"state": "California",
"country": "USA",
"postalCode": 92118,
"type": "2800 Ashcraft Court",
"contact": [
{
"type": "Residence",
"email": "mark@email.com",
"phone": [
{
"number": "555-555-5555",
"type": "mobile"
}
],
"name": {
"first": "John",
"middle": "Mark",
"last": "Doe"
}
}
]
},
"services": {
"isCurbsidePickUp": false
}
}
]
}
Error Responses
{
"message": "Invalid payload or parameter"
}
{
"message": "An internal error occurred. If the issue persists please contact support@fabric.inc."
}
Required Headers
- Authorization:
Bearer <token> - Bearer authentication header with your auth token.
- x-site-context: JSON object containing source information for data retrieval.