Create location attribute - Fabric
Create location attribute
cURL
curl --request POST \
--url https://prod01.oms.fabric.inc/api/v2/location/attribute \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'x-site-context: <x-site-context>' \
--data '
{
"code": "isBopis",
"name": "isBopis",
"description": "To check the status of the BOPIS(Buy-Online-Pickup-In-Store)",
"required": true
}
'
import requests
url = "https://prod01.oms.fabric.inc/api/v2/location/attribute"
payload = {
"code": "isBopis",
"name": "isBopis",
"description": "To check the status of the BOPIS(Buy-Online-Pickup-In-Store)",
"required": True
}
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)
const options = {
method: 'POST',
headers: {
'x-site-context': '<x-site-context>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
code: 'isBopis',
name: 'isBopis',
description: 'To check the status of the BOPIS(Buy-Online-Pickup-In-Store)',
required: true
})
};
fetch('https://prod01.oms.fabric.inc/api/v2/location/attribute', 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/attribute",\
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([\
'code' => 'isBopis',\
'name' => 'isBopis',\
'description' => 'To check the status of the BOPIS(Buy-Online-Pickup-In-Store)',\
'required' => true\
]),\
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;
}
?>
package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://prod01.oms.fabric.inc/api/v2/location/attribute"
payload := strings.NewReader("{\n \"code\": \"isBopis\",\n \"name\": \"isBopis\",\n \"description\": \"To check the status of the BOPIS(Buy-Online-Pickup-In-Store)\",\n \"required\": true\n}")
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))
}
HttpResponse<String> response = Unirest.post("https://prod01.oms.fabric.inc/api/v2/location/attribute")
.header("x-site-context", "<x-site-context>")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"code\": \"isBopis\",\n \"name\": \"isBopis\",\n \"description\": \"To check the status of the BOPIS(Buy-Online-Pickup-In-Store)\",\n \"required\": true\n}")
.asString();
require 'uri'
require 'net/http'
url = URI("https://prod01.oms.fabric.inc/api/v2/location/attribute")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-site-context"] = '<x-site-context>'
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"code\": \"isBopis\",\n \"name\": \"isBopis\",\n \"description\": \"To check the status of the BOPIS(Buy-Online-Pickup-In-Store)\",\n \"required\": true\n}"
response = http.request(request)
puts response.read_body
Response Status Codes
- 200 - Success.
- 400 - Invalid payload or parameter.
- 409 - Entered code is a duplicated code.
- 500 - An internal error occurred. If the issue persists please contact support@fabric.inc.
Sample Successful Response
{
"id": "622786ae0bdb19221a24fb61",
"code": "isBopis",
"name": "Is Bopis",
"description": "To check the status of the BOPIS (Buy-Online_Pickup-In-Store)",
"required": true
}
Sample Error Responses
{
"message": "Invalid payload or parameter"
}
{
"message": "Entered code is a duplicated code"
}
{
"message": "An internal error occurred. If the issue persists please contact support@fabric.inc."
}
Authorization
- Authorization: Bearer authentication header of the form
Bearer <token>, where <token> is your auth token.
Headers
- x-site-context: The
x-site-context header is a JSON object that contains information about the source you wish to pull from. The mandatory account is the 24 character identifier found in Copilot. The channel (Sales channel ID), stage (environment name), and date attributes can be used to further narrow the scope of your data source.
Body Parameters
- code: Location attribute code. Example:
"isBopis"
- name: Location attribute name. Example:
"isBopis"
- description: Detailed description of the attribute. Example:
"To check the status of the BOPIS(Buy-Online-Pickup-In-Store)"
- required: Flag to define the attribute as mandatory while creating location. If it's configured as true, this attribute is mandatory while creating location. Example:
true.