Skip to content

Get sales order

GET
/merchants/{merchantCode}/orders/{orderNumber}
curl --request GET \
--url 'https://order.shopgate.io/v1/merchants/example/orders/example?includeInternalIds=false&getOriginalImageUrls=true'

Get sales order

merchantCode
required
string

Unique merchant code which represents the unique “merchant account”.

orderNumber
required
string

Unique order number

includeInternalIds
boolean

The entity gets extended with the internal ID of Shopgate, this query cannot be used by external clients.

fields
string

List of specific fields or groups to return. Possible values are: customer, orderUrl, isOrderable

getOriginalImageUrls
boolean
default: true

Return sales order

Media typeapplication/json
object
order
object
orderNumber

Number of the Order. Its need to be unique in the system

string
shopCode

Code of the source shop.

string
externalCode

External order id

string
>= 1 characters
type
string
default: standard
Allowed values: standard
customerId

Customer identifier

string
externalCustomerNumber

A customer number / reference to an external system.

string
status
string
Allowed values: new open rejected canceled ready fulfilled completed inProgress
expedited

Indicates if the order needs to be threated expediently

boolean
localeCode
string
>= 2 characters <= 5 characters
currencyCode
string
>= 3 characters <= 3 characters
taxExempt
boolean
notes

Customer notes where the shopper can provide special instructions. The notes are shown in the In-Store App & Admin.

string | null
<= 1000 characters
specialInstructions

Special instructions of the order. It can contain special shipping or fulfillment instructions

string | null
data
object
fulfillmentStatus
string
Allowed values: open inProgress completed actionRequired
primaryBillToAddressSequenceIndex

Position in the AddressSequences-Array, mandatory for all fulfillment methods that include billing like directShip and BOPIS

number
primaryShipToAddressSequenceIndex

Position in the AddressSequences-Array, mandatory for all fulfillment methods that include shipping like directShip

number
addressSequences
Array<object>
object
type
string
Allowed values: pickup shipping billing
customerContactId
string | null
firstName
string
middleName
string | null
lastName
string
companyName
string | null
address1
string | null
address2
string | null
address3
string | null
address4
string | null
city
string | null
region
string | null
postalCode
string | null
country

ISO 3166 ALPHA-2 / ISO 3166-2 Country Code

string | null
<= 2 characters
additionalFields
object
dhlPostBoxNumber

Number of a postbox

string | null
>= 1 characters <= 5 characters
dhlPostNumber

Number of a post

string | null
>= 1 characters <= 10 characters
phone

Validated according to country code

string | null
fax

Validated according to country code

string | null
mobile

Validated according to country code

string | null
emailAddress
string | null format: email
orderSegment
object
selectedShippingMethod
object
code
string
name
string
serviceLevel
object
code
string
name
string
cost
number format: float
iconUrl
string
carrier
object
code
string
name
string
availableShippingMethods

Contains all shipping method which are available fro this order segment. This property is only set if the order was not placed yet and is in the new status

Array<object>
object
code
string
name
string
serviceLevels
Array<object>
object
code
string
name
string
cost
number format: float
iconUrl
string
carrier
object
code
string
name
string
subTotal

Subtotal of the order

number format: float
discountAmount

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.

number format: float
0
promoAmount
number format: float
0
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)

number format: float
0
tax2Amount

Tax amount of the second tax group (can be used for additional taxes like for example US state taxes)

number format: float
0
shippingSubTotal

Shipping total without any discounts. Its based on the line items in the order

number format: float
shippingDiscountAmount

Sum of discounts applied to the shipping total

number format: float
shippingPromoAmount
number format: float
shippingTotal

Shipping total including all discounts

number format: float
taxSummary
Array<object>
object
code
string
name
string
amount
number
total

Total sum of the order including tax, shipping and discounts

number format: float
date

Date of the order when it was created in the Shopgate system

string format: date-time
submitDate

Date when the order was submitted by the customer

string | null format: date-time
fulfillDate

Date when the order status was changed to fulfilled

string | null format: date-time
completeDate

Date when the order status was changed to completed

string | null format: date-time
sourceIp

IP address from the client where the order was placed. It can be a IPv4 or IPv6 address

string
userAgent

