This is a html view of the json schema please take the json schema as reference DOWNLOAD THE JSON SCHEMA

Order

Type: object

Event representing an order. The source can be spark or the opco backend.

SparkOrder

Type: object

An order as created by spark

BaseOrder

Type: object

A base order defining properties common to any kind of order

EventHeader

Type: object

This object is used to describe some technical meta information related to the event

Type: enum (of string)

The application source of this event

Must be one of:

  • "SPARK"
  • "OPCO"
  • "MARKETPLACE"
  • "SALES_ORDER_AUTOMATION"

Type: enum (of string)

The version of the json format event

Must be one of:

  • "v1"

Type: string

The order id generated by the spark plateform.


Example:

"4999569661752721026"

Type: string

The parent order id generated by the spark plateform, used to group spark orders associated to the same customer order.


Example:

"315627244210393088"

Type: string

Tenant identifier for an Opco in SPARK multitenant platform


Example:

"BEL-CEBEO"

Type: string

The Cart or the open order identifier at opco backend system level


Example:

"1234"

Type: string

The Cart or the open order identifier at spark level. When known it should always be present throughout the order lifecycle. This is mandatory on online orders to activate the AX feature (used to identify abandoned cart).


Example:

"1234"

Type: string

Optional field, needed by OpCo organised with a regional model or commercial organisation. It can be used to filter or route based on the orgId.


Examples:

"org123"
"SNE"

SalesChannel

Type: enum (of string)

The sales channel where the order is placed

Must be one of:

  • "ESHOP"
  • "MOBILE_APP"
  • "SYSTEM_TO_SYSTEM"
  • "STORE"
  • "BY_PHONE"
  • "DIGITAL_JOB_CENTER"
  • "SCAN_IN_STORE"
  • "SALES_ORDER_AUTOMATION"

Example:

"ESHOP"

Type: string

The status of the order. The OpCo can send any status codes that are associated with the order in their systems. The status codes sent will need to be mapped to labels in the CMS.


Examples:

"OPENED"
"VALIDATED"
"IN_PROGRESS"
"CLOSED"

Type: stringFormat: date-time

The date when the order was placed


Example:

"2021-10-12T08:30:22.804Z"

Type: stringFormat: date-time

The date when the order was last modified. This field will be used to ensure that only the latest update are being integrated to order history.


Example:

"2021-10-12T08:30:22.804Z"

Type: string

The opco account id of the customer.


Example:

"12345"

Type: array of object

The list of users that contribute on the creation if the cart and the order. The creator of the cart, the validator of the cart ...

No Additional Items

Each item of this array must be:

Type: object

Example:

[
    {
        "fullName": "John Smith",
        "email": "john.smith@mycompany.com",
        "creator": true
    },
    {
        "fullName": "John Validator",
        "email": "john.validator@mycompany.com"
    }
]

Type: string

The full name of a contributor.


Example:

"John Smith"

Type: string

The email of a contributor. this is the identifier of the user on spark


Example:

"john.smith@mycompany.com"

Type: boolean Default: "false"

A boolean that when is true means that the current contributor is the creator of the cart from where this order is created.


Example:

"false"

Type: boolean Default: "false"

A boolean that when is true means that the current contributor has placed the order (transformed the cart to an order).


Example:

"false"

Type: boolean Default: "false"

A boolean that when is true means that the current contributor has validated the cart during the approval workflow.


Example:

"false"

Type: boolean Default: "false"

A boolean that when is true means that the current contributor is an associate doing the action on behalf of the end user.


Example:

"false"

Address

Type: object

The billing address


Example:

{
    "opCoAddressId": "13543678",
    "addressLine1": "chaussee Verlinden 22",
    "addressLine2": "1st floor",
    "addressLine3": "Apparment 2",
    "postalCode": "0287",
    "city": "Bruges",
    "region": "Frandre",
    "department": "N/A",
    "country": "BEL"
}

Type: string

OpCo internal system's unique identifier for the address.


Example:

"237564557868778"

Type: string

Should contains the Given name, Surname, the name of the company


Example:

"235 Donaghy Ave"

Type: string

Should contains the street No, street name, street type

Type: string

Should contains the Floor

Type: string

The postal code


Example:

"V7P 1E2"

Type: string

The city in which the street address is, and which is in the adminDevison(region)


Example:

"North Vancouver"

Type: string

The region in which the locality is, and which is in the country.


Example:

"BC"

Type: string

The department in which the locality is, and which is in the country.


Example:

"BC"

Type: string

The ISO 3166-1 alpha-3 of the country


Example:

"CAN"

Type: string

The address identifier from Spark system


Example:

"50169486938114"

Type: array

List of special price agreements activated in this order

No Additional Items

Each item of this array must be:

SpecialPriceAgreement

Type: object

A special price agreement associated to an order or a price

Type: string

The special price agreement identifier in the OpCo back-end system


Example:

"SPA-984"

Type: string

The title of the special price agreement


Example:

"Special price agreement 984"

Example:

[
    {
        "id": "SPA-876",
        "title": "Special price agreement 876"
    },
    {
        "id": "SPA-547",
        "title": "Special price agreement 547"
    }
]

Type: array

Line items that are ordered.

Must contain a minimum of 1 items

No Additional Items

Each item of this array must be:

LineItem

Type: object

The order line item

Type: string

The ID of the line item.

Must match regular expression: ^[0-9]+$
Example:

"4999569661752721026"

Type: string

The identifier of the line item into the opco side for the case of a cart created from a quote. It can be an alpha numeric.


Examples:

"4999569661752721026"
"ITEM1"

Type: enum (of string) Default: "PRODUCT"

The type of the line item, default is PRODUCT.
- PRODUCT when the line item is a product known by spark - OFFLINE_PRODUCT when the line item is a product unknown by spark
- PROMOTION when the line item is a cart promotion
- SERVICE when the line item is an extra cost or an additional service

Must be one of:

  • "PRODUCT"
  • "OFFLINE_PRODUCT"
  • "PROMOTION"
  • "SERVICE"

Example:

"PRODUCT"

Type: integer

Number of items ordered.


Example:

10

Type: object

Product data as seen by customer from the time of the order placement.

Type: string

A unique identifier of the product.
- In case of promotion lineItem this should contain the id of the promotion.


Example:

"9554961192345"

Type: string

global trade identifier number e.g EAN, UPC etc


Example:

"4012196097579"

Type: string

This is the local product id could be specific to opcos, most cases it is same as manufacturer id but could be different as well


Examples:

"732D16"
"9554961192345"

Type: string

This is the equivalent of manufacturer PID and used for search and identifying the product


Example:

"1360167"

Type: string

manufacturer type description identifier, represents the references


Example:

"2037 12-20 LGR"

Type: string

the customer ref for the product, Supported by all special chars respecting the pattern

