Get shipping methods for an item - Fabric

Get shipping methods for an item

cURL

curl --request GET \
  --url https://prod01.oms.fabric.inc/api/v2/shipping/shippingMethods/{itemId} \
  --header 'Authorization: Bearer <token>' \
  --header 'x-site-context: <x-site-context>'

Python

import requests

url = "https://prod01.oms.fabric.inc/api/v2/shipping/shippingMethods/{itemId}"

headers = {
    "x-site-context": "<x-site-context>",
    "Authorization": "Bearer <token>"
}

response = requests.get(url, headers=headers)

print(response.text)

JavaScript

const options = {
  method: 'GET',
  headers: {'x-site-context': '<x-site-context>', Authorization: 'Bearer <token>'}
};

fetch('https://prod01.oms.fabric.inc/api/v2/shipping/shippingMethods/{itemId}', 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.oms.fabric.inc/api/v2/shipping/shippingMethods/{itemId}",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_HTTPHEADER => [
    "Authorization: Bearer <token>",
    "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"
    "net/http"
    "io"
)

func main() {

url := "https://prod01.oms.fabric.inc/api/v2/shipping/shippingMethods/{itemId}"

req, _ := http.NewRequest("GET", url, nil)

req.Header.Add("x-site-context", "<x-site-context>")
    req.Header.Add("Authorization", "Bearer <token>")

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
    body, _ := io.ReadAll(res.Body)

fmt.Println(string(body))
}

Unirest (Java)

HttpResponse<String> response = Unirest.get("https://prod01.oms.fabric.inc/api/v2/shipping/shippingMethods/{itemId}")
  .header("x-site-context", "<x-site-context>")
  .header("Authorization", "Bearer <token>")
  .asString();

Ruby

require 'uri'
require 'net/http'

url = URI("https://prod01.oms.fabric.inc/api/v2/shipping/shippingMethods/{itemId}")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["x-site-context"] = '<x-site-context>'
request["Authorization"] = 'Bearer <token>'

response = http.request(request)
puts response.read_body

Example Responses

200

400

404

500

{
  "shippingMethods": [
    {
      "name": "Express Delivery",
      "description": "Express Delivery 2 - 5 days",
      "taxCode": "tax_1",
      "minimumDays": 2,
      "maximumDays": 5,
      "cutOffTime": 1330,
      "cost": 20,
      "channel": "12",
      "createdBy": "User1",
      "addressType": "APO",
      "shippingMethodId": "5349b4ddd2781d08c09890f4",
      "region": "CA",
      "deleted": false,
      "updatedBy": "User2",
      "configuredBy": "User3",
      "weight": {
        "min": 2,
        "max": 3
      },
      "cartValue": {
        "min": 2,
        "max": 3
      },
      "dimension": {
        "min": {
          "height": 2,
          "width": 3,
          "length": 4
        },
        "max": {
          "height": 2,
          "width": 3,
          "length": 4
        }
      },
      "createdAt": "2023-11-07T05:31:56Z",
      "updatedAt": "2023-11-07T05:31:56Z"
    }
  ]
}
{
  "message": "Bad Request"
}
{
  "message": "ShipMethod Not Found."
}
{
  "message": "Internal Server Error"
}

Authorizations

Authorization
Type: string
Location: header
Required: Yes
Format: Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Headers

x-site-context
Type: string
Required: Yes
Description: 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\\\"}"

Path Parameters

itemId
Type: string
Required: Yes
Description: Item ID

Response

200
Type: application/json
Description: OK
Details of shipping method

shippingMethods
Type: object[]
Showchild attributes