Coupons

Fetch a certain Coupon

This endpoint provides a single Coupon identified via its Coupon-ID i.e. the corresponding M-Promo-ID. Note that GTINs cannot be used to look up a single Coupon.

Coupons are accessible via this route only during the time of their validity (start_date to end_date) plus/minus 1 day.

There is no (public) way to look up valid Coupon-IDs via this API, callers of this route need to get hold of the ID via some other channel.

get
https://api-qual.migros.ch/migros/customers/coupons/v3/public/coupons/{id}

Query Parameters

langstring

Override Accept-Language header

Allowed values:defritexperimental_en

Path Parameters

idintegerrequired

Coupon ID (the M-Promo ID, not the GTIN).

Example:234531

Response

application/json

The Coupon

Coupon

Represents the coupon information based on MDB+.

campaign_colorsobject

Optional special colors for special campaigns

Show Child Parameters
campaign_idstring

The ID of the campaign, if this coupon is part of a campaign.

Example:e58efb75-2327-4b98-aeb0-1f7d9a2f5f1e

customer_groupstring

Example:cumulus

digitalboolean

Example:true

disclaimerstring

Terms and conditions.

Example:Ausgenommen sind Gebührensäcke, -marken, Vignetten, Depots, Serviceleistungen, E-Loading, iTunes/App-Karten, SIM-Karten, Gutscheine, Geschenkkarten, Geschenkboxen und alkoholische Getränke. Nur einmalig einlösbar in Verbindung mit der angegebenen Cumulus-Nummer.

discount_amountstring

Example:5-fach Punkte

discount_amount_valuestring

Example:5.0

discount_typestring

Example:mehrfach

distribution_channelsobject

The list of distribution channels (Micasa, Do It, SportX …) this coupon is usable in.

Show Child Parameters
end_datestring

Example:31.10.2024

fine_printstring
gtinrequired

GTIN (EAN) of Coupon. Some Partnercoupons do not have GTINs.

Example:8888122276132945500263

idstringrequired

The ID of the Coupon. This is the same as the M-Promo ID; ReTi and MDB+ call this Offer ID".

Example:1871947

imagestring

An Image URL template. Replace the placeholder {stack} with an available Rokka stack, e.g “original” to get a usable URL.

Example:https://image.migros.ch/coupons/{stack}/5263e8a6f3282b7f411ae5fce947d7acb65db939.png

image_inactivestring

An Image URL template. Replace the placeholder {stack} with an available Rokka stack, e.g “original” to get a usable URL.

Example:https://image.migros.ch/coupons/{stack}/5263e8a6f3282b7f411ae5fce947d7acb65db939.png

languagestringrequired

Example:de

linksobject

Represents the links on a coupon based on MDB+.

Show Child Parameters
matching_productsinteger

Number of products applicable to thos Coupon.
If this number is not know or the Coupon is applicable to all products this field is ommited.

minimum_purchasestring

Example:Mindesteinkauf CHF 14.90

minimum_purchase_valuenumber(float)

Example:14.9

namestringrequired

Example:Gesamtes Migros-Supermarkt-Sortiment

name_appstring

Example:Gesamtes Migros-Supermarkt-Sortiment

name_webstring

Example:Gesamtes Migros-Supermarkt-Sortiment

personalboolean

Example:true

previewsarray[string]

An Image URL template. Replace the placeholder {stack} with an available Rokka stack, e.g “original” to get a usable URL.

Example:https://image.migros.ch/coupons/{stack}/5263e8a6f3282b7f411ae5fce947d7acb65db939.png

promocodestring

Optional promotion code for Partnercoupons

Example:SommerSale23

promotion_numberstring

Example:C-ID 1871947

redeemable_areastring

Example:Nur regional einlösbar

redeemable_atstring

Example:Einlösbar in allen Migros-Filialen in der Schweiz gegen Vorweisen der Cumulus-Karte sowie auf Migros Online.

regionsarray[string]

List of IDs where this Coupon can be redeemed.

Example:["ONLINE_SHOP","GMAA","GMZH"]

signetobject

A coupon signet and its properties.

Show Child Parameters
signet_bonuscouponstring

An Image URL template. Replace the placeholder {stack} with an available Rokka stack, e.g “original” to get a usable URL.

Example:https://image.migros.ch/coupons/{stack}/5263e8a6f3282b7f411ae5fce947d7acb65db939.png

signet_inactiveobject

A coupon signet and its properties.

Show Child Parameters
start_datestring
stationary_redeemableboolean

Example:false

subtitlestring

Example:[ "" ]

type_idstring

Example:8

variantstring

Example:Rabattcoupon

whole_assortmentboolean

