Skip to content

PostSalesOrder

Field Type Required Description
externalCode ExternalCode external order id
min length 1
shopCode ShopCode Code of the source shop.
type SalesOrderType one of: standard · default: "standard"
customerId string yes Customer identifier
externalCustomerNumber ExternalCustomerNumber A customer number / reference to an external system.
localeCode LocaleCodeNormalized yes 5-character locale code - normalized to lowercase with dash separator. e.g. ‘en-us’.
pattern: ^[a-z]{2}[-_][a-zA-Z]{2}$
currencyCode CurrencyCode yes max length 3 · min length 3
status SOStatus one of: new, open, rejected, canceled, ready, fulfilled, completed, inProgress
taxExempt boolean default: false
expedited boolean Indicates if the order needs to be threated expediently
notes Notes Customer notes where the shopper can provide special instructions. The notes are shown in the In-Store App & Admin.
max length 1000
specialInstructions SpecialInstructions Special instructions of the order. It can contain special shipping or fulfillment instructions
data `object null`
addressSequences array[SetAddressSequence] yes
primaryBillToAddressSequenceIndex number yes Position in the AddressSequences-Array, mandatory for all fulfillment methods that include billing like directShip and BOPIS
primaryShipToAddressSequenceIndex number Position in the AddressSequences-Array, mandatory for all fulfillment methods that include shipping like directShip
coupons array[PostCoupon] Coupon of the order. If the order is in the status new only the code needs to be passed For all other status the whole object should to be filled out with to have all information of the coupons persist for transparency purposes.
appliedPromotions AppliedPromotions Applied promotions of the order. If the order is in the status new this parameter will be ignored. The system will automatically calc the promotions for the order
lineItems array[PostSOLineItem] yes
subTotal number yes The subtotal of the order (Formula: Sum of all lineItem.extendedPrice)
format: float
discountAmount OrderDiscountAmount Total amount of all applied promotions with coupons on order level. Without line item level promotions, since these are already included in the order subtotal.
format: float · default: 0
promoAmount OrderPromoAmount Total amount of all applied promotions on order level. Without line item level promotions, since these are already included in the order subtotal.
format: float · default: 0
shippingSubTotal number The original shipping costs, without any discounts or promotions
format: float
shippingDiscountAmount number Discounts on the shipping costs because of a couppon
format: float
shippingPromoAmount number Discounts on the shipping costs because of an (automatically applied) promotion
format: float
shippingTotal number The final shipping costs including shippingDiscountAmount & shippingPromoAmount (Formula: shippingSubTotal + shippingDiscountAmount + shippingPromoAmount)
format: float
taxAmount TaxAmount Tax amount of the first tax group (e.g. for german taxes this is an absolut number based on either 7% or 19% of the order total; the order total is 10.00 EUR so the taxAmount is 10.00 EUR * 0.19 = 1.9 EUR)
format: float · default: 0
tax2Amount Tax2Amount Tax amount of the second tax group (can be used for additional taxes like for example US state taxes)
format: float · default: 0
taxSummary TaxSummary
total number yes The final price of the order that the shopper has to pay, including all promotions, discounts, shipping costs etc.
format: float
submitDate SubmitDate yes Date when the order was submitted by the customer
format: date-time
fulfillDate FulfillDate Date when the order status was changed to fulfilled
format: date-time
completeDate CompleteDate Date when the order status was changed to completed
format: date-time
sourceIp SourceIP IP address from the client where the order was placed. It can be a IPv4 or IPv6 address
userAgent UserAgent The UserAgent string from headers of the incoming request.
domain Domain The domain from which order came.
pattern: ^(((?!-))(xn--|_{1,1})?[a-z0-9-]{0,61}[a-z0-9]{1,1}\.)*(xn--)?([a-z0-9][a-z0-9\-]{0,60}|[a-z0-9-]{1,30}\.[a-z]{2,})$
platform Platform The platform from which the order came.
one of: engage, desktop, mobile, checkoutPage, inStoreApp, other
os OS Operation system of the source device
one of: ios, android, other
imported Imported Indicates if the order has been imported from an external system. Enabling this flag means that there will be no further processes triggered by this order like emitting events, calculating properties like prices, or starting payment transactions.
campaignAttribution CampaignAttribution Campaign the order should be attributed to
{
"externalCode": "000000274",
"shopCode": "shop_12345",
"type": "standard",
"customerId": "55c98b8e-1100-497c-8df6-4b4f0353ab2a",
"externalCustomerNumber": "C1756793",
"localeCode": "de-de",
"currencyCode": "EUR",
"status": "new",
"taxExempt": true,
"expedited": false,
"notes": "Please wrap each item individually.",
"specialInstructions": "House behind the dumpster"
}