Prices & Discounts

List Products matching a Discount

List ProductIDs that fall under the given Discount.

This endpoint can help humans to get an better idea what that discount actually is by listing some of the products it matches; it is unsuitable to get all products that apply to a discount.

get
https://api-qual.migros.ch/migros/marketing/promotions/v1/discounts/{discountId}/products

Query Parameters

limitinteger

Maximum number of product IDs to return. (Default is 30.)

>= 1<= 300

Example:20

Path Parameters

discountIdstringrequired

The ID of the discount.

Example:2034284

Response

200 application/json

List of Product IDs.

array[string]
get/migros/marketing/promotions/v1/discounts/{discountId}/products
 
200 application/json

Public-Discount-Data

Query Discounts

This endpoint allows to query the set of Discounts based on a variety of filters. See /migros/marketing/promotions/v1/discounts for details.

get
https://api-qual.migros.ch/migros/marketing/promotions/v1/public/discounts

Query Parameters

langstring

Override the Accept-Language header

Allowed values:defrit

idarray[string]

The id parameter allows to query one or more discounts via their ID (actually the Bundle ID).

regionarray[string]

The region parameter filters for one or more specific regions.

Allowed values:nationalgmaagmzhgmosgmvdgmgegmnfgmbsgmlugmtigmvs

event_idstring

The event_id parameter allows to select discounts belonging to a specific event. (Note: Combining this parameter with event_tactic or event_tactic_type is technically possible but probably useless)

Example:609237

event_tacticstring

The event_tactic parameter allows to select discounts based on their event tactic. Since an event tactic is a subcategory of an event tactic type, they should be used together. For instance, an event tactic with ID ‘2’ can be a subcategory of multiple event tactic types. Only by combining both event_tactic_type and event_tactic, you get the complete information about tactic.
(Note: Combining this parameter with event_id is technically possible but probably useless)

Example:52

event_tactic_typestring

The event_tactic_type parameter allows to select discounts based on their event tactic-type. Since an event tactic is a subcategory of an event tactic type, they should be used together. For instance, an event tactic with ID ‘2’ can be a subcategory of multiple event tactic types. Only by combining both event_tactic_type and event_tactic, you get the complete information about tactic.
(Note: Combining this parameter with event_id is technically possible but probably useless)

Example:900

campaign_idstring

The campaign_idparameter allows to select discounts belonging to a specific campaign.

statearray[string]

The state parameter allows to only select Discounts in the states ‘draft’, ‘published’ or ‘current’, where ‘draft’ only returns Discounts max. 5 days away from publishing.

Allowed values:draftpublishedcurrent

Example:current

distribution_channelarray[string]

The distribution_channelparameters allows to select discount belonging to a specific distributionChannel.id.

  • SM/VM: Alle Filialen
  • GASTRO: Gastronomie
  • MP/VOI: MP/VOI
  • MR: Migros Restaurant
  • T_SM/VM: SM/VM
  • TA: Take Away

Allowed values:SM/VMGASTROMP/VOIMRT_SM/VMTA

rolearray[string]

The role parameter allows to select discounts by by one or several roleId(s).

  • 1000000005: Neuheitenangebot
  • 1000000007: Display
  • 1000000008: Sortimentskompetenz (SORT)
  • 1000000009: FM Angebot
  • 1000000011: GM Angebot
  • 1000000014: Liquidation
  • 2000000001: M: High-Performer
  • 2000000002: M: Wochenangebot Typ I
  • 2000000003: M: Wochenangebot Typ II
  • 2000000005: M: Wochenend-Hits SM/VM

Allowed values:1000000005100000000710000000081000000009100000001110000000142000000001200000000220000000032000000005

advertisement_typearray[string]

The advertisement_type parameter allows to select discount via their advertisementTypeId.

  • 1: % klein
  • 2: % gross
  • 3: Abs. Rabatt
  • 4: Vitamin Franken
  • 5: HIT
  • 6: 1+1
  • 7: 2+1
  • 8: Vitamintasche
  • 9: Aktuell
  • 10: Tiefpreis

Allowed values:12345678910

Example:3

typearray[string]

