Update location by adding new property - Fabric
Update location by adding new property
cURL
curl --request PATCH \
--url https://prod01.oms.fabric.inc/api/v2/location/{locationNum} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'x-site-context: <x-site-context>' \
--data '
{
"attributes": {
"isReturns": true
},
"locationNum": 13,
"name": "CA",
"isActive": true,
"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"
}
}
]
},
"type": "Warehouse",
"operatingHours": [
{
"day": "Monday",
"hours": [
{
"open": "10:00",
"close": "16:00"
}
]
}
],
"coordinates": {
"type": "Point",
"coordinates": [
[
"-22.95239063733024",
"-43.21034257655916"
]
]
},
"services": {
"isCurbsidePickUp": false
}
}
'
Python Example
import requests
url = "https://prod01.oms.fabric.inc/api/v2/location/{locationNum}"
payload = {
"attributes": { "isReturns": True },
"locationNum": 13,
"name": "CA",
"isActive": True,
"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"
}
}
]
},
"type": "Warehouse",
"operatingHours": [
{
"day": "Monday",
"hours": [
{
"open": "10:00",
"close": "16:00"
}
]
}
],
"coordinates": {
"type": "Point",
"coordinates": [["-22.95239063733024", "-43.21034257655916"]]
},
"services": { "isCurbsidePickUp": False }
}
headers = {
"x-site-context": "<x-site-context>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)
JavaScript (Fetch) Example
const options = {
method: 'PATCH',
headers: {
'x-site-context': '<x-site-context>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
attributes: {isReturns: true},
locationNum: 13,
name: 'CA',
isActive: true,
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'}}]
},
type: 'Warehouse',
operatingHours: [{day: 'Monday', hours: [{open: '10:00', close: '16:00'}]}],
coordinates: {type: 'Point', coordinates: [['-22.95239063733024', '-43.21034257655916']]},
services: {isCurbsidePickUp: false}
})
};
fetch('https://prod01.oms.fabric.inc/api/v2/location/{locationNum}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
Response Example
{
"attributes": {
"isReturns": true
},
"id": "622fae9a065d9e62a4029f79",
"locationNum": 13,
"name": "CA",
"isActive": true,
"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"
}
}
]
},
"type": "warehouse",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"operatingHours": [
{
"day": "Monday",
"hours": [
{
"open": "10:00",
"close": "16:00"
}
]
}
],
"coordinates": {
"type": "Point",
"coordinates": [
[
"-22.95239063733024",
"-43.21034257655916"
]
]
},
"services": {
"isCurbsidePickUp": false
}
}
Error Responses
- 400: Invalid payload or parameter
- 404: Resource not found
- 500: Internal server error
Authorization
Bearer <token> in the header (required)
Required Headers
x-site-context: JSON object containing source information