/api/v0/orders

Creates an Order for fulfillment. Spreetail uses a unique Spreetail ProductID in order to process orders.

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…

CustomerDetails

FieldContents
shippingAddressAn object of Address

Address

FieldContents
fullNameFull Name of the recipient. Required, max length is 100.
emailContact email for delivery issues. Optional, max length is 100.
addressLinesMust have at least 1 address line, at most 3. Each address line must not exceed 255 characters. Required. (Ex: 123 Main Street)
cityDelivery City. Required, max length is 50
provinceOrStateDelivery Province or State. Either full name or abbreviation will work. (Ex: New Jersey or NJ) Required
postalOrZipCodeZipCode. Required. When 'CountryCode' is US the 'PostalOrZipCode' must be 5 digits, or when specifying a Zip+4 be formatted with a separating dash
countryCodeTwo character Country Code (ISO 3166-1 alpha-2). Required
phoneContact phone for delivery issues. Phone Number' Must have at least 10 numeric digits. Max length = 35. Required

OrderDetails

FieldContents
customerOrderIdYour unique order ID, this can be used to retrieve further details about an order. Required, max length = 40, cannot using existing customer Order Id
marketplaceOrderIdThe unique identifier for the order within the originating marketplace. Optional, max length is 40
orderDateA UTC time. Required, orderDate must be less that 30 days old (UTC) and should not be a future date
sourceOfSale

Originating source of sale. Required, max length is 50,must in the below sourceOfSale list:

See Schema Elements > SourceOfSale for details

lineItemsAn array of OrderLineItems. Required
discountTotalThe total discount from the order. Must be the sum of all line items unit discount times quantity
subTotalThe total revenue from the order, including discounts, excluding taxes. Must be the sum of all line items unit price times quantity. Required. Should >= 0.
salesTaxSales Tax of the line item. Required, it can be 0.
grandTotalTotal financial value received from the order, including any discounts and taxes. Must be subtotal plus taxes. Required
requestedDeliveryDateThe preferred date and time that the marketplace is requesting. Optional

OrderShippingDetails (Optional)

FieldContents
carrierIdThe specific carrier of the order. It is later used to identify the name of the carrier and its service level. Required.
shippingAccountNumberThe account number of the source of sale. Optional
shipLabelNameDisplayThe name that the brand wants to display on the shipping label. Optional
shippingContactNameThe shipper's company name. Optional
shippingContactPhoneNumberThe shipper's phone number. Optional

OrderLineItems

📝

Note

ProductID is critical in order to fulfill orders. This must be the Spreetail mapped ProductID mapped to the product. This is a unique identifier created by Spreetail for inventory tracking and fulfillment in our supply chain. This can be retrieved using 'Get All Inventory Items' endpoint (/api/v0/inventory/items).

FieldContents
productIdThe Spreetail provided Product Identification. This can be retrieved using 'Get All Inventory Items' endpoint (/api/v0/inventory/items). Max length is 50. Required.
customerLineItemIdA unique identifier for this item in the order. Must only be unique per order. (Example: 001, 002, 003, 004). Max length is 40. Required.
nameThe name of the item sold. Max length is 100. Required.
quantityQuantity sold. Required, must greater than 0
unitPriceTotal unit sale price of the item sold, excluding any discounts. Must >= 0

Sample Data Submission

{
  "customerDetails": {
    "shippingAddress": {
      "fullName": "string",
      "email": "string",
      "addressLines": [
        "string"
      ],
      "city": "string",
      "provinceOrState": "string",
      "postalOrZipCode": "string",
      "countryCode": "st",
      "phone": "string"
    }
  },
  "orderDetails": {
    "customerOrderId": "string",
    "orderDate": "2024-03-18T18:23:57.089Z",
    "sourceOfSale": "OtherMarketplace",
    "lineItems": [
      {
        "productId": "string",
        "name": "string",
        "customerLineItemId": "string",
        "quantity": 0,
        "unitPrice": 0
        "discount": 0
      }
    ],
    "subTotal": 0,
    "salesTax": 0,
    "grandTotal": 0
  },
   "orderShippingDetails": {
    "carrierId": "FedExGround",
    "shippingAccountNumber": "string",
    "shipLabelNameDisplay": "string",
    "shippingContactName": "string",
    "shippingContactPhoneNumber": "string"
  }
}

CarrierId

The id of the carrier of the order. May be one of the following (case sensitive)

CarrierId
FedExGround
FedEx2Day
FedExOvernight

SourceOfSale

The originating source of sale. May be one of the following (case sensitive):

SourceOfSale
AliExpress
Amazon
AmazonCa
BestBuy
Chewy
Ebay
Etsy
Express
FacebookMarketplace
GoogleExpress
HomeDepot
InstagramMarketplace
Kohls
Kroger
Lowes
LowesMarketplace
Macys
NBCUniversal
NewEgg
OfficeDepot_OfficeMax_Staples
OneEightHundredFlowers
Overstock
QVC_HSN
Sears
Shein
Shopify
Target
Temu
TheKnot
TikTok
Vmi
Walmart
WalmartCa
Wayfair
Wish
OtherMarketplace

Error Messages

409 Error Messages

"Shippable Inventory out of stock for ProductId 'ProductId'"

The 409 Conflict error is triggered by inventory checks performed at the NETWORK level, meaning it evaluates inventory availability across all fulfillment centers. This error is ONLY triggered when the product is out of stock across the entire network.

400 Error Messages

"0 Shippable Quantity"

There is an invalid field in the order.

"Must have at least one address line"

Address is missing in the transmission in the order.

Body Params
customerDetails
object
required
orderDetails
object
required
orderShippingDetails
object
orderGiftMessageLabelDetails
object
Headers
string
enum
Defaults to application/json

Generated from available response content types

Allowed:
string
enum
Defaults to application/json

Generated from available request content types

Allowed:
Responses

401

Unauthorized

403

Forbidden

Language
Credentials
Bearer
JWT
URL
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
text/plain
application/json
text/json