The type parameter allows to select discounts via their typeId.

  • 001: SA Sonderangebot
  • 002: SE Sellout
  • 003: LIQU Liquidationsangebot
  • 004: CAKT Cumulus-Angebot (Fix oder xFach Punkte)
  • 005: GRAB Angebot CHF beim Kauf ab X Stueck"
  • (006: XFY X für Y Angebot mit gleichem VP" obsolet, gibt es nicht mehr)
  • 007: SORT Sortimentsangebot ohne Preisreduktion"

Allowed values:001002003004005007

Example:004

reductionarray[string]

The reduction parameter allows to select discounts by their reductionTypeId.

  • 01: Relativer Rabatt
  • 02: Absoluter Rabatt
  • (03: X für Y obsolet, gibt es nicht mehr)
  • 04: Absolute CUMULUS Punkte
  • 05: X-Fach Punkte
  • 06: Rabattpreis = CHF
  • 07: HIT
  • 08: Preisabschlag

Allowed values:01020405060708

Example:07

bundles_onlyboolean

If set to true: return only the designated bundle discount (typically the national discount).

Attention: Setting bundles_only=true will suppress all bundles/discounts that do not have designated discount data for the bundle as whole.

boss_bwarray[string]

The boss_bw allows to select discounts for specific bossBW number. bossBW is the world code prefix for Boss number.

Example:04

boss_bbarray[string]

The boss_bb allows to select discounts for specific bossBB number. bossBB is the area (bereich) code prefix for Boss number.

Example:02

Response

application/json

Array of all discounts

Same as Discount but with some stripped fields from it for public use.

advertisementTypeIdstring

AdvertisementTypeID describes how the discount should be visualized

Example:2

amountstring

Amount is relative or absolute reduction amount to the price (e.g. 20%, 4.0)

Example:30%

articleHintstring

ArticleHint is the additional information about the Discount and related Products

Example:Angebot gilt nur vom 24.1. bis 31.8.2023, solange Vorrat.

badgeobject

Badge for the Discount (e.g. 40%, 30% in PNG and SVG format)

Show Child Parameters
bossBBstring

bossBB is the area (bereich) code prefix for Boss number

Example:02

bossBWstring

bossBW is the world code prefix for Boss number

Example:04

campaignsarray[object]

Campaigns holds campaign data for a discount

Show Child Parameters
cumulusPointsobject

CumulusPoints one receives with this Discount

Show Child Parameters
descriptionstring

Description is a short text about the Discount (e.g. Alle Trauben im Offenverkauf)

Example:Duftkerze im Glas

disclaimerstring

Disclaimer contains text about exceptions, validity and special conditions

Example:[ "" ]

discountIdstringrequired

ID is the Discount identifier

Example:1042893

eventsarray[object]

Events holds event data for a discount

Show Child Parameters
hintstring

Hint is an example of a reduction in text form

Example:[ "" ]

imageobject

Image is the main image referring to the Discount in JPG format

Show Child Parameters
insteadOfstring

InsteadOf is used for specific use-cases, where we need another word for “statt”

Example:[ "" ]

isCollectiveboolean

Collective describes whether this Discount is applied to more than one product (e.g. alle Fondues)

Example:true

logoobject

Logo image related to this Discount (e.g. logo for “Migros Bio” or for “UTZ Certified”)

Show Child Parameters
minimumPiecesobject

MinimumPieces describes how many pieces must be bought for the Discount to apply

Show Child Parameters
originalPricenumber

OriginalPrice is the non-discounted price. This is based on discount reference product.

Example:11

pricenumber

Price is the discounted price. This is based on discount reference product price.

Example:5.5

publicationDatestring(date-time)

PublicationDate describes when this Discount is allowed to be published to customers

Example:2022-12-25T00:00:00+01:00

reductionobject

Reduction contains information about the price reduction

Show Child Parameters
reductionTypeIdstring

ReductionTypeID tells us whether it’s a 01=relativ, 02=absolut, … reduction

Example:05

referenceProductIdstring

ReferenceProductID is the main Product which this Discount refers to (“Hauptwerbeartikel”)

Example:243140560000

regionstring

Region defines the regional context (e.g. national, gmzh, gmaa, gmlu, …)

Example:national

secondaryImageobject

SecondaryImage is the secondary image referring to the Discount

Show Child Parameters
secondaryLogoobject

SecondaryLogo image related to this Discount (e.g. logo for “BIO SUISSE” etc.)

Show Child Parameters
signetobject

Signet is the image related to Cumulus Discount (e.g. image for “20x Cumulus”)

Show Child Parameters
transparentobject

Transparent is the main image referring to the Discount in PNG format

Show Child Parameters
typestring

Type describes which type of discount we got (e.g. aktion, neuheit, …)

Example:aktion

typeIdstring

TypeID is the discount type identifier (e.g. 001, 005, …)

Example:[ "" ]

typeLabelstring

TypeLabel is the name for discount TypeID

Example:NUG Nimm X Artikel

validFromDatestring(date-time)

ValidFrom is the date when this Discount becomes valid/active

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

validToDatestring(date-time)

ValidTo is the date till this Discount is valid/active

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

get/migros/marketing/promotions/v1/public/discounts
 
application/json

Audit

Fetch a certain Discount

Detail data of a discount for human consumption.

You must not parse and must not process the returned HTML page.

get
https://api-qual.migros.ch/migros/products/prices/v1/audit/discounts/{discountId}

Path Parameters

discountIdstringrequired

The ID of the discount.

Example:2034284

Response

200 text/html

Discount data for human audit.

get/migros/products/prices/v1/audit/discounts/{discountId}
 
200 text/html