curl --request POST \
--url https://api.fabric.inc/v3/backorders-preorders/{id}/actions/save-delay-consent \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'x-fabric-channel-id: <x-fabric-channel-id>' \
--header 'x-fabric-tenant-id: <x-fabric-tenant-id>' \
--data '
{
"consent": "ACCEPT"
}
'import requests
url = "https://api.fabric.inc/v3/backorders-preorders/{id}/actions/save-delay-consent"
payload = { "consent": "ACCEPT" }
headers = {
"x-fabric-tenant-id": "<x-fabric-tenant-id>",
"x-fabric-channel-id": "<x-fabric-channel-id>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'x-fabric-tenant-id': '<x-fabric-tenant-id>',
'x-fabric-channel-id': '<x-fabric-channel-id>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({consent: 'ACCEPT'})
};
fetch('https://api.fabric.inc/v3/backorders-preorders/{id}/actions/save-delay-consent', 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://api.fabric.inc/v3/backorders-preorders/{id}/actions/save-delay-consent",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'consent' => 'ACCEPT'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json",
"x-fabric-channel-id: <x-fabric-channel-id>",
"x-fabric-tenant-id: <x-fabric-tenant-id>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.fabric.inc/v3/backorders-preorders/{id}/actions/save-delay-consent"
payload := strings.NewReader("{\n \"consent\": \"ACCEPT\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-fabric-tenant-id", "<x-fabric-tenant-id>")
req.Header.Add("x-fabric-channel-id", "<x-fabric-channel-id>")
req.Header.Add("Authorization", "Bearer <token>")
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))
}HttpResponse<String> response = Unirest.post("https://api.fabric.inc/v3/backorders-preorders/{id}/actions/save-delay-consent")
.header("x-fabric-tenant-id", "<x-fabric-tenant-id>")
.header("x-fabric-channel-id", "<x-fabric-channel-id>")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"consent\": \"ACCEPT\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.fabric.inc/v3/backorders-preorders/{id}/actions/save-delay-consent")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-fabric-tenant-id"] = '<x-fabric-tenant-id>'
request["x-fabric-channel-id"] = '<x-fabric-channel-id>'
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"consent\": \"ACCEPT\"\n}"
response = http.request(request)
puts response.read_body{
"lineItemId": "0",
"locationNumber": "WH334",
"orderId": "5fec576ddaa2544b2dd94684",
"orderStatusCode": "ORDER_CREATED",
"orderedAt": "2022-04-12T09:30:31.198Z",
"quantity": 5,
"sku": "sku_123",
"type": "BACKORDER",
"cartId": "b03b72dc-78d8-4ea4-90fc-2fe6a1fe6569",
"consentReceivedAt": "2022-07-12T09:30:31.198Z",
"createdAt": "2022-07-11T15:03:14.642Z",
"id": "63ec576ddaa2544b2dd94684",
"isDelayConsented": true,
"itemId": 123,
"lastNotifiedAt": "2022-06-12T09:30:31.198Z",
"lineItemStatus": "CANCELLED",
"orderNumber": "order_123",
"releasedQuantity": 1,
"status": "PARTIAL_BACK_PREORDER_RELEASE",
"updatedAt": "2022-07-11T15:03:14.642Z",
"vendorId": "vendor_123"
}{
"errors": [
{
"message": "Invalid request",
"type": "CLIENT_ERROR"
}
],
"message": "Bad request",
"type": "CLIENT_ERROR"
}{
"message": "Unauthorized request",
"type": "CLIENT_ERROR"
}{
"message": "Reservation not found",
"type": "CLIENT_ERROR"
}{
"message": "Internal server error",
"type": "SERVER_ERROR"
}Record customer agreement to delay shipment
Record customer’s agreement to delay the shipment.
curl --request POST \
--url https://api.fabric.inc/v3/backorders-preorders/{id}/actions/save-delay-consent \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'x-fabric-channel-id: <x-fabric-channel-id>' \
--header 'x-fabric-tenant-id: <x-fabric-tenant-id>' \
--data '
{
"consent": "ACCEPT"
}
'import requests
url = "https://api.fabric.inc/v3/backorders-preorders/{id}/actions/save-delay-consent"
payload = { "consent": "ACCEPT" }
headers = {
"x-fabric-tenant-id": "<x-fabric-tenant-id>",
"x-fabric-channel-id": "<x-fabric-channel-id>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'x-fabric-tenant-id': '<x-fabric-tenant-id>',
'x-fabric-channel-id': '<x-fabric-channel-id>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({consent: 'ACCEPT'})
};
fetch('https://api.fabric.inc/v3/backorders-preorders/{id}/actions/save-delay-consent', 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://api.fabric.inc/v3/backorders-preorders/{id}/actions/save-delay-consent",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'consent' => 'ACCEPT'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json",
"x-fabric-channel-id: <x-fabric-channel-id>",
"x-fabric-tenant-id: <x-fabric-tenant-id>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.fabric.inc/v3/backorders-preorders/{id}/actions/save-delay-consent"
payload := strings.NewReader("{\n \"consent\": \"ACCEPT\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-fabric-tenant-id", "<x-fabric-tenant-id>")
req.Header.Add("x-fabric-channel-id", "<x-fabric-channel-id>")
req.Header.Add("Authorization", "Bearer <token>")
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))
}HttpResponse<String> response = Unirest.post("https://api.fabric.inc/v3/backorders-preorders/{id}/actions/save-delay-consent")
.header("x-fabric-tenant-id", "<x-fabric-tenant-id>")
.header("x-fabric-channel-id", "<x-fabric-channel-id>")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"consent\": \"ACCEPT\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.fabric.inc/v3/backorders-preorders/{id}/actions/save-delay-consent")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-fabric-tenant-id"] = '<x-fabric-tenant-id>'
request["x-fabric-channel-id"] = '<x-fabric-channel-id>'
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"consent\": \"ACCEPT\"\n}"
response = http.request(request)
puts response.read_body{
"lineItemId": "0",
"locationNumber": "WH334",
"orderId": "5fec576ddaa2544b2dd94684",
"orderStatusCode": "ORDER_CREATED",
"orderedAt": "2022-04-12T09:30:31.198Z",
"quantity": 5,
"sku": "sku_123",
"type": "BACKORDER",
"cartId": "b03b72dc-78d8-4ea4-90fc-2fe6a1fe6569",
"consentReceivedAt": "2022-07-12T09:30:31.198Z",
"createdAt": "2022-07-11T15:03:14.642Z",
"id": "63ec576ddaa2544b2dd94684",
"isDelayConsented": true,
"itemId": 123,
"lastNotifiedAt": "2022-06-12T09:30:31.198Z",
"lineItemStatus": "CANCELLED",
"orderNumber": "order_123",
"releasedQuantity": 1,
"status": "PARTIAL_BACK_PREORDER_RELEASE",
"updatedAt": "2022-07-11T15:03:14.642Z",
"vendorId": "vendor_123"
}{
"errors": [
{
"message": "Invalid request",
"type": "CLIENT_ERROR"
}
],
"message": "Bad request",
"type": "CLIENT_ERROR"
}{
"message": "Unauthorized request",
"type": "CLIENT_ERROR"
}{
"message": "Reservation not found",
"type": "CLIENT_ERROR"
}{
"message": "Internal server error",
"type": "SERVER_ERROR"
}Authorizations
Headers
A header used by fabric to identify the tenant making the request. You must include tenant id in the authentication header for an API request to access any of fabric’s endpoints. You can retrieve the tenant id , which is also called account id, from Copilot. This header is required.
Body
Response
OK
Backorder-preorder response details
Order status
ORDER_CREATED, ORDER_PARTIALLY_ALLOCATED, ORDER_ALLOCATED, ORDER_SHIPPED, ORDER_PARTIALLY_SHIPPED, ORDER_PICKED_UP, ORDER_PARTIALLY_PICKED_UP, ORDER_READY_FOR_PICKUP, ORDER_READY_FOR_PARTIAL_PICKUP, ORDER_DELIVERED, ORDER_PARTIALLY_DELIVERED, ORDER_RETURNED, ORDER_PARTIALLY_RETURNED, ORDER_PENDING_RETURN, ORDER_PENDING_PARTIAL_RETURN, ORDER_PARTIALLY_EXCHANGED, ORDER_EXCHANGED, ORDER_CANCELLED, ORDER_PARTIALLY_CANCELLED, ORDER_HOLD, ORDER_CONFIRMED, ORDER_HOLD_FRAUD, ORDER_HOLD_CSR, ORDER_HOLD_CROSSBORDER, ORDER_HOLD_REVALIDATION, ORDER_ERROR, ORDER_HOLD_AUTH_PENDING "ORDER_CREATED"
true: Customer agrees to receive the product at a later date false: Customer wants the product immediately, and doesn't agree to receive the product at a later date. In such case, if the merchant can't fulfill the order immediately, they can cancel the product, change order status and notify the customer about order cancellation
true
Line item status
CANCELLED, REFUNDED, PARTIALLY_CANCELLED, PARTIALLY_REFUNDED, PARTIALLY_CANCELLED_REFUNDED, VALID, EXCHANGED, PENDING_EXCHANGE, RETURN, PARTIAL_RETURN, PENDING_RETURN, RETURN_PROCESSING, RETURN_REJECTED, ORDER_LINE_INVALID_SKU, ORDER_LINE_VALID, SHIPPED, PARTIALLY_SHIPPED, ALLOCATED, PARTIALLY_ALLOCATED, DELIVERED, PARTIALLY_DELIVERED, PICKED_UP, PARTIALLY_PICKED_UP, READY_FOR_PICKUP, READY_FOR_PARTIAL_PICKUP "CANCELLED"
Was this page helpful?