The UserAgent string from headers of the incoming request.

string | null
domain

The domain from which order came.

string | null
/^(((?!-))(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

The platform from which the order came.

string
Allowed values: engage desktop mobile checkoutPage inStoreApp other
os

Operation system of the source device

string
Allowed values: ios android other
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.

boolean
campaignAttribution

Campaign the order should be attributed to

object
campaignCode
required
string
channel
required
string
distributionIndex
required
number
lineItemCount
number
paymentTransactions
Array<object>
object
id
string
externalCode

External identifier for this transaction

string
status
string
Allowed values: processing authorized captured failed
type
string
Allowed values: order refund
paymentMethod
object
code
string
type
string
provider
string
authorizedAmount

Originally authorized amount

number
chargedAmount

Charged amount of this transaction

number
checkoutParams

Different from payment method to payment method

object
paymentError
object
message
string
code

External error code of the provider

string
paymentInfo
object
type
string
card
object
type

Is set if the type is cc

string
Allowed values: visa masterCard AMEX discover jcb diners unknown
last4
number
fulfillmentGroups
Array
object
id
number
fulfillmentMethod
required
string
Allowed values: directShip BOPIS ROPIS
fulfillmentLocationCode
string
shipToAddressSequenceIndex
number
fulfillments
required
Array<object>
object
status
required
string
Allowed values: open canceled inProgress fulfilled
carrier
string
serviceLevel
string
tracking
string
fulfillmentPackages
required
Array<object>
object
status
string
default: open
Allowed values: open inProgress readyForPickup inTransit fulfilled canceled
serviceLevel
string
package
string
fulfilledFromLocationCode
required
string
weight

The actual package weight.

number format: float
weightUnit
string
Allowed values: g lb
dimensions
object
length
number format: float
lengthUnit
string
Allowed values: mm cm in
width
number format: float
widthUnit
string
Allowed values: mm cm in
height
number format: float
heightUnit
string
Allowed values: mm cm in
tracking
string
pickUpBy
string
labelUrl
string
labelType
string
Allowed values: pdf zpl
fulfillmentDate

The date and time of the package entering status “inTransit” or “fulfilled”.

string format: date-time
packageItems
required
Array<object>
object
salesOrderLineItemCode
required
string
quantity
required
number
key
additional properties
any
fulfillmentMethod
required
string
Allowed values: directShip BOPIS ROPIS
fulfillmentLocationCode
string
shipToAddressSequenceIndex
number
fulfillments
required
Array
object
id
number
status
string
Allowed values: open canceled inProgress fulfilled
carrier
string
serviceLevel
string
tracking
string
fulfillmentPackages
Array<object>
object
id
number
status
string
Allowed values: open inProgress readyForPickup inTransit fulfilled canceled
serviceLevel
string
fulfilledFromLocationCode
string
weight
number format: float
weightUnit
string
Allowed values: g lb
dimensions
object
length
number format: float
lengthUnit
string
Allowed values: mm cm in
width
number format: float
widthUnit
string
Allowed values: mm cm in
height
number format: float
heightUnit
string
Allowed values: mm cm in
tracking
string
pickUpBy
string
labelUrl
string
labelType
string
Allowed values: pdf zpl
fulfillmentDate
string format: date-time
packageItems
Array<object>
object
id
number
salesOrderLineItemCode
string
quantity
number
coupons

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.

Array<object>
object
code
required

Code of the coupon

string
name

Name of the coupon

string
limits
object
overall

Limit for the overall usage of this coupon

number | null
maxPerCustomer

Indicates how often this coupon can be used per customer

number | null
status
string
Allowed values: active redeemed inactive
couponSet
object
code
string
name
string
promotion
object
code
string
name

Name of the Coupon

string
lineItems
Array
object
quantityChangeReason

Reason for a quantity change. Needs to be set if a new quantity is set. Deprecated reasons:

  • wrongAttribute
  • wrongProduct
  • changedMind
  • brokenOrDamaged
  • outOfStock
string
Allowed values: wrongItem wrongProduct wrongAttribute wrongQuantity changedMind customerCanceled brokenOrDamaged itemDamaged outOfStock outdatedStockInfo unavailable substituted other
status
string
Allowed values: open inProgress rejected canceled fulfilled
subStatus
string | null
Allowed values: replaced substituted
returnQuantity
number
routedQuantity

Sum of this line item in fulfillment orders.

number
code
required

Identifier for the line item. Needs to be unique within the sales order.

string
parentLineItemCode

Identifier for the parent line item. Needs to be unique within the sales order.

string | null
quantity
required
number format: float
fulfillmentMethod
required
string
Allowed values: directShip BOPIS ROPIS
fulfillmentLocationCode
required
string | null
shipToAddressSequenceIndex
required

Index of the address in the address sequence array where it should be shipped to

integer
product
required
object
code
required

Product code

string
>= 1 characters
name
required

Product name

string
image

Main image url of the product

string | null format: uri
price
required

Main price of the product

number format: float
salePrice

Sale price of the product

number | null format: float
currencyCode
required
string
>= 3 characters <= 3 characters
identifiers
object
mfgPartNum
null | string
<= 255 characters
upc
null | string
<= 255 characters
ean
null | string
<= 255 characters
isbn
null | string
<= 255 characters
sku
null | string
<= 255 characters
distiPartNum
null | string
<= 255 characters
options
Array<object>
object
code
required
string
name
required
string
value
required
object
code
required
string
name
required
string
currencyCode
required
string
>= 3 characters <= 3 characters
shippingAmount
number format: float
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)

number format: float
0
tax2Amount

Tax amount of the second tax group (can be used for additional taxes like for example US state taxes)

number format: float
0
taxExempt
boolean
unitPromoAmount

Amount of all applied promotions for a single unit (single quantity).

number format: float
0
unitDiscountAmount

Amount of all applied discounts (promotions with coupons) for a single unit (single quantity).

number format: float
0
discountAmount

Total amount of all applied promotions with coupons for the line item. (Formula: lineItem.unitDiscountAmount * lineItem.quantity)

number format: float
0
promoAmount

Total amount of all applied promotions for the line item. (Formula: lineItem.unitPromoAmount * lineItem.quantity)

number format: float
0
overrideAmount
number format: float
extendedPrice
required

The extended Price is the final price of the line item, including all discounts & promotions that apply to this line item, and also already multiplied with the quantity. Formula: (product.price or product.salePrice if not empty) * quantity + promoAmount + discountAmount. Example: A product original price is 60€ (product.price), but it is on sale for 40€ (product.salePrice). Ordered quantity is 2, there is no discount but there is a promotion that applies to this product and gives 10% additional discount (unitPromoAmount = 4€, promoAmount = 8€). The extended price of this line item should be (40€ * 2) + (-8€) = 72€.

number format: float
price
required

Price of the line item. Formula: (product.price or product.salePrice if not empty) * quantity

number format: float
substitutionAllowed

Determines if a substitution is allowed for this line item.

boolean
default: true
fulfillmentSlot
object
id

Id of the fulfillment slot

string
date
string format: date
weekday
string
Allowed values: sun mon tue wed thu fri sat
from

Hour and minute of the day where the time should start

string
to
string
status
string
Allowed values: active busy inactive
orderLimit

Limit of orders which can be placed in this slot. This value can only be set for the type fulfillmentSlot

number | null
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

Array<object>
object
code
required
string
name
required
string
model
string
default: simpleDiscount
Allowed values: simpleDiscount BOGO
description
string | null
promotionalText

Promotional text that will be displayed to the customer

string | null
status
string
default: active
Allowed values: active inactive
startDate
required
string | null format: date-time
endDate
string | null format: date-time
target
string
default: order
Allowed values: order product orderShipping productShipping
type
string
Allowed values: coupon promotion
discount
required
object
type
required
string
Allowed values: percentage absolute fixedPrice
amount
required
number format: float
conditions
object
impact

Describes the impact of the promotion to specific line items. This only applies to BOGO promotions

object
conditions
required

Condition for products which should be impacted by the promotion This only applies to BOGO promotions.
Available condition fields are:

  • lineItem.product.code
  • lineItem.product.categoryCode
  • lineItem.product.price
  • lineItem.product.salePrice
  • lineItem.product.quantity
  • lineItem.product.options.<optionsCode>
  • lineItem.product.properties.<propertyCode>
The condition lineItem.quantity is always required. It needs to be set in the first level or in the $and condition on the first level
object | null
automaticallyAddedToCart

Indicates if the product which the customer would receive is automatically added to the cart. This only applies if the condition has one rule with a single product code

boolean
coupon
object
code
required

Unique coupon code. This code can be used by the end customer to activate a promotion in his cart.

string
name
required

Name of the Coupon

string
limits
object
overall

Limit for the overall usage of this coupon

number | null
maxPerCustomer

Indicates how often this coupon can be used per customer

number | null
couponSet
object
code
required
string
type
required
string
Allowed values: generated custom
count

Only available and must be set for generated couponSet type.

number
<= 50000
name
required
string
description
string
prefix
string
suffix
string
limitConditions

Set the limits how often the promotion can be used by a customer and with which other promotion it can be combined. For the field cantBeCombinedWithPromotionCode promotion code(s) can be given or a special code anyProductPromotions|anyOrderPromotions that will exclude any product|order promotion when it gets calculated. Available condition fields are:

  • maxOverallUsageCount
  • maxCustomerUsageCount
  • maxUsagePerOrder (only works for target=product)
  • cantBeCombinedWithPromotionCode
object | null
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

Array<object>
object
code
required
string
name
required
string
model
string
default: simpleDiscount
Allowed values: simpleDiscount BOGO
description
string | null
promotionalText

Promotional text that will be displayed to the customer

string | null
status
string
default: active
Allowed values: active inactive
startDate
required
string | null format: date-time
endDate
string | null format: date-time
target
string
default: order
Allowed values: order product orderShipping productShipping
type
string
Allowed values: coupon promotion
discount
required
object
type
required
string
Allowed values: percentage absolute fixedPrice
amount
required
number format: float
conditions
object
impact

Describes the impact of the promotion to specific line items. This only applies to BOGO promotions

object
conditions
required

Condition for products which should be impacted by the promotion This only applies to BOGO promotions.
Available condition fields are:

  • lineItem.product.code
  • lineItem.product.categoryCode
  • lineItem.product.price
  • lineItem.product.salePrice
  • lineItem.product.quantity
  • lineItem.product.options.<optionsCode>
  • lineItem.product.properties.<propertyCode>
The condition lineItem.quantity is always required. It needs to be set in the first level or in the $and condition on the first level
object | null
automaticallyAddedToCart

Indicates if the product which the customer would receive is automatically added to the cart. This only applies if the condition has one rule with a single product code

boolean
coupon
object
code
required

Unique coupon code. This code can be used by the end customer to activate a promotion in his cart.

string
name
required

Name of the Coupon

string
limits
object
overall

Limit for the overall usage of this coupon

number | null
maxPerCustomer

Indicates how often this coupon can be used per customer

number | null
couponSet
object
code
required
string
type
required
string
Allowed values: generated custom
count

Only available and must be set for generated couponSet type.

number
<= 50000
name
required
string
description
string
prefix
string
suffix
string
limitConditions

Set the limits how often the promotion can be used by a customer and with which other promotion it can be combined. For the field cantBeCombinedWithPromotionCode promotion code(s) can be given or a special code anyProductPromotions|anyOrderPromotions that will exclude any product|order promotion when it gets calculated. Available condition fields are:

  • maxOverallUsageCount
  • maxCustomerUsageCount
  • maxUsagePerOrder (only works for target=product)
  • cantBeCombinedWithPromotionCode
object | null
fulfillmentSlots

Selected fulfillment slots of the selected locations. You can only select on slot per location

Array<null | object>
object
id

Id of the fulfillment slot

string
date
string format: date
weekday
string
Allowed values: sun mon tue wed thu fri sat
from

Hour and minute of the day where the time should start

string
to
string
status
string
Allowed values: active busy inactive
orderLimit

Limit of orders which can be placed in this slot. This value can only be set for the type fulfillmentSlot

number | null
customer

Customer of the order. This property only exists if ‘customer’ is passed in the field query parameter.

object
id
string
internalCustomerNumber

Internal Customer number, set automatically upon creation

number
externalCustomerNumber

External Customer number

string
firstName

First name of the customer

string
middleName

Middle name of the customer

string | null
lastName

Last name of the customer

string
emailAddress
string format: email
status
string
default: active
Allowed values: active inactive deleted
isAnonymous

Indicates anonymous/guest customer.

boolean
externalUpdateDate
string format: date-time
taxExempt
boolean
taxClass

Tax class of the customer.

string
contacts
Array<object>
object
id

API identifier for the contact

string
externalContactCode

External identifier of the contact

string | null
status
string
default: active
Allowed values: active inactive deleted
firstName
string
middleName
string | null
lastName
string
companyName
string | null
address1
string
address2
string | null
address3
string | null
address4
string | null
city
string
postalCode
string
region
string
country
string
additionalFields
object
dhlPostBoxNumber

Number of a postbox

string | null
>= 1 characters <= 5 characters
dhlPostNumber

Number of a post

string | null
>= 1 characters <= 10 characters
phone

Validated according to country code

string | null
fax

Validated according to country code

string | null
mobile

Validated according to country code

string | null
emailAddress
string format: email
isDefaultBilling
boolean
isDefaultShipping
boolean
externalUpdateDate
string format: date-time
attributes
Array

Custom customer attribute

object
code
required

Code of the defined customer attribute

string
value

Value for this attribute. Its a free text field for attributes where no values are set. Attributes which have value set should contains the code in an object. For instance value: { "code": "fish" }

name

Human readable name of the attribute

string
settings

All customer settings which are defined by Shopgate

object
defaultLocale
string
defaultCurrency
string
communicationPreferences

Communication Preferences.

Array<string>
default: sms,push
Allowed values: sms email push
defaultLocationCode
string
marketingOptIn
boolean
associatedShops
Array<string>
returnStatus
string | null
Allowed values: partialReturn returned
isOrderable

Indicates if this order is orderable. Its used for the checkout. This property only exists if ‘isOrderable’ is passed in the field query parameter.

boolean
Example
{
"order": {
"orderNumber": "1293747",
"shopCode": "shop_12345",
"externalCode": "000000274",
"type": "standard",
"customerId": "55c98b8e-1100-497c-8df6-4b4f0353ab2a",
"externalCustomerNumber": "C1756793",
"status": "new",
"expedited": false,
"localeCode": "de-de",
"currencyCode": "EUR",
"taxExempt": false,
"notes": "Some note",
"specialInstructions": "House behind the dumpster",
"data": {},
"fulfillmentStatus": "open",
"primaryBillToAddressSequenceIndex": 0,
"primaryShipToAddressSequenceIndex": 0,
"addressSequences": [
{
"type": "shipping",
"customerContactId": "0b475af4-7ed9-4065-b4bb-7d76c537d820",
"firstName": "Max",
"middleName": "René",
"lastName": "Muster",
"company": "Shopgate GmbH",
"address1": "Schloßstr. 10",
"address2": "Haus B",
"address3": "erste Etage",
"address4": null,
"city": "Butzbach",
"region": "HE",
"postalCode": "35510",
"country": "DE",
"additionalFields": {
"dhlPostBoxNumber": 12345,
"dhlPostNumber": 1234567890
},
"phone": "+49 12345 6789 001",
"fax": "+49 12345 6789 002",
"mobile": "+49 12345 6789 003",
"emailAddress": "max.muster@shopgate.com",
"orderSegment": {
"selectedShippingMethod": {
"code": "standardShipping",
"serviceLevel": {
"code": "standard",
"carrier": {
"code": "DHL",
"name": "DHL International"
},
"name": "DHL Standard",
"cost": 4.99,
"iconUrl": "https://myserver.com/DHL.png"
},
"name": "Standard Shipping"
},
"availableShippingMethods": [
{
"code": "standardShipping",
"name": "Standard Shipping",
"serviceLevels": [
{
"code": "string",
"name": "DHL Standard",
"cost": 4.99,
"iconUrl": "https://myserver.com/DHL.png",
"carrier": {
"code": "DHL",
"name": "DHL International"
}
}
]
}
]
}
}
],
"subTotal": 65.99,
"discountAmount": 0,
"promoAmount": 6.6,
"taxAmount": 0,
"tax2Amount": 0,
"shippingSubTotal": 4.99,
"shippingDiscountAmount": 0,
"shippingPromoAmount": 0,
"shippingTotal": 0,
"taxSummary": [
{
"code": "default_19",
"name": "19%",
"amount": 11.28
}
],
"total": 59.39,
"date": "2021-12-16T16:17:47.929Z",
"submitDate": "2019-09-02T09:02:57.733Z",
"fulfillDate": "2019-09-03T15:02:32.733Z",
"completeDate": "2019-09-03T15:02:57.733Z",
"sourceIp": "85.45.62.2",
"userAgent": "Mozilla/5.0 (Android 4.4; Mobile; rv:41.0) Gecko/41.0 Firefox/41.0",
"domain": "www.mydomain.com",
"platform": "engage",
"os": "ios",
"imported": false,
"campaignAttribution": {
"campaignCode": "CMP-1",
"channel": "push",
"distributionIndex": 0
},
"lineItemCount": 1,
"returnStatus": "partialReturn",
"paymentTransactions": [
{
"id": "edadf6a6-f536-489f-92b8-c15fc1edc19b",
"externalCode": "pi_GTS8a787uuRMaC86GBxpDABYn",
"status": "failed",
"type": "order",
"paymentMethod": {
"code": "stripe",
"type": "cc",
"provider": "stripe"
},
"authorizedAmount": 59.39,
"chargedAmount": 0,
"checkoutParams": {
"paymentIntent": "geosjhgirhgsigpr"
},
"paymentError": {
"message": "Your card has insufficient funds",
"code": "card_declined"
},
"paymentInfo": {
"type": "cc",
"card": {
"type": "visa",
"last4": 4242
}
}
}
],
"fulfillmentGroups": [
{
"id": 648,
"fulfillmentMethod": "directShip",
"fulfillmentLocationCode": "string",
"shipToAddressSequenceIndex": 0,
"fulfillments": [
{
"status": "open",
"carrier": "DHL",
"serviceLevel": "sameDay",
"tracking": "JJD000390007882823450",
"fulfillmentPackages": [
{
"status": "open",
"serviceLevel": "sameDay",
"package": "small",
"fulfilledFromLocationCode": "DERetail001",
"weight": 2000,
"weightUnit": "g",
"dimensions": {
"length": 25,
"lengthUnit": "cm",
"width": 17.5,
"widthUnit": "cm",
"height": 10,
"heightUnit": "cm"
},
"tracking": "JJD000390007882823450",
"pickUpBy": "Kim Muster",
"labelUrl": "https://documentserver.internal/label/label.pdf",
"fulfillmentDate": "2021-12-16T16:17:47.929Z",
"packageItems": [
{
"salesOrderLineItemCode": "386",
"quantity": 1,
"id": 457
}
],
"id": 694,
"additionalProp1": {}
}
],
"id": 981
}
]
}
],
"coupons": [
{
"code": "SUMMER2020",
"name": "Coupon for Summer 2020",
"limits": {
"overall": 500,
"maxPerCustomer": 1
},
"status": "active",
"couponSet": null,
"promotion": {
"code": "promo",
"name": "Promo with Coupon"
}
}
],
"lineItems": [
{
"quantityChangeReason": "wrongItem",
"status": "inProgress",
"subStatus": null,
"code": "386",
"quantity": 1,
"routedQuantity": 1,
"fulfillmentMethod": "directShip",
"fulfillmentLocationCode": "DERetail001",
"shipToAddressSequenceIndex": 0,
"product": {
"code": "24-MB02",
"name": "Fusion Backpack",
"image": "https://myawesomeshop.com/images/img1.jpg",
"price": 79.99,
"salePrice": 65.99,
"currencyCode": "EUR",
"identifiers": {
"mfgPartNum": "100-440-0.750-3434-A",
"upc": "72527273070",
"ean": "401234567890",
"isbn": "978-3-16-148410-0",
"sku": "UGG-BB-PUR-06",
"distiPartNum": "235454356363"
},
"options": [
{
"code": "color",
"name": "Color",
"value": {
"code": "red",
"name": "Red"
}
}
]
},
"currencyCode": "EUR",
"shippingAmount": 0,
"taxAmount": 0,
"tax2Amount": 0,
"taxExempt": false,
"unitPromoAmount": 0,
"unitDiscountAmount": 0,
"discountAmount": 0,
"promoAmount": 0,
"overrideAmount": 0,
"extendedPrice": 65.99,
"price": 79.99,
"salePrice": 65.99,
"substitutionAllowed": true,
"returnQuantity": 1,
"fulfillmentSlot": {
"id": "5_2019-09-03",
"date": "2019-09-03",
"weekday": "fri",
"from": "08:00",
"to": "08:59",
"status": "active",
"orderCount": 10
},
"appliedPromotions": []
}
],
"appliedPromotions": [
{
"code": "2020summerPromotion",
"name": "Summer Promotion for 2020",
"model": "simpleDiscount",
"description": "This promotion is for our summer coupons",
"promotionalText": "This coupons gives you 10% off to celebrate the summer 2020",
"status": "active",
"startDate": "2020-07-01T00:00:000",
"endDate": "2020-07-01T00:00:000",
"target": "order",
"type": "promotion",
"discount": {
"type": "percentage",
"amount": 10
},
"conditions": {
"$and": [
{
"subTotal": {
"gte": 100
}
},
{
"$or": [
{
"fulfillmentMethod": {
"$in": [
"directShip",
"BOPIS",
"ROPIS"
]
}
},
{
"customer.segment.code": {
"$in": [
"employees",
"contractors"
]
}
}
]
}
]
},
"impact": {
"conditions": {
"lineItem.product.categoryCode": {
"$in": [
"backpacks"
]
},
"lineItem.quantity": 1
},
"automaticallyAddedToCart": false
},
"coupon": {
"code": "summer2020",
"name": "Coupon 10off for the summer 2020",
"limits": {
"overall": 10,
"maxPerCustomer": null
}
},
"couponSet": null,
"limitConditions": {
"maxOverallUsageCount": 100,
"maxCustomerUsageCount": 1,
"maxUsagePerOrder": 1,
"cantBeCombinedWithPromotionCode": {
"$in": [
"bogo1"
]
}
}
}
],
"fulfillmentSlots": {
"id": "5_2019-09-03",
"date": "2019-09-03",
"weekday": "fri",
"from": "08:00",
"to": "08:59",
"status": "active",
"orderCount": 10
},
"customer": {
"id": "d162439c-e2f9-4050-8b94-6bff33e8163b",
"internalCustomerNumber": 2,
"externalCustomerNumber": "10001",
"firstName": "Max",
"middleName": "René",
"lastName": "Muster",
"emailAddress": "max.muster@shopgate.com",
"status": "active",
"isAnonymous": true,
"externalUpdateDate": "2021-12-16T16:17:47.929Z",
"taxExempt": false,
"taxClass": "string",
"contacts": [
{
"id": "55a94ee0-6671-11e9-bb49-13684cb7b248",
"externalContactCode": "357709b0-9378-470b-976e-1b040e29b97b",
"status": "active",
"firstName": "Max",
"middleName": "René",
"lastName": "Muster",
"companyName": "Shopgate GmbH",
"address1": "Schloßstr. 10",
"address2": "Haus B",
"address3": "erste Etage",
"address4": null,
"city": "Butzbach",
"postalCode": "35510",
"region": "HE",
"country": "DE",
"additionalFields": {
"dhlPostBoxNumber": 12345,
"dhlPostNumber": 1234567890
},
"phone": "+49 12345 6789 001",
"fax": "+49 12345 6789 002",
"mobile": "+49 12345 6789 003",
"emailAddress": "max.muster@shopgate.com",
"isDefaultBilling": true,
"isDefaultShipping": true,
"externalUpdateDate": "2021-12-16T16:17:47.929Z"
}
],
"attributes": [
{
"code": "tshirtSize",
"name": "T-Shirt Size",
"value": {
"code": "l",
"name": "L"
}
},
{
"code": "nameOfCat",
"name": "Name of your cat",
"value": "Some Cat Name"
}
],
"settings": {
"defaultLocale": "de-de",
"defaultCurrency": "EUR",
"communicationPreferences": [
"email",
"push",
"sms"
],
"defaultLocationCode": "DERetail001",
"marketingOptIn": false
}
},
"isOrderable": true
}
}