Indicates whether this Coupon is applicable to all products.

get/migros/customers/coupons/v3/public/coupons/{id}
 
application/json

Customer-Data

List of all Coupons attributed to a customer

This endpoint returns the set of all Coupons attributed to a certain customer, identified by the Cumulus number. Coupons can be personalised Coupons (regular and POS-Coupons) as well as unpersonalised Partnercoupons (which are distributed to every Cumulus customer).

Personalised Coupons might be “Preview-Coupons”, i.e. a Coupon that is not yet valid (start date of campaign still in the future). These cannot be activated.

get
https://api-qual.migros.ch/migros/customers/coupons/v3/users/{cumulus}/coupons

Path Parameters

cumulusstringrequired

Cumulus number.

Match pattern:^\d{13}$

>= 13 characters<= 13 characters

Example:2099123456789

Response

application/json

Lists of personalised and unpersonalisdc coupons.

UserCouponCollection

Collection of Coupons attributed to a user (cumulus number). Note that the two arrays contain different types of elements.

activatedarray[object]

Personalized coupon information of a user based on ReTi.

Show Child Parameters
availablearray[object]

Personalized coupon information of a user based on ReTi.

Show Child Parameters
partnerarray[object]required

Represents the coupon information based on MDB+.

Show Child Parameters
previewarray[object]required

Personalized coupon information of a user based on ReTi.

Show Child Parameters
redeemedarray[object]required

Personalized coupon information of a user based on ReTi.

Show Child Parameters
get/migros/customers/coupons/v3/users/{cumulus}/coupons
 
application/json

Fetch a single Coupon attributed to a customer

This endpoint returns a single Coupon attributed to a customer (identified via the Cumulus number). Only personalised Coupons can be requested, i.e. this endpoint doesn’t return Partner-Coupons (these might not have a GTIN).

You probably should not use this endpoint at all: To find the list of Coupons of a user use /migros/customers/coupons/v3/users/{cumulus} which provides all information. (The only conceivable usecase for this endpoint is if you got the GTIN through some side channel.)

get
https://api-qual.migros.ch/migros/customers/coupons/v3/users/{cumulus}/coupons/{gtin}

Path Parameters

cumulusstringrequired

Cumulus number.

Match pattern:^\d{13}$

>= 13 characters<= 13 characters

Example:2099123456789

gtinstringrequired

GTIN (EAN) of Coupon. Its a string as GTINs often are longer than what integers can represent.

Match pattern:^\d+$

Response

application/json

Lists of personalised and unpersonalisdc coupons.

UserCoupon

Personalized coupon information of a user based on ReTi.

couponobject

Represents the coupon information based on MDB+.

Show Child Parameters
expirystring

Date string when the coupon expires. Note that the format is different from coupon.start_date.

Example:2023-09-01+02:00

idstring

The GTIN (EAN) of the Coupon. ReTi calls this “offerId”.

Example:8888122276132945500263

pos_tr_idstring

unique_request_id as provided during redeem call.

Example:303461600060EF280F0C206267706114

previewboolean

If true then start_date is in the future and this Coupon cannot be activated yet as it is considered a “Preview-Coupon”.

publishedstring

Date string when the coupon begins to be usable. Note that the format is different from coupon.start_date.

Example:2023-06-13+02:00

quantityinteger

A single Coupon can be attributed multiple times to a customer. 0 is omitted.

>= 0<= 99

Example:2

redeemedstring

Datetime string when the coupon was redeemed (or empty).

Example:2024-05-10T10:39:06+02:00

statusinteger

1 = available, 2 = activated, 3 = redeemed.

Allowed values:123

get/migros/customers/coupons/v3/users/{cumulus}/coupons/{gtin}
 
application/json

Activate a Coupon

Only non-redeem Coupons can be activated. It’s okay to activate an already active Coupon.

Note that no more than 50 Coupons can be in state ‘activated’ for a single Cumulus number. Trying to activate more results in a 409 error.

Note: The parameters can be sent as query parameters in the URL or as application/x-www-form-urlencoded in the request body (or any combination, it just doesn’t matter.)

post
https://api-qual.migros.ch/migros/customers/coupons/v3/users/{cumulus}/coupons/{gtin}:activate

Path Parameters

cumulusstringrequired

Cumulus number.

Match pattern:^\d{13}$

>= 13 characters<= 13 characters

Example:2099123456789

gtinstringrequired

GTIN (EAN) of Coupon. Its a string as GTINs often are longer than what integers can represent.

Match pattern:^\d+$

Response

Successfully activated

post/migros/customers/coupons/v3/users/{cumulus}/coupons/{gtin}:activate