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 |
Example
Section titled “Example”{ "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"}
