Prices & Discounts

Prices & Discounts

1.6.0OAS 3.0

This API allows to retrieve Prices and Discounts including their metadata like image URLs and marketing texts.

The response language is determined by the Accept-Language HTTP header or by a dedicated lang query parameter. If neither is given “de” is used.

Images are available on the Migros CDN which is based on Rokka. Most image URLs are templates containing {stack} which you MUST replace with the Rokka stack you want to use. The stack original returns the image in its original dimensions. The image format is determined by the filename extension (e.g. ‘.jpg’ or ‘.png’). The URLs have a suitable extension, but you are free to replace e.g. .png with .avif if needed.

The public routes are accessible from the outside world (“internet”), but provide a slimmer feature set compared to their internal counterparts.

The three Audit routes are for human audition and troubleshooting and do not serve data that is usable by machines. Generally no access is granted to these routes.

The breaking changes are documented here

API Base URL
  • Server 1:https://api-qual.migros.ch

    URL of upstream

Security
Kong-Api-Key (apiKey)

Kong key-auth authentication

Price-Data

Get store prices for a product

This endpoint retrieves currently valid store prices for a specified product. By default, only currently valid prices will be fetched. However, future store prices can also be retrieved by using the status=all query parameter.

get
https://api-qual.migros.ch/migros/products/prices/v1/sellingprices/stores/{storeId}/{productId}

Query Parameters

langstring

Override the Accept-Language header

Allowed values:defrit

statusstring

The status query parameter allows to filter by status and enables fetching future prices.

Allowed values:all

Example:[ "" ]

Path Parameters

productIdstringrequired

The ID of the product.

Example:204002600400

storeIdstringrequired

The ID of the store.

Example:0034300

Response

200 application/json

Array of prices

Price of a product in certain timeframe. It can be with or without discount.

basePricenumber

BasePrice describes the base price for a single item of the product

Example:1.1

basePriceQuantityinteger

BasePriceQuantity describes the unit quantity for the BasePrice

Example:500

basePriceUnitstring

BasePriceUnit describes the unit for the BasePrice (e.g “G”, “ST”, “L” etc.)

Example:G

discountobject

Represents discount data gathered from different sources.

Show Child Parameters
isDailyPriceboolean

IsDailyPrice (Tagespreis) indicates that there are multiple prices for a product across different regions or even within stores in the same region. Therefore, to display the correct price for a product, we must consider the specific region or store context.

Example:true

isDiscountbooleanrequired

IsDiscount indicates if this price is a discounted price.

Example:true

originalBasePricenumber

OriginalBasePrice describes the original non-discounted base price for a single item of the product. This is set only when its a discounted price

Example:1.1

originalPricenumber

OriginalPrice is the price without a discount. This is set only when price is a discounted price

Example:11

pricenumber

Price is the Product price

Example:5.5

quantityinteger

Quantity describes the number of items one gets for the price

Example:1

regionstring

Region describes the places where the prices are valid

Allowed values:gmaagmzhgmosgmvdgmgegmnfgmbsgmlugmtigmvsnational

Example:gmzh

storeIdstring

StoreID is the identifier for the store

Example:0033000

unitstring

Unit describes the unit for quantity (e.g “CU”, “KG” etc.)

Example:CU

validFromDatestring(date-time)required

ValidFrom indicates the start date when the price is valid

Example:2024-05-07T00:00:00+02:00

validToDatestring(date-time)required

ValidTo indicates the end date when the price becomes invalid

Example:2024-05-13T23:59:59+02:00

get/migros/products/prices/v1/sellingprices/stores/{storeId}/{productId}
 
200 application/json

Get regional prices for a product

This endpoint retrieves currently valid regional prices for a specified product. If no regional price for a region is found, the national price will be used as a fallback. Priority of prices is also taken into account. E.g. a discounted takes precedence over non-discounted prices and multiple applicable discounts get prioritised.

get
https://api-qual.migros.ch/migros/products/prices/v1/sellingprices/{productId}

Query Parameters

langstring

Override the Accept-Language header

Allowed values:defrit

regionsarray[string]

The regions parameter filters for one or more specific regions. When set, only data these regions will be returned. If the price of a requested region is not available, national price will be used as a fallback.

Both, the "explode"ed and the un"explode"ed variants are supported, so ?regions=gmaa,national and ?regions=gmaa&regions=national are equivalent.

Allowed values:gmaagmzhgmosgmvdgmgegmnfgmbsgmlugmtigmvsnational

Path Parameters

productIdstringrequired

The ID of the product.

Example:204002600400

Response

200 application/json

Array of prices

Price of a product in certain timeframe. It can be with or without discount.

basePricenumber

BasePrice describes the base price for a single item of the product

Example:1.1

basePriceQuantityinteger

BasePriceQuantity describes the unit quantity for the BasePrice

Example:500

basePriceUnitstring

BasePriceUnit describes the unit for the BasePrice (e.g “G”, “ST”, “L” etc.)

Example:G

discountobject

Represents discount data gathered from different sources.

Show Child Parameters
isDailyPriceboolean

IsDailyPrice (Tagespreis) indicates that there are multiple prices for a product across different regions or even within stores in the same region. Therefore, to display the correct price for a product, we must consider the specific region or store context.

Example:true

isDiscountbooleanrequired

IsDiscount indicates if this price is a discounted price.

Example:true

originalBasePricenumber

OriginalBasePrice describes the original non-discounted base price for a single item of the product. This is set only when its a discounted price

Example:1.1

originalPricenumber

OriginalPrice is the price without a discount. This is set only when price is a discounted price

Example:11

pricenumber

Price is the Product price

Example:5.5

quantityinteger

Quantity describes the number of items one gets for the price

Example:1

regionstring

Region describes the places where the prices are valid

Allowed values:gmaagmzhgmosgmvdgmgegmnfgmbsgmlugmtigmvsnational

Example:gmzh

storeIdstring

StoreID is the identifier for the store

Example:0033000

unitstring

Unit describes the unit for quantity (e.g “CU”, “KG” etc.)

Example:CU

validFromDatestring(date-time)required

ValidFrom indicates the start date when the price is valid

Example:2024-05-07T00:00:00+02:00

validToDatestring(date-time)required

ValidTo indicates the end date when the price becomes invalid

Example:2024-05-13T23:59:59+02:00

get/migros/products/prices/v1/sellingprices/{productId}
 
200 application/json

Discount-Data