Add shipTo IDs to cart items (v1) - Fabric

Add shipTo IDs to cart items (v1)

cURL

curl --request PATCH \
  --url https://prod01-apigw.yourcompany.fabric.zone/api-cart/cart/{cartId}/ship-to/v1 \
  --header 'Content-Type: application/json' \
  --header 'x-site-context: <x-site-context>' \
  --data '\n[\
  {\
    "itemId": 123456,\
    "lineItemId": 3,\
    "shipTo": "5e5818a84d030c206b2ffb02"\
  }\
]\n'  

Python

import requests

url = "https://prod01-apigw.yourcompany.fabric.zone/api-cart/cart/{cartId}/ship-to/v1"

payload = [\
    {\
        "itemId": 123456,\
        "lineItemId": 3,\
        "shipTo": "5e5818a84d030c206b2ffb02"\
    }\
]
headers = {\
    "x-site-context": "<x-site-context>",\
    "Content-Type": "application/json"\
}

response = requests.patch(url, json=payload, headers=headers)

print(response.text)

JavaScript

const options = {\
  method: 'PATCH',\
  headers: {'x-site-context': '<x-site-context>', 'Content-Type': 'application/json'},\
  body: JSON.stringify([{itemId: 123456, lineItemId: 3, shipTo: '5e5818a84d030c206b2ffb02'}])\
};

fetch('https://prod01-apigw.yourcompany.fabric.zone/api-cart/cart/{cartId}/ship-to/v1', 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-cart/cart/{cartId}/ship-to/v1",\
  CURLOPT_RETURNTRANSFER => true,\
  CURLOPT_ENCODING => "",\
  CURLOPT_MAXREDIRS => 10,\
  CURLOPT_TIMEOUT => 30,\
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\
  CURLOPT_CUSTOMREQUEST => "PATCH",\
  CURLOPT_POSTFIELDS => json_encode([\
    [\
        'itemId' => 123456,\
        'lineItemId' => 3,\
        'shipTo' => '5e5818a84d030c206b2ffb02'\
    ]\
  ]),\
  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-cart/cart/{cartId}/ship-to/v1"

payload := strings.NewReader("[\n  {\n    \"itemId\": 123456,\n    \"lineItemId\": 3,\n    \"shipTo\": \"5e5818a84d030c206b2ffb02\"\n  }\n]")

req, _ := http.NewRequest("PATCH", 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))
}

Unirest

HttpResponse<String> response = Unirest.patch("https://prod01-apigw.yourcompany.fabric.zone/api-cart/cart/{cartId}/ship-to/v1")
  .header("x-site-context", "<x-site-context>")
  .header("Content-Type", "application/json")
  .body("[\n  {\n    \"itemId\": 123456,\n    \"lineItemId\": 3,\n    \"shipTo\": \"5e5818a84d030c206b2ffb02\"\n  }]\")
  .asString();

Ruby

require 'uri'
require 'net/http'

url = URI("https://prod01-apigw.yourcompany.fabric.zone/api-cart/cart/{cartId}/ship-to/v1")

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

request = Net::HTTP::Patch.new(url)
request["x-site-context"] = '<x-site-context>'
request["Content-Type"] = 'application/json'
request.body = "[\n  {\n    \"itemId\": 123456,\n    \"lineItemId\": 3,\n    \"shipTo\": \"5e5818a84d030c206b2ffb02\"\n  }]"

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

Response Codes

Example Response

{
  "deleted": false,
  "allPromosApplied": "<array>",
  "items": [\
    {\
      "itemId": 1000000012,\
      "quantity": 2,\
      "price": {\
        "currency": "USD",\
        "base": 15.99,\
        "discount": {\
          "price": 10.99,\
          "discountAmount": 10.99,\
          "promosApplied": [\
            {\
              "unit": "<string>",\
              "value": 123,\
              "ON": {\
                "kind": "SKU",\
                "value": ""\
              },\
              "id": "<string>",\
              "promoId": "<string>",\
              "promoCode": "<string>"
            }\
          ]\
        },\
        "sale": 10.99\
      },\
      "group": [\
        "5ddd1a156c5a5fed1e0d91fb"\
      ],\
      "id": "5fee9d59f2f08a1b3cbdea08",
      "sku": "blue",
      "title": "item title"
    }\
  ],
  "cartId": 4,
  "totalAmount": {\
    "currency": "USD",
    "amount": 200
  },
  "quantity": 2,
  "status": "pending",
  "_id": "5fee9d59f2f08a1b3cbdea08"
}

Error Response

{
  "code": "CART_NOT_FOUND",
  "message": "Cart not found."
}

Headers