A sales order is a document that provides the details of a customer's order and the terms of the transaction.
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.
identifier is required if eventHeader.type is EVENT
"EVENT"
Contains information about the sales order event, including the source, version, type and scopes.
The application source of this event
The version of the json format event
The type of the event.
"COMMAND"
Represents the scopes of the event. Each string in the array is a scope that the event pertains to. This field is used to specify which parts of the sales order the event is related to.
Must contain a minimum of 1 items
The scopes of the sales order event, where possible values are:
- SALES_ORDER_HEADER
- SALES_ORDER_LINES this scope includes all line items in the sales order overriding the whole persisted object
- SALES_ORDER_LINES_PARTIAL This scope includes all line items that will be updated or deleted. Since SALES_ORDER_LINES supersedes this scope, it doesn’t make sense to send both.
- PAYMENT_METHODS
The object holding the request information.
{
"id": "1234567",
"target": "SPARK"
}
The unique identifier of the request provided by the slave system on the COMMAND message, and then also returned by the master into the EVENT message. It is used to correlate the EVENT message to the COMMAND message on the slave system source of a change request. It can be the technical id on the slave system, like the sparkOrderId when spark captures the sales order. This can be ignored by the other slave systems
Must be at least 1 characters long
"1234567"
The target system that the message is intended for from the master POV. In case the message is sent by a slave system the value of this field must be the same as source field. The same value will be returned by the master system in response message (COMMAND or EVENT).
"SPARK"
Optional list of the consumers to ignore the message.
Must contain a minimum of 1 items
All items must be unique
No Additional ItemsMust be at least 1 characters long
Contains the unique identifier for the sales order. It should be present in all events except for the creation COMMAND message.
This is identical to opCoOrderId
The sales order unique and immutable identifier.
Must be at least 1 characters long
List of errors that occurred when the master is processing a request of changes. this will be sent back to the slave system in case of failure, via a COMMAND type message. In addition the master is expected a payload 'salesOrderHeader' or/and 'salesOrderLines' or/and 'payments' that the slave can use to correct his current state.
The object holding the errors when master is processing a request of changes. this will be sent back to the slave system in case of failure, via a COMMAND type message. The message field should be a multilingual object that may be used to display to end users (Customer or Associate).
{
"code": "TECHNICAL_FAILURE",
"message": {
"en-GB": "Contact abc@corporate.fr is unknown",
"fr-FR": "Le contact abc@corporate.fr est inconnu"
}
}
The error code
"TECHNICAL_FAILURE"
The error message
{
"en-GB": "Contact abc@corporate.fr is unknown",
"fr-FR": "Le contact abc@corporate.fr est inconnu"
}
Each additional property must conform to the following schema
Type: stringContains information about the sales order, including the account IDs, status, creation and modification dates.
Represents the customer account id used as the soldTo in the sales Order
Must be at least 1 characters long
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.
Must be at least 1 characters long
"org123"
"SNE"
The parent order id generated by the spark plateform, used to group spark orders associated to the same customer order. This is specially used when an order contains marketplace products, in this case the sales order is split into one order by seller plus an other one for opco products.
"315627244210393088"
The sales channel where the sales order is placed
"ESHOP"
OPENED : The sales order is created and not yet validated. ACCEPTED : The sales order is validated by the OPCO. PARTIALLY_ACCEPTED : The sales order is partially validated by the OPCO, some line item are rejected or cancelled. CANCELLED : The sales order is cancelled by the customer or the OPCO. REJECTED : The sales order is rejected by the OPCO. INVOICED : The sales order is invoiced by the OPCO to the customer.List of documents attached to the sales order.
Must contain a minimum of 1 items
A document attached to the sales order.
The type of the document supported on the sales order.
"INVOICE"
The id of the document
Must be at least 1 characters long
"4999569661752721026"
Date on which the document has been created, in ISO 8601 format.
Must be at least 1 characters long
"2017-07-21T08:30:22.804Z"
System/component where the document is to be sourced from.
"MARKETPLACE"
"OPCO"
The actual file name that will be shown to the user
Must be at least 1 characters long
"Note de crédit"
"Creditnota"
The file extension of the document
Must match regular expression:^\.[a-zA-Z0-9]+(\.[a-zA-Z0-9]+)*$
Must be at least 1 characters long
".pdf"
".csv"
".txt"
Optional list of logistic order IDs to link this document (typically an invoice) to one or more logistic orders
No Additional Items[
"LO-92389013"
]
Date of creation of the sales order document
Must be at least 1 characters long
Date of last modification of the sales order document, when the sales order is created this date is the same as the placedOn date
Must be at least 1 characters long
The sales order logistic details.
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.
if deliveryType is PICK_UP then the facilityId is required
"PICK_UP"
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.
if deliveryType is DELIVERY then the deliveryAddress is required
"DELIVERY"
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
"395"
Unique identifier of the facility used when delivery type is 'PICK_UP'.
"395"
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.
"2Z1"
The address used for delivery when logistic method is 'DELIVERY'
An address.
OpCo internal system's unique identifier for the address.
Must be at least 1 characters long
"237564557868778"
The first line of the address. Should contain Street name, no, street type. Usually the whole address can fit on one line
Must be at least 1 characters long
"235 Donaghy Ave"
The second line of the address. Should complete the address with other details (e.g. floor number)
Must be at least 1 characters long
The third line of the address. Should complete the address with other information. e.g. Apartment no
Must be at least 1 characters long
The postal code
Must be at least 1 characters long
"V7P 1E2"
The city in which the street address is, and which is in the adminDevison(region)
Must be at least 1 characters long
"North Vancouver"
The region in which the locality is, and which is in the country.
"BC"
The department in which the locality is, and which is in the country.
Must be at least 1 characters long
"BC"
The ISO 3166-1 alpha-3 of the country
Must be at least 1 characters long
"CAN"
Represents additional fields of the delivery address
Extra description about the address
Must be at least 1 characters long
"Building site 1"
Company name, it might differ from the account name
Must be at least 1 characters long
"Easy Electric"
Address contact's first name
Must be at least 1 characters long
"John"
Address contact's last name
Must be at least 1 characters long
"Doe"
Address contact's middle name
Must be at least 1 characters long
"William"
Address contact's Phone number (The phone number of the person receiving the shipment)
Must be at least 1 characters long
"+330287345678"
Optional indications or instructions about the delivery
"Please leave the parcel next the front door"
Optional reference about the customer
Must be at least 1 characters long
"Reference 123"
{
"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"
}
The logistic option chosen by the customer during the checkout flow.
The code of the logistic option or logistic scenario.
"STANDARD"
The title of the logistic option or logistic scenario to be seen to the end user during the checkout.
"STANDARD delivery"
The description of the logistic option or logistic scenario to be seen to the end user during the checkout.
"choose this option if you want a fast delivery"
The cost of this logistic option or logistic scenario displayed to the end user during the checkout.
{
"amount": 0,
"scale": 2,
"currency": "EUR"
}
The actual unscaled amount
205987
The scale to be applied on the unscaled amount
2
The currency code following the ISO 4217 standard 3 letter in which the prices are being displayed
Must be at least 3 characters long
Must be at most 3 characters long
"EUR"
The logistic scenario chosen by the customer during the checkout flow.
The code of the logistic option or logistic scenario.
"STANDARD"
The title of the logistic option or logistic scenario to be seen to the end user during the checkout.
"STANDARD delivery"
The description of the logistic option or logistic scenario to be seen to the end user during the checkout.
"choose this option if you want a fast delivery"
The cost of this logistic option or logistic scenario displayed to the end user during the checkout.
{
"amount": 0,
"scale": 2,
"currency": "EUR"
}
The actual unscaled amount
205987
The scale to be applied on the unscaled amount
2
The currency code following the ISO 4217 standard 3 letter in which the prices are being displayed
Must be at least 3 characters long
Must be at most 3 characters long
"EUR"
Contains information about the price of the sales order.
Total price of the logistic scenario including promotions, surcharges, shipping cost and taxes (vat)
{
"amount": 0,
"scale": 2,
"currency": "EUR"
}
The actual unscaled amount
205987
The scale to be applied on the unscaled amount
2
The currency code following the ISO 4217 standard 3 letter in which the prices are being displayed
Must be at least 3 characters long
Must be at most 3 characters long
"EUR"
Total price of the sales order including promotions, shipping cost and taxes where surcharges is true
{
"amount": 0,
"scale": 2,
"currency": "EUR"
}
The actual unscaled amount
205987
The scale to be applied on the unscaled amount
2
The currency code following the ISO 4217 standard 3 letter in which the prices are being displayed
Must be at least 3 characters long
Must be at most 3 characters long
"EUR"
The total amount of all the items of the order after applying promotions,shipping cost and coupons, without taxes.
{
"amount": 13800,
"scale": 2,
"currency": "EUR"
}
The actual unscaled amount
205987
The scale to be applied on the unscaled amount
2
The currency code following the ISO 4217 standard 3 letter in which the prices are being displayed
Must be at least 3 characters long
Must be at most 3 characters long
"EUR"
The total amount of each tax, grouped by (type, percentage) to cover the case of different percentages for the same taxe type.
Contains the tax informations with both percentage or exact amount as preferable.
A tax with a fixed amount.
No Additional PropertiesA tax represented by a percentage.
No Additional PropertiesA tax with a code, fixed amount, rate. Used to describe a marketplace tax.
No Additional PropertiesThe actual unscaled amount
205987
The scale to be applied on the unscaled amount
2
The currency code following the ISO 4217 standard 3 letter in which the prices are being displayed
Must be at least 3 characters long
Must be at most 3 characters long
"EUR"
Type of tax which is applicable to the underlying product.
"VAT"
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)
true
The percentage of the net price
20.0
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.
"VAT_5_5"
"VAT_10"
"VAT_20"
This flag determines if the tax applies to shipping costs.
Example: option and scenario costs.
[
{
"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"
}
}
]
List of coupons applied to the sales order.
No Additional ItemsThe coupon code.
Must be at least 1 characters long
The negavitve amount of the discount
The actual unscaled amount
205987
The scale to be applied on the unscaled amount
2
The currency code following the ISO 4217 standard 3 letter in which the prices are being displayed
Must be at least 3 characters long
Must be at most 3 characters long
"EUR"
The list of contributors that contribute on the creation of the cart or the sales order (The creator of the cart, the validator of the cart ...). That can be contact or an associate
Must contain a minimum of 1 items
[
{
"fullName": "John Smith",
"email": "john.smith@mycompany.com",
"creator": true
},
{
"fullName": "John Validator",
"email": "john.validator@mycompany.com"
}
]
The full name of a contributor.
"John Smith"
The email of a contributor. this is the identifier of the user on spark
"john.smith@mycompany.com"
A boolean that when is true means that the current contributor is the creator of the cart from where this sales order is created.
"false"
A boolean that when is true means that the current contributor has placed the sales order (transformed the cart to an order).
"false"
A boolean that when is true means that the current contributor has validated the cart during the approval workflow.
"false"
A boolean that when is true means that the current contributor is an associate doing the action on behalf of the end user.
"false"
The billing address
{
"opCoAddressId": "13543678",
"addressLine1": "chaussee Verlinden 22",
"addressLine2": "1st floor",
"addressLine3": "Apparment 2",
"postalCode": "0287",
"city": "Bruges",
"region": "Frandre",
"department": "N/A",
"country": "BEL"
}
OpCo internal system's unique identifier for the address.
Must be at least 1 characters long
"237564557868778"
The first line of the address. Should contain Street name, no, street type. Usually the whole address can fit on one line
Must be at least 1 characters long
"235 Donaghy Ave"
The second line of the address. Should complete the address with other details (e.g. floor number)
Must be at least 1 characters long
The third line of the address. Should complete the address with other information. e.g. Apartment no
Must be at least 1 characters long
The postal code
Must be at least 1 characters long
"V7P 1E2"
The city in which the street address is, and which is in the adminDevison(region)
Must be at least 1 characters long
"North Vancouver"
The region in which the locality is, and which is in the country.
"BC"
The department in which the locality is, and which is in the country.
Must be at least 1 characters long
"BC"
The ISO 3166-1 alpha-3 of the country
Must be at least 1 characters long
"CAN"
List of special price agreements activated in this sales order
No Additional ItemsA special price agreement associated to an order or a price
The special price agreement identifier in the OpCo back-end system
"SPA-984"
The title of the special price agreement
"Special price agreement 984"
[
{
"id": "SPA-876",
"title": "Special price agreement 876"
},
{
"id": "SPA-547",
"title": "Special price agreement 547"
}
]
The IETF BCP 47 language tag of the locale (language and country) as used by the customer on spark front-end for this sales order.
"fr-FR"
Additional information for the sales order.
Order reference for the customer (ex: customer purchase order id).
"XDFG334322"
The cart used to place this sales order
The Cart or the open order identifier at opco backend system level
"1234"
The Cart or the open order identifier at spark level. When known it should always be present throughout the sales order lifecycle. This is mandatory on online orders for abandoned cart feature.
"1234"
The name of the cart used to place this sales order
"Site 1 Cart"
[DEPRECATED] The project associated to the sales order
The identifier of the project
The name of the project to display to the customer
The quote associated to the sales order
The identifier of the quote
"4999569661752721026"
"4999569661_ORG1"
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
"49995666"
"4999569661"
The name of the Quote.
The version of this quote. Used by some opco system to select the right version of the quote.
"1"
The type of the quote. STANDARD for normal quotes, BLANKET for quote representing blanket orders. Default value if not present is STANDARD.
"STANDARD"
Contact first name for this sales order. This field is added by the customer to override the same field into delivery address.
"Robert"
Contact last name for this sales order. This field is added by the customer to override the same field into delivery address.
"Fox"
Contact middle name for this sales order. This field is added by the customer to override the same field into delivery address.
"William"
Contact phone number for this sales order. This field is added by the customer to override the same field into delivery address.
"+3333333333"
Contact email for this sales order.
"john.doe@sonepar.com"
Choice of showing or not the price on the logistics note.
false
An optional emails list that will be used as additional recipients to send the confirmation email of the sales order
No Additional ItemsThe notes related to the sales order.
No Additional ItemsObject representing a note
Choice of showing or not the note on the invoice.
true
Choice of showing or not the note on the logistics notes.
false
Note added to cart
"Morning delivery preference"
[
{
"noteOnInvoice": true,
"noteOnLogisticsNotes": false,
"noteText": "Morning delivery preference"
}
]
Additional order information filled by the customer when placing the sales order or added by the OpCo system during the sales order processing.
No Additional ItemsObject representing an additional reference.
Name of the additional reference
"warehouseName"
Value of the additional reference filled by the customer
"P570629"
[
{
"name": "warehouseName",
"value": "Z.I. Fourviere"
}
]
This property if present acts as a flag to identify an order as a marketplace one. It contains all marketplace specific order properties.
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 sales order as referenced by the customer.
Contains seller information
OpCo SellerId, as provided operator internal id for this seller.
Seller name
An array of sales line items part of this sales order. This scope overrides all the existing line items of the sales order, delta mode is not supported here, for updates and deletes use salesOrderLinesPartial
Must contain a minimum of 1 items
A sales order line.
The unique identifier of the sales order line.
Must be at least 1 characters long
A minimal product data to be able to display the product even in the case the product is deleted.
A unique identifier of the product.
- In case of promotion lineItem this should contain the id of the promotion.
"9554961192345"
global trade identifier number e.g EAN, UPC etc
"4012196097579"
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
"732D16"
"9554961192345"
This is the equivalent of manufacturer PID and used for search and identifying the product
"1360167"
manufacturer type description identifier, represents the references
"2037 12-20 LGR"
the customer ref for the product, Supported by all special chars respecting the pattern
Must match regular expression:[a-zA-Z0-9_.+@() /$"=#,;'£\\:°*&%-]+
Short description of the product.
For PRODUCT lineItems, it is sourced from the product.identifier.productTitle field.
"LIGHT 274498 Metal Halide Lamp"
Brand name.
For PRODUCT lineItems, it is sourced from the product.identifier.brandName field.
"SASS"
The product ordered quantity.
10
The identifier of the quote line item into the opco side for the case the sales order is created from a quote. It can be an alpha numeric.
"4999569661752721026"
"ITEM1"
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
"PRODUCT"
The split of the quantity of the line item in different statuses.
Must contain a minimum of 1 items
The sales order line quantity in a specific status.
{
"status": "ACCEPTED",
"quantity": 10,
"isDateChosenByCustomer": true,
"expectedDeliveryDate": "2023-10-15T08:30:22.804Z",
"expectedLatestDeliveryDate": "2023-10-20T08:30:22.804Z"
}
{
"status": "BACK_ORDERED",
"quantity": 5
}
The status of the line item quantity.
The quantity of the status.
10
Flag to indicate if the date is chosen by the customer
true
The expected delivery date of this line item quantity.
"2017-07-21T08:30:22.804Z"
Used only on Marketplace context The expected latest delivery date and time of this line item quantity.
"2017-07-21T08:30:22.804Z"
[
{
"ACCEPTED": {
"quantity": 10,
"isDateChosenByCustomer": true,
"expectedDeliveryDate": "2017-07-21T08:30:22.804Z"
}
},
{
"BACK_ORDERED": {
"quantity": 5
}
},
{
"CANCELLED": {
"quantity": 5
}
}
]
Details of the promotion applied to this line item
{
"title": "Achete 3 articles et 2 gartuit",
"alternateProductId": "767867",
"campaignId": "234"
}
A readable description explaining the promotions eligibility received from opco, Send the title according to chosen language
"achetez 3 articles et obtenez 10% de réduction"
Campaign id to which this promotion is associated to relative to the standard product id
"7575785"
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
"9898989"
Contains the detail of prices related to the current product and line item
This is the product unit price that the customer will pay to the OPCO, without taxes, before applying promotion.
{
"amount": 1000,
"scale": 2,
"currency": "EUR"
}
The actual unscaled amount
205987
The scale to be applied on the unscaled amount
2
The currency code following the ISO 4217 standard 3 letter in which the prices are being displayed
Must be at least 3 characters long
Must be at most 3 characters long
"EUR"
Details about the type of this price
{
"type": "SPECIAL_PRICE_AGREEMENT",
"id": "SPA-876",
"title": "Special price agreement 876"
}
An identifier of the contract or project related to this price
"SPA-984"
"PROJECT-7463"
A short title for this price
"Special price agreement 984"
"Contract schneider"
The type of this price
"SPECIAL_PRICE_AGREEMENT"
"MARKETPLACE"
Percentage of discount on net price, If we have this value then promotionalNetPrice is needed also
10.0
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
{
"amount": 200,
"scale": 2,
"currency": "EUR"
}
The actual unscaled amount
205987
The scale to be applied on the unscaled amount
2
The currency code following the ISO 4217 standard 3 letter in which the prices are being displayed
Must be at least 3 characters long
Must be at most 3 characters long
"EUR"
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.
{
"amount": 900,
"scale": 2,
"currency": "EUR"
}
The actual unscaled amount
205987
The scale to be applied on the unscaled amount
2
The currency code following the ISO 4217 standard 3 letter in which the prices are being displayed
Must be at least 3 characters long
Must be at most 3 characters long
"EUR"
List of taxes to be applied to net price or promotional net price in case of promotion
No Additional ItemsContains the tax informations with both percentage or exact amount as preferable.
A tax with a fixed amount.
No Additional PropertiesA tax represented by a percentage.
No Additional PropertiesA tax with a code, fixed amount, rate. Used to describe a marketplace tax.
No Additional PropertiesThe actual unscaled amount
205987
The scale to be applied on the unscaled amount
2
The currency code following the ISO 4217 standard 3 letter in which the prices are being displayed
Must be at least 3 characters long
Must be at most 3 characters long
"EUR"
Type of tax which is applicable to the underlying product.
"VAT"
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)
true
The percentage of the net price
20.0
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.
"VAT_5_5"
"VAT_10"
"VAT_20"
This flag determines if the tax applies to shipping costs.
Example: option and scenario costs.
[
{
"type": "VAT",
"isSurcharge": false,
"percentage": 20.0
}
]
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
{
"amount": 1800,
"scale": 2,
"currency": "EUR"
}
The actual unscaled amount
205987
The scale to be applied on the unscaled amount
2
The currency code following the ISO 4217 standard 3 letter in which the prices are being displayed
Must be at least 3 characters long
Must be at most 3 characters long
"EUR"
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.
{
"amount": 200,
"scale": 2,
"currency": "EUR"
}
The actual unscaled amount
205987
The scale to be applied on the unscaled amount
2
The currency code following the ISO 4217 standard 3 letter in which the prices are being displayed
Must be at least 3 characters long
Must be at most 3 characters long
"EUR"
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).
Contains the tax informations with both percentage or exact amount as preferable.
A tax with a fixed amount.
No Additional PropertiesA tax represented by a percentage.
No Additional PropertiesA tax with a code, fixed amount, rate. Used to describe a marketplace tax.
No Additional PropertiesThe actual unscaled amount
205987
The scale to be applied on the unscaled amount
2
The currency code following the ISO 4217 standard 3 letter in which the prices are being displayed
Must be at least 3 characters long
Must be at most 3 characters long
"EUR"
Type of tax which is applicable to the underlying product.
"VAT"
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)
true
The percentage of the net price
20.0
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.
"VAT_5_5"
"VAT_10"
"VAT_20"
This flag determines if the tax applies to shipping costs.
Example: option and scenario costs.
[
{
"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
}
]
The comment is added to line item by the customer during the sales order placement. It is used by the customer to provide any information to be received by their own team when the sales order is delivered.
"Please place this item on 3rd floor"
Contains marketplace properties specific to this lineItems, once set these are assumed to be immutable.
The identifier of this lineItem in the opco purchase order
Purchase unit price (computed by the marketplace platform from the commission rate and the provided offer price)
The actual unscaled amount
205987
The scale to be applied on the unscaled amount
2
The currency code following the ISO 4217 standard 3 letter in which the prices are being displayed
Must be at least 3 characters long
Must be at most 3 characters long
"EUR"
Purchase order line's commission fee. Equals (itemPrice + surchages) * commission_rate
The actual unscaled amount
205987
The scale to be applied on the unscaled amount
2
The currency code following the ISO 4217 standard 3 letter in which the prices are being displayed
Must be at least 3 characters long
Must be at most 3 characters long
"EUR"
Purchase order line's commission fee on shipping. Equals line item shippingCost * commision_rate_on_shipping
The actual unscaled amount
205987
The scale to be applied on the unscaled amount
2
The currency code following the ISO 4217 standard 3 letter in which the prices are being displayed
Must be at least 3 characters long
Must be at most 3 characters long
"EUR"
Purchase order line's price excluding shipping charges. Equals (itemPrice + surchages) - purchaseCommissionOnPrice
The actual unscaled amount
205987
The scale to be applied on the unscaled amount
2
The currency code following the ISO 4217 standard 3 letter in which the prices are being displayed
Must be at least 3 characters long
Must be at most 3 characters long
"EUR"
Purchase order line's shipping charges. Equals line item shippingCost - purchaseCommissionOnShipping
The actual unscaled amount
205987
The scale to be applied on the unscaled amount
2
The currency code following the ISO 4217 standard 3 letter in which the prices are being displayed
Must be at least 3 characters long
Must be at most 3 characters long
"EUR"
Purchase order line's taxes. The list of taxes matches the itemTaxes but for the purchase order
No Additional ItemsContains the tax informations with both percentage or exact amount as preferable.
A tax with a fixed amount.
No Additional PropertiesA tax represented by a percentage.
No Additional PropertiesA tax with a code, fixed amount, rate. Used to describe a marketplace tax.
No Additional PropertiesThe actual unscaled amount
205987
The scale to be applied on the unscaled amount
2
The currency code following the ISO 4217 standard 3 letter in which the prices are being displayed
Must be at least 3 characters long
Must be at most 3 characters long
"EUR"
Type of tax which is applicable to the underlying product.
"VAT"
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)
true
The percentage of the net price
20.0
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.
"VAT_5_5"
"VAT_10"
"VAT_20"
This flag determines if the tax applies to shipping costs.
Example: option and scenario costs.
The id of a cut group, groups several cutting lines
"10"
Cutting line identifier, group of elements with the same cutting length
"1"
The sales order line item logistic details that will override the sales order logistic details.
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.
if deliveryType is PICK_UP then the facilityId is required
"PICK_UP"
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.
if deliveryType is DELIVERY then the deliveryAddress is required
"DELIVERY"
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
"395"
Unique identifier of the facility used when delivery type is 'PICK_UP'.
"395"
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.
"2Z1"
The address used for delivery when logistic method is 'DELIVERY'
An address.
OpCo internal system's unique identifier for the address.
Must be at least 1 characters long
"237564557868778"
The first line of the address. Should contain Street name, no, street type. Usually the whole address can fit on one line
Must be at least 1 characters long
"235 Donaghy Ave"
The second line of the address. Should complete the address with other details (e.g. floor number)
Must be at least 1 characters long
The third line of the address. Should complete the address with other information. e.g. Apartment no
Must be at least 1 characters long
The postal code
Must be at least 1 characters long
"V7P 1E2"
The city in which the street address is, and which is in the adminDevison(region)
Must be at least 1 characters long
"North Vancouver"
The region in which the locality is, and which is in the country.
"BC"
The department in which the locality is, and which is in the country.
Must be at least 1 characters long
"BC"
The ISO 3166-1 alpha-3 of the country
Must be at least 1 characters long
"CAN"
Represents additional fields of the delivery address
Extra description about the address
Must be at least 1 characters long
"Building site 1"
Company name, it might differ from the account name
Must be at least 1 characters long
"Easy Electric"
Address contact's first name
Must be at least 1 characters long
"John"
Address contact's last name
Must be at least 1 characters long
"Doe"
Address contact's middle name
Must be at least 1 characters long
"William"
Address contact's Phone number (The phone number of the person receiving the shipment)
Must be at least 1 characters long
"+330287345678"
Optional indications or instructions about the delivery
"Please leave the parcel next the front door"
Optional reference about the customer
Must be at least 1 characters long
"Reference 123"
{
"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"
}
An array of sales line items part of this sales order.
To update a line, the line must be sent with the updated values.
To delete a line, the line must be sent with the status DELETED.
Delta mode is supported, only the lines that are sent are updated, the rest are kept as is.
Must contain a minimum of 1 items
A sales order line.
The unique identifier of the sales order line.
Must be at least 1 characters long
A minimal product data to be able to display the product even in the case the product is deleted.
A unique identifier of the product.
- In case of promotion lineItem this should contain the id of the promotion.
"9554961192345"
global trade identifier number e.g EAN, UPC etc
"4012196097579"
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
"732D16"
"9554961192345"
This is the equivalent of manufacturer PID and used for search and identifying the product
"1360167"
manufacturer type description identifier, represents the references
"2037 12-20 LGR"
the customer ref for the product, Supported by all special chars respecting the pattern
Must match regular expression:[a-zA-Z0-9_.+@() /$"=#,;'£\\:°*&%-]+
Short description of the product.
For PRODUCT lineItems, it is sourced from the product.identifier.productTitle field.
"LIGHT 274498 Metal Halide Lamp"
Brand name.
For PRODUCT lineItems, it is sourced from the product.identifier.brandName field.
"SASS"
The product ordered quantity.
10
The identifier of the quote line item into the opco side for the case the sales order is created from a quote. It can be an alpha numeric.
"4999569661752721026"
"ITEM1"
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
"PRODUCT"
The split of the quantity of the line item in different statuses.
Must contain a minimum of 1 items
The sales order line quantity in a specific status.
{
"status": "ACCEPTED",
"quantity": 10,
"isDateChosenByCustomer": true,
"expectedDeliveryDate": "2023-10-15T08:30:22.804Z",
"expectedLatestDeliveryDate": "2023-10-20T08:30:22.804Z"
}
{
"status": "BACK_ORDERED",
"quantity": 5
}
The status of the line item quantity.
The quantity of the status.
10
Flag to indicate if the date is chosen by the customer
true
The expected delivery date of this line item quantity.
"2017-07-21T08:30:22.804Z"
Used only on Marketplace context The expected latest delivery date and time of this line item quantity.
"2017-07-21T08:30:22.804Z"
[
{
"ACCEPTED": {
"quantity": 10,
"isDateChosenByCustomer": true,
"expectedDeliveryDate": "2017-07-21T08:30:22.804Z"
}
},
{
"BACK_ORDERED": {
"quantity": 5
}
},
{
"CANCELLED": {
"quantity": 5
}
}
]
Details of the promotion applied to this line item
{
"title": "Achete 3 articles et 2 gartuit",
"alternateProductId": "767867",
"campaignId": "234"
}
A readable description explaining the promotions eligibility received from opco, Send the title according to chosen language
"achetez 3 articles et obtenez 10% de réduction"
Campaign id to which this promotion is associated to relative to the standard product id
"7575785"
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
"9898989"
Contains the detail of prices related to the current product and line item
This is the product unit price that the customer will pay to the OPCO, without taxes, before applying promotion.
{
"amount": 1000,
"scale": 2,
"currency": "EUR"
}
The actual unscaled amount
205987
The scale to be applied on the unscaled amount
2
The currency code following the ISO 4217 standard 3 letter in which the prices are being displayed
Must be at least 3 characters long
Must be at most 3 characters long
"EUR"
Details about the type of this price
{
"type": "SPECIAL_PRICE_AGREEMENT",
"id": "SPA-876",
"title": "Special price agreement 876"
}
An identifier of the contract or project related to this price
"SPA-984"
"PROJECT-7463"
A short title for this price
"Special price agreement 984"
"Contract schneider"
The type of this price
"SPECIAL_PRICE_AGREEMENT"
"MARKETPLACE"
Percentage of discount on net price, If we have this value then promotionalNetPrice is needed also
10.0
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
{
"amount": 200,
"scale": 2,
"currency": "EUR"
}
The actual unscaled amount
205987
The scale to be applied on the unscaled amount
2
The currency code following the ISO 4217 standard 3 letter in which the prices are being displayed
Must be at least 3 characters long
Must be at most 3 characters long
"EUR"
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.
{
"amount": 900,
"scale": 2,
"currency": "EUR"
}
The actual unscaled amount
205987
The scale to be applied on the unscaled amount
2
The currency code following the ISO 4217 standard 3 letter in which the prices are being displayed
Must be at least 3 characters long
Must be at most 3 characters long
"EUR"
List of taxes to be applied to net price or promotional net price in case of promotion
No Additional ItemsContains the tax informations with both percentage or exact amount as preferable.
A tax with a fixed amount.
No Additional PropertiesA tax represented by a percentage.
No Additional PropertiesA tax with a code, fixed amount, rate. Used to describe a marketplace tax.
No Additional PropertiesThe actual unscaled amount
205987
The scale to be applied on the unscaled amount
2
The currency code following the ISO 4217 standard 3 letter in which the prices are being displayed
Must be at least 3 characters long
Must be at most 3 characters long
"EUR"
Type of tax which is applicable to the underlying product.
"VAT"
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)
true
The percentage of the net price
20.0
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.
"VAT_5_5"
"VAT_10"
"VAT_20"
This flag determines if the tax applies to shipping costs.
Example: option and scenario costs.
[
{
"type": "VAT",
"isSurcharge": false,
"percentage": 20.0
}
]
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
{
"amount": 1800,
"scale": 2,
"currency": "EUR"
}
The actual unscaled amount
205987
The scale to be applied on the unscaled amount
2
The currency code following the ISO 4217 standard 3 letter in which the prices are being displayed
Must be at least 3 characters long
Must be at most 3 characters long
"EUR"
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.
{
"amount": 200,
"scale": 2,
"currency": "EUR"
}
The actual unscaled amount
205987
The scale to be applied on the unscaled amount
2
The currency code following the ISO 4217 standard 3 letter in which the prices are being displayed
Must be at least 3 characters long
Must be at most 3 characters long
"EUR"
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).
Contains the tax informations with both percentage or exact amount as preferable.
A tax with a fixed amount.
No Additional PropertiesA tax represented by a percentage.
No Additional PropertiesA tax with a code, fixed amount, rate. Used to describe a marketplace tax.
No Additional PropertiesThe actual unscaled amount
205987
The scale to be applied on the unscaled amount
2
The currency code following the ISO 4217 standard 3 letter in which the prices are being displayed
Must be at least 3 characters long
Must be at most 3 characters long
"EUR"
Type of tax which is applicable to the underlying product.
"VAT"
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)
true
The percentage of the net price
20.0
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.
"VAT_5_5"
"VAT_10"
"VAT_20"
This flag determines if the tax applies to shipping costs.
Example: option and scenario costs.
[
{
"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
}
]
The comment is added to line item by the customer during the sales order placement. It is used by the customer to provide any information to be received by their own team when the sales order is delivered.
"Please place this item on 3rd floor"
Contains marketplace properties specific to this lineItems, once set these are assumed to be immutable.
The identifier of this lineItem in the opco purchase order
Purchase unit price (computed by the marketplace platform from the commission rate and the provided offer price)
The actual unscaled amount
205987
The scale to be applied on the unscaled amount
2
The currency code following the ISO 4217 standard 3 letter in which the prices are being displayed
Must be at least 3 characters long
Must be at most 3 characters long
"EUR"
Purchase order line's commission fee. Equals (itemPrice + surchages) * commission_rate
The actual unscaled amount
205987
The scale to be applied on the unscaled amount
2
The currency code following the ISO 4217 standard 3 letter in which the prices are being displayed
Must be at least 3 characters long
Must be at most 3 characters long
"EUR"
Purchase order line's commission fee on shipping. Equals line item shippingCost * commision_rate_on_shipping
The actual unscaled amount
205987
The scale to be applied on the unscaled amount
2
The currency code following the ISO 4217 standard 3 letter in which the prices are being displayed
Must be at least 3 characters long
Must be at most 3 characters long
"EUR"
Purchase order line's price excluding shipping charges. Equals (itemPrice + surchages) - purchaseCommissionOnPrice
The actual unscaled amount
205987
The scale to be applied on the unscaled amount
2
The currency code following the ISO 4217 standard 3 letter in which the prices are being displayed
Must be at least 3 characters long
Must be at most 3 characters long
"EUR"
Purchase order line's shipping charges. Equals line item shippingCost - purchaseCommissionOnShipping
The actual unscaled amount
205987
The scale to be applied on the unscaled amount
2
The currency code following the ISO 4217 standard 3 letter in which the prices are being displayed
Must be at least 3 characters long
Must be at most 3 characters long
"EUR"
Purchase order line's taxes. The list of taxes matches the itemTaxes but for the purchase order
No Additional ItemsContains the tax informations with both percentage or exact amount as preferable.
A tax with a fixed amount.
No Additional PropertiesA tax represented by a percentage.
No Additional PropertiesA tax with a code, fixed amount, rate. Used to describe a marketplace tax.
No Additional PropertiesThe actual unscaled amount
205987
The scale to be applied on the unscaled amount
2
The currency code following the ISO 4217 standard 3 letter in which the prices are being displayed
Must be at least 3 characters long
Must be at most 3 characters long
"EUR"
Type of tax which is applicable to the underlying product.
"VAT"
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)
true
The percentage of the net price
20.0
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.
"VAT_5_5"
"VAT_10"
"VAT_20"
This flag determines if the tax applies to shipping costs.
Example: option and scenario costs.
The id of a cut group, groups several cutting lines
"10"
Cutting line identifier, group of elements with the same cutting length
"1"
The sales order line item logistic details that will override the sales order logistic details.
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.
if deliveryType is PICK_UP then the facilityId is required
"PICK_UP"
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.
if deliveryType is DELIVERY then the deliveryAddress is required
"DELIVERY"
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
"395"
Unique identifier of the facility used when delivery type is 'PICK_UP'.
"395"
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.
"2Z1"
The address used for delivery when logistic method is 'DELIVERY'
An address.
OpCo internal system's unique identifier for the address.
Must be at least 1 characters long
"237564557868778"
The first line of the address. Should contain Street name, no, street type. Usually the whole address can fit on one line
Must be at least 1 characters long
"235 Donaghy Ave"
The second line of the address. Should complete the address with other details (e.g. floor number)
Must be at least 1 characters long
The third line of the address. Should complete the address with other information. e.g. Apartment no
Must be at least 1 characters long
The postal code
Must be at least 1 characters long
"V7P 1E2"
The city in which the street address is, and which is in the adminDevison(region)
Must be at least 1 characters long
"North Vancouver"
The region in which the locality is, and which is in the country.
"BC"
The department in which the locality is, and which is in the country.
Must be at least 1 characters long
"BC"
The ISO 3166-1 alpha-3 of the country
Must be at least 1 characters long
"CAN"
Represents additional fields of the delivery address
Extra description about the address
Must be at least 1 characters long
"Building site 1"
Company name, it might differ from the account name
Must be at least 1 characters long
"Easy Electric"
Address contact's first name
Must be at least 1 characters long
"John"
Address contact's last name
Must be at least 1 characters long
"Doe"
Address contact's middle name
Must be at least 1 characters long
"William"
Address contact's Phone number (The phone number of the person receiving the shipment)
Must be at least 1 characters long
"+330287345678"
Optional indications or instructions about the delivery
"Please leave the parcel next the front door"
Optional reference about the customer
Must be at least 1 characters long
"Reference 123"
{
"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"
}
Delete action for the order line when processed in partial updates.
"DELETE"
The list payment methods that the customer is supposed to pay this sales order with.
The full list should be sent always, delta mode is not supported.
Must contain a minimum of 1 items
the list of payment methods that the customer is expected to pay with
The payment method used for the payment.
"CREDIT_LINE"
The transaction payment id
"PAY0001"
The amount of the payment
{
"amount": 1800,
"scale": 2,
"currency": "EUR"
}
The actual unscaled amount
205987
The scale to be applied on the unscaled amount
2
The currency code following the ISO 4217 standard 3 letter in which the prices are being displayed
Must be at least 3 characters long
Must be at most 3 characters long
"EUR"
Date on which the payment transaction has been created
"2017-07-21T08:30:22.804Z"