Check order-cancellation eligibility - Fabric
Check order-cancellation eligibility
cURL
curl --request GET \
--url https://prod01.oms.fabric.inc/api/v2/order/cancel \
--header 'Authorization: Bearer <token>' \
--header 'x-site-context: <x-site-context>'
Python
import requests
url = "https://prod01.oms.fabric.inc/api/v2/order/cancel"
headers = {
"x-site-context": "<x-site-context>",
"Authorization": "Bearer <token>"
}
response = requests.get(url, headers=headers)
print(response.text)
JavaScript (fetch)
const options = {
method: 'GET',
headers: {'x-site-context': '<x-site-context>', Authorization: 'Bearer <token>'}
};
fetch('https://prod01.oms.fabric.inc/api/v2/order/cancel', 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/order/cancel",
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/order/cancel"
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/order/cancel")
.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/order/cancel")
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
Responses
- 200
{ "orderId": "62f3982438bcab1951be0a19", "eligibleReasonCodes": [ "wrong item" ], "policyType": "Exchange or return or cancellation", "period": "30D00H00M", "items": [ { "lineItemId": "62f3dfc438bcab1951be0a19", "eligibleQuantity": 10, "eligible": true } ], "fees": [ { "platinumFee": 33.9, "currency": "USD" } ] } - 400
{ "message": "Bad request" } - 404
{ "message": "Not found" } - 500
{ "message": "Internal server error" }
Authorizations
- Authorization: string, header, required
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Headers
- x-site-context: string, required
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\"}"
Query Parameters
orderId: string, required
Order ID
Example: "62f3982438bcab1951be0a19"
lineItemIds: string[]
Array of line item IDs to check if the line items are eligible for cancellation.
Response
200: application/json
Order eligibility object
orderId: string
Order ID
Example: "62f3982438bcab1951be0a19"
- eligibleReasonCodes: string[]
Reason codes allowed for returns.
- policyType: string
Policy type
Example: "Exchange or return or cancellation"
- period: string
Provides the configured duration for returns.
Example: "30D00H00M"
- items: object[]
List of items with their eligibility to return.
- fees: object[]
fees.