curl --request POST \
--url https://prod01.oms.fabric.inc/api/v2/inventory/network \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'x-site-context: <x-site-context>' \
--data '
{
"code": "DC",
"name": "Distribution Center",
"safetyStock": 2,
"rules": {
"locationData.attributes.channel": "Frontline",
"productData.attributes.subclass": {
"$nin": 778942701
}
}
}
'import requests
url = "https://prod01.oms.fabric.inc/api/v2/inventory/network"
payload = {
"code": "DC",
"name": "Distribution Center",
"safetyStock": 2,
"rules": {
"locationData.attributes.channel": "Frontline",
"productData.attributes.subclass": { "$nin": 778942701 }
}
}
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: 'DC',
name: 'Distribution Center',
safetyStock: 2,
rules: {
'locationData.attributes.channel': 'Frontline',
'productData.attributes.subclass': {$nin: 778942701}
}
})
};
fetch('https://prod01.oms.fabric.inc/api/v2/inventory/network', 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/inventory/network",
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' => 'DC',
'name' => 'Distribution Center',
'safetyStock' => 2,
'rules' => [
'locationData.attributes.channel' => 'Frontline',
'productData.attributes.subclass' => [
'$nin' => 778942701
]
]
]),
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/inventory/network"
payload := strings.NewReader("{\n \"code\": \"DC\",\n \"name\": \"Distribution Center\",\n \"safetyStock\": 2,\n \"rules\": {\n \"locationData.attributes.channel\": \"Frontline\",\n \"productData.attributes.subclass\": {\n \"$nin\": 778942701\n }\n }\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/inventory/network")
.header("x-site-context", "<x-site-context>")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"code\": \"DC\",\n \"name\": \"Distribution Center\",\n \"safetyStock\": 2,\n \"rules\": {\n \"locationData.attributes.channel\": \"Frontline\",\n \"productData.attributes.subclass\": {\n \"$nin\": 778942701\n }\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://prod01.oms.fabric.inc/api/v2/inventory/network")
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\": \"DC\",\n \"name\": \"Distribution Center\",\n \"safetyStock\": 2,\n \"rules\": {\n \"locationData.attributes.channel\": \"Frontline\",\n \"productData.attributes.subclass\": {\n \"$nin\": 778942701\n }\n }\n}"
response = http.request(request)
puts response.read_body{
"networkId": "62278e49167b6079755aa5e7",
"code": "DC",
"name": "Distribution Center",
"safetyStock": 2,
"rules": {
"locationData.attributes.channel": "Frontline",
"productData.attributes.subclass": {
"$nin": 778942701
}
}
}{
"message": "Invalid request payload or parameter"
}{
"message": "Resource not found. If the issue persists please contact support@fabric.inc."
}{
"message": "An internal error occurred. If the issue persists please contact support@fabric.inc."
}Create network
Creates network using conditional rule to add locations and SKU to the network.
curl --request POST \
--url https://prod01.oms.fabric.inc/api/v2/inventory/network \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'x-site-context: <x-site-context>' \
--data '
{
"code": "DC",
"name": "Distribution Center",
"safetyStock": 2,
"rules": {
"locationData.attributes.channel": "Frontline",
"productData.attributes.subclass": {
"$nin": 778942701
}
}
}
'import requests
url = "https://prod01.oms.fabric.inc/api/v2/inventory/network"
payload = {
"code": "DC",
"name": "Distribution Center",
"safetyStock": 2,
"rules": {
"locationData.attributes.channel": "Frontline",
"productData.attributes.subclass": { "$nin": 778942701 }
}
}
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: 'DC',
name: 'Distribution Center',
safetyStock: 2,
rules: {
'locationData.attributes.channel': 'Frontline',
'productData.attributes.subclass': {$nin: 778942701}
}
})
};
fetch('https://prod01.oms.fabric.inc/api/v2/inventory/network', 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/inventory/network",
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' => 'DC',
'name' => 'Distribution Center',
'safetyStock' => 2,
'rules' => [
'locationData.attributes.channel' => 'Frontline',
'productData.attributes.subclass' => [
'$nin' => 778942701
]
]
]),
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/inventory/network"
payload := strings.NewReader("{\n \"code\": \"DC\",\n \"name\": \"Distribution Center\",\n \"safetyStock\": 2,\n \"rules\": {\n \"locationData.attributes.channel\": \"Frontline\",\n \"productData.attributes.subclass\": {\n \"$nin\": 778942701\n }\n }\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/inventory/network")
.header("x-site-context", "<x-site-context>")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"code\": \"DC\",\n \"name\": \"Distribution Center\",\n \"safetyStock\": 2,\n \"rules\": {\n \"locationData.attributes.channel\": \"Frontline\",\n \"productData.attributes.subclass\": {\n \"$nin\": 778942701\n }\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://prod01.oms.fabric.inc/api/v2/inventory/network")
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\": \"DC\",\n \"name\": \"Distribution Center\",\n \"safetyStock\": 2,\n \"rules\": {\n \"locationData.attributes.channel\": \"Frontline\",\n \"productData.attributes.subclass\": {\n \"$nin\": 778942701\n }\n }\n}"
response = http.request(request)
puts response.read_body{
"networkId": "62278e49167b6079755aa5e7",
"code": "DC",
"name": "Distribution Center",
"safetyStock": 2,
"rules": {
"locationData.attributes.channel": "Frontline",
"productData.attributes.subclass": {
"$nin": 778942701
}
}
}{
"message": "Invalid request payload or parameter"
}{
"message": "Resource not found. If the issue persists please contact support@fabric.inc."
}{
"message": "An internal error occurred. If the issue persists please contact support@fabric.inc."
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Headers
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.
"{\"date\": \"2023-01-01T00:00:00.000Z\", \"channel\": 12, \"account\": \"1234abcd5678efgh9ijklmno\",\"stage\":\"production\"}"
Body
Network create or update payload
Network code. It's a unique identifier for the network.
"DC"
Name of the network
"Distribution Center"
Safety stock count. This indicates the reserve quantity of an item, to fulfill an emergency requirement incase of damage of the product that is reserved for sell.
2
Rule specific to location.
{
"locationData.attributes.channel": "Frontline",
"productData.attributes.subclass": { "$nin": 778942701 }
}
Response
OK
Network ID
"62278e49167b6079755aa5e7"
Unique identifier for the network
"DC"
Name of the network
"Distribution Center"
Safety stock count. This indicates the reserve quantity of an item to fulfill an emergency requirement incase of damage of the product that is reserved for sell.
2
Conditional rule specific to location
{
"locationData.attributes.channel": "Frontline",
"productData.attributes.subclass": { "$nin": 778942701 }
}
Was this page helpful?
