Update shipping method - Fabric
Update shipping method
cURL
curl --request PUT \
--url https://api.fabric.inc/v3/shipping-methods/{shippingMethodId} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'x-fabric-channel-id: <x-fabric-channel-id>' \
--header 'x-fabric-tenant-id: <x-fabric-tenant-id>' \
--data '
{
"code": "SDD",
"name": "Express Delivery",
"addressType": "APO",
"attributes": {
"carrier": "FedEx",
"type": "Next Day"
},
"carrier": "FedEx",
"cartValue": {
"max": 3.1,
"min": 2.1
},
"cost": 20.5,
"createdBy": "User1",
"currency": "USD",
"cutoffTime": 1330,
"description": "Express Delivery 2 - 5 days",
"dimension": {
"max": {
"height": 2.4,
"length": 4.6,
"uom": "EA",
"width": 3.5
},
"min": {
"height": 2.4,
"length": 4.6,
"uom": "EA",
"width": 3.5
}
},
"isDeleted": false,
"maximumDays": 5,
"minimumDays": 2,
"region": "CA",
"taxCode": "FR01",
"updatedBy": "User2",
"weight": {
"max": 3.1,
"min": 2.1
}
}
'
Python Example
import requests
url = "https://api.fabric.inc/v3/shipping-methods/{shippingMethodId}"
payload = {
"code": "SDD",
"name": "Express Delivery",
"addressType": "APO",
"attributes": {
"carrier": "FedEx",
"type": "Next Day"
},
"carrier": "FedEx",
"cartValue": {
"max": 3.1,
"min": 2.1
},
"cost": 20.5,
"createdBy": "User1",
"currency": "USD",
"cutoffTime": 1330,
"description": "Express Delivery 2 - 5 days",
"dimension": {
"max": {
"height": 2.4,
"length": 4.6,
"uom": "EA",
"width": 3.5
},
"min": {
"height": 2.4,
"length": 4.6,
"uom": "EA",
"width": 3.5
}
},
"isDeleted": False,
"maximumDays": 5,
"minimumDays": 2,
"region": "CA",
"taxCode": "FR01",
"updatedBy": "User2",
"weight": {
"max": 3.1,
"min": 2.1
}
}
headers = {
"x-fabric-tenant-id": "<x-fabric-tenant-id>",
"x-fabric-channel-id": "<x-fabric-channel-id>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)
JavaScript Fetch Example
const options = {
method: 'PUT',
headers: {
'x-fabric-tenant-id': '<x-fabric-tenant-id>',
'x-fabric-channel-id': '<x-fabric-channel-id>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
code: 'SDD',
name: 'Express Delivery',
addressType: 'APO',
attributes: {carrier: 'FedEx', type: 'Next Day'},
carrier: 'FedEx',
cartValue: {max: 3.1, min: 2.1},
cost: 20.5,
createdBy: 'User1',
currency: 'USD',
cutoffTime: 1330,
description: 'Express Delivery 2 - 5 days',
dimension: {
max: {height: 2.4, length: 4.6, uom: 'EA', width: 3.5},
min: {height: 2.4, length: 4.6, uom: 'EA', width: 3.5}
},
isDeleted: false,
maximumDays: 5,
minimumDays: 2,
region: 'CA',
taxCode: 'FR01',
updatedBy: 'User2',
weight: {max: 3.1, min: 2.1}
})
};
fetch('https://api.fabric.inc/v3/shipping-methods/{shippingMethodId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
PHP Example
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.fabric.inc/v3/shipping-methods/{shippingMethodId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'code' => 'SDD',
'name' => 'Express Delivery',
'addressType' => 'APO',
'attributes' => [
'carrier' => 'FedEx',
'type' => 'Next Day'
],
'carrier' => 'FedEx',
'cartValue' => [
'max' => 3.1,
'min' => 2.1
],
'cost' => 20.5,
'createdBy' => 'User1',
'currency' => 'USD',
'cutoffTime' => 1330,
'description' => 'Express Delivery 2 - 5 days',
'dimension' => [
'max' => [
'height' => 2.4,
'length' => 4.6,
'uom' => 'EA',
'width' => 3.5
],
'min' => [
'height' => 2.4,
'length' => 4.6,
'uom' => 'EA',
'width' => 3.5
]
],
'isDeleted' => false,
'maximumDays' => 5,
'minimumDays' => 2,
'region' => 'CA',
'taxCode' => 'FR01',
'updatedBy' => 'User2',
'weight' => [
'max' => 3.1,
'min' => 2.1
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json",
"x-fabric-channel-id: <x-fabric-channel-id>",
"x-fabric-tenant-id: <x-fabric-tenant-id>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
?>
Go Example
package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.fabric.inc/v3/shipping-methods/{shippingMethodId}"
payload := strings.NewReader("{\n \"code\": \"SDD\",\n \"name\": \"Express Delivery\",\n \"addressType\": \"APO\",\n \"attributes\": {\n \"carrier\": \"FedEx\",\n \"type\": \"Next Day\"\n },\n \"carrier\": \"FedEx\",\n \"cartValue\": {\n \"max\": 3.1,\n \"min\": 2.1\n },\n \"cost\": 20.5,\n \"createdBy\": \"User1\",\n \"currency\": \"USD\",\n \"cutoffTime\": 1330,\n \"description\": \"Express Delivery 2 - 5 days\",\n \"dimension\": {\n \"max\": {\n \"height\": 2.4,\n \"length\": 4.6,\n \"uom\": \"EA\",\n \"width\": 3.5\n },\n \"min\": {\n \"height\": 2.4,\n \"length\": 4.6,\n \"uom\": \"EA\",\n \"width\": 3.5\n }\n },\n \"isDeleted\": false,\n \"maximumDays\": 5,\n \"minimumDays\": 2,\n \"region\": \"CA\",\n \"taxCode\": \"FR01\",\n \"updatedBy\": \"User2\",\n \"weight\": {\n \"max\": 3.1,\n \"min\": 2.1\n }\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("x-fabric-tenant-id", "<x-fabric-tenant-id>")
req.Header.Add("x-fabric-channel-id", "<x-fabric-channel-id>")
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))
}
Unirest Example
HttpResponse<String> response = Unirest.put("https://api.fabric.inc/v3/shipping-methods/{shippingMethodId}")
.header("x-fabric-tenant-id", "<x-fabric-tenant-id>")
.header("x-fabric-channel-id", "<x-fabric-channel-id>")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"code\": \"SDD\",\n \"name\": \"Express Delivery\",\n \"addressType\": \"APO\",\n \"attributes\": {\n \"carrier\": \"FedEx\",\n \"type\": \"Next Day\"\n },\n \"carrier\": \"FedEx\",\n \"cartValue\": {\n \"max\": 3.1,\n \"min\": 2.1\n },\n \"cost\": 20.5,\n \"createdBy\": \"User1\",\n \"currency\": \"USD\",\n \"cutoffTime\": 1330,\n \"description\": \"Express Delivery 2 - 5 days\",\n \"dimension\": {\n \"max\": {\n \"height\": 2.4,\n \"length\": 4.6,\n \"uom\": \"EA\",\n \"width\": 3.5\n },\n \"min\": {\n \"height\": 2.4,\n \"length\": 4.6,\n \"uom\": \"EA\",\n \"width\": 3.5\n }\n },\n \"isDeleted\": false,\n \"maximumDays\": 5,\n \"minimumDays\": 2,\n \"region\": \"CA\",\n \"taxCode\": \"FR01\",\n \"updatedBy\": \"User2\",\n \"weight\": {\n \"max\": 3.1,\n \"min\": 2.1\n }\n}")
.asString();
Ruby Example
require 'uri'
require 'net/http'
url = URI("https://api.fabric.inc/v3/shipping-methods/{shippingMethodId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["x-fabric-tenant-id"] = '<x-fabric-tenant-id>'
request["x-fabric-channel-id"] = '<x-fabric-channel-id>'
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"code\": \"SDD\",\n \"name\": \"Express Delivery\",\n \"addressType\": \"APO\",\n \"attributes\": {\n \"carrier\": \"FedEx\",\n \"type\": \"Next Day\"\n },\n \"carrier\": \"FedEx\",\n \"cartValue\": {\n \"max\": 3.1,\n \"min\": 2.1\n },\n \"cost\": 20.5,\n \"createdBy\": \"User1\",\n \"currency\": \"USD\",\n \"cutoffTime\": 1330,\n \"description\": \"Express Delivery 2 - 5 days\",\n \"dimension\": {\n \"max\": {\n \"height\": 2.4,\n \"length\": 4.6,\n \"uom\": \"EA\",\n \"width\": 3.5\n },\n \"min\": {\n \"height\": 2.4,\n \"length\": 4.6,\n \"uom\": \"EA\",\n \"width\": 3.5\n }\n },\n \"isDeleted\": false,\n \"maximumDays\": 5,\n \"minimumDays\": 2,\n \"region\": \"CA\",\n \"taxCode\": \"FR01\",\n \"updatedBy\": \"User2\",\n \"weight\": {\n \"max\": 3.1,\n \"min\": 2.1\n }\n}"
response = http.request(request)
puts response.read_body
Response Examples
200
{
"code": "SDD",
"name": "Express Delivery",
"addressType": "APO",
"attributes": {
"carrier": "FedEx",
"type": "Next Day"
},
"carrier": "FedEx",
"cartValue": {
"max": 3.1,
"min": 2.1
},
"channelId": "12",
"configuredBy": "User3",
"cost": 20.5,
"createdAt": "2022-08-01T20:03:28.483Z",
"createdBy": "User1",
"currency": "USD",
"cutoffTime": 1330,
"description": "Express Delivery 2 - 5 days",
"dimension": {
"max": {
"height": 2.4,
"length": 4.6,
"uom": "EA",
"width": 3.5
},
"min": {
"height": 2.4,
"length": 4.6,
"uom": "EA",
"width": 3.5
}
},
"isDeleted": false,
"maximumDays": 5,
"minimumDays": 2,
"region": "CA",
"shippingMethodId": "5349b4ddd2781d08c09890f4",
"taxCode": "FR01",
"updatedAt": "2022-08-01T20:03:28.483Z",
"updatedBy": "User2",
"weight": {
"max": 3.1,
"min": 2.1
}
}
400
{
"errors": [
{
"message": "Invalid request",
"type": "CLIENT_ERROR"
}
],
"message": "Bad request",
"type": "CLIENT_ERROR"
}
401
{
"message": "Unauthorized request",
"type": "CLIENT_ERROR"
}
404
{
"message": "Shipping method not found",
"type": "CLIENT_ERROR"
}
500
{
"message": "Internal server error",
"type": "SERVER_ERROR"
}