Layout-API

Export several receipts

Export several receipts as CSV, detailed CSV or PDF.
The simple CSV export contains one row per receipt while the detailed CSV contains one row per product bought and additional columns.

post
https://api.migros.ch/migros/customers/receipts/v1/export/{cumulus}/{format}

Query Parameters

fallbackLangstring

Each receipt or warranty is rendered in the language of the store it was issued in. But if we do not know the store language (e.g. if it was an Online-Store) the given fallbackLang is used.

Note that this parameter is ignored if the language is know and if not ignored it changes only static texts, not e.g. product names.

Allowed values:defrit

Default:de

Path Parameters

cumulusintegerrequired

Cumulus Number

>= 2098000000000<= 2099999999999

Example:2099123456789

formatstringrequired

format to export

Allowed values:csvdetailed-csvpdf

Body

application/json

JSON object with an array of transaction IDs which shall be exported.

The receipts are exported in the order given by the transaction IDs. For CSV this doesn’t matter as you can sort the CSV afterwards anyway but for the PDF export you might want to sort the transaction IDs to have a cronological export.

TransactionIdsModel

transactionIdsarray[string]required

Response

200

Exported data

string
post/migros/customers/receipts/v1/export/{cumulus}/{format}

Body

{ "transactionIds": [] }
 
200

List receipts

Lists receipts and received Cumulus points for a specific Cumulus number between two dates. The returned data contains only summary data of the receipt and omits articles, payments and other variable size details.
If a record has hasDetail == 1 this record represents a real receipt and the transactionId can be used to retrieve the rendered receipts via the …/v1/details/… endpoint.
If a record has hasDetail == 0 this record represents only the credit entry of Cumulus-Points, typically from a Migros-Partner or Mitarbeiterpunkte. In this case you cannot access the receipts details as there are no details.

get
https://api.migros.ch/migros/customers/receipts/v1/list/{cumulus}

Query Parameters

fromstring(date)

start date
If omited it defaults to “yesterday one year ago”, i.e. one whole year of data is returned or analyzed.

Example:2021-03-17

tostring(date)

end date of list; if omited or empty the current date is used

sortstring

Sort list by date of purchase or total CHF.

Allowed values:datetotal

Default:date

Example:total

Path Parameters

cumulusintegerrequired

Cumulus Number

>= 2098000000000<= 2099999999999

Example:2099123456789

Response

200 application/json

list of transactions

ReceiptListResponse

cumulusPunktenumberrequired

Rewarded Cumulus points.

Example:319.7

hasDetailnumberrequired

0: This is a syntetic pseudo-transaction that just list Partner- or Mitarbeiter-Punkte. Trying to retrieve details will fail always in this case.

1: Actual receipt available via detail/{cumulus}/{transactionId}.

Example:1

storeidstringrequired

Filial-ID

Example:0090390

storenamestringrequired

Filialname

Example:M Wittenbach

totalnumberrequired

Total purchase value in CHF.

Example:159.85

transactionIdstringrequired

ID to retrieve actual receipt if hasDetail==1 If hasDetail = 0 this ID is just a dummy and cannot be used to retrieve the (non-existing) details.

Note: if hasDetail = 0 the transactionId might be empty (i.e. “”).

Example:20220611_092739_0090390_003_9

trxDatestringrequired

Date of purchase in the form YYYYMMDD.

Example:20220611

trxTimestringrequired

Time of purchase (local time of store) in the form hhmmss.

Example:092739

versionstringrequired

Kept for backwards compatibility. You are not supposed to use or interpret this field.

get/migros/customers/receipts/v1/list/{cumulus}
 
200 application/json

Bought products

Returns the product IDs of the real (i.e. VAT-ID neither 0 nor 9) articles bought in this purchase.

get
https://api.migros.ch/migros/customers/receipts/v1/products/{cumulus}/{transaction}

Path Parameters

cumulusintegerrequired

Cumulus Number

>= 2098000000000<= 2099999999999

Example:2099123456789

transactionstringrequired

Transaction ID of the receipt: Either as returned from a call to one of the receipt/warranty list routes or of the form trxDate_trxTime_storeID_workstationNumber_sequenceNumber. If you have to use the second form: Consult with a human.

If the list endpoint declares hasDetail = 0 then this transaction has no attached detail data. Trying to retrieve detail data for a transaction that has no detail data results in an error (400 or 404) so don’t even try: It’ll never work.

Example:2024-12-31

Response

200 application/json

Array of product IDs.

array[string]
get/migros/customers/receipts/v1/products/{cumulus}/{transaction}
 
200 application/json

Purchases made

Retrieve all purchases made in the given time period for a given Cumulus number. Only ‘real’ products are returned.

get
https://api.migros.ch/migros/customers/receipts/v1/purchases/{cumulus}

Query Parameters

fromstring(date)

start date
If omited it defaults to “yesterday one year ago”, i.e. one whole year of data is returned or analyzed.

Example:2021-03-17

tostring(date)

end date of list; if omited or empty the current date is used

containinginteger

Option product ID selecting only those purchases that contain this product.

Path Parameters

cumulusintegerrequired

Cumulus Number

>= 2098000000000<= 2099999999999

Example:2099123456789

Response

200 application/json

JSON with list of purchases.

PurchaseResponse

itemsarray[object]
Show Child Parameters
pointsnumber

Cumulus points obtained for this purchase.

Example:48

storeIDstring

ID of the store. Filial-ID

Example:0036713

storeNamestring

Name of the store

Example:D + G Wynecenter

timestampstring

Human readable time stamp of purchase in local time zone

Example:30.03.2013 10:15:48

totalCHFnumber

Total amount of the receipt in CHF (might be different from the sum of items.)

Example:24

trxIDstring

Transaction ID of receipt

Example:20220124_174650_0045160_046_203

get/migros/customers/receipts/v1/purchases/{cumulus}
 
200 application/json

Warranty