Bulk insert to inventory - Fabric
Bulk insert to inventory
cURL
curl --request POST \
--url https://prod01-apigw.yourcompany.fabric.zone/api-inventory/inventory/bulk-insert \
--header 'Content-Type: application/json' \
--header 'x-site-context: <x-site-context>' \
--data '\n[\
{\
"sku": "1597422",\
"itemId": 1597422,\
"totalQuantity": 25,\
"reservedQuantity": 0,\
"locationId": 175,\
"type": "Stock",\
"channelId": 12,\
"transitRef": "wo-2002",\
"transitOrderDate": "2019-12-14",\
"transitStockDate": "2019-12-14"\
}\
]'
Python
import requests
url = "https://prod01-apigw.yourcompany.fabric.zone/api-inventory/inventory/bulk-insert"
payload = [\
{\
"sku": "1597422",\
"itemId": 1597422,\
"totalQuantity": 25,\
"reservedQuantity": 0,\
"locationId": 175,\
"type": "Stock",\
"channelId": 12,\
"transitRef": "wo-2002",\
"transitOrderDate": "2019-12-14",\
"transitStockDate": "2019-12-14"\
}\
]
headers = {\
"x-site-context": "<x-site-context>",\
"Content-Type": "application/json"\
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)
JavaScript (Fetch)
const options = {\
method: 'POST',\
headers: {'x-site-context': '<x-site-context>', 'Content-Type': 'application/json'},\
body: JSON.stringify([\
{\
sku: '1597422',\
itemId: 1597422,\
totalQuantity: 25,\
reservedQuantity: 0,\
locationId: 175,\
type: 'Stock',\
channelId: 12,\
transitRef: 'wo-2002',\
transitOrderDate: '2019-12-14',\
transitStockDate: '2019-12-14'\
}\
])\
};
fetch('https://prod01-apigw.yourcompany.fabric.zone/api-inventory/inventory/bulk-insert', options)
.then(res => res.json())\
.then(res => console.log(res))\
.catch(err => console.error(err));
PHP
<?php
$curl = curl_init();
curl_setopt_array($curl, [\
CURLOPT_URL => "https://prod01-apigw.yourcompany.fabric.zone/api-inventory/inventory/bulk-insert",\
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([\
[\
'sku' => '1597422',\
'itemId' => 1597422,\
'totalQuantity' => 25,\
'reservedQuantity' => 0,\
'locationId' => 175,\
'type' => 'Stock',\
'channelId' => 12,\
'transitRef' => 'wo-2002',\
'transitOrderDate' => '2019-12-14',\
'transitStockDate' => '2019-12-14'\
]\
]),\
CURLOPT_HTTPHEADER => [\
"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;
}
?>
Responses
Successful Response
{
"messages": [\
"Import Inventory job started: Mon Nov 02 2020 22:26:10 GMT+0000 (Coordinated Universal Time)"\
],
"keyId": "api-1604355970096",
"type": "api",
"status": "FINISHED",
"totalItems": 1,
"totalItemsUploaded": 1,
"totalRows": 2,
"totalRowsErrors": 2,
"__v": 0,
"_id": "5fee9d59f2f08a1b3cbdea08",
"createdAt": "2020-12-31T02:09:53.914Z",
"updatedAt": "2020-12-31T02:09:53.914Z"
}
Error Response (Inventory Insert Failed)
{
"code": "INVENTORY_INSERT_FAILED",
"message": "Inventory insert failed: Row 1: Cannot find \"Location Id\" 999."
}
Other Error Responses
{
"message": "Forbidden"
}
{
"code": "<string>",
"message": "<string>"
}