Must match regular expression: [a-zA-Z0-9_.+@() /$"=#,;'£\\:°*&%-]+

Type: string

Short description of the product.

For PRODUCT lineItems, it is sourced from the product.identifier.productTitle field.


Example:

"LIGHT 274498 Metal Halide Lamp"

Type: string

Brand name.

For PRODUCT lineItems, it is sourced from the product.identifier.brandName field.


Example:

"SASS"

PromotionDetails

Type: object

Details of the promotion applied to this line item


Example:

{
    "title": "Achete 3 articles et 2 gartuit",
    "alternateProductId": "767867",
    "campaignId": "234"
}

Type: string

A readable description explaining the promotions eligibility received from opco, Send the title according to chosen language


Example:

"achetez 3 articles et obtenez 10% de réduction"

Type: string

Campaign id to which this promotion is associated to relative to the standard product id


Example:

"7575785"

Type: string

The alternate product id (Since promotions in cebeo is handled by maintaining 2 different id for normal and promotional product), might not be required by other opco


Example:

"9898989"

Prices

Type: object

Contains the detail of prices related to the current product and line item

Price

Type: object

This is the product unit price that the customer will pay to the OPCO, without taxes, before applying promotion.


Example:

{
    "amount": 1000,
    "scale": 2,
    "currency": "EUR"
}

Type: integer

The actual unscaled amount


Example:

205987

Type: integer

The scale to be applied on the unscaled amount


Example:

2

Type: string

The currency code following the ISO 4217 standard 3 letter in which the prices are being displayed


Example:

"EUR"

PriceContext

Type: object

Details about the type of this price


Example:

{
    "type": "SPECIAL_PRICE_AGREEMENT",
    "id": "SPA-876",
    "title": "Special price agreement 876"
}

Type: string

An identifier of the contract or project related to this price


Examples:

"SPA-984"
"PROJECT-7463"

Type: string

A short title for this price


Examples:

"Special price agreement 984"
"Contract schneider"

Type: enum (of string)

The type of this price

Must be one of:

  • "SPECIAL_PRICE_AGREEMENT"
  • "PROJECT"
  • "STANDARD"
  • "MARKETPLACE"

Examples:

"SPECIAL_PRICE_AGREEMENT"
"MARKETPLACE"

Type: number

Percentage of discount on net price, If we have this value then promotionalNetPrice is needed also


Example:

10.0

Price

Type: object

Precomputed promotional price on top of netPrice, This is the case when promotional percentage is not present and the promotional price is directly computed and available to show


Example:

{
    "amount": 200,
    "scale": 2,
    "currency": "EUR"
}

Type: integer

The actual unscaled amount


Example:

205987

Type: integer

The scale to be applied on the unscaled amount


Example:

2

Type: string

The currency code following the ISO 4217 standard 3 letter in which the prices are being displayed


Example:

"EUR"

Price

Type: object

Precomputed quote price on top of netPrice. This is the case when the cart is created from a quote and the OPCO give a preferential price for the product.


Example:

{
    "amount": 900,
    "scale": 2,
    "currency": "EUR"
}

Type: integer

The actual unscaled amount


Example:

205987

Type: integer

The scale to be applied on the unscaled amount


Example:

2

Type: string

The currency code following the ISO 4217 standard 3 letter in which the prices are being displayed


Example:

"EUR"

Type: array

List of taxes to be applied to net price or promotional net price in case of promotion

No Additional Items

Each item of this array must be:

Tax

Type: object

Contains the tax informations with both percentage or exact amount as preferable.

Type: object

A tax represented by a percentage.

No Additional Properties
Type: object

A tax with a code, fixed amount, rate. Used to describe a marketplace tax.

No Additional Properties

Price

Type: object

Contains the amount informations based on the type of prices we might have

Type: integer

The actual unscaled amount


Example:

205987

Type: integer

The scale to be applied on the unscaled amount


Example:

2

Type: string

The currency code following the ISO 4217 standard 3 letter in which the prices are being displayed


Example:

"EUR"

Type: string

Type of tax which is applicable to the underlying product.


Example:

"VAT"

Type: boolean Default: false

This flag determines if the tax is a surcharge to be added to netPrice/promotionalNetPrice before applying Tax. The Tax computation happens on top of ((netPrice or promotionalNetPrice)+surcharges)


Example:

true

Type: number

The percentage of the net price


Example:

20.0

Type: string

A tax code which identifies the tax applied to this item. It can be used to carry more details than the high level tax type information.


Examples:

"VAT_5_5"
"VAT_10"
"VAT_20"

Type: boolean Default: false

This flag determines if the tax applies to shipping costs.
Example: option and scenario costs.


Example:

[
    {
        "type": "VAT",
        "isSurcharge": false,
        "percentage": 20.0
    }
]

Type: string

The comment is added to line item by the customer during the order placement. It is used by the customer to provide any information to be received by their own team when the order is delivered.


Example:

"Please place this item on 3rd floor"

Type: array of string

A list of lineItem ids related to the current line item.
Can be used in case of PROMOTION lineItem, to refer to PRODUCT lineItem impacted by this promotion.

No Additional Items

Each item of this array must be:

Type: string
Must match regular expression: ^[0-9]+$

Example:

[
    "96122268053639168",
    "96121848778428416"
]

Type: object

Contains marketplace properties specific to this lineItems, once set these are assumed to be immutable.

Type: string

The identifier of this lineItem in the opco purchase order

Price

Type: object

Purchase unit price (computed by the marketplace platform from the commission rate and the provided offer price)

Type: integer

The actual unscaled amount


Example:

205987

Type: integer

The scale to be applied on the unscaled amount


Example:

2

Type: string

The currency code following the ISO 4217 standard 3 letter in which the prices are being displayed


Example:

"EUR"

Type: string

The id of a cut group, groups several cutting lines


Example:

"10"

Type: string

Cutting line identifier, group of elements with the same cutting length


Example:

"1"

Example:

[
    {
        "id": "4999569661752721000",
        "orderedQuantity": 10,
        "product": {
            "productId": "4999569661752721000",
            "productTitle": "SIEMENS Circuit Breaker",
            "brandName": "Siemens"
        },
        "prices": {
            "netPrice": {
                "amount": 1000,
                "scale": 2,
                "currency": "EUR"
            },
            "promotionalNetPrice": {
                "amount": 900,
                "scale": 2,
                "currency": "EUR"
            },
            "taxes": [
                {
                    "type": "VAT",
                    "isSurcharge": false,
                    "percentage": 20.0
                }
            ]
        }
    }
]

Type: array

List of coupon added to the cart.

Must contain a minimum of 1 items

No Additional Items

Each item of this array must be:

Coupon

Type: object

This object represent a coupon into cart
- when the coupon will be added by the user the request will contains only the code
- if the coupon is not valid, we expect the opco to send a message with severity ERROR to inform the user
- if the coupon is valid but condition are not yet reached (more product should be added), we expect the opco to send a message with severity INFO
- if the coupon is valid and a discount have to be applied, we expect the opco to set the discount amount
- if the coupon have to be applied alone the exclusive should be set to true

Type: string

A unique identifier of a coupon

Type: string

A readable description explaining the details of this coupons eligibility received from opco, Send the title according to chosen language

Price

Type: object

The discount applied by this coupon

Type: integer

The actual unscaled amount


Example:

205987

Type: integer

The scale to be applied on the unscaled amount


Example:

2

Type: string

The currency code following the ISO 4217 standard 3 letter in which the prices are being displayed


Example:

"EUR"

Type: boolean Default: false

Used in case of coupon.
- When true no coupon can be applied with this one.
- When false other coupon can be applied with this one.

Type: array of integer

A list of lineItem ids related to this coupon.
Can be used to refer to PRODUCT lineItem impacted by this coupon.

No Additional Items

Each item of this array must be:

Type: integerFormat: int64

Value must be greater or equal to -9223372036854776000 and lesser or equal to 9223372036854776000

Type: array

Payment terms associated with the order

No Additional Items

Each item of this array must be:

PaymentTerm

Type: object

Terms and conditions by which a payment has been or will be made.

Type: enum (of string)

The payment method type

Must be one of:

  • "CASH"
  • "CHEQUE"
  • "CREDIT_DEBIT_CARD"
  • "CREDIT_LINE"
  • "PCB_CARD"

Example:

"CREDIT_LINE"

Type: string

The transaction payment id


Example:

"PAY0001"

Price

Type: object

The amount of the payment


Example:

{
    "amount": 1800,
    "scale": 2,
    "currency": "EUR"
}

Type: integer

The actual unscaled amount


Example:

205987

Type: integer

The scale to be applied on the unscaled amount


Example:

2

Type: string

The currency code following the ISO 4217 standard 3 letter in which the prices are being displayed


Example:

"EUR"

Type: stringFormat: date-time

Date on which the payment transaction has been created


Example:

"2017-07-21T08:30:22.804Z"

Example:

[
    {
        "paymentMethod": "CREDIT_LINE",
        "amount": {
            "amount": 10000,
            "scale": 2,
            "currency": "EUR"
        },
        "paymentTransactionId": "12345",
        "createdAt": "2017-07-21T17:32:28Z"
    }
]

Price

Type: object

The total price of all items of the order applying promotions and coupons, including all taxes.


Example:

{
    "amount": 17760,
    "scale": 2,
    "currency": "EUR"
}

Type: integer

The actual unscaled amount


Example:

205987

Type: integer

The scale to be applied on the unscaled amount


Example:

2

Type: string

The currency code following the ISO 4217 standard 3 letter in which the prices are being displayed


Example:

"EUR"

Price

Type: object

The total price of all items of the order including promotions and including surcharges.


Example:

{
    "amount": 17760,
    "scale": 2,
    "currency": "EUR"
}

Type: integer

The actual unscaled amount


Example:

205987

Type: integer

The scale to be applied on the unscaled amount


Example:

2

Type: string

The currency code following the ISO 4217 standard 3 letter in which the prices are being displayed


Example:

"EUR"

Type: object

Additional information for the order.

Type: string

Order reference for the customer (ex: customer purchase order id).


Example:

"XDFG334322"

Type: string

The cart name.


Example:

"Site 1 Cart"

Project

Type: object

The project associated to the order

Type: string

The identifier of the project

Type: string

The name of the project to display to the customer

Quote

Type: object

The quote associated to the order

Type: string

The identifier of the quote


Examples:

"4999569661752721026"
"4999569661_ORG1"

Type: string

The quote code provided by the OpCo for the Customer. If this field is provided, spark will display it to the customer instead of the quoteId


Examples:

"49995666"
"4999569661"

Type: string

The name of the Quote.

Type: string

The version of this quote. Used by some opco system to select the right version of the quote.


Example:

"1"

Type: enum (of string) Default: "STANDARD"

The type of the quote. STANDARD for normal quotes, BLANKET for quote representing blanket orders. Default value if not present is STANDARD.

Must be one of:

  • "STANDARD"
  • "BLANKET"

Example:

"STANDARD"

Type: string

Contact first name for this order. This field is added by the customer to override the same field into delivery address.


Example:

"Robert"

Type: string

Contact last name for this order. This field is added by the customer to override the same field into delivery address.


Example:

"Fox"

Type: string

Contact phone number for this order. This field is added by the customer to override the same field into delivery address.


Example:

"+3333333333"

Type: string

Contact email for this order.


Example:

"john.doe@sonepar.com"

Type: boolean

Choice of showing or not the price on the logistics note.


Example:

false

Type: array of string

An optional emails list that will be used as additional recipients to send the confirmation email of the order

No Additional Items

Each item of this array must be:

Type: array

The notes related to the order.

No Additional Items

Each item of this array must be:

Note

Type: object

Object representing a note

Type: boolean

Choice of showing or not the note on the invoice.


Example:

true

Type: boolean

Choice of showing or not the note on the logistics notes.


Example:

false

Type: string

Note added to cart


Example:

"Morning delivery preference"

Example:

[
    {
        "noteOnInvoice": true,
        "noteOnLogisticsNotes": false,
        "noteText": "Morning delivery preference"
    }
]

Type: array

Additional order information filled by the customer when placing the order or added by the OpCo system during the order processing.

No Additional Items

Each item of this array must be:

AdditionalReference

Type: object

Object representing an additional reference.

Type: string

Name of the additional reference


Example:

"warehouseName"

Type: string

Value of the additional reference filled by the customer


Example:

"P570629"

Example:

[
    {
        "name": "warehouseName",
        "value": "Z.I. Fourviere"
    }
]

Type: object

This property if present acts as a flag to identify an order as a marketplace one. It contains all marketplace specific order properties.

No Additional Properties

Type: string

Identifier of the purchase order to be sent by the OpCo to the Seller.
It is not to be confused with the customer purchaseOrder defined as part of the additional order information, which is an an optional identifier of the order as referenced by the customer.

Type: object

Contains seller information

Type: string

OpCo SellerId, as provided operator internal id for this seller.

Type: string

Seller name

Type: string

The IETF BCP 47 language tag of the locale (language and country) as used by the customer on spark front-end for this order.


Example:

"fr-FR"

SparkOrderExtension

Type: object

Defines additional fields specific to Spark Orders

No Additional Properties

LogisticDetails

Type: object

Information about the logistic details of the current cart (logistic method, logistic preferences, logistic options, delivery address, facility id)


Example:

{
    "logisticMethod": "DELIVERY",
    "facilityId": 395,
    "deliveryAddress": {
        "addressLine1": "chaussee Verlinden 22",
        "addressLine2": "Apartment 2",
        "city": "Bruges",
        "country": "BEL",
        "postalCode": "0287",
        "addressName": "Building #2",
        "companyName": "Easy Electric",
        "contactFirstName": "John",
        "contactLastName": "Doe",
        "contactPhoneNumber": "+333746573829",
        "deliveryIndication": "Please leave the parcel next the front door.",
        "customerReference": "Ref 364361"
    },
    "logisticOption": {
        "code": "STANDARD",
        "title": "STANDARD delivery",
        "description": "Choose this option if you want a fast delivery",
        "cost": {
            "amount": 0,
            "scale": 2,
            "currency": "EUR"
        },
        "logisticScenario": {
            "code": "1_DELIVERY",
            "title": "1 DELIVERY",
            "description": "Choose this scenario if you want all your products to be delivered at the same time",
            "cost": {
                "amount": 0,
                "scale": 2,
                "currency": "EUR"
            },
            "totalPrice": {
                "amount": 2300,
                "scale": 2,
                "currency": "EUR"
            },
            "totalPriceIncludingSurchargesAndShipping": {
                "amount": 1900,
                "scale": 2,
                "currency": "EUR"
            },
            "shippingGroups": [
                {
                    "status": "VALIDATED",
                    "deliveryDate": "2021-10-12T08:30:22.804Z",
                    "trackAndTraceInfo": {
                        "numberOfPackages": 5,
                        "totalWeight": 200,
                        "weightUnit": "KGM",
                        "lastMessageUpdate": {
                            "type": "INFORMATION",
                            "message": {
                                "fr-BE": "Votre commande est bien reçue et validée",
                                "nl-BE": "Uw bestelling is goed ontvangen en gevalideerd"
                            }
                        }
                    },
                    "lineItems": [
                        {
                            "quantity": 1,
                            "lineItemId": "1",
                            "itemPrice": {
                                "amount": 1800,
                                "scale": 2,
                                "currency": "EUR"
                            }
                        }
                    ],
                    "alternativeLogisticDetails": {
                        "logisticMethod": "DELIVERY",
                        "facilityId": "11223344"
                    }
                }
            ]
        }
    }
}

Type: enum (of string)

Logistic method chosen for the cart

Must be one of:

  • "DELIVERY"
  • "PICK_UP"

Example:

"PICK_UP"

Type: string

Unique identifier of the locker related to the 'facilityId' where the customer want pick up his order. The facilityId still the place where the order will be prepared


Example:

"395"

Type: string

Unique identifier of the facility used when logistic method is 'PICK_UP'.


Example:

"395"

Type: string

The id of the CDC from where this cart should be delivered. Needed to compute the right stock into PLP/PDP ....In case of multi CDC, the OpCo may have dynamic computation of the CDC and not only a static relation between branch and CDC.


Example:

"2Z1"

Type: object

The address used for delivery when logistic method is 'DELIVERY'

Address

Type: object

An address.

Type: string

OpCo internal system's unique identifier for the address.


Example:

"237564557868778"

Type: string

Should contains the Given name, Surname, the name of the company


Example:

"235 Donaghy Ave"

Type: string

Should contains the street No, street name, street type

Type: string

The postal code


Example:

"V7P 1E2"

Type: string

The city in which the street address is, and which is in the adminDevison(region)


Example:

"North Vancouver"

Type: string

The region in which the locality is, and which is in the country.


Example:

"BC"

Type: string

The department in which the locality is, and which is in the country.


Example:

"BC"

Type: string

The ISO 3166-1 alpha-3 of the country


Example:

"CAN"

Type: string

The address identifier from Spark system


Example:

"50169486938114"

DeliveryAddress

Type: object

Represents additional fields of the delivery address

Type: string

Extra description about the address


Example:

"Building site 1"

Type: string

Company name, it might differ from the account name


Example:

"Easy Electric"

Type: string

Address contact's first name


Example:

"John"

Type: string

Address contact's last name


Example:

"Doe"

Type: string

Address contact's Phone number (The phone number of the person receiving the shipment)


Example:

"+330287345678"

Type: string

Optional indications or instructions about the delivery


Example:

"Please leave the parcel next the front door"

Type: string

Optional reference about the customer


Example:

"Reference 123"

Example:

{
    "addressLine1": "chaussee Verlinden 22",
    "addressLine2": "Apartment 2",
    "city": "Bruges",
    "country": "BEL",
    "postalCode": "0287",
    "addressName": "Building #2",
    "companyName": "Easy Electric",
    "contactFirstName": "John",
    "contactLastName": "Doe",
    "contactPhoneNumber": "+333746573829",
    "deliveryIndication": "Please leave the parcel next the front door.",
    "customerReference": "Ref 364361"
}

LogisticOption

Type: object

The logistic option chosen for the selected logistic method (e.g a standard delivery is a logistic option).


Example:

{
    "code": "STANDARD",
    "title": "STANDARD delivery",
    "description": "Choose this option if you want a fast delivery",
    "cost": {
        "amount": 0,
        "scale": 2,
        "currency": "EUR"
    },
    "logisticScenario": {
        "code": "1_DELIVERY",
        "title": "1 DELIVERY",
        "description": "Choose this scenario if you want all your products to be delivered at the same time",
        "cost": {
            "amount": 0,
            "scale": 2,
            "currency": "EUR"
        },
        "totalPrice": {
            "amount": 2300,
            "scale": 2,
            "currency": "EUR"
        },
        "totalPriceIncludingSurchargesAndShipping": {
            "amount": 1900,
            "scale": 2,
            "currency": "EUR"
        },
        "shippingGroups": [
            {
                "status": "IN_PREPARATION",
                "trackAndTraceInfo": {
                    "numberOfPackages": 5,
                    "totalWeight": 200,
                    "weightUnit": "GRM",
                    "estimatedDeliveryDate": "2021-10-12T08:30:22.804Z",
                    "lastMessageUpdate": {
                        "type": "WARNING",
                        "message": {
                            "fr-BE": "certains produits que vous avez commandés ne sont pas disponibles et seront livrés à la date de livraison estimée, veuillez contacter votre représentant commercial pour plus d'informations",
                            "nl-BE": "sommige producten die u hebt besteld, zijn niet beschikbaar en worden geleverd op de geschatte leverdatum. Neem contact op met uw verkoper voor meer informatie"
                        }
                    }
                },
                "lineItems": [
                    {
                        "quantity": 1,
                        "lineItemId": "1",
                        "itemPrice": {
                            "amount": 1800,
                            "scale": 2,
                            "currency": "EUR"
                        }
                    }
                ],
                "alternativeLogisticDetails": {
                    "logisticMethod": "DELIVERY",
                    "facilityId": "11223344",
                    "deliveryAddress": {
                        "opCoAddressId": "1234567890",
                        "addressLine1": "chaussee Verlinden 22",
                        "addressLine2": "Apartment 2",
                        "city": "Bruges",
                        "country": "BEL",
                        "postalCode": "0287",
                        "addressName": "Building #2",
                        "companyName": "Easy Electric",
                        "contactFirstName": "John",
                        "contactLastName": "Doe",
                        "contactPhoneNumber": "+333746573829",
                        "deliveryIndication": "Please leave the parcel next the front door.",
                        "customerReference": "Ref 364361"
                    }
                }
            }
        ]
    }
}

Type: string

The code of the logistic option


Example:

"STANDARD"

Type: string

The title of the logistic option to be displayed to the end user.


Example:

"STANDARD delivery"

Type: string

The description of the logistic option to be displayed to the end user.


Example:

"choose this option if you want a fast delivery"

Price

Type: object

The cost of this logistic option


Example:

{
    "amount": 0,
    "scale": 2,
    "currency": "EUR"
}

Type: integer

The actual unscaled amount


Example:

205987

Type: integer

The scale to be applied on the unscaled amount


Example:

2

Type: string

The currency code following the ISO 4217 standard 3 letter in which the prices are being displayed


Example:

"EUR"

LogisticScenario

Type: object

This is the chosen logistic scenarios from the ones available for the current logistic option.(e.g deliver all the products at the same time is a logistic scenario)


Example:

{
    "selected": true,
    "code": "1_DELIVERY",
    "title": "1 DELIVERY",
    "description": "Choose this scenario if you want all your products to be delivered at the same time",
    "cost": {
        "amount": 0,
        "scale": 2,
        "currency": "EUR"
    },
    "totalPrice": {
        "amount": 2300,
        "scale": 2,
        "currency": "EUR"
    },
    "totalPriceIncludingSurchargesAndShipping": {
        "amount": 1900,
        "scale": 2,
        "currency": "EUR"
    },
    "shippingGroups": [
        {
            "status": "SHIPPED",
            "deliveryDate": "2021-10-12T08:30:22.804Z",
            "trackAndTraceInfo": {
                "numberOfPackages": 5,
                "totalWeight": 200,
                "weightUnit": "GRM",
                "lastMessageUpdate": {
                    "type": "INFORMATION",
                    "message": {
                        "fr-BE": "Votre commande est en cours de livraison et devrait être livrée d'ici 15h aujourd'hui",
                        "nl-BE": "Je bestelling is klaar voor bezorging en zou vandaag om 15u bezorgd moeten zijn"
                    }
                },
                "additionalInfo": [
                    {
                        "name": "receivers ref",
                        "value": "5236776"
                    },
                    {
                        "name": "Sales Rep Message",
                        "value": "Your Order is in preparation and we dont see any issues"
                    },
                    {
                        "name": "carrier info",
                        "value": "APOLLO AS"
                    }
                ]
            },
            "lineItems": [
                {
                    "quantity": 1,
                    "lineItemId": "1",
                    "itemPrice": {
                        "amount": 1800,
                        "scale": 2,
                        "currency": "EUR"
                    }
                }
            ]
        }
    ]
}

Type: string

The code of the logistic scenario


Example:

"1_DELIVERY"

Type: string

The title of the logistic scenario to be displayed to the end user.


Example:

"1 DELIVERY"

Type: string

The description of the logistic scenario to display to the end user.


Example:

"choose this scenario if you want all your products to be delivered at the same time"

Price

Type: object

The cost of this logistic scenario


Example:

{
    "amount": 0,
    "scale": 2,
    "currency": "EUR"
}

Type: integer

The actual unscaled amount


Example:

205987

Type: integer

The scale to be applied on the unscaled amount


Example:

2

Type: string

The currency code following the ISO 4217 standard 3 letter in which the prices are being displayed


Example:

"EUR"

Price

Type: object

Total price of the logistic scenario including promotions, surcharges, shipping cost and taxes (vat)


Example:

{
    "amount": 0,
    "scale": 2,
    "currency": "EUR"
}

Type: integer

The actual unscaled amount


Example:

205987

Type: integer

The scale to be applied on the unscaled amount


Example:

2

Type: string

The currency code following the ISO 4217 standard 3 letter in which the prices are being displayed


Example:

"EUR"

Price

Type: object

Total price of the logistic scenario including promotions, surcharges, shipping cost without taxes (vat)


Example:

{
    "amount": 0,
    "scale": 2,
    "currency": "EUR"
}

Type: integer

The scale to be applied on the unscaled amount


Example:

2

Type: string

The currency code following the ISO 4217 standard 3 letter in which the prices are being displayed


Example:

"EUR"

Type: array of object

A list of groups of line items corresponding to the way the order will be fulfilled

No Additional Items

Each item of this array must be:

Type: object

Order shipment

Type: string

The status of the shipping group.

OpCos can send any status supported by their backend system.
The status codes sent are mapped to labels in the CMS and displayed as how customers want to see these status on CX UI without stepper.

Only exception for that, the following status:
- When CX push the order shipping groups will have the status OPENED
- For cancelled lineItems, a shipping group with a status value CANCELLED is expected.
- For back ordered lineItems, a shipping group with a status value BACK_ORDERED is expected.

Track and trace

To enable the track and trace CX feature, where a stepper is displayed and notifications are sent to the user when status are changing, the OpCos have to send the following normalised status list:
- ACCEPTED for the orders first validation or acceptance by OpCo
- REJECTED status should be used when (part of) the order is refused (not ACCEPTED)
- IN_PREPARATION for the orders in preparation until they are shipped
- SHIPPED for all the orders Shipped and in Transit
- DELIVERED for all the orders delivered at source
- AVAILABLE_FOR_PICKUP status should be used in PICKUP when the order is ready to be picked up in branch
- AVAILABLE_IN_LOCKER status should be used in PICKUP when the order is ready to be picked up in locker
- COLLECTED status should be used in PICKUP when the order has been collected from branch or locker.

NOTE:
Using status codes, which are not part of the list above in track and trace section will be displayed without the stepper and no track and trace notifications will be triggered..


Examples:

"ACCEPTED"
"IN_PREPARATION"
"SHIPPED"
"DELIVERED"
"CANCELLED"
"BACK_ORDERED"
"OPENED"
"AVAILABLE_FOR_PICKUP"
"AVAILABLE_IN_LOCKER"
"COLLECTED"
"REJECTED"

Type: boolean Default: "false"

Will be true if the delivery date is selected by the customer. It will be false is the date is the one computed by the opco backend system.

Type: stringFormat: date-time

[Deprecated - Use instead expectedDeliveryDate and expectedDeliveryTime].
Date on which the shipment expected to be delivered.


Example:

"2021-10-12T08:30:22.804Z"

Type: stringFormat: date

Date on which the shipment expected to be delivered.


Example:

"2021-10-12"

Type: string

Time on which the shipment expected to be delivered


Example:

"08:30:22.804Z"

Type: stringFormat: date

Used only on Marketplace context Latest date on which the shipment is expected to be delivered.


Example:

"2021-10-12"

Type: string

Used only on Marketplace context Latest time on which the shipment is expected to be delivered.


Example:

"08:30:22.804Z"

Type: object

This object contains the details of tracking the delivery

Type: enum (of string)

The units in which the weights are computed and displayed following the GS1 units of measure

Must be one of:

  • "GRM"
  • "KGM"
  • "LBS"

Example:

"KGM"

Type: object

A type and message object, where type is Info or Warning and message is the actual update

Type: enum (of string)

The type of the message whether its info or warning

Must be one of:

  • "INFORMATION"
  • "WARNING"

Example:

"INFORMATION"

Multilingual Object

Type: object

The actual message for the last update


Example:

{
    "fr-BE": "Votre commande est en cours de livraison et devrait être livrée d'ici 15h aujourd'hui",
    "nl-BE": "Je bestelling is klaar voor bezorging en zou vandaag om 15u bezorgd moeten zijn"
}

Type: stringFormat: date-time

If there is an issue or delay then last message update is an apology message with new estimated delivery date


Example:

"2021-10-12T08:30:22.804Z"

Type: array of object

Any additional info related to this delivery

No Additional Items

Each item of this array must be:

Type: object

A free key value pair field to add any specific messages or details

Type: string

The name or identifier for an additional info


Examples:

"receivers ref"
"senders ref"
"carrier name"
"additional instructions"

AlternativeLogisticDetails

Type: object

This object contains the logistic details associated with the shipping groupin cases where additional logistic details are applicable. e.g Logistic Details / Facility for each shipping intent group to support multi-cdc delivery.


Examples:

{
    "logisticMethod": "DELIVERY",
    "facilityId": "11223344",
    "deliveryAddress": {
        "opCoAddressId": "1234567890",
        "addressLine1": "chaussee Verlinden 22",
        "addressLine2": "Apartment 2",
        "city": "Bruges",
        "country": "BEL",
        "postalCode": "0287",
        "addressName": "Building #2",
        "companyName": "Easy Electric",
        "contactFirstName": "John",
        "contactLastName": "Doe",
        "contactPhoneNumber": "+333746573829",
        "deliveryIndication": "Please leave the parcel next the front door.",
        "customerReference": "Ref 364361"
    }
}
{
    "logisticMethod": "DELIVERY",
    "facilityId": "11223344"
}

Type: enum (of string)

OpCo internal system's unique identifier for the address.

Must be one of:

  • "DELIVERY"
  • "PICK_UP"

Type: string

The id of the facility (branch or CDC) associated with the logistic details


Example:

"AB2"

Type: object

The delivery address associated to the account where the order should be delivered.

Address

Type: object

An address.

Type: string

Should contains the Given name, Surname, the name of the company


Example:

"235 Donaghy Ave"

Type: string

The city in which the street address is, and which is in the adminDevison(region)


Example:

"North Vancouver"

DeliveryAddress

Type: object

Represents additional fields of the delivery address

Type: string

Address contact's Phone number (The phone number of the person receiving the shipment)


Example:

"+330287345678"

Type: string

Optional indications or instructions about the delivery


Example:

"Please leave the parcel next the front door"

Example:

{
    "opCoAddressId": "1234567890",
    "addressLine1": "chaussee Verlinden 22",
    "addressLine2": "Apartment 2",
    "city": "Bruges",
    "country": "BEL",
    "postalCode": "0287",
    "addressName": "Building #2",
    "companyName": "Easy Electric",
    "contactFirstName": "John",
    "contactLastName": "Doe",
    "contactPhoneNumber": "+333746573829",
    "deliveryIndication": "Please leave the parcel next the front door.",
    "customerReference": "Ref 364361"
}

Type: array of object

The line items that are shipped.

No Additional Items

Each item of this array must be:

Type: object

Optional. The line items that are shipped.

No Additional Properties

Type: string

A reference to a line item. This field is a 64-bit long number represented as a string to avoid unwanted conversions to scientific notation when dealing with the model inside js code

Must match regular expression: ^[0-9]+$
Example:

"2196602318024039368"

Price

Type: object

This is the line item price that the customer will pay to the OPCO, without taxes, after applying promotion. Equals (unitPrice * quantity) for items without promotion or (discountedUnitPrice * quantity) for items with promotion


Example:

{
    "amount": 1800,
    "scale": 2,
    "currency": "EUR"
}

Type: string

The currency code following the ISO 4217 standard 3 letter in which the prices are being displayed


Example:

"EUR"

Price

Type: object

This is the shipping cost for this line item, provided when known. The logistic scenario cost should be equal to the sum of all lineItems shipping cost from all (non canceled) shipping group.


Example:

{
    "amount": 200,
    "scale": 2,
    "currency": "EUR"
}

Type: string

The currency code following the ISO 4217 standard 3 letter in which the prices are being displayed


Example:

"EUR"

Item taxes

Type: array

This is the list of taxes applicable to this lineItem, amounts are total taxes amounts for this lineItem. It includes surchages (isSurchage:true), taxes on the (itemPrice + surchages), taxes on shippingCosts (isShipping:true).

No Additional Items

Each item of this array must be:

Tax

Type: object

Contains the tax informations with both percentage or exact amount as preferable.

Type: object

A tax with a code, fixed amount, rate. Used to describe a marketplace tax.

No Additional Properties

Price

Type: object

Contains the amount informations based on the type of prices we might have

Type: string

The currency code following the ISO 4217 standard 3 letter in which the prices are being displayed


Example:

"EUR"

Type: string

Type of tax which is applicable to the underlying product.


Example:

"VAT"

Type: boolean Default: false

This flag determines if the tax is a surcharge to be added to netPrice/promotionalNetPrice before applying Tax. The Tax computation happens on top of ((netPrice or promotionalNetPrice)+surcharges)


Example:

true

Type: string

A tax code which identifies the tax applied to this item. It can be used to carry more details than the high level tax type information.


Examples:

"VAT_5_5"
"VAT_10"
"VAT_20"

Type: boolean Default: false

This flag determines if the tax applies to shipping costs.
Example: option and scenario costs.


Example:

[
    {
        "type": "VAT",
        "code": "tax-fra-55",
        "taxAmount": {
            "amount": 550,
            "scale": 2,
            "currency": "EUR"
        },
        "percentage": 5.5
    },
    {
        "type": "ECOTAXE1",
        "isSurcharge": true,
        "taxAmount": {
            "amount": 1500,
            "scale": 2,
            "currency": "EUR"
        }
    },
    {
        "type": "ECOTAXE2",
        "isSurcharge": true,
        "taxAmount": {
            "amount": 500,
            "scale": 2,
            "currency": "EUR"
        }
    },
    {
        "type": "VAT",
        "code": "tax-fra-20",
        "isShipping": true,
        "taxAmount": {
            "amount": 20,
            "scale": 2,
            "currency": "EUR"
        },
        "percentage": 20
    }
]

Type: object

Additional information only present in marketplace shippingGroups. These order line attributes can be updated throughout the order lifecycle.

Price

Type: object

Purchase order line’s commission fee. Equals (itemPrice + surchages) * commission_rate

Type: string

The currency code following the ISO 4217 standard 3 letter in which the prices are being displayed


Example:

"EUR"

Price

Type: object

Purchase order line’s commission fee on shipping. Equals line item shippingCost * commision_rate_on_shipping

Type: string

The currency code following the ISO 4217 standard 3 letter in which the prices are being displayed


Example:

"EUR"

Price

Type: object

Purchase order line’s price excluding shipping charges. Equals (itemPrice + surchages) - purchaseCommissionOnPrice

Type: string

The currency code following the ISO 4217 standard 3 letter in which the prices are being displayed


Example:

"EUR"

Price

Type: object

Purchase order line’s shipping charges. Equals line item shippingCost - purchaseCommissionOnShipping

Type: string

The currency code following the ISO 4217 standard 3 letter in which the prices are being displayed


Example:

"EUR"

Type: array

Purchase order line's taxes. The list of taxes matches the itemTaxes but for the purchase order

No Additional Items

Each item of this array must be:

Tax

Type: object

Contains the tax informations with both percentage or exact amount as preferable.

Type: object

A tax with a code, fixed amount, rate. Used to describe a marketplace tax.

No Additional Properties

Type: boolean Default: false

This flag determines if the tax is a surcharge to be added to netPrice/promotionalNetPrice before applying Tax. The Tax computation happens on top of ((netPrice or promotionalNetPrice)+surcharges)


Example:

true

Type: string

A tax code which identifies the tax applied to this item. It can be used to carry more details than the high level tax type information.


Examples:

"VAT_5_5"
"VAT_10"
"VAT_20"

Type: boolean Default: false

This flag determines if the tax applies to shipping costs.
Example: option and scenario costs.


Example:

[
    {
        "quantity": 4,
        "lineItemId": "1",
        "itemPrice": {
            "amount": 4000,
            "scale": 2,
            "currency": "EUR"
        },
        "shippingCost": {
            "amount": 1000,
            "scale": 2,
            "currency": "EUR"
        },
        "itemTaxes": [
            {
                "type": "VAT",
                "code": "tax-fra-55",
                "taxAmount": {
                    "amount": 2640,
                    "scale": 2,
                    "currency": "EUR"
                },
                "percentage": 5.5
            },
            {
                "type": "ECOTAXE1",
                "isSurcharge": true,
                "taxAmount": {
                    "amount": 150,
                    "scale": 2,
                    "currency": "EUR"
                }
            },
            {
                "type": "ECOTAXE2",
                "isSurcharge": true,
                "taxAmount": {
                    "amount": 50,
                    "scale": 2,
                    "currency": "EUR"
                }
            },
            {
                "type": "VAT",
                "code": "tax-fra-20",
                "isShipping": true,
                "taxAmount": {
                    "amount": 200,
                    "scale": 2,
                    "currency": "EUR"
                },
                "percentage": 20
            }
        ],
        "marketplace": {
            "purchaseCommissionOnPrice": {
                "amount": 960,
                "scale": 2,
                "currency": "EUR"
            },
            "purchaseCommissionOnShipping": {
                "amount": 200,
                "scale": 2,
                "currency": "EUR"
            },
            "purchaseNetPrice": {
                "amount": 3840,
                "scale": 2,
                "currency": "EUR"
            },
            "purchaseShippingPrice": {
                "amount": 800,
                "scale": 2,
                "currency": "EUR"
            },
            "purchaseItemTaxes": [
                {
                    "type": "VAT",
                    "code": "tax-fra-55",
                    "taxAmount": {
                        "amount": 2112,
                        "scale": 3,
                        "currency": "EUR"
                    },
                    "percentage": 5.5
                },
                {
                    "type": "ECOTAXE1",
                    "isSurcharge": true,
                    "taxAmount": {
                        "amount": 1500,
                        "scale": 2,
                        "currency": "EUR"
                    }
                },
                {
                    "type": "ECOTAXE2",
                    "isSurcharge": true,
                    "taxAmount": {
                        "amount": 500,
                        "scale": 2,
                        "currency": "EUR"
                    }
                },
                {
                    "type": "VAT",
                    "code": "tax-fra-20",
                    "isShipping": true,
                    "taxAmount": {
                        "amount": 160,
                        "scale": 2,
                        "currency": "EUR"
                    },
                    "percentage": 20
                }
            ]
        }
    }
]

Type: array

Documents references associated with this shipping group

No Additional Items

Each item of this array must be:

DocumentReference

Type: object

Information identifying a document and potentially a line within the document for referencing purposes.

DocumentType

Type: enum (of string)

The type of the document

Must be one of:

  • "DELIVERY_NOTES"
  • "INVOICE"
  • "PROOF_OF_DELIVERY"

Example:

"INVOICE"

Type: stringFormat: date-time

Date on which the document has been created, in ISO 8601 format.


Example:

"2017-07-21T08:30:22.804Z"

Type: enum (of string) Default: "OPCO"

System/component where the document is to be sourced from.

Must be one of:

  • "OPCO"
  • "MARKETPLACE"

Examples:

"MARKETPLACE"
"OPCO"

Example:

[
    {
        "type": "DELIVERY_NOTES",
        "id": "4999569661752721026",
        "createdAt": "2017-07-21T17:32:28Z"
    }
]

Type: string

Identifier that identify the logisticOrder generated and provided by the OpCo


Examples:

"s01242"
"298"

Example:

[
    {
        "status": "SHIPPED",
        "deliveryDate": "2021-10-12T08:30:22.804Z",
        "trackAndTraceInfo": {
            "numberOfPackages": 5,
            "totalWeight": 200,
            "weightUnit": "KGM",
            "lastMessageUpdate": {
                "type": "INFORMATION",
                "message": {
                    "fr-BE": "Votre commande est en cours de livraison et devrait être livrée d'ici 15h aujourd'hui",
                    "nl-BE": "Je bestelling is klaar voor bezorging en zou vandaag om 15u bezorgd moeten zijn"
                }
            },
            "additionalInfo": [
                {
                    "name": "receiver's ref",
                    "value": "5236776"
                },
                {
                    "name": "Sales Rep Message",
                    "value": "Your Order is in preparation and we dont see any issues"
                },
                {
                    "name": "carrier info",
                    "value": "APOLLO AS"
                }
            ]
        },
        "lineItems": [
            {
                "quantity": 1,
                "lineItemId": "1",
                "itemPrice": {
                    "amount": 1800,
                    "scale": 2,
                    "currency": "EUR"
                }
            }
        ]
    }
]


Example:

{
    "eventHeader": {
        "source": "SPARK",
        "version": "v1"
    },
    "sparkOrderId": "96122368729817088",
    "opcoId": "BEL-CEBEO",
    "salesChannel": "ESHOP",
    "status": "OPENED",
    "placedDate": "2021-07-08T14:17:46.218772Z",
    "accountId": "59852",
    "opcoCartId": "24777877",
    "billingAddress": {
        "opCoAddressId": "59852",
        "addressLine1": "Rue Vandercoilden 4A",
        "city": "Herseaux",
        "region": "Wallonie",
        "country": "BEL",
        "postalCode": "7712"
    },
    "logisticDetails": {
        "logisticMethod": "PICK_UP",
        "facilityId": "114",
        "deliveryAddress": {
            "opCoAddressId": "59852",
            "addressLine1": "Rue Vandercoilden 4A",
            "city": "Herseaux",
            "region": "Wallonie",
            "country": "BEL",
            "postalCode": "7712",
            "addressName": "Rue Vandercoilden 4A",
            "companyName": "SPRL FRED ELECTRIQUE"
        },
        "logisticOption": {
            "code": "EXPRESS",
            "title": "Express delivery",
            "logisticScenario": {
                "code": "2_PICK_UP",
                "title": "2 pick-up",
                "cost": {
                    "amount": 0,
                    "scale": 2,
                    "currency": "EUR"
                },
                "totalPriceIncludingSurchargesAndShipping": {
                    "amount": 31600,
                    "scale": 2,
                    "currency": "EUR"
                },
                "totalPrice": {
                    "amount": 38170,
                    "scale": 2,
                    "currency": "EUR"
                },
                "shippingGroups": [
                    {
                        "status": "IN_PREPARATION",
                        "dateChosenByCustomer": false,
                        "deliveryDate": "2021-07-12T00:00:00Z",
                        "trackAndTraceInfo": {
                            "numberOfPackages": 5,
                            "totalWeight": 20.98,
                            "weightUnit": "GRM",
                            "lastMessageUpdate": {
                                "type": "INFORMATION",
                                "message": {
                                    "fr-BE": "Votre commande est préparée et prête à être expédiée",
                                    "nl-BE": "Je bestelling is klaargemaakt en klaar om verzonden te worden"
                                }
                            }
                        },
                        "lineItems": [
                            {
                                "lineItemId": "96122268053639168",
                                "quantity": 3,
                                "itemPrice": {
                                    "amount": 1800,
                                    "scale": 2,
                                    "currency": "EUR"
                                }
                            },
                            {
                                "lineItemId": "96121848778428416",
                                "quantity": 3,
                                "itemPrice": {
                                    "amount": 1800,
                                    "scale": 2,
                                    "currency": "EUR"
                                }
                            }
                        ],
                        "alternativeLogisticDetails": {
                            "logisticMethod": "DELIVERY",
                            "facilityId": "11223344"
                        }
                    },
                    {
                        "status": "SHIPPED",
                        "dateChosenByCustomer": false,
                        "deliveryDate": "2021-07-19T00:00:00Z",
                        "trackAndTraceInfo": {
                            "numberOfPackages": 5,
                            "totalWeight": 200.56,
                            "weightUnit": "KGM",
                            "lastMessageUpdate": {
                                "type": "INFORMATION",
                                "message": {
                                    "fr-BE": "Votre commande est en cours de livraison et devrait être livrée d'ici 15h aujourd'hui",
                                    "nl-BE": "Je bestelling is klaar voor bezorging en zou vandaag om 15u bezorgd moeten zijn"
                                }
                            },
                            "additionalInfo": [
                                {
                                    "name": "receiver's ref",
                                    "value": "5236776"
                                },
                                {
                                    "name": "Sales Rep Message",
                                    "value": "Your Order is in preparation and we dont see any issues"
                                },
                                {
                                    "name": "carrier info",
                                    "value": "APOLLO AS"
                                }
                            ]
                        },
                        "lineItems": [
                            {
                                "lineItemId": "96122268053639168",
                                "quantity": 2,
                                "itemPrice": {
                                    "amount": 1800,
                                    "scale": 2,
                                    "currency": "EUR"
                                }
                            },
                            {
                                "lineItemId": "96121848778428416",
                                "quantity": 2,
                                "itemPrice": {
                                    "amount": 1800,
                                    "scale": 2,
                                    "currency": "EUR"
                                }
                            }
                        ]
                    }
                ]
            }
        }
    },
    "orderAdditionalInformation": {
        "cartName": "Shopping Cart",
        "priceOnLogisticsNotes": true,
        "purchaseOrder": "XDFG334322",
        "contactFirstName": "John",
        "contactLastName": "Doe",
        "contactPhoneNumber": "+3333333333",
        "contactEmail": "john.doe@sonepar.com",
        "orderConfirmationRecipients": [
            "john.doe@sonepar.com",
            "jane.doe@sonepar.com"
        ],
        "notes": [
            {
                "noteOnInvoice": true,
                "noteOnLogisticsNotes": false,
                "noteText": "Morning delivery preference"
            }
        ],
        "additionalReferences": [
            {
                "name": "warehouseName",
                "value": "Z.I. Fourviere"
            }
        ]
    },
    "contributors": [
        {
            "fullName": "XXXX XXXXXX",
            "email": "xxx@xxxxxx.com",
            "creator": true
        }
    ],
    "specialPriceAgreements": [
        {
            "id": "SPA-876",
            "title": "Special price agreement 876"
        },
        {
            "id": "SPA-547",
            "title": "Special price agreement 547"
        }
    ],
    "lineItems": [
        {
            "id": "96122268053639168",
            "orderedQuantity": 5,
            "product": {
                "productId": "3618978",
                "productTitle": "HID-PV C 35 35W CDM S 50-60Hz compact CDM",
                "brandName": "Philips Lighting"
            },
            "prices": {
                "netPrice": {
                    "amount": 4426,
                    "scale": 2,
                    "currency": "EUR"
                },
                "context": {
                    "type": "SPECIAL_PRICE_AGREEMENT",
                    "id": "SPA-876",
                    "title": "Special price agreement 876"
                },
                "taxes": [
                    {
                        "type": "VAT",
                        "percentage": 21,
                        "isSurcharge": false
                    }
                ]
            }
        },
        {
            "id": "96121848778428416",
            "orderedQuantity": 5,
            "product": {
                "productId": "4408098",
                "productTitle": "Master Colour CDM-T 35W G12 4200K 3000lm CRI84",
                "brandName": "Philips Lighting"
            },
            "prices": {
                "netPrice": {
                    "amount": 1886,
                    "scale": 2,
                    "currency": "EUR"
                },
                "taxes": [
                    {
                        "type": "VAT",
                        "percentage": 21,
                        "isSurcharge": false
                    },
                    {
                        "type": "RECUPEL",
                        "taxAmount": {
                            "amount": 826,
                            "scale": 4,
                            "currency": "EUR"
                        },
                        "isSurcharge": true
                    }
                ]
            }
        }
    ],
    "paymentTerms": [
        {
            "paymentMethod": "CREDIT_LINE",
            "amount": {
                "amount": 38170,
                "scale": 2,
                "currency": "EUR"
            }
        }
    ]
}

OpCoOrder

Type: object

An order as managed by the opco

BaseOrder

Type: object

A base order defining properties common to any kind of order

EventHeader

Type: object

This object is used to describe some technical meta information related to the event

Type: enum (of string)

The application source of this event

Must be one of:

  • "SPARK"
  • "OPCO"
  • "MARKETPLACE"
  • "SALES_ORDER_AUTOMATION"

Type: enum (of string)

The version of the json format event

Must be one of:

  • "v1"

Type: string

The order id generated by the spark plateform.


Example:

"4999569661752721026"

Type: string

The parent order id generated by the spark plateform, used to group spark orders associated to the same customer order.


Example:

"315627244210393088"

Type: string

Tenant identifier for an Opco in SPARK multitenant platform


Example:

"BEL-CEBEO"

Type: string

The Cart or the open order identifier at opco backend system level


Example:

"1234"

Type: string

The Cart or the open order identifier at spark level. When known it should always be present throughout the order lifecycle. This is mandatory on online orders to activate the AX feature (used to identify abandoned cart).


Example:

"1234"

Type: string

Optional field, needed by OpCo organised with a regional model or commercial organisation. It can be used to filter or route based on the orgId.


Examples:

"org123"
"SNE"

SalesChannel

Type: enum (of string)

The sales channel where the order is placed

Must be one of:

  • "ESHOP"
  • "MOBILE_APP"
  • "SYSTEM_TO_SYSTEM"
  • "STORE"
  • "BY_PHONE"
  • "DIGITAL_JOB_CENTER"
  • "SCAN_IN_STORE"
  • "SALES_ORDER_AUTOMATION"

Example:

"ESHOP"

Type: string

The status of the order. The OpCo can send any status codes that are associated with the order in their systems. The status codes sent will need to be mapped to labels in the CMS.


Examples:

"OPENED"
"VALIDATED"
"IN_PROGRESS"
"CLOSED"

Type: stringFormat: date-time

The date when the order was placed


Example:

"2021-10-12T08:30:22.804Z"

Type: stringFormat: date-time

The date when the order was last modified. This field will be used to ensure that only the latest update are being integrated to order history.


Example:

"2021-10-12T08:30:22.804Z"

Type: string

The opco account id of the customer.


Example:

"12345"

Type: array of object

The list of users that contribute on the creation if the cart and the order. The creator of the cart, the validator of the cart ...

No Additional Items

Each item of this array must be:

Type: object

Example:

[
    {
        "fullName": "John Smith",
        "email": "john.smith@mycompany.com",
        "creator": true
    },
    {
        "fullName": "John Validator",
        "email": "john.validator@mycompany.com"
    }
]

Type: string

The full name of a contributor.


Example:

"John Smith"

Type: string

The email of a contributor. this is the identifier of the user on spark


Example:

"john.smith@mycompany.com"

Type: boolean Default: "false"

A boolean that when is true means that the current contributor is the creator of the cart from where this order is created.


Example:

"false"

Type: boolean Default: "false"

A boolean that when is true means that the current contributor has placed the order (transformed the cart to an order).


Example:

"false"

Type: boolean Default: "false"

A boolean that when is true means that the current contributor has validated the cart during the approval workflow.


Example:

"false"

Type: boolean Default: "false"

A boolean that when is true means that the current contributor is an associate doing the action on behalf of the end user.


Example:

"false"

Address

Type: object

The billing address


Example:

{
    "opCoAddressId": "13543678",
    "addressLine1": "chaussee Verlinden 22",
    "addressLine2": "1st floor",
    "addressLine3": "Apparment 2",
    "postalCode": "0287",
    "city": "Bruges",
    "region": "Frandre",
    "department": "N/A",
    "country": "BEL"
}

Type: string

OpCo internal system's unique identifier for the address.


Example:

"237564557868778"

Type: string

Should contains the Given name, Surname, the name of the company


Example:

"235 Donaghy Ave"

Type: string

Should contains the street No, street name, street type

Type: string

Should contains the Floor

Type: string

The postal code


Example:

"V7P 1E2"

Type: string

The city in which the street address is, and which is in the adminDevison(region)


Example:

"North Vancouver"

Type: string

The region in which the locality is, and which is in the country.


Example:

"BC"

Type: string

The department in which the locality is, and which is in the country.


Example:

"BC"

Type: string

The ISO 3166-1 alpha-3 of the country


Example:

"CAN"

Type: string

The address identifier from Spark system


Example:

"50169486938114"

Type: array

List of special price agreements activated in this order

No Additional Items

Each item of this array must be:

SpecialPriceAgreement

Type: object

A special price agreement associated to an order or a price

Type: string

The special price agreement identifier in the OpCo back-end system


Example:

"SPA-984"

Type: string

The title of the special price agreement


Example:

"Special price agreement 984"

Example:

[
    {
        "id": "SPA-876",
        "title": "Special price agreement 876"
    },
    {
        "id": "SPA-547",
        "title": "Special price agreement 547"
    }
]

Type: array

Line items that are ordered.

Must contain a minimum of 1 items

No Additional Items

Each item of this array must be:

LineItem

Type: object

The order line item

Type: string

The ID of the line item.

Must match regular expression: ^[0-9]+$
Example:

"4999569661752721026"

Type: string

The identifier of the line item into the opco side for the case of a cart created from a quote. It can be an alpha numeric.


Examples:

"4999569661752721026"
"ITEM1"

Type: enum (of string) Default: "PRODUCT"

The type of the line item, default is PRODUCT.
- PRODUCT when the line item is a product known by spark - OFFLINE_PRODUCT when the line item is a product unknown by spark
- PROMOTION when the line item is a cart promotion
- SERVICE when the line item is an extra cost or an additional service

Must be one of:

  • "PRODUCT"
  • "OFFLINE_PRODUCT"
  • "PROMOTION"
  • "SERVICE"

Example:

"PRODUCT"

Type: integer

Number of items ordered.


Example:

10

Type: object

Product data as seen by customer from the time of the order placement.

Type: string

A unique identifier of the product.
- In case of promotion lineItem this should contain the id of the promotion.


Example:

"9554961192345"

Type: string

global trade identifier number e.g EAN, UPC etc


Example:

"4012196097579"

Type: string

This is the local product id could be specific to opcos, most cases it is same as manufacturer id but could be different as well


Examples:

"732D16"
"9554961192345"

Type: string

This is the equivalent of manufacturer PID and used for search and identifying the product


Example:

"1360167"

Type: string

manufacturer type description identifier, represents the references


Example:

"2037 12-20 LGR"

Type: string

the customer ref for the product, Supported by all special chars respecting the pattern

Must match regular expression: [a-zA-Z0-9_.+@() /$"=#,;'£\\:°*&%-]+

Type: string

Short description of the product.

For PRODUCT lineItems, it is sourced from the product.identifier.productTitle field.


Example:

"LIGHT 274498 Metal Halide Lamp"

Type: string

Brand name.

For PRODUCT lineItems, it is sourced from the product.identifier.brandName field.


Example:

"SASS"

PromotionDetails

Type: object

Details of the promotion applied to this line item


Example:

{
    "title": "Achete 3 articles et 2 gartuit",
    "alternateProductId": "767867",
    "campaignId": "234"
}

Type: string

A readable description explaining the promotions eligibility received from opco, Send the title according to chosen language


Example:

"achetez 3 articles et obtenez 10% de réduction"

Type: string

Campaign id to which this promotion is associated to relative to the standard product id


Example:

"7575785"

Type: string

The alternate product id (Since promotions in cebeo is handled by maintaining 2 different id for normal and promotional product), might not be required by other opco


Example:

"9898989"

Prices

Type: object

Contains the detail of prices related to the current product and line item

Price

Type: object

This is the product unit price that the customer will pay to the OPCO, without taxes, before applying promotion.


Example:

{
    "amount": 1000,
    "scale": 2,
    "currency": "EUR"
}

Type: integer

The actual unscaled amount


Example:

205987

Type: integer

The scale to be applied on the unscaled amount


Example:

2

Type: string

The currency code following the ISO 4217 standard 3 letter in which the prices are being displayed


Example:

"EUR"

PriceContext

Type: object

Details about the type of this price


Example:

{
    "type": "SPECIAL_PRICE_AGREEMENT",
    "id": "SPA-876",
    "title": "Special price agreement 876"
}

Type: string

An identifier of the contract or project related to this price


Examples:

"SPA-984"
"PROJECT-7463"

Type: string

A short title for this price


Examples:

"Special price agreement 984"
"Contract schneider"

Type: enum (of string)

The type of this price

Must be one of:

  • "SPECIAL_PRICE_AGREEMENT"
  • "PROJECT"
  • "STANDARD"
  • "MARKETPLACE"

Examples:

"SPECIAL_PRICE_AGREEMENT"
"MARKETPLACE"

Type: number

Percentage of discount on net price, If we have this value then promotionalNetPrice is needed also


Example:

10.0

Price

Type: object

Precomputed promotional price on top of netPrice, This is the case when promotional percentage is not present and the promotional price is directly computed and available to show


Example:

{
    "amount": 200,
    "scale": 2,
    "currency": "EUR"
}

Type: integer

The actual unscaled amount


Example:

205987

Type: integer

The scale to be applied on the unscaled amount


Example:

2

Type: string

The currency code following the ISO 4217 standard 3 letter in which the prices are being displayed


Example:

"EUR"

Price

Type: object

Precomputed quote price on top of netPrice. This is the case when the cart is created from a quote and the OPCO give a preferential price for the product.


Example:

{
    "amount": 900,
    "scale": 2,
    "currency": "EUR"
}

Type: integer

The actual unscaled amount


Example:

205987

Type: integer

The scale to be applied on the unscaled amount


Example:

2

Type: string

The currency code following the ISO 4217 standard 3 letter in which the prices are being displayed


Example:

"EUR"

Type: array

List of taxes to be applied to net price or promotional net price in case of promotion

No Additional Items

Each item of this array must be:

Tax

Type: object

Contains the tax informations with both percentage or exact amount as preferable.

Type: object

A tax represented by a percentage.

No Additional Properties
Type: object

A tax with a code, fixed amount, rate. Used to describe a marketplace tax.

No Additional Properties

Price

Type: object

Contains the amount informations based on the type of prices we might have

Type: integer

The actual unscaled amount


Example:

205987

Type: integer

The scale to be applied on the unscaled amount


Example:

2

Type: string

The currency code following the ISO 4217 standard 3 letter in which the prices are being displayed


Example:

"EUR"

Type: string

Type of tax which is applicable to the underlying product.


Example:

"VAT"

Type: boolean Default: false

This flag determines if the tax is a surcharge to be added to netPrice/promotionalNetPrice before applying Tax. The Tax computation happens on top of ((netPrice or promotionalNetPrice)+surcharges)


Example:

true

Type: number

The percentage of the net price


Example:

20.0

Type: string

A tax code which identifies the tax applied to this item. It can be used to carry more details than the high level tax type information.


Examples:

"VAT_5_5"
"VAT_10"
"VAT_20"

Type: boolean Default: false

This flag determines if the tax applies to shipping costs.
Example: option and scenario costs.


Example:

[
    {
        "type": "VAT",
        "isSurcharge": false,
        "percentage": 20.0
    }
]

Type: string

The comment is added to line item by the customer during the order placement. It is used by the customer to provide any information to be received by their own team when the order is delivered.


Example:

"Please place this item on 3rd floor"

Type: array of string

A list of lineItem ids related to the current line item.
Can be used in case of PROMOTION lineItem, to refer to PRODUCT lineItem impacted by this promotion.

No Additional Items

Each item of this array must be:

Type: string
Must match regular expression: ^[0-9]+$

Example:

[
    "96122268053639168",
    "96121848778428416"
]

Type: object

Contains marketplace properties specific to this lineItems, once set these are assumed to be immutable.

Type: string

The identifier of this lineItem in the opco purchase order

Price

Type: object

Purchase unit price (computed by the marketplace platform from the commission rate and the provided offer price)

Type: integer

The actual unscaled amount


Example:

205987

Type: integer

The scale to be applied on the unscaled amount


Example:

2

Type: string

The currency code following the ISO 4217 standard 3 letter in which the prices are being displayed


Example:

"EUR"

Type: string

The id of a cut group, groups several cutting lines


Example:

"10"

Type: string

Cutting line identifier, group of elements with the same cutting length


Example:

"1"

Example:

[
    {
        "id": "4999569661752721000",
        "orderedQuantity": 10,
        "product": {
            "productId": "4999569661752721000",
            "productTitle": "SIEMENS Circuit Breaker",
            "brandName": "Siemens"
        },
        "prices": {
            "netPrice": {
                "amount": 1000,
                "scale": 2,
                "currency": "EUR"
            },
            "promotionalNetPrice": {
                "amount": 900,
                "scale": 2,
                "currency": "EUR"
            },
            "taxes": [
                {
                    "type": "VAT",
                    "isSurcharge": false,
                    "percentage": 20.0
                }
            ]
        }
    }
]

Type: array

List of coupon added to the cart.

Must contain a minimum of 1 items

No Additional Items

Each item of this array must be:

Coupon

Type: object

This object represent a coupon into cart
- when the coupon will be added by the user the request will contains only the code
- if the coupon is not valid, we expect the opco to send a message with severity ERROR to inform the user
- if the coupon is valid but condition are not yet reached (more product should be added), we expect the opco to send a message with severity INFO
- if the coupon is valid and a discount have to be applied, we expect the opco to set the discount amount
- if the coupon have to be applied alone the exclusive should be set to true

Type: string

A unique identifier of a coupon

Type: string

A readable description explaining the details of this coupons eligibility received from opco, Send the title according to chosen language

Price

Type: object

The discount applied by this coupon

Type: integer

The actual unscaled amount


Example:

205987

Type: integer

The scale to be applied on the unscaled amount


Example:

2

Type: string

The currency code following the ISO 4217 standard 3 letter in which the prices are being displayed


Example:

"EUR"

Type: boolean Default: false

Used in case of coupon.
- When true no coupon can be applied with this one.
- When false other coupon can be applied with this one.

Type: array of integer

A list of lineItem ids related to this coupon.
Can be used to refer to PRODUCT lineItem impacted by this coupon.

No Additional Items

Each item of this array must be:

Type: integerFormat: int64

Value must be greater or equal to -9223372036854776000 and lesser or equal to 9223372036854776000

Type: array

Payment terms associated with the order

No Additional Items

Each item of this array must be:

PaymentTerm

Type: object

Terms and conditions by which a payment has been or will be made.

Type: enum (of string)

The payment method type

Must be one of:

  • "CASH"
  • "CHEQUE"
  • "CREDIT_DEBIT_CARD"
  • "CREDIT_LINE"
  • "PCB_CARD"

Example:

"CREDIT_LINE"

Type: string

The transaction payment id


Example:

"PAY0001"

Price

Type: object

The amount of the payment


Example:

{
    "amount": 1800,
    "scale": 2,
    "currency": "EUR"
}

Type: integer

The actual unscaled amount


Example:

205987

Type: integer

The scale to be applied on the unscaled amount


Example:

2

Type: string

The currency code following the ISO 4217 standard 3 letter in which the prices are being displayed


Example:

"EUR"

Type: stringFormat: date-time

Date on which the payment transaction has been created


Example:

"2017-07-21T08:30:22.804Z"

Example:

[
    {
        "paymentMethod": "CREDIT_LINE",
        "amount": {
            "amount": 10000,
            "scale": 2,
            "currency": "EUR"
        },
        "paymentTransactionId": "12345",
        "createdAt": "2017-07-21T17:32:28Z"
    }
]

Price

Type: object

The total price of all items of the order applying promotions and coupons, including all taxes.


Example:

{
    "amount": 17760,
    "scale": 2,
    "currency": "EUR"
}

Type: integer

The actual unscaled amount


Example:

205987

Type: integer

The scale to be applied on the unscaled amount


Example:

2

Type: string

The currency code following the ISO 4217 standard 3 letter in which the prices are being displayed


Example:

"EUR"

Price

Type: object

The total price of all items of the order including promotions and including surcharges.


Example:

{
    "amount": 17760,
    "scale": 2,
    "currency": "EUR"
}

Type: integer

The actual unscaled amount


Example:

205987

Type: integer

The scale to be applied on the unscaled amount


Example:

2

Type: string

The currency code following the ISO 4217 standard 3 letter in which the prices are being displayed


Example:

"EUR"

Type: object

Additional information for the order.

Type: string

Order reference for the customer (ex: customer purchase order id).


Example:

"XDFG334322"

Type: string

The cart name.


Example:

"Site 1 Cart"

Project

Type: object

The project associated to the order

Type: string

The identifier of the project

Type: string

The name of the project to display to the customer

Quote

Type: object

The quote associated to the order

Type: string

The identifier of the quote


Examples:

"4999569661752721026"
"4999569661_ORG1"

Type: string

The quote code provided by the OpCo for the Customer. If this field is provided, spark will display it to the customer instead of the quoteId


Examples:

"49995666"
"4999569661"

Type: string

The name of the Quote.

Type: string

The version of this quote. Used by some opco system to select the right version of the quote.


Example:

"1"

Type: enum (of string) Default: "STANDARD"

The type of the quote. STANDARD for normal quotes, BLANKET for quote representing blanket orders. Default value if not present is STANDARD.

Must be one of:

  • "STANDARD"
  • "BLANKET"

Example:

"STANDARD"

Type: string

Contact first name for this order. This field is added by the customer to override the same field into delivery address.


Example:

"Robert"

Type: string

Contact last name for this order. This field is added by the customer to override the same field into delivery address.


Example:

"Fox"

Type: string

Contact phone number for this order. This field is added by the customer to override the same field into delivery address.


Example:

"+3333333333"

Type: string

Contact email for this order.


Example:

"john.doe@sonepar.com"

Type: boolean

Choice of showing or not the price on the logistics note.


Example:

false

Type: array of string

An optional emails list that will be used as additional recipients to send the confirmation email of the order

No Additional Items

Each item of this array must be:

Type: array

The notes related to the order.

No Additional Items

Each item of this array must be:

Note

Type: object

Object representing a note

Type: boolean

Choice of showing or not the note on the invoice.


Example:

true

Type: boolean

Choice of showing or not the note on the logistics notes.


Example:

false

Type: string

Note added to cart


Example:

"Morning delivery preference"

Example:

[
    {
        "noteOnInvoice": true,
        "noteOnLogisticsNotes": false,
        "noteText": "Morning delivery preference"
    }
]

Type: array

Additional order information filled by the customer when placing the order or added by the OpCo system during the order processing.

No Additional Items

Each item of this array must be:

AdditionalReference

Type: object

Object representing an additional reference.

Type: string

Name of the additional reference


Example:

"warehouseName"

Type: string

Value of the additional reference filled by the customer


Example:

"P570629"

Example:

[
    {
        "name": "warehouseName",
        "value": "Z.I. Fourviere"
    }
]

Type: object

This property if present acts as a flag to identify an order as a marketplace one. It contains all marketplace specific order properties.

No Additional Properties

Type: string

Identifier of the purchase order to be sent by the OpCo to the Seller.
It is not to be confused with the customer purchaseOrder defined as part of the additional order information, which is an an optional identifier of the order as referenced by the customer.

Type: object

Contains seller information

Type: string

OpCo SellerId, as provided operator internal id for this seller.

Type: string

Seller name

Type: string

The IETF BCP 47 language tag of the locale (language and country) as used by the customer on spark front-end for this order.


Example:

"fr-FR"

OpCoOrderExtension

Type: object

Defines additional fields specific to OpCo Orders

No Additional Properties

Type: string

The order id known by the opco and the customer. Two orders can't have the same Id


Examples:

"4999569661752721026"
"49995696_ORG1"

Type: array

The list of logistic details related to this order

Must contain a minimum of 1 items

No Additional Items

Each item of this array must be:

LogisticDetails

Type: object

Information about the logistic details of the current cart (logistic method, logistic preferences, logistic options, delivery address, facility id)


Example:

{
    "logisticMethod": "DELIVERY",
    "facilityId": 395,
    "deliveryAddress": {
        "addressLine1": "chaussee Verlinden 22",
        "addressLine2": "Apartment 2",
        "city": "Bruges",
        "country": "BEL",
        "postalCode": "0287",
        "addressName": "Building #2",
        "companyName": "Easy Electric",
        "contactFirstName": "John",
        "contactLastName": "Doe",
        "contactPhoneNumber": "+333746573829",
        "deliveryIndication": "Please leave the parcel next the front door.",
        "customerReference": "Ref 364361"
    },
    "logisticOption": {
        "code": "STANDARD",
        "title": "STANDARD delivery",
        "description": "Choose this option if you want a fast delivery",
        "cost": {
            "amount": 1,
            "scale": 2,
            "currency": "EUR"
        },
        "logisticScenario": {
            "code": "1_DELIVERY",
            "title": "1 DELIVERY",
            "description": "Choose this scenario if you want all your products to be delivered at the same time",
            "cost": {
                "amount": 0,
                "scale": 2,
                "currency": "EUR"
            },
            "shippingGroups": [
                {
                    "status": "SHIPPED",
                    "deliveryDate": "2022-05-21T08:30:22.804Z",
                    "trackAndTraceInfo": {
                        "numberOfPackages": 5,
                        "totalWeight": 187.5,
                        "weightUnit": "KGM",
                        "lastMessageUpdate": {
                            "type": "INFORMATION",
                            "message": {
                                "fr-BE": "Votre commande est en cours de livraison et devrait être livrée d'ici 15h aujourd'hui",
                                "nl-BE": "Je bestelling is klaar voor bezorging en zou vandaag om 15u bezorgd moeten zijn"
                            }
                        },
                        "additionalInfo": [
                            {
                                "name": "carrier link",
                                "value": "www.ups.com"
                            },
                            {
                                "name": "Sales Rep Message",
                                "value": "Your Order is in preparation and we dont see any issues"
                            },
                            {
                                "name": "carrier info",
                                "value": "APOLLO AS"
                            }
                        ]
                    },
                    "lineItems": [
                        {
                            "quantity": 1,
                            "lineItemId": "1",
                            "itemPrice": {
                                "amount": 1800,
                                "scale": 2,
                                "currency": "EUR"
                            }
                        }
                    ],
                    "alternativeLogisticDetails": {
                        "logisticMethod": "DELIVERY",
                        "facilityId": "11223344"
                    }
                }
            ]
        }
    }
}

Type: enum (of string)

Logistic method chosen for the cart

Must be one of:

  • "DELIVERY"
  • "PICK_UP"

Example:

"PICK_UP"

Type: string

Unique identifier of the locker related to the 'facilityId' where the customer want pick up his order. The facilityId still the place where the order will be prepared


Example:

"395"

Type: string

Unique identifier of the facility used when logistic method is 'PICK_UP'.


Example:

"395"

Type: string

The id of the CDC from where this cart should be delivered. Needed to compute the right stock into PLP/PDP ....In case of multi CDC, the OpCo may have dynamic computation of the CDC and not only a static relation between branch and CDC.


Example:

"2Z1"

Type: object

The address used for delivery when logistic method is 'DELIVERY'

Address

Type: object

An address.

Type: string

OpCo internal system's unique identifier for the address.


Example:

"237564557868778"

Type: string

Should contains the Given name, Surname, the name of the company


Example:

"235 Donaghy Ave"

Type: string

Should contains the street No, street name, street type

Type: string

The city in which the street address is, and which is in the adminDevison(region)


Example:

"North Vancouver"

Type: string

The region in which the locality is, and which is in the country.


Example:

"BC"

Type: string

The department in which the locality is, and which is in the country.


Example:

"BC"

Type: string

The ISO 3166-1 alpha-3 of the country


Example:

"CAN"

Type: string

The address identifier from Spark system


Example:

"50169486938114"

DeliveryAddress

Type: object

Represents additional fields of the delivery address

Type: string

Extra description about the address


Example:

"Building site 1"

Type: string

Company name, it might differ from the account name


Example:

"Easy Electric"

Type: string

Address contact's Phone number (The phone number of the person receiving the shipment)


Example:

"+330287345678"

Type: string

Optional indications or instructions about the delivery


Example:

"Please leave the parcel next the front door"

Type: string

Optional reference about the customer


Example:

"Reference 123"

Example:

{
    "addressLine1": "chaussee Verlinden 22",
    "addressLine2": "Apartment 2",
    "city": "Bruges",
    "country": "BEL",
    "postalCode": "0287",
    "addressName": "Building #2",
    "companyName": "Easy Electric",
    "contactFirstName": "John",
    "contactLastName": "Doe",
    "contactPhoneNumber": "+333746573829",
    "deliveryIndication": "Please leave the parcel next the front door.",
    "customerReference": "Ref 364361"
}

LogisticOption

Type: object

The logistic option chosen for the selected logistic method (e.g a standard delivery is a logistic option).


Example:

{
    "code": "STANDARD",
    "title": "STANDARD delivery",
    "description": "Choose this option if you want a fast delivery",
    "cost": {
        "amount": 0,
        "scale": 2,
        "currency": "EUR"
    },
    "logisticScenario": {
        "code": "1_DELIVERY",
        "title": "1 DELIVERY",
        "description": "Choose this scenario if you want all your products to be delivered at the same time",
        "cost": {
            "amount": 0,
            "scale": 2,
            "currency": "EUR"
        },
        "totalPrice": {
            "amount": 2300,
            "scale": 2,
            "currency": "EUR"
        },
        "totalPriceIncludingSurchargesAndShipping": {
            "amount": 1900,
            "scale": 2,
            "currency": "EUR"
        },
        "shippingGroups": [
            {
                "status": "IN_PREPARATION",
                "trackAndTraceInfo": {
                    "numberOfPackages": 5,
                    "totalWeight": 200,
                    "weightUnit": "GRM",
                    "estimatedDeliveryDate": "2021-10-12T08:30:22.804Z",
                    "lastMessageUpdate": {
                        "type": "WARNING",
                        "message": {
                            "fr-BE": "certains produits que vous avez commandés ne sont pas disponibles et seront livrés à la date de livraison estimée, veuillez contacter votre représentant commercial pour plus d'informations",
                            "nl-BE": "sommige producten die u hebt besteld, zijn niet beschikbaar en worden geleverd op de geschatte leverdatum. Neem contact op met uw verkoper voor meer informatie"
                        }
                    }
                },
                "lineItems": [
                    {
                        "quantity": 1,
                        "lineItemId": "1",
                        "itemPrice": {
                            "amount": 1800,
                            "scale": 2,
                            "currency": "EUR"
                        }
                    }
                ],
                "alternativeLogisticDetails": {
                    "logisticMethod": "DELIVERY",
                    "facilityId": "11223344",
                    "deliveryAddress": {
                        "opCoAddressId": "1234567890",
                        "addressLine1": "chaussee Verlinden 22",
                        "addressLine2": "Apartment 2",
                        "city": "Bruges",
                        "country": "BEL",
                        "postalCode": "0287",
                        "addressName": "Building #2",
                        "companyName": "Easy Electric",
                        "contactFirstName": "John",
                        "contactLastName": "Doe",
                        "contactPhoneNumber": "+333746573829",
                        "deliveryIndication": "Please leave the parcel next the front door.",
                        "customerReference": "Ref 364361"
                    }
                }
            }
        ]
    }
}

Type: string

The code of the logistic option


Example:

"STANDARD"

Type: string

The title of the logistic option to be displayed to the end user.


Example:

"STANDARD delivery"

Type: string

The description of the logistic option to be displayed to the end user.


Example:

"choose this option if you want a fast delivery"

Price

Type: object

The cost of this logistic option


Example:

{
    "amount": 0,
    "scale": 2,
    "currency": "EUR"
}

Type: integer

The actual unscaled amount


Example:

205987

Type: integer

The scale to be applied on the unscaled amount


Example:

2

Type: string

The currency code following the ISO 4217 standard 3 letter in which the prices are being displayed


Example:

"EUR"

LogisticScenario

Type: object

This is the chosen logistic scenarios from the ones available for the current logistic option.(e.g deliver all the products at the same time is a logistic scenario)


Example:

{
    "selected": true,
    "code": "1_DELIVERY",
    "title": "1 DELIVERY",
    "description": "Choose this scenario if you want all your products to be delivered at the same time",
    "cost": {
        "amount": 0,
        "scale": 2,
        "currency": "EUR"
    },
    "totalPrice": {
        "amount": 2300,
        "scale": 2,
        "currency": "EUR"
    },
    "totalPriceIncludingSurchargesAndShipping": {
        "amount": 1900,
        "scale": 2,
        "currency": "EUR"
    },
    "shippingGroups": [
        {
            "status": "SHIPPED",
            "deliveryDate": "2021-10-12T08:30:22.804Z",
            "trackAndTraceInfo": {
                "numberOfPackages": 5,
                "totalWeight": 200,
                "weightUnit": "GRM",
                "lastMessageUpdate": {
                    "type": "INFORMATION",
                    "message": {
                        "fr-BE": "Votre commande est en cours de livraison et devrait être livrée d'ici 15h aujourd'hui",
                        "nl-BE": "Je bestelling is klaar voor bezorging en zou vandaag om 15u bezorgd moeten zijn"
                    }
                },
                "additionalInfo": [
                    {
                        "name": "receivers ref",
                        "value": "5236776"
                    },
                    {
                        "name": "Sales Rep Message",
                        "value": "Your Order is in preparation and we dont see any issues"
                    },
                    {
                        "name": "carrier info",
                        "value": "APOLLO AS"
                    }
                ]
            },
            "lineItems": [
                {
                    "quantity": 1,
                    "lineItemId": "1",
                    "itemPrice": {
                        "amount": 1800,
                        "scale": 2,
                        "currency": "EUR"
                    }
                }
            ]
        }
    ]
}

Type: string

The code of the logistic scenario


Example:

"1_DELIVERY"

Type: string

The title of the logistic scenario to be displayed to the end user.


Example:

"1 DELIVERY"

Type: string

The description of the logistic scenario to display to the end user.


Example:

"choose this scenario if you want all your products to be delivered at the same time"

Price

Type: object

The cost of this logistic scenario


Example:

{
    "amount": 0,
    "scale": 2,
    "currency": "EUR"
}

Type: integer

The actual unscaled amount


Example:

205987

Type: integer

The scale to be applied on the unscaled amount


Example:

2

Type: string

The currency code following the ISO 4217 standard 3 letter in which the prices are being displayed


Example:

"EUR"

Price

Type: object

Total price of the logistic scenario including promotions, surcharges, shipping cost and taxes (vat)


Example:

{
    "amount": 0,
    "scale": 2,
    "currency": "EUR"
}

Type: integer

The scale to be applied on the unscaled amount


Example:

2

Type: string

The currency code following the ISO 4217 standard 3 letter in which the prices are being displayed


Example:

"EUR"

Price

Type: object

Total price of the logistic scenario including promotions, surcharges, shipping cost without taxes (vat)


Example:

{
    "amount": 0,
    "scale": 2,
    "currency": "EUR"
}

Type: string

The currency code following the ISO 4217 standard 3 letter in which the prices are being displayed


Example:

"EUR"

Type: array of object

A list of groups of line items corresponding to the way the order will be fulfilled

No Additional Items

Each item of this array must be:

Type: object

Order shipment

Type: string

The status of the shipping group.

OpCos can send any status supported by their backend system.
The status codes sent are mapped to labels in the CMS and displayed as how customers want to see these status on CX UI without stepper.

Only exception for that, the following status:
- When CX push the order shipping groups will have the status OPENED
- For cancelled lineItems, a shipping group with a status value CANCELLED is expected.
- For back ordered lineItems, a shipping group with a status value BACK_ORDERED is expected.

Track and trace

To enable the track and trace CX feature, where a stepper is displayed and notifications are sent to the user when status are changing, the OpCos have to send the following normalised status list:
- ACCEPTED for the orders first validation or acceptance by OpCo
- REJECTED status should be used when (part of) the order is refused (not ACCEPTED)
- IN_PREPARATION for the orders in preparation until they are shipped
- SHIPPED for all the orders Shipped and in Transit
- DELIVERED for all the orders delivered at source
- AVAILABLE_FOR_PICKUP status should be used in PICKUP when the order is ready to be picked up in branch
- AVAILABLE_IN_LOCKER status should be used in PICKUP when the order is ready to be picked up in locker
- COLLECTED status should be used in PICKUP when the order has been collected from branch or locker.

NOTE:
Using status codes, which are not part of the list above in track and trace section will be displayed without the stepper and no track and trace notifications will be triggered..


Examples:

"ACCEPTED"
"IN_PREPARATION"
"SHIPPED"
"DELIVERED"
"CANCELLED"
"BACK_ORDERED"
"OPENED"
"AVAILABLE_FOR_PICKUP"
"AVAILABLE_IN_LOCKER"
"COLLECTED"
"REJECTED"

Type: boolean Default: "false"

Will be true if the delivery date is selected by the customer. It will be false is the date is the one computed by the opco backend system.

Type: stringFormat: date-time

[Deprecated - Use instead expectedDeliveryDate and expectedDeliveryTime].
Date on which the shipment expected to be delivered.


Example:

"2021-10-12T08:30:22.804Z"

Type: stringFormat: date

Date on which the shipment expected to be delivered.


Example:

"2021-10-12"

Type: string

Time on which the shipment expected to be delivered


Example:

"08:30:22.804Z"

Type: stringFormat: date

Used only on Marketplace context Latest date on which the shipment is expected to be delivered.


Example:

"2021-10-12"

Type: string

Used only on Marketplace context Latest time on which the shipment is expected to be delivered.


Example:

"08:30:22.804Z"

Type: object

This object contains the details of tracking the delivery

Type: enum (of string)

The units in which the weights are computed and displayed following the GS1 units of measure

Must be one of:

  • "GRM"
  • "KGM"
  • "LBS"

Example:

"KGM"

Type: object

A type and message object, where type is Info or Warning and message is the actual update

Type: enum (of string)

The type of the message whether its info or warning

Must be one of:

  • "INFORMATION"
  • "WARNING"

Example:

"INFORMATION"

Multilingual Object

Type: object

The actual message for the last update


Example:

{
    "fr-BE": "Votre commande est en cours de livraison et devrait être livrée d'ici 15h aujourd'hui",
    "nl-BE": "Je bestelling is klaar voor bezorging en zou vandaag om 15u bezorgd moeten zijn"
}

Type: stringFormat: date-time

If there is an issue or delay then last message update is an apology message with new estimated delivery date


Example:

"2021-10-12T08:30:22.804Z"

Type: array of object

Any additional info related to this delivery

No Additional Items

Each item of this array must be:

Type: object

A free key value pair field to add any specific messages or details

Type: string

The name or identifier for an additional info


Examples:

"receivers ref"
"senders ref"
"carrier name"
"additional instructions"

AlternativeLogisticDetails

Type: object

This object contains the logistic details associated with the shipping groupin cases where additional logistic details are applicable. e.g Logistic Details / Facility for each shipping intent group to support multi-cdc delivery.


Examples:

{
    "logisticMethod": "DELIVERY",
    "facilityId": "11223344",
    "deliveryAddress": {
        "opCoAddressId": "1234567890",
        "addressLine1": "chaussee Verlinden 22",
        "addressLine2": "Apartment 2",
        "city": "Bruges",
        "country": "BEL",
        "postalCode": "0287",
        "addressName": "Building #2",
        "companyName": "Easy Electric",
        "contactFirstName": "John",
        "contactLastName": "Doe",
        "contactPhoneNumber": "+333746573829",
        "deliveryIndication": "Please leave the parcel next the front door.",
        "customerReference": "Ref 364361"
    }
}
{
    "logisticMethod": "DELIVERY",
    "facilityId": "11223344"
}

Type: enum (of string)

OpCo internal system's unique identifier for the address.

Must be one of:

  • "DELIVERY"
  • "PICK_UP"

Type: string

The id of the facility (branch or CDC) associated with the logistic details


Example:

"AB2"

Type: object

The delivery address associated to the account where the order should be delivered.

Address

Type: object

An address.

Type: string

The city in which the street address is, and which is in the adminDevison(region)


Example:

"North Vancouver"

DeliveryAddress

Type: object

Represents additional fields of the delivery address

Type: string

Address contact's Phone number (The phone number of the person receiving the shipment)


Example:

"+330287345678"

Type: string

Optional indications or instructions about the delivery


Example:

"Please leave the parcel next the front door"

Example:

{
    "opCoAddressId": "1234567890",
    "addressLine1": "chaussee Verlinden 22",
    "addressLine2": "Apartment 2",
    "city": "Bruges",
    "country": "BEL",
    "postalCode": "0287",
    "addressName": "Building #2",
    "companyName": "Easy Electric",
    "contactFirstName": "John",
    "contactLastName": "Doe",
    "contactPhoneNumber": "+333746573829",
    "deliveryIndication": "Please leave the parcel next the front door.",
    "customerReference": "Ref 364361"
}

Type: array of object

The line items that are shipped.

No Additional Items

Each item of this array must be:

Type: object

Optional. The line items that are shipped.

No Additional Properties

Type: string

A reference to a line item. This field is a 64-bit long number represented as a string to avoid unwanted conversions to scientific notation when dealing with the model inside js code

Must match regular expression: ^[0-9]+$
Example:

"2196602318024039368"

Price

Type: object

This is the line item price that the customer will pay to the OPCO, without taxes, after applying promotion. Equals (unitPrice * quantity) for items without promotion or (discountedUnitPrice * quantity) for items with promotion


Example:

{
    "amount": 1800,
    "scale": 2,
    "currency": "EUR"
}

Type: string

The currency code following the ISO 4217 standard 3 letter in which the prices are being displayed


Example:

"EUR"

Price

Type: object

This is the shipping cost for this line item, provided when known. The logistic scenario cost should be equal to the sum of all lineItems shipping cost from all (non canceled) shipping group.


Example:

{
    "amount": 200,
    "scale": 2,
    "currency": "EUR"
}

Type: string

The currency code following the ISO 4217 standard 3 letter in which the prices are being displayed


Example:

"EUR"

Item taxes

Type: array

This is the list of taxes applicable to this lineItem, amounts are total taxes amounts for this lineItem. It includes surchages (isSurchage:true), taxes on the (itemPrice + surchages), taxes on shippingCosts (isShipping:true).

No Additional Items

Each item of this array must be:

Tax

Type: object

Contains the tax informations with both percentage or exact amount as preferable.

Type: object

A tax with a code, fixed amount, rate. Used to describe a marketplace tax.

No Additional Properties

Type: boolean Default: false

This flag determines if the tax is a surcharge to be added to netPrice/promotionalNetPrice before applying Tax. The Tax computation happens on top of ((netPrice or promotionalNetPrice)+surcharges)


Example:

true

Type: string

A tax code which identifies the tax applied to this item. It can be used to carry more details than the high level tax type information.


Examples:

"VAT_5_5"
"VAT_10"
"VAT_20"

Type: boolean Default: false

This flag determines if the tax applies to shipping costs.
Example: option and scenario costs.


Example:

[
    {
        "type": "VAT",
        "code": "tax-fra-55",
        "taxAmount": {
            "amount": 550,
            "scale": 2,
            "currency": "EUR"
        },
        "percentage": 5.5
    },
    {
        "type": "ECOTAXE1",
        "isSurcharge": true,
        "taxAmount": {
            "amount": 1500,
            "scale": 2,
            "currency": "EUR"
        }
    },
    {
        "type": "ECOTAXE2",
        "isSurcharge": true,
        "taxAmount": {
            "amount": 500,
            "scale": 2,
            "currency": "EUR"
        }
    },
    {
        "type": "VAT",
        "code": "tax-fra-20",
        "isShipping": true,
        "taxAmount": {
            "amount": 20,
            "scale": 2,
            "currency": "EUR"
        },
        "percentage": 20
    }
]

Type: object

Additional information only present in marketplace shippingGroups. These order line attributes can be updated throughout the order lifecycle.

Price

Type: object

Purchase order line’s price excluding shipping charges. Equals (itemPrice + surchages) - purchaseCommissionOnPrice

Type: string

The currency code following the ISO 4217 standard 3 letter in which the prices are being displayed


Example:

"EUR"

Type: array

Purchase order line's taxes. The list of taxes matches the itemTaxes but for the purchase order

No Additional Items

Each item of this array must be:

Tax

Type: object

Contains the tax informations with both percentage or exact amount as preferable.

Type: object

A tax with a code, fixed amount, rate. Used to describe a marketplace tax.

No Additional Properties

Type: boolean Default: false

This flag determines if the tax is a surcharge to be added to netPrice/promotionalNetPrice before applying Tax. The Tax computation happens on top of ((netPrice or promotionalNetPrice)+surcharges)


Example:

true

Type: string

A tax code which identifies the tax applied to this item. It can be used to carry more details than the high level tax type information.


Examples:

"VAT_5_5"
"VAT_10"
"VAT_20"

Type: boolean Default: false

This flag determines if the tax applies to shipping costs.
Example: option and scenario costs.


Example:

[
    {
        "quantity": 4,
        "lineItemId": "1",
        "itemPrice": {
            "amount": 4000,
            "scale": 2,
            "currency": "EUR"
        },
        "shippingCost": {
            "amount": 1000,
            "scale": 2,
            "currency": "EUR"
        },
        "itemTaxes": [
            {
                "type": "VAT",
                "code": "tax-fra-55",
                "taxAmount": {
                    "amount": 2640,
                    "scale": 2,
                    "currency": "EUR"
                },
                "percentage": 5.5
            },
            {
                "type": "ECOTAXE1",
                "isSurcharge": true,
                "taxAmount": {
                    "amount": 150,
                    "scale": 2,
                    "currency": "EUR"
                }
            },
            {
                "type": "ECOTAXE2",
                "isSurcharge": true,
                "taxAmount": {
                    "amount": 50,
                    "scale": 2,
                    "currency": "EUR"
                }
            },
            {
                "type": "VAT",
                "code": "tax-fra-20",
                "isShipping": true,
                "taxAmount": {
                    "amount": 200,
                    "scale": 2,
                    "currency": "EUR"
                },
                "percentage": 20
            }
        ],
        "marketplace": {
            "purchaseCommissionOnPrice": {
                "amount": 960,
                "scale": 2,
                "currency": "EUR"
            },
            "purchaseCommissionOnShipping": {
                "amount": 200,
                "scale": 2,
                "currency": "EUR"
            },
            "purchaseNetPrice": {
                "amount": 3840,
                "scale": 2,
                "currency": "EUR"
            },
            "purchaseShippingPrice": {
                "amount": 800,
                "scale": 2,
                "currency": "EUR"
            },
            "purchaseItemTaxes": [
                {
                    "type": "VAT",
                    "code": "tax-fra-55",
                    "taxAmount": {
                        "amount": 2112,
                        "scale": 3,
                        "currency": "EUR"
                    },
                    "percentage": 5.5
                },
                {
                    "type": "ECOTAXE1",
                    "isSurcharge": true,
                    "taxAmount": {
                        "amount": 1500,
                        "scale": 2,
                        "currency": "EUR"
                    }
                },
                {
                    "type": "ECOTAXE2",
                    "isSurcharge": true,
                    "taxAmount": {
                        "amount": 500,
                        "scale": 2,
                        "currency": "EUR"
                    }
                },
                {
                    "type": "VAT",
                    "code": "tax-fra-20",
                    "isShipping": true,
                    "taxAmount": {
                        "amount": 160,
                        "scale": 2,
                        "currency": "EUR"
                    },
                    "percentage": 20
                }
            ]
        }
    }
]

Type: array

Documents references associated with this shipping group

No Additional Items

Each item of this array must be:

DocumentReference

Type: object

Information identifying a document and potentially a line within the document for referencing purposes.

DocumentType

Type: enum (of string)

The type of the document

Must be one of:

  • "DELIVERY_NOTES"
  • "INVOICE"
  • "PROOF_OF_DELIVERY"

Example:

"INVOICE"

Type: stringFormat: date-time

Date on which the document has been created, in ISO 8601 format.


Example:

"2017-07-21T08:30:22.804Z"

Type: enum (of string) Default: "OPCO"

System/component where the document is to be sourced from.

Must be one of:

  • "OPCO"
  • "MARKETPLACE"

Examples:

"MARKETPLACE"
"OPCO"

Example:

[
    {
        "type": "DELIVERY_NOTES",
        "id": "4999569661752721026",
        "createdAt": "2017-07-21T17:32:28Z"
    }
]

Type: string

Identifier that identify the logisticOrder generated and provided by the OpCo


Examples:

"s01242"
"298"

Example:

[
    {
        "status": "SHIPPED",
        "deliveryDate": "2021-10-12T08:30:22.804Z",
        "trackAndTraceInfo": {
            "numberOfPackages": 5,
            "totalWeight": 200,
            "weightUnit": "KGM",
            "lastMessageUpdate": {
                "type": "INFORMATION",
                "message": {
                    "fr-BE": "Votre commande est en cours de livraison et devrait être livrée d'ici 15h aujourd'hui",
                    "nl-BE": "Je bestelling is klaar voor bezorging en zou vandaag om 15u bezorgd moeten zijn"
                }
            },
            "additionalInfo": [
                {
                    "name": "receiver's ref",
                    "value": "5236776"
                },
                {
                    "name": "Sales Rep Message",
                    "value": "Your Order is in preparation and we dont see any issues"
                },
                {
                    "name": "carrier info",
                    "value": "APOLLO AS"
                }
            ]
        },
        "lineItems": [
            {
                "quantity": 1,
                "lineItemId": "1",
                "itemPrice": {
                    "amount": 1800,
                    "scale": 2,
                    "currency": "EUR"
                }
            }
        ]
    }
]

Price

Type: object

The total amount of all the items of the order after applying promotions,shipping cost and coupons, without taxes.


Example:

{
    "amount": 13800,
    "scale": 2,
    "currency": "EUR"
}

Type: integer

The actual unscaled amount


Example:

205987

Type: integer

The scale to be applied on the unscaled amount


Example:

2

Type: string

The currency code following the ISO 4217 standard 3 letter in which the prices are being displayed


Example:

"EUR"

Type: array

The total amount of each tax.
Total tax amounts should be grouped by (type, percentage) to cover the case of different percentages for the same taxe type.

No Additional Items

Each item of this array must be:

Tax

Type: object

Contains the tax informations with both percentage or exact amount as preferable.

Type: object

A tax with a fixed amount.

No Additional Properties
Type: object

A tax represented by a percentage.

No Additional Properties
Type: object

A tax with a code, fixed amount, rate. Used to describe a marketplace tax.

No Additional Properties

Price

Type: object

Contains the amount informations based on the type of prices we might have

Type: integer

The actual unscaled amount


Example:

205987

Type: integer

The scale to be applied on the unscaled amount


Example:

2

Type: string

The currency code following the ISO 4217 standard 3 letter in which the prices are being displayed


Example:

"EUR"

Type: string

Type of tax which is applicable to the underlying product.


Example:

"VAT"

Type: boolean Default: false

This flag determines if the tax is a surcharge to be added to netPrice/promotionalNetPrice before applying Tax. The Tax computation happens on top of ((netPrice or promotionalNetPrice)+surcharges)


Example:

true

Type: number

The percentage of the net price


Example:

20.0

Type: string

A tax code which identifies the tax applied to this item. It can be used to carry more details than the high level tax type information.


Examples:

"VAT_5_5"
"VAT_10"
"VAT_20"

Type: boolean Default: false

This flag determines if the tax applies to shipping costs.
Example: option and scenario costs.


Example:

[
    {
        "type": "VAT",
        "isSurcharge": false,
        "taxAmount": {
            "amount": 12000,
            "scale": 4,
            "currency": "EUR"
        },
        "percentage": 20
    },
    {
        "type": "VAT",
        "isSurcharge": false,
        "taxAmount": {
            "amount": 100,
            "scale": 4,
            "currency": "EUR"
        },
        "percentage": 5.5
    },
    {
        "type": "ECOTAXE",
        "isSurcharge": true,
        "taxAmount": {
            "amount": 260,
            "scale": 2,
            "currency": "EUR"
        }
    }
]

Type: array

Documents references associated with the order

No Additional Items

Each item of this array must be:

DocumentReference

Type: object

Information identifying a document and potentially a line within the document for referencing purposes.

DocumentType

Type: enum (of string)

The type of the document

Must be one of:

  • "DELIVERY_NOTES"
  • "INVOICE"
  • "PROOF_OF_DELIVERY"

Example:

"INVOICE"

Type: string

The id of the document


Example:

"4999569661752721026"

Type: stringFormat: date-time

Date on which the document has been created, in ISO 8601 format.


Example:

"2017-07-21T08:30:22.804Z"

Type: enum (of string) Default: "OPCO"

System/component where the document is to be sourced from.

Must be one of:

  • "OPCO"
  • "MARKETPLACE"

Examples:

"MARKETPLACE"
"OPCO"

Example:

[
    {
        "type": "INVOICE",
        "id": "4999569661752721026",
        "createdAt": "2017-07-21T17:32:28Z"
    },
    {
        "type": "DELIVERY_NOTES",
        "id": "234098230957209357",
        "createdAt": "2023-03-03T18:52:00Z",
        "source": "MARKETPLACE"
    }
]

If the conditions in the "If" tab are respected, then the conditions in the "Then" tab should be respected. Otherwise, the conditions in the "Else" tab should be respected.

Type: object

Order Ids for marketplace products have a constraint on the allowed pattern

The following properties are required:

  • marketplace
Type: object

Type: string
Must match regular expression: ^[a-zA-Z0-9\-_]*$