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

BulkAddItemsToCart

Type: object

Internal This schema is used internally by Spark, not for OpCo integration.
Object used to describe event bulk add to cart.
Used in zeebe process bulk-add-items-to-cart-process

Type: string

Tenant identifier for an OpCo


Example:

"BEL-CEBEO"

Type: string

OpCo's organizational customer number that uniquely identifies its account


Example:

"ACCOUNT"

Type: string

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


Example:

"org123"

Type: string

The locale use the IETF BCP 47 language tag of the locale (language and country). Used to indicate the language of the asset.


Example:

"fr-BE"

Type: enum (of string)

Logistic method chosen for the cart

Must be one of:

  • "DELIVERY"
  • "PICK_UP"

Example:

"PICK_UP"

Type: string

OpCo-provided ID of the project


Example:

"52721026"

Type: array of string

List of specials prices agreements ids associated to an order or a price

No Additional Items

Each item of this array must be:


Examples:

"12345"
"6789"

Type: boolean

When this field is set to true, all the Special Price Agreements available for the requested account will be used to calculate the best price.


Example:

false

Type: array

Cart's items composed by product information and price

No Additional Items

Each item of this array must be:

Type: object

Item within the BulkAddItemsToCart object

Type: string

The unique product identifier depending on each operating company backend system (like ERP product ID)


Example:

"0079073"

Type: object

Product information


Example:

{
    "minQuantity": 2,
    "quantitySteps": 2,
    "opcoSellerId": "shop-2009",
    "opcoProductId": "SEL1_1234567890"
}

Type: integer

Minimum quantity of a product which could be ordered


Example:

1

Type: integer

Sold in steps or quantity intervals of a product


Example:

1

Type: string

Seller ID, as known by the opCo.


Example:

"shop-2009"

Type: string

Product identifier defined by the opco when sold by this seller. This field is optional and if defined it overrides identifier.opcoProductId.


Example:

"732D16"

Type: integer

Product quantity wanted


Example:

10

Type: string

The unique campaign identifier


Example:

"007"

PriceItem

Type: object

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

Price

Type: object

The total amount of all the items of the order after applying promotions, 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 letters in which the prices are being displayed


Example:

"EUR"

Price

Type: object

List price of the product, to be used/shown in case there is no customer negotiated net price


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 letters in which the prices are being displayed


Example:

"EUR"

PriceContext

Type: object

Details about the price's context


Examples:

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

Type: string

An identifier of the contract or project related to this price


Examples:

"SPA-984"
"PROJECT-7463"
"2068"

Type: string

A short title for this price


Examples:

"Special price agreement 984"
"Contract schneider"
"Marketplace price 2068"

Type: enum (of string)

The type of this price

Must be one of:

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

Example:

"SPECIAL_PRICE_AGREEMENT"

Promotion

Type: object

Details of the promotion applied to the price


Example:

{
    "campaignId": "47384723",
    "title": "Promotion 1",
    "promotionalNetPrice": {
        "amount": 3500,
        "scale": 2,
        "currency": "EUR"
    }
}

Type: string

The unique campaign identifier of selected promotion campaign


Example:

"RAMADAN_2022"

Type: string

A human readable title of this promotion


Example:

"Gas paid in ruble will be cheaper"

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:

"0987654321"

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

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 letters in which the prices are being displayed


Example:

"EUR"

Type: number

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


Example:

10.0

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's information with either percentage or exact amount as preferable, or just a code

Type: object

A tax with a fix amount

The following properties are required:

  • type
  • amount
Type: object

A tax represented by a percentage

The following properties are required:

  • type
  • percentage
Type: object

A tax represented by a code

The following properties are required:

  • code

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

Price

Type: object

Contains the amount information 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 letters in which the prices are being displayed


Example:

"EUR"

Type: string

The code of tax


Example:

"Standard-20%"

Example:

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

Example:

{
    "productId": "67890",
    "quantity": 3,
    "campaignId": "56789",
    "productInformation": {
        "minQuantity": 2,
        "quantitySteps": 2
    },
    "priceInformation": {
        "promotion": {
            "campaignId": "47384723",
            "title": "RAMADAN_2022",
            "promotionalNetPrice": {
                "amount": 3500,
                "scale": 2,
                "currency": "EUR"
            }
        },
        "taxes": [
            {
                "surcharge": false,
                "type": "VAT",
                "percentage": 20.0
            },
            {
                "surcharge": true,
                "type": "ECOTAX",
                "amount": {
                    "amount": 1500,
                    "scale": 2,
                    "currency": "EUR"
                }
            }
        ]
    }
}

Type: boolean Default: false

This field defines if the account for which this bulk add process has been triggered has access to marketplace


Example:

true