Remove items from single order - Fabric

Remove items from single order

cURL

curl --request POST \
  --url https://prod01.copilot.fabric.inc/data-subscription/v1/orders/{id}/remove-items \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '\n{\n  "lineItemIds": [\n    1\n  ]\n}\n'  

Python

import requests

url = "https://prod01.copilot.fabric.inc/data-subscription/v1/orders/{id}/remove-items"

payload = { "lineItemIds": [1] }
headers = {
    "Authorization": "Bearer <token>",
    "Content-Type": "application/json"
}

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

print(response.text)

JavaScript (Fetch)

const options = {
  method: 'POST',
  headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
  body: JSON.stringify({lineItemIds: [1]})
};

fetch('https://prod01.copilot.fabric.inc/data-subscription/v1/orders/{id}/remove-items', 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.copilot.fabric.inc/data-subscription/v1/orders/{id}/remove-items",
  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([
    'lineItemIds' => [
        1
    ]
  ]),
  CURLOPT_HTTPHEADER => [
    "Authorization: Bearer <token>",
    "Content-Type: application/json"
  ],
]);

$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.copilot.fabric.inc/data-subscription/v1/orders/{id}/remove-items"

payload := strings.NewReader("{\n  \"lineItemIds\": [\n    1\n  ]\n}")

req, _ := http.NewRequest("POST", url, payload)

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))
}

Java (Unirest)

HttpResponse<String> response = Unirest.post("https://prod01.copilot.fabric.inc/data-subscription/v1/orders/{id}/remove-items")
  .header("Authorization", "Bearer <token>")
  .header("Content-Type", "application/json")
  .body("{\n  \"lineItemIds\": [\n    1\n  ]\n}")
  .asString();

Ruby

require 'uri'
require 'net/http'

url = URI("https://prod01.copilot.fabric.inc/data-subscription/v1/orders/{id}/remove-items")

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

request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n  \"lineItemIds\": [\n    1\n  ]\n}"

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

Response Status Codes

Response Structure

Success Response

{
  "responseStatus": "OK",
  "message": "Request processed successfully",
  "data": {
    "order": {
      "status": "SCHEDULED",
      "totalAmount": 100,
      "currencyCode": "USD",
      "scheduledDate": "2019-01-01T00:00:00.000Z",
      "customer": {
        "customerReferenceId": "12345",
        "locale": "en_US",
        "email": "customer@example.com",
        "firstName": "Pat",
        "lastName": "Kake",
        "contactnumber": "5555551234",
        "middleName": "E",
        "segments": [
          "employee"
        ],
        "employeeId": "345",
        "status": "ACTIVE",
        "isDeleted": false,
        "DeletedAt": "2021-01-01T00:00:00.000Z",
        "createdAt": "2019-10-12T21:35:05.756Z",
        "updatedAt": "2021-10-14T05:40:55.997Z",
        "communicationPreference": {
          "email": true,
          "sms": true
        }
      },
      "shipTo": {
        "name": {
          "firstName": "Pat",
          "lastName": "Kake",
          "middleName": "E"
        },
        "streetAddress": {
          "street1": "123 Main St",
          "street2": "Suite 100"
        },
        "city": "Boston",
        "state": "MA",
        "postalCode": "02127",
        "country": "US",
        "phone": {
          "number": "5555551234",
          "kind": "home"
        }
      },
      "billTo": {
        "name": {
          "firstName": "Pat",
          "lastName": "Kake",
          "middleName": "E"
        },
        "streetAddress": {
          "street1": "123 Main St",
          "street2": "Suite 100"
        },
        "city": "Boston",
        "state": "MA",
        "postalCode": "02127",
        "country": "US",
        "phone": {
          "number": "5555551234",
          "kind": "home"
        }
      },
      "paymentDetails": {
        "paymentIdentifier": {
          "cardIdentifier": "1234",
          "expiryDate": "12/20"
        },
        "paymentMethod": "credit_card",
        "paymentKind": "Visa"
      },
      "isDeleted": false,
      "deletedAt": "2019-01-01T00:00:00.000Z",
      "id": "6384462ab645220008a4358a",
      "totalTax": 10,
      "totalDiscount": 10,
      "lineItems": [
        {
          "lineItemId": 1,
          "subscription": {
            "plan": {
              "frequency": 30,
              "frequencyType": "Daily",
              "id": "1001"
            },
            "id": "6256610bc312410009b7390b"
          },
          "item": {
            "id": 1000000006,
            "sku": "MOBO-X570",
            "quantity": 1,
            "itemPrice": {
              "price": 100,
              "currencyCode": "USD"
            },
            "weight": 10,
            "weightUnit": "lb",
            "title": "Vitamin",
            "description": "Vitamin C",
            "tax": {
              "taxCode": "FR020000",
              "taxAmount": 10,
              "currencyCode": "USD"
            }
          },
          "shipping": {
            "shipmentCarrier": "USPS",
            "shipmentMethod": "Ground",
            "shipmentInstructions": "Please leave the package in the box",
            "taxCode": "SHP020000",
            "shippingAmount": 10,
            "taxAmount": 1,
            "currencyCode": "USD"
          },
          "offer": {
            "id": "SUB-E10717",
            "source": "PDP"
          },
          "customAttributes": {
            "storeId": "60cb07fc20387b000821c5c3",
            "associateId": 1,
            "trackingUrl": "609436d21baded0008945b05"
          }
        }
      ],
      "createdAt": "2021-10-12T21:35:05.756Z",
      "updatedAt": "2021-10-14T05:40:55.997Z",
      "statusUpdatedAt": "2021-10-14T10:24:36.468Z",
      "Retry": {
        "maxRetries": 3,
        "retryType": "PAYMENT RETRY",
        "retryAfterDays": 1,
        "retryCount": 2
      },
      "error": {
        "errorCode": "ORDER_NOT_FOUND",
        "errorMessage": "The order is not found"
      }
    }
  }
}

Error Response

  1. 400 Bad Request
{
  "responseStatus": "BAD_REQUEST",
  "message": "Bad request"
}
  1. 403 Forbidden
{
  "Message": "User is not authorized to access this resource with an explicit deny"
}
  1. 404 Not Found
{
  "responseStatus": "NOT_FOUND",
  "message": "Not found"
}

Authorizations

Authorization

Path Parameters

Request Body