Order User Guides
- Overview
- Order Management
- Order Fulfillment Logic
- Activity Log
- Settings
Inventory User Guides
Orders API Endpoints
- Orders (3.0.0)
- Developer Guide
- Orders FAQ
- Shopping Lists
- Shipping Methods
- Imports
- Exports
- Orders
- Overview
- POSTCreate new order
- GETGet order by order number
- GETGet order by order ID
- POSTFind orders
- POSTUpdate Shipping information for an existing order by order number
- POSTUpdate Order Attributes
- POSTUpdate customer details for given order IDs
- PUTUpdates order pick-up details
- POSTCheck credits eligibility by order number
- POSTGet order exchange eligibility by order number
- POSTCheck appeasement eligibility by order number
- POSTCheck appeasement eligibility by order ID
- Frauds
- Notifications
- Backorders Preorders
- Cancellations
- Allocations
- Shipments
- Inventory Transfers
- Tracking
- Invoices
- Payments
- Credits
- Appeasements
- Returns
Inventory API Endpoints
- Inventory (3.0.0)
- Inventory FAQ
- Imports
- Counters
- Inventory
- Locations
- Networks
Create new order
This endpoint creates a new order in the fabric Orders (OMS) system, regardless of whether it originates from fabric CnC service or an external system. The response includes an order ID, which is required for subsequent calls such as updating pickup information, getting order details, verifying eligibility for order cancellations, returns, exchanges, as well as creating appeasements, and processing order returns, cancellations, and exchanges.
Authorizations
Bearer authentication header of the form Bearer <token>
, where <token>
is your auth token.
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.
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.
Unique request ID
Body
Details to create order
Items
Unique identifier of item from fabric Products (PIM) service.
Merchant-defined unique identifier for each item in an order. When omitted, fabric auto-generates this value during order creation, in UUID format.
Merchant-defined line item number to identify each item in an order.
System-generated UUID associated with shipInfo
, generated from CnC service. Note: An order can have multiple ship-to (delivery) locations and items going to the same location have one shipToId
.
Stock keeping unit (SKU), unique identifier of item.
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.
Sequential or incremental counter for price adjustment
Adjustment amount
Merchant-defined custom attributes. This is a placeholder for additional info in key: value pairs.
Cancel quantity
Total quantity invoiced
Placeholder for additional info, if any.
Adjustment quantity
Reason code
Returned quantity of given item
Subreason code
Merchant-defined custom attributes. This is a placeholder for additional info in key: value pairs
Three-letter currency code as defined by ISO-4217
Discount amount for quantity
Promotion code used by shoppers to take advantage of an ongoing promotion and available.
Unique promotion ID either from fabric Offers service or external Offers service. When fabric Offers service is used, this is the 24-character system-generated promotion ID returned in the response of Create promotion endpoint.
Promotion name
Discounted quantity of given item
Promotion type. There are no pre-defined values.
Discount offer - dollar value or percentage
Discount value in amount or percentage
Employee (ID or name) who initiated the request
Tax amount
Merchant-defined custom attributes. This is a placeholder for additional info (in key: value pairs).
Merchant-defined custom attributes. This is a placeholder for additional info (in key: value pairs).
Three-letter currency code as defined by ISO-4217
Applied tax name
Rate
Rate type
Tax code applied
true: Backordered item. false: Ordered item.
true: Item is a donation <br> false: Item is not a donation
true: Preordered item. false: Ordered item.
Item's total discount = summationOfAll(discounts[].amount)'. Refer to
amountin
orderDiscount`.
Recalculated item's fee = summationOfAll(fees[].amount)
. Refer to amount
in itemFeeDetails
Item name
Recalculated item's subtotal - Item unit price x (orderedQuantity - cancelledQuantity)
Subtype of type
, for another layer of classification.
Recalculated total tax on item = summationOfAll(itemTaxTotal)
Recalculated item's total cost = itemSubTotal - itemDiscountTotal + itemTaxTotal + itemFeeTotal
Item's unit price
Ordered quantity of given item
Segment
Applicable tax code, varies from state to state
Tax amount
Merchant-defined custom attributes. This is a placeholder for additional info (in key: value pairs).
Merchant-defined custom attributes. This is a placeholder for additional info (in key: value pairs).
Three-letter currency code as defined by ISO-4217
Applied tax name
Rate
Rate type
Tax code applied
Identify order type whether it's a pickup, web ship, or international order.
Unit in which a product is sold or measured. It is important for accurately fulfilling orders and ensuring customers receive the correct quantity of products they have ordered. The possible values are EA (Each) or GAL (Gallon), DZ (Dozen), etc.
Vendor ID
Merchant-defined order identifier. If omitted, this is generated by fabric's sequence generator using Configuration service.
Status code. Primarily used for Point-of-Sale (POS) orders.
Total price adjustments for all items of the order.
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.
Sequential or incremental counter for price adjustment
Adjustment amount
Merchant-defined custom attributes. This is a placeholder for additional info in key: value pairs.
Cancel quantity
Total quantity invoiced
Placeholder for additional info, if any.
Adjustment quantity
Reason code
Returned quantity of given item
Subreason code
Merchant-defined custom attributes. This is a placeholder for additional info (in key: value pairs).
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.
Three-letter currency code as defined by ISO-4217
Invoice customer
Customer's loyalty account ID or external identifier that is used to track their loyalty program activity and rewards earned.
Shopper's company name. This may be used for company discounts.
Contact person's email
Employee (ID or name) who initiated an update request
Identifier of the logged in user who initiated the request. This could be from either fabric Identity service or an external Identity service.
Discounts
Discount amount for quantity
Promotion code used by shoppers to take advantage of an ongoing promotion and available.
Unique promotion ID either from fabric Offers service or external Offers service. When fabric Offers service is used, this is the 24-character system-generated promotion ID returned in the response of Create promotion endpoint.
Promotion name
Discounted quantity of given item
Promotion type. There are no pre-defined values.
Discount offer - dollar value or percentage
Discount value in amount or percentage
Employee (ID or name) who initiated the order creation request
Total item fee = orderedQuantity * Item Fee Total
Fees
Tax amount
Merchant-defined custom attributes. This is a placeholder for additional info (in key: value pairs).
Merchant-defined custom attributes. This is a placeholder for additional info (in key: value pairs).
Three-letter currency code as defined by ISO-4217
System-generated amount from Invoice service based on requested amount
Applied tax name
Rate
Rate type
Tax code applied
Order discount = summationOfAll(itemDiscountTotal)
Recalculated order subtotal = summationOfAll(itemSubTotal)
Total amount to be charged for the order = orderSubTotal - orderDiscountTotal + orderFeeTotal + orderTaxTotal
Merchant-defined order creation time (UTC). It is mandatory in the request body of Create Order endpoint - POST /orders
.
Payments
Merchant-defined custom attributes. This is a placeholder for additional info (in key: value pairs).
Expiration time for authorization
Amount authorized to be debited from the given paymentMethod
Address details
Address line 1
City name
ISO 3166-1 alpha-2 based country code
Address latitude, used with longitude
to specify the address location. Decimal degrees format; negative is degrees South.**Note:**Value must be between -90 and 90, both inclusive.
Address longitude, used with latitude
to specify the address location. Decimal degrees format; negative is degrees South. **Note:**Value must be between -180 and 180, both inclusive.
Postal or ZIP code
Region or state
Address type
Address line 2
Address line 3
Address line 4
Contact person's email
Charged amount
Three-letter currency code as defined by ISO-4217
System-generated time of payment capture at shipment. When payment is captured at checkout, this is a merchant-defined value during order creation.
A sequential or incremental counter associated with a payment for an order. Applicable in refund scenarios to identify the specific payment for refund.
Details of payment mode and payment identifiers
Last 4 digits of the card
Card expiration month
Card expiration year
System-generated UUID referenced internally for Invoice and Orders services.
Merchant provided unique identifier for a payment based on payment connector. When omitted, it is a fabric-generated UUID.
Payment method
Payment provider
Payment status. There are no pre-defined values; possible values are Paid, Partially Paid, Authorized, and Error.
Optionally used as reference, for orders created from Point-of-Sale systems
Merchant-defined cashier ID during order creation
Unique value to identify ship-from or Buy Online Pickup from Store location. This must be the locationNumber stored in the fabric Location service.
Merchant-defined register ID during order creation
Transaction ID such as the Point-of-Sale system's version of the orderId
.
Shipping info
System-generated UUID associated with shipInfo
, generated from CnC service. Note: An order can have multiple ship-to (delivery) locations and items going to the same location have one shipToId
.
User defined custom attributes. This is a placeholder for additional info (in key: value pairs).
Discounted amount for the given quantity
Promotion code used by shoppers to take advantage of an ongoing promotion.
Unique promotion ID either from fabric Offers service or an external Offers service. When fabric Offers service is used, this is the 24-character system-generated promotion ID returned in the response of the create promotion endpoint.
Promotion name
Number of discounted items in an order such as buy 2 get 1 free
. In this case 1
is the discounted quantity.
Indicates whether the discount is in amount or percentage
Value corresponding to unit
Estimated delivery time (UTC) provided by carrier
Estimated shipping time (UTC) provided by merchant
true: At least one captured invoice is created by Invoice service. false: Captured invoice is not created.
Unique value to identify ship-from or Buy Online Pickup from Store location. This must be the locationNumber stored in the fabric Location service.
Order pickup details
Contact person's email
Order pickup type
PRIMARY
, ALTERNATE
Shipping method
Address details
Address line 1
City name
ISO 3166-1 alpha-2 based country code
Address latitude, used with longitude
to specify the address location. Decimal degrees format; negative is degrees South.**Note:**Value must be between -90 and 90, both inclusive.
Address longitude, used with latitude
to specify the address location. Decimal degrees format; negative is degrees South. **Note:**Value must be between -180 and 180, both inclusive.
Postal or ZIP code
Region or state
Address type
Address line 2
Address line 3
Address line 4
Contact person's email
Merchant-defined shipping discount amount
Merchant-defined shipping cost
Total shipping tax
Type of shipping address. There are no pre-defined values; the possible values are SDD (Same Day Delivery), Point-of-Sale (POS), etc.
A number indicating the ship to unit price.
Shipment instructions
Applicable tax code, varies from state to state
Tax amount
Merchant-defined custom attributes. This is a placeholder for additional info (in key: value pairs).
Merchant-defined custom attributes. This is a placeholder for additional info (in key: value pairs).
Three-letter currency code as defined by ISO-4217
Applied tax name
Rate
Rate type
Tax code applied
Description corresponding to statusCode
Order subtype, for additional classification
IOS
, ANDROID
, INTERNATIONAL
Total tax on order = summationOfAll(itemTaxTotal)+summationOfAll(tax[].value)
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.
WEB
, CSC
, MOBILE_APP
, POS
Response
Order details
Sales channel ID
Item details
System-generated unique identifier of item from fabric Products (PIM) service
Merchant-defined unique identifier for each item in an order. When omitted, fabric will generate it (in UUID format) during order creation.
Merchant-defined line item number to identify each item in an order
System-generated ship-to ID (UUID) associated with shipInfo
, generated from CnC service. Note: An order can have multiple ship-to (delivery) locations and items going to the one location will have the same shipToId
.
Stock keeping unit (SKU), unique identifier of item
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.
Sequential or incremental counter for price adjustment
Adjustment amount
Merchant-defined custom attributes. This is a placeholder for additional info in key: value pairs.
Cancel quantity
Total quantity invoiced
Placeholder for additional info, if any.
Adjustment quantity
Reason code
Returned quantity of given item
Subreason code
Appeasement total = summationOfAll(appeasements[].amount and items[].appeasements[].amount)
Appeasement info
Merchant-defined appeasement amount, which should not exceed (charged amount - already refunded amount)
Sequential or incremental counter for appeasement. Used for keeping track of duplicates in the request. If omitted in the request, it is automatically generated and will not be used to check duplicates. Multiple appeasement calls for the same order can cause repetition of appeasement counter and may cause the request to be rejected completely.
Merchant-defined custom attributes. This is a placeholder for additional info in key: value pairs
System-generated amount from Invoice service based on requested amount
Merchant-defined appeasement reason code; varies from merchant to merchant
Subreason code for appeasement, for another layer of classification
Merchant-defined custom attributes. This is a placeholder for additional info (in key: value pairs).
Backordered quantity of given item
Cancelled amount is either voided (payment is only authorized but not captured at checkout) or refunded (amount is authorized and captured at checkout)
Cancelled quantity of an item
Sales channel ID
Three-letter currency code as defined by ISO-4217
Delivered quantity of an item
Discount details
Discounted amount for the given quantity
Total quantity invoiced. If customer placed order for 10 quantity of an item and only 2 got shipped, then 2 is the invoiceQuantity
.
Promotion code used by shoppers to take advantage of an ongoing promotion.
Unique promotion ID either from fabric Offers service or external Offers service. When fabric Offers service is used, this is the 24-character system-generated promotion ID returned in the response of create promotion endpoint.
Promotion name
Number of discounted items in an order such as buy 2 get 1 free. In this case 1 is the discounted quantity.
Indicates whether the discount is in amount or percentage
Value corresponding to unit
Employee (ID or name) who initiated the request
System-generated item quantity that are exchanged
Fee details
Tax amount
Merchant-defined custom attributes. This is a placeholder for additional info (in key: value pairs).
Merchant-defined custom attributes. This is a placeholder for additional info (in key: value pairs).
Three-letter currency code as defined by ISO-4217
Total quantity invoiced. If customer placed order for 10 quantity of an item and only 2 got shipped then 2 is the invoiceQuantity
Applied tax name
Total number of items in the order
Total refund amount
Tax code applied
Applicable for backorder and preorder scenarios where customer consents for further delay in delivery of preordered and backordered items than the initial estimate. true: Customer consents for delayed delivery. false: Customer does not consent for delayed delivery.
Invoice total is updated once invoice created
Invoiced quantity of an item
Merchant-defined value. true: Backordered item. false: Ordered item.
true: Item is a donation. false: Item is not a donation.
Merchant-defined value for exchange scenarios. true: Item is an exchange. false: Item is not an exchange.
true: Item is a gift. false: Item is not a gift.
Merchant-defined value. true: Pre-ordered item. false: Ordered item.
Total price adjustment made to the item.
Item's total discount = summationOfAll(discounts[].amount)'. Refer to
amountin
orderDiscount`
Recalculated item's fee = summationOfAll(itemFeeTotal)
. Refer to amount
in itemFeeDetails
Item name
Merchant-defined item's shipping total
Recalculated item's subtotal = itemUnitPrice x (orderedQuantity - cancelledQuantity)
Subtype of type
, for another layer of classification
Recalculated total tax on item = summationOfAll(itemTaxTotal)
Recalculated item's total cost = itemSubTotal - itemDiscountTotal + itemTaxTotal + itemFeeTotal
Item's unit price
System-generated status for each item in the orders - SHIPPED, RETURNED, CANCELLED, EXCHANGED, VALID, and the like
For additional information, to be used by Customer Service Representative (CSR) only
Ordered quantity of given item
Quantity of given item that is yet to ship, out of the initially allocated quantity. For example, if a customer orders four units of an item, inventory will reserve four units of the item. If only two units are currently available and are shipped, the remaining two units will be considered as the pendingShippedQuantity
.
System-generated total discount, auto-filled by Orders service when the order is placed
System-generated fee total, auto-filled by Orders service when the order is placed. This is saved for reference in case the value changes later.
System-generated total discount, auto-filled by Orders service when the order is placed
System-generated item total cost, auto-filled by Orders service when the order is placed
System-generated total shipping cost, auto-filled by Orders service when the order is placed
System-generated total tax, auto-filled by Orders service when the order is placed
Applicable in exchange scenarios. Item being returned is the parentLineItemNumber
.
System-generated item quantity pending for exchange
Quantity of an item awaiting approval for return. For example, when customer initiates return request for 2 units of an item, the request will be initially in a pending status because they are awaiting approval from merchant. They are referred to as pendingReturnQuantity
.
Backordered quantity that is yet to be shipped. For example, If a customer places a backorder for four units of an item, inventory will reserve four units of the item to ship when they become available. If only two units are available and are shipped, the remaining two backordered units will be considered as the pendingShippedBackOrderQuantity
.
Quantity of an item currently being processed for return. For example, when merchant approves return of 1 out of 2 units of an item, then 1 is the processingReturnQuantity
Item quantity for each status
Cancelled quantity of given item
Ordered quantity of given item
Delivered quantity of given item
Held quantity of given item
Pending quantity of given item
Returned quantity of given item
Shipped quantity of given item
Merchant-defined total refund amount
Quantity of an item rejected in return request. For example, For example, when merchant rejects return of 1 out of 2 units of an item, then 1 is the rejectedReturnQuantity
Reshipped quantity of given item (in case of lost shipment)
Returned quantity of given item
Order return details
Exchange line item ID
System-generated amount from Invoice service based on requested amount
true: Item received for exchange is returned. false: Item received for exchange is not returned.
Merchant-defined reason code for return
Refund amount
Unique, sequential, or incremental counter for return request
System-generated time of returned item that has come back to the facility (UTC)
24-character system-generated shipment ID
Unique identifier for each item in the shipment
Shipped quantity of given item
Shipped quantity of an item
Applicable tax code, varies from state to state
Tax details
Tax amount
Merchant-defined custom attributes. This is a placeholder for additional info (in key: value pairs).
Merchant-defined custom attributes. This is a placeholder for additional info (in key: value pairs).
Three-letter currency code as defined by ISO-4217
Applied tax name
Rate
Rate type
Tax code applied
Order type. Critical in order life cycle as it indicates the workflow that varies with the type. For example, Storefront orders have a different workflow than Call Center orders. fabric Orders service offers default configurations for Storefront, Call Center, Point of Sale, iOS, Android, and International.
Unit in which a product is sold or measured. It is important to accurately fulfill orders and ensure customers receive the correct quantity of products they have ordered. The possible values are EA (Each) or GAL (Gallon), DZ (Dozen), etc.
Vendor ID. Applicable in drop shipping to indicate vendor responsible for given item.
Merchant-defined order identifier. If omitted, this is generated by fabric's sequence generator using Configuration service
System-generated UUID associated with shipInfo
, generated from CnC service. Note: An order can have multiple ship-to (delivery) locations and items going to the same location have one shipToId
.
User defined custom attributes. This is a placeholder for additional info (in key: value pairs).
Discounted amount for the given quantity
Promotion code used by shoppers to take advantage of an ongoing promotion.
Unique promotion ID either from fabric Offers service or an external Offers service. When fabric Offers service is used, this is the 24-character system-generated promotion ID returned in the response of the create promotion endpoint.
Promotion name
Number of discounted items in an order such as buy 2 get 1 free
. In this case 1
is the discounted quantity.
Indicates whether the discount is in amount or percentage
Value corresponding to unit
Estimated delivery time (UTC) provided by carrier
Estimated shipping time (UTC) provided by merchant
true: At least one captured invoice is created by Invoice service. false: Captured invoice is not created.
Unique value to identify ship-from or Buy Online Pickup from Store location. This must be the locationNumber stored in the fabric Location service.
Order pickup details
Contact person's email
Order pickup type
PRIMARY
, ALTERNATE
Shipping method
Address details
Address line 1
City name
ISO 3166-1 alpha-2 based country code
Address latitude, used with longitude
to specify the address location. Decimal degrees format; negative is degrees South.**Note:**Value must be between -90 and 90, both inclusive.
Address longitude, used with latitude
to specify the address location. Decimal degrees format; negative is degrees South. **Note:**Value must be between -180 and 180, both inclusive.
Postal or ZIP code
Region or state
Address type
Address line 2
Address line 3
Address line 4
Contact person's email
Merchant-defined shipping discount amount
Merchant-defined shipping cost
Total shipping tax
Type of shipping address. There are no pre-defined values; the possible values are SDD (Same Day Delivery), Point-of-Sale (POS), etc.
A number indicating the ship to unit price.
Shipment instructions
Applicable tax code, varies from state to state
Tax amount
Merchant-defined custom attributes. This is a placeholder for additional info (in key: value pairs).
Merchant-defined custom attributes. This is a placeholder for additional info (in key: value pairs).
Three-letter currency code as defined by ISO-4217
Applied tax name
Rate
Rate type
Tax code applied
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.
Current version of order document. Indicates the number of times the order is updated by any operation.
The total amount of price adjustments for all items of the order.
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.
Sequential or incremental counter for price adjustment
Adjustment amount
Merchant-defined custom attributes. This is a placeholder for additional info in key: value pairs.
Cancel quantity
Total quantity invoiced
Placeholder for additional info, if any.
Adjustment quantity
Reason code
Returned quantity of given item
Subreason code
System-generated order allocation time (UTC) once the order is allocated using Allocation service
Final appeasement amount
Merchant-defined appeasement amount, which should not exceed (charged amount - already refunded amount)
Sequential or incremental counter for appeasement. Used for keeping track of duplicates in the request. If omitted in the request, it is automatically generated and will not be used to check duplicates. Multiple appeasement calls for the same order can cause repetition of appeasement counter and may cause the request to be rejected completely.
Merchant-defined custom attributes. This is a placeholder for additional info in key: value pairs
System-generated amount from Invoice service based on requested amount
Merchant-defined appeasement reason code; varies from merchant to merchant
Subreason code for appeasement, for another layer of classification