Add shipment bulk to order - Fabric
Add shipment bulk to order
cURL
curl --request POST \
--url https://prod01-apigw.yourcompany.fabric.zone/api-order/orders/shipments-bulk \
--header 'Content-Type: application/json' \
--header 'x-site-context: <x-site-context>' \
--data '\n[\
{\
"orderId": "2947-5955-82579",\
"shipments": [\
{\
"shipmentCarrier": "FedEx",\
"trackingNumber": "2345367890876543",\
"lineItems": [\
{\
"lineItemId": 1,\
"quantity": 2\
}\
],\
"shipmentStatus": "Delivered",\
"shipmentRef": "ref-1234",\
"shipmentCarrierUrl": "https://www.fedex.com/",\
"shippedDate": "<string>",\
"estimatedDeliveryDate": "<string>"\
}\
]\
}\
]\n'
Python
import requests
url = "https://prod01-apigw.yourcompany.fabric.zone/api-order/orders/shipments-bulk"
payload = [\
{\
"orderId": "2947-5955-82579",\
"shipments": [\
{\
"shipmentCarrier": "FedEx",\
"trackingNumber": "2345367890876543",\
"lineItems": [\
{\
"lineItemId": 1,\
"quantity": 2\
}\
],\
"shipmentStatus": "Delivered",\
"shipmentRef": "ref-1234",\
"shipmentCarrierUrl": "https://www.fedex.com/",\
"shippedDate": "<string>",\
"estimatedDeliveryDate": "<string>"\
}\
]\
}\
]
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([\
{\
orderId: '2947-5955-82579',\
shipments: [\
{\
shipmentCarrier: 'FedEx',\
trackingNumber: '2345367890876543',\
lineItems: [{lineItemId: 1, quantity: 2}],\
shipmentStatus: 'Delivered',\
shipmentRef: 'ref-1234',\
shipmentCarrierUrl: 'https://www.fedex.com/',\
shippedDate: '<string>',\
estimatedDeliveryDate: '<string>'\
}\
]\
}\
])
};
fetch('https://prod01-apigw.yourcompany.fabric.zone/api-order/orders/shipments-bulk', 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-apigw.yourcompany.fabric.zone/api-order/orders/shipments-bulk",\
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([\
[\
'orderId' => '2947-5955-82579',\
'shipments' => [\
[\
'shipmentCarrier' => 'FedEx',\
'trackingNumber' => '2345367890876543',\
'lineItems' => [\
[\
'lineItemId' => 1,\
'quantity' => 2\
]\
],\
'shipmentStatus' => 'Delivered',\
'shipmentRef' => 'ref-1234',\
'shipmentCarrierUrl' => 'https://www.fedex.com/',\
'shippedDate' => '<string>',\
'estimatedDeliveryDate' => '<string>'\
]\
]\
]\
]),\
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;
}
Go
package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://prod01-apigw.yourcompany.fabric.zone/api-order/orders/shipments-bulk"
payload := strings.NewReader("[\n {\n \"orderId\": \"2947-5955-82579\",\n \"shipments\": [\n {\n \"shipmentCarrier\": \"FedEx\",\n \"trackingNumber\": \"2345367890876543\",\n \"lineItems\": [\n {\n \"lineItemId\": 1,\n \"quantity\": 2\n }\n ],\n \"shipmentStatus\": \"Delivered\",\n \"shipmentRef\": \"ref-1234\",\n \"shipmentCarrierUrl\": \"https://www.fedex.com/\",\n \"shippedDate\": \"<string>\",\n \"estimatedDeliveryDate\": \"<string>\"\n }\n ]\n }\n]")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-site-context", "<x-site-context>")
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))
}
Example Response
{
"successMessages": [
"Order: 1729-8742-69296 was sucessfully imported",
"Order: 1742-1203-79830 was sucessfully imported"
],
"errorMessages": [
"Order: 6562-1726-73447 - Error: Invalid Item Quantity",
"Order: 2224-7457-16398 - Error: Invalid Item Quantity"
]
}
{
"code": "<string>",
"message": "<string>"
}
{
"message": "Forbidden"
}
{
"code": "<string>",
"message": "<string>"
}
Headers
- x-api-key: string Example:
"0LybWR49k95cCwYh3cu0waCYoh4H2Eux2J52wn4k"
- x-site-context: string required