POST
/
orders

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Headers

x-fabric-tenant-id
string
required

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.

x-fabric-channel-id
string
required

x-fabric-channel-id identifies the sales channel where the API request is being made; primarily for multichannel use cases. The channel ids are 12 corresponding to US and 13 corresponding to Canada. The default channel id is 12. This field is required.

x-fabric-request-id
string

Unique request ID

Body

application/json

Details to create order

items
object[]
required

Items

orderNumber
string
required

Merchant-defined order identifier. If omitted, this is generated by fabric's sequence generator using Configuration service.

statusCode
string
required

Status code. Primarily used for Point-of-Sale (POS) orders.

adjustmentTotal
number

Total price adjustments for all items of the order.

adjustments
object[]

Price adjustments are made to modify product prices during order creation, aiming to incentivize shoppers by offering discounts and promotions based on specified criteria. Price adjustments are also made to apply coupons that the shopper has used.

attributes
object

Merchant-defined custom attributes. This is a placeholder for additional info (in key: value pairs).

cartId
string

Unique identifier of a cart, either from fabric Cart service or an external Cart service. It is used for linking an order to a specific cart. If available, it is also used for inventory reservation from cart workflow.

currency
string

Three-letter currency code as defined by ISO-4217

customer
object

Invoice customer

discounts
object[]

Discounts

employeeId
string

Employee (ID or name) who initiated the order creation request

feeTotal
number

Total item fee = orderedQuantity * Item Fee Total

fees
object[]

Fees

notes
object[]

Additional info, if any. To be used by customer service representative (CSR) only

orderDiscount
number

Order discount = summationOfAll(itemDiscountTotal)

orderSubtotal
number

Recalculated order subtotal = summationOfAll(itemSubTotal)

orderTotal
number

Total amount to be charged for the order = orderSubTotal - orderDiscountTotal + orderFeeTotal + orderTaxTotal

orderedAt
string

Merchant-defined order creation time (UTC). It is mandatory in the request body of Create Order endpoint - POST /orders.

payments
object[]

Payments

retail
object

Optionally used as reference, for orders created from Point-of-Sale systems

shipInfo
object[]

Shipping info

statusDescription
string

Description corresponding to statusCode

subtype
enum<string>

Order subtype, for additional classification

Available options:
IOS,
ANDROID,
INTERNATIONAL
taxTotal
number

Total tax on order = summationOfAll(itemTaxTotal)+summationOfAll(tax[].value)

type
enum<string>

Order type. It is critical for order life cycle as it indicates the workflow that varies with the type. For example, Storefront orders have different workflows than Call Center orders. fabric Orders service offers standard configurations for Storefront, Call Center, Point of Sale, iOS, Android, and International.

Available options:
WEB,
CSC,
MOBILE_APP,
POS

Response

201
application/json

Order details

channelId
string
required

Sales channel ID

items
object[]
required

Item details

orderNumber
string
required

Merchant-defined order identifier. If omitted, this is generated by fabric's sequence generator using Configuration service

shipInfo
object[]
required
statusCode
string
required

Status code. There are no pre-defined values; possible values are - ORDER_ALLOCATED ("Order Allocated"), ORDER_SHIPPED ("Order Shipped"), ORDER_PARTIALLY_SHIPPED ("Order Partially Shipped"), ORDER_PICKED_UP ("Order Picked Up"), ORDER_PARTIALLY_PICKED_UP ("Order Partially Picked Up"), ORDER_DELIVERED ("Order Delivered"), ORDER_PARTIALLY_DELIVERED ("Order Partially Delivered"), ORDER_RETURNED ("Order Returned"), etc.

version
integer
required

Current version of order document. Indicates the number of times the order is updated by any operation.

adjustmentTotal
number

The total amount of price adjustments for all items of the order.

adjustments
object[]

Price adjustments refer to changes or modifications made to the listed price of a product. A Customer Sales Representative (CSR) makes the price adjustments to provide discounts, promotional offers, or coupons that the shopper used.

allocatedAt
string

System-generated order allocation time (UTC) once the order is allocated using Allocation service

appeasementTotal
number

Final appeasement amount

appeasements
object[]