Skip to main content
POST
/
location
/
attribute
Create location attribute
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
{
  "id": "622786ae0bdb19221a24fb61",
  "code": "isBopis",
  "name": "Is Bopis",
  "description": "To check the status of the BOPIS (Buy-Online_Pickup-In-Store)",
  "required": true
}
{
"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."
}

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Headers

x-site-context
string
required

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.

Example:

"{\"date\": \"2023-01-01T00:00:00.000Z\", \"channel\": 12, \"account\": \"1234abcd5678efgh9ijklmno\",\"stage\":\"production\"}"

Body

application/json
code
string

Location attribute code

Example:

"isBopis"

name
string

Location attribute name

Example:

"isBopis"

description
string

Detailed description of the attribute

Example:

"To check the status of the BOPIS(Buy-Online-Pickup-In-Store)"

type
enum<string>

Data type of an attribute

Available options:
BOOLEAN,
INTEGER,
NUMBER,
STRING
required
boolean

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

Response

OK

id
string

Location attribute ID that is generated automatically for the location

Example:

"622786ae0bdb19221a24fb61"

code
string

Location attribute code

Example:

"isBopis"

name
string

Location attribute name

Example:

"Is Bopis"

description
string

Detailed description about attribute

Example:

"To check the status of the BOPIS (Buy-Online_Pickup-In-Store)"

type
enum<string>

Data type of an attribute

Available options:
BOOLEAN,
INTEGER,
NUMBER,
STRING
required
boolean

Flag to define the attribute as mandatory while creating location. If it's configured as true, this attribute is needed while creating location

Example:

true