Skip to main content

Orders

Order API exposes endpoints for creating, updating and searching orders. Additionally, endpoints for processing orders and managing order shipments are available.

Fields

An order resource contains the fields below:

  • fields available when creating an order via the API are marked in the Create via POST column.
  • a smaller subset of these fields is updatable using the API, these are marked in the Update via Patch column.
NameDescriptionTypeGet order (GET)Create order (POST)Update order (PATCH)
idorder idintegerx
shopshop identifierJSON objectx
statusorder statusstringxxx
channelIdchannel idintegerxx
shopIdshop idintegerx
sourceexternal systemstringxx
sourceIdexternal system unique idstringxx
userIdcustomer user id ofintegerx
debtorIdcustomer debtor Idstringxx
firstNamecustomer first namestringxx
middleNamecustomer middle namestringxx
lastNamecustomer last namestringxx
emailcustomer emailstringxx
typeorder typeenum

dropshipment
stock
purchase
quotation
x
remarksorder remarksstringxx
referenceorder reference (e.g. po number)stringxx
extraInfoorder extra infostringxx
languagelocale in which the order was created (e.g. EN-US)string ISO 639-1xxx
dateorder datedatexx
orderSourceorder was create via which medium (webshop / backoffice / API)stringxxx
externalId (deprecated)external order idstringxx
itemCounttotal number of orderItemsintegerx
exportDateorder export datedatexx
exportStatusorder export statusenum

EXPORTED
FAILED
xx
exportMessageorder export message (e.g. a success or failed message)stringxx
merchantCostcosts calculated by a marketplace (e.g. Amazon)integerxx
accountingIdidentifier for accounting purposesstringxx
trackTraceCodeTrack and trace codes of the orderstringx
paymentDataJSON object (paymentData)x
totalobject containing various calculation of summed itemsJSON object (total)xx
postageDataJSON object (postageData)xxx
clientDatauser / contact or customer objectJSON objectxx
invoiceDatainvoice addressJSON objectxx
shippingDatashipment addressJSON objectxx
itemsorder itemsarray (items)x

Payment data

NameDescriptionTypeGet order (GET)Create order (POST)Update order (PATCH)
payMethodmethod of payment, e.g. creditcard, on account, direct debit. The value should match the paymethod configured in the Propeller backofficestringxx
grossAmountcost of the payment excluding VAT (e.g. creditcard transaction costs)integerxx
netAmountcost of payment including VATintegerx
payStatusstatus of the paymentstringxx
payStatusDatedate of payment processingdatex
transactionIdIdentifier of the transaction, often this is an id returned by the payment service providerstringxx

Total

NameDescriptionTypeGet order (GET)Create order (POST)Update order (PATCH)
discountPercentagediscount percentage on the total order amountintegerxx
discountValuediscount amount on the total order amountintegerxx
totalNettotal order amount including VATintegerx
totalGrosstotal order amount excluding VATintegerx
taxtotal VAT amounts per Tax percentage of the combined order itemsJSON objectx

Postage data

NameDescriptionTypeGet order (GET)Create order (POST)Update order (PATCH)
requestDateorder requested delivery datedatexxx
shippingMethodmethod of shipment, e.g. regular, dropshipment, pickup, etc. The value should match the shippingmethods configured in the Propeller backofficestringxx
postageTaxCodepostage/shipping costs tax codeenum

H = High
L = Low
N = None
x
postageTaxPercentagepostage/shipping cost tax percentageintegerx
postagepostage/shipping costs excluding VATintegerxx
postageNetpostage/shipping costs including VATintegerx
partialDeliveryAllowedis partial delivery of the order allowedenum

Y = Yes
N = No
xx
carrierstringx
pickUpLocationIdintegerx

Client data

NameDescriptionTypeGet order (GET)Create order (POST)Update order (PATCH)
user resourceall fields related to a user / contact / customer resourceuserx
contacta reference by lookup key to an existing contact resourceJSON objectx
customera reference by lookup key to an existing customer resourceJSON objectx
usera reference by lookup key to an existing user resourceJSON objectx

Invoice data

NameDescriptionTypeGet order (GET)Create order (POST)Update order (PATCH)
addressinvoice addressJSON object (address)xx

Shipping data

NameDescriptionTypeGet order (GET)Create order (POST)Update order (PATCH)
addressshipping addressJSON object (address)xx

Items

NameDescriptionTypeGet order (GET)Create order (POST)Update order (PATCH)
typeorderItem typeenum

product
xx
product resourceall fields related to a product resourceproductx
childItemsproduct child itemsarray[products]x
nameorderItem namestringx
quantityorderItem quantityintegerx
priceorderItem pricenumberx
originalPriceproduct default pricenumberx
notesorderItem notesstringx
skuproduct sku used for product lookupstringx
supplierproduct supplier used for product lookupstringx
supplierCodeproduct suppliercode used for product lookupstringx
sourceproduct source used for product lookupstringx
sourceIdproduct sourceId used for product lookupstringx
turnoverGroupidentifier for accounting purposesstringx
discountAmountsum of all item incentives applied by business rulesnumberx
discountAmountTotaldiscountAmount * quantitynumberx
discountPercentagediscountAmount percentage of the item pricenumberx
discountAmountNetdiscountAmount + taxnumberx
discountAmountTotalNetdiscountAmount * quantity + taxnumberx

Order Lookup keys

identifierDescriptionType
idPropellor orderidinteger
sourceIdExternal system unique id. sourceId should be combined with sourcestring
externalId (deprecated)id of an external system which is stored as externalId in the Propellor orderstring

What are lookup keys?

Expanding resources

Query parameterDescription
orderItemsExpand orderItems in the response payload
orderItems.productExpand product details as part of the orderItems in the response payload
sourcesExpand sources in the response payload

Order Errors

This section describes error codes specific for the Order resource.

CodeError TypeStatus CodeMessageReason
15001OrderNotFound404Order does not existOrder with such lookup key not found
15002OrderNotProcessed400Order not processedOrder was not processed successfully
15003ParentOrderNotFound404Parent order does not existParent order with such lookup key not found. This error is typical when working with order sub-resources (e.g. addresses)
90006AddressNotFound404Address does not existOrder address does not exist
15004OrderExists400Order already existsWhen creating / updating an order the sourceId / source combination already exists in Propeller.