Skip to content

Product Rules

The Product Rules Import Endpoint

https://{BASE_URL}/imports/product_rules

All import integration endpoints use the same authentication parameters, please see Authentication page for more details.

Advanced Product Rules Import Parameters

When importing Product Rules you can additionally specify which Markets you wish to import for. The default market is dk (Denmark) - signifying all Shops in the Danish market.

The default can be overridden by the query parameter markets. The value is comma separated lists of markets.

E.g.:

https://{BASE_URL}/imports/product_rules?markets=dk,se,no&...

For further clarification of the Market concept, please read the Vocabulary.

You may post any amount of Product Rules to the endpoint. Existing product rules are overwritten based on their id.

JSON Example

{
        "product_rules": [
            {
                "id": "pant-a",
                "type": "container_deposit",
                "name": "Pant A",
                "display_name": "Pant",
                "tag": "pant-a",
                "product_group": "pant-a",
                "price": 1
            },
            {
                "id": "pant-b",
                "type": "container_deposit",
                "name": "Pant B",
                "display_name": {
                    "da": "Pant"
                },
                "tag": "pant-b",
                "product_group": "pant-b",
                "price": {
                    "dk": 1.5
                }
            }
        ]
    }

Models

At the moment there's only one type of product rules: container_deposit which is used to model POS behavior for products with container deposits, for example when a can of Coca Cola is sold in a Danish store, the customer pays a fixed container deposit amount (the amount depends on the container) which is then returned to the customer upon delivering the can back to a designated drop off point for recycling.

The container_deposit rule basically specifies minimal product information that should added to the basket when a product with a specific tag is added to the basket.

{
        {
            "id": "<string, required>",
            "type": "<string, required, can only be "container_deposit" for now>",
            "name": "<string, required, name shown in Ka-ching backoffice for admin purposes>",
            "display_name": "<L10nString, required, used in the basket and on receipt>",
            "tag": "<string, required>",
            "product_group": "<string, optional, can refer to a product group to group the usage of this rule in register statistics>",
            "price": "<MarketPrice, required, price of the container desposit product for each market>"
        }
}

L10nString is a localized string. MarketPrice is a price specification for each market.

Deleting Product Rules

Send an HTTP DELETE request to the endpoint with a body containing a JSON array of Product Rule ids.

[
  "pant-a", "pant-b"
]