Get order draft by ID - Fabric

Get order draft by ID

cURL

curl --request GET
--url https://prod.cart.fabric.inc/v2/order-drafts/{id}
--header 'x-site-context: '

Python

import requests

url = "https://prod.cart.fabric.inc/v2/order-drafts/{id}"

headers = {"x-site-context": ""}

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

print(response.text)

JavaScript (Fetch API)

const options = {method: 'GET', headers: {'x-site-context': ''}};

fetch('https://prod.cart.fabric.inc/v2/order-drafts/{id}', options) .then(res => res.json()) .then(res => console.log(res)) .catch(err => console.error(err));

PHP

"https://prod.cart.fabric.inc/v2/order-drafts/{id}", CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => "", CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 30, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => "GET", CURLOPT_HTTPHEADER => [ "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://prod.cart.fabric.inc/v2/order-drafts/{id}"

req, _ := http.NewRequest("GET", url, nil) req.Header.Add("x-site-context", "")

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

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

fmt.Println(string(body)) }

Java (Unirest)

HttpResponse response = Unirest.get("https://prod.cart.fabric.inc/v2/order-drafts/{id}") .header("x-site-context", "") .asString();

Ruby

require 'uri' require 'net/http'

url = URI("https://prod.cart.fabric.inc/v2/order-drafts/{id}")

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

request = Net::HTTP::Get.new(url) request["x-site-context"] = ''

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

Possible Responses

200 - Ok

{
  "cartId": "b8a64b52-dab4-8137-8d6a-f2c2337abc1",
  "orderStatus": {
    "paymentStatus": "<unknown>",
    "ready": true
  },
  "orderTotal": 60,
  "orderSubTotal": 60,
  "taxTotal": 60,
  "orderDiscount": 60,
  "currency": "USD",
  "createdAt": "2022-02-18T15:12:40.974580",
  "items": [
    {
      "itemId": "1000000001",
      "sku": "16B2GS8LD5FDS",
      ...
    }
  ],
  ...
}

400 - Bad Request

{
  "code": "Bad Request",
  "message": "User ID or Cart ID does not exist"
}

404 - Not Found

{
  "type": "NOT_FOUND",
  "message": "Order draft not found"
}

500 - Internal Server Error

{
  "code": "Internal Server Error",
  "message": "An internal error occurred. If the issue persists please contact support@fabric.inc."
}

Headers

x-site-context

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:

``n"{"date": "2023-01-01T00:00:00.000Z", "channel": 12, "account": "1234abcd5678efgh9ijklmno","stage":"production"}"


### Path Parameters

#### id

- **Type**: string
- **Required**: Yes

Order draft ID

**Example**:

``n"d7e78a21-bee3-4448-bf1c-d5b5461dbda2"`

### Response Structure

- **cartId**: Cart ID
- **orderStatus**: Order status details
- **orderTotal**: Total amount
- **orderSubTotal**: Amount without discounts
- **taxTotal**: Total tax
- **orderDiscount**: Total discount
- **currency**: Currency code
- **createdAt**: Creation timestamp
- **items**: Array of items in the order
- **shipInfo**: Shipping information
- **orderNumber**: Order number (if applicable)
- **orderType**: Type of order
- **orderSubType**: Sub-type of order
- **customer**: Customer details
- **attributes**: Additional attributes
- **payments**: Payment details
- **accountId**: Customer account ID
- **totalItems**: Total number of items
- **totalUniqueItems**: Number of unique items
- **configuration**: Cart configuration
- **fees**: Associated fees
- **orderTotalFees**: Total fees applied
- **error**: Error object if applicable.