Get all price adjustments for a cart item - Fabric
Get all price adjustments for a cart item
cURL
curl --request GET \
--url https://prod.cart.fabric.inc/v2/carts/{cartId}/items/{lineItemId}/adjustments \
--header 'Authorization: <authorization>' \
--header 'x-site-context: <x-site-context>'
Python
import requests
url = "https://prod.cart.fabric.inc/v2/carts/{cartId}/items/{lineItemId}/adjustments"
headers = {
"x-site-context": "<x-site-context>",
"Authorization": "<authorization>"
}
response = requests.get(url, headers=headers)
print(response.text)
JavaScript (Fetch API)
const options = {
method: 'GET',
headers: {'x-site-context': '<x-site-context>', Authorization: '<authorization>'}
};
fetch('https://prod.cart.fabric.inc/v2/carts/{cartId}/items/{lineItemId}/adjustments', 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://prod.cart.fabric.inc/v2/carts/{cartId}/items/{lineItemId}/adjustments",
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: <authorization>",
"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://prod.cart.fabric.inc/v2/carts/{cartId}/items/{lineItemId}/adjustments"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-site-context", "<x-site-context>")
req.Header.Add("Authorization", "<authorization>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}
Java
HttpResponse<String> response = Unirest.get("https://prod.cart.fabric.inc/v2/carts/{cartId}/items/{lineItemId}/adjustments")
.header("x-site-context", "<x-site-context>")
.header("Authorization", "<authorization>")
.asString();
Ruby
require 'uri'
require 'net/http'
url = URI("https://prod.cart.fabric.inc/v2/carts/{cartId}/items/{lineItemId}/adjustments")
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"] = '<authorization>'
response = http.request(request)
puts response.read_body
Response
HTTP Status Codes
- 200
- 400
- 404
- 500
Sample Response
{
"priceAdjustments": [
{
"id": "d7e78a21-bee3-4448-bf1c-d5b5461dbda2",
"reason": "compensation for delay",
"amount": 20,
"attributes": {
"goldMember": [
false
]
}
}
]
}
Error Responses
{
"code": "Bad Request",
"message": "User ID or Cart ID does not exist"
}
{
"code": "Cart or item not found",
"message": "If the issue persists please contact support@fabric.inc."
}
{
"code": "Internal Server Error",
"message": "An internal error occurred. If the issue persists please contact support@fabric.inc."
}
Headers
- x-site-context: Required. The
x-site-contextheader is a JSON object that contains information about the source you wish to pull from. The mandatoryaccountis the 24 character identifier found in Copilot. Thechannel,stage, anddateattributes 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"}
- Authorization: Required. Authorization token for the user.
Example:
"eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjYxZjIyMTU4..."
Path Parameters
cartId: Required. Cart ID to retrieve price adjustment details of a
lineItemIdwithin the cart.Example:
"d7e78a21-bee3-4448-bf1c-d5b5461dbda2"lineItemId: Required. Cart item's sequence number (starts at 1) for which price adjustment details are to be retrieved.
Example:
3
Response Format
- 200: application/json - OK
- Sample Response: Contains price adjustment details for the specified line item or the specified cart.