Conformance table
What this add-on sends to the marketplace, and how each call was checked. Source of the API description: the official Mirakl Marketplace Seller OpenAPI file published on the Mirakl developer portal (developer.mirakl.com, Mirakl Marketplace APIs, Seller, downloaded 2026-11-06). The operator facts about MediaMarkt and Saturn come from MediaMarktSaturn’s own material and roll-out reports; anything that could not be confirmed is marked UNVERIFIED.
This is a statement about what was tested, not a certification: the add-on was tested against a local stand-in that validates every request against the OpenAPI file, not against a live MediaMarkt or Saturn seller account.
How the checks work
Section titled “How the checks work”tests/openapi/build-subset.mjsextracts the 23 operations below from the downloaded OpenAPI file (parameters, enums, request and response schemas, the example payloads).php tests/unit_mirakl.phpruns the driver with the spec’s example payloads as answers and records every request;tests/openapi/check.mjsvalidates each recorded request: method and path, query parameters and their enum values, JSON body against the schema (unknown properties are errors), multipart fields, the import file columns, the API key header, theContent-Length: 0of OR24. 47 requests in 23 operations, 0 nonconforming.- The mock server (
tests/mock-server/server.js) applies the same validator to every request of the HTTP end-to-end run on CS-Cart (cs417) and answers 400 to a request that does not conform; the run ends with “every request conformed”.
Operations used
Section titled “Operations used”| Id | Method and path | Used for | Checked in |
|---|---|---|---|
| A01 | GET /api/account |
Test connection: shop name, id, currency, channels | unit, e2e |
| H11 | GET /api/hierarchies |
Category list for the mapping | unit, e2e |
| AF01 | GET /api/additional_fields?entities=OFFER |
Offer fields (attributes) and their allowed values | unit, e2e |
| OF61 | GET /api/offers/states |
Code of the condition “New” | unit, e2e |
| OF01 | POST /api/offers/imports (multipart, import_mode=NORMAL) |
Create or update offers from a CSV file | unit, e2e |
| OF24 | POST /api/offers (JSON) |
Alternative to OF01, selectable in the operator file; not used by default | unit |
| OF02 | GET /api/offers/imports/{import} |
State and statistics of an offer import | unit, e2e |
| OF03 | GET /api/offers/imports/{import}/error_report |
Reason per rejected offer line | unit, e2e |
| STO01 | POST /api/offers/stock/imports |
Stock changes (offer-sku;quantity;update-delete) |
unit, e2e |
| STO02 / STO03 | GET .../stock/imports/{id}/status, .../error_report |
Result of a stock import | unit, e2e |
| PRI01 | POST /api/offers/pricing/imports |
Price changes (offer-sku;price) |
unit, e2e |
| PRI02 / PRI03 | GET /api/offers/pricing/imports?import_id=, .../error_report |
Result of a price import | unit, e2e |
| OR11 | GET /api/orders |
Orders waiting for acceptance and orders changed since a moment | unit, e2e |
| OR21 | PUT /api/orders/{order_id}/accept |
Accept every line of a new order (account option) | unit, e2e |
| OR23 | PUT /api/orders/{order_id}/tracking |
Carrier (by code, or by name and link) and tracking number | unit, e2e |
| OR24 | PUT /api/orders/{order_id}/ship |
Validate the shipment (empty body, Content-Length: 0) |
unit, e2e |
| OR33 | PUT /api/orders/{order_id}/cancel-order-lines |
Cancel lines the seller cannot deliver | unit, e2e |
| SH21 | GET /api/shipping/carriers |
Carrier codes | unit, e2e |
| RE01 | GET /api/reasons |
Cancellation reasons (type CANCELATION) | unit, e2e |
| RT11 | GET /api/returns |
Return requests (seek pagination) | unit, e2e |
| RT21 | PUT /api/returns/accept |
Accept a return request | unit, e2e |
Not used: the product imports (P41 and following): the add-on does not create catalogue products; OF04 and OF51 to OF54 (offer lists and exports); refunds (OR26, OR28), incidents (OR64), messages, invoices and shop documents.
Authentication and limits
Section titled “Authentication and limits”| Topic | What the add-on does | Source |
|---|---|---|
| Authentication | The seller API key in the plain Authorization header (scheme “Shop-API-Key” of the OpenAPI file), no Bearer, no token request. |
OpenAPI file |
| Base URL | The Mirakl address of the seller’s account, entered by the seller per mode. https only; hosts that are an IP number, localhost or a non-public name are refused because the server calls the address. |
UNVERIFIED for MediaMarkt and Saturn: the host is not published, it is shown in the seller back office |
| Several shops | shop_id query parameter when the account field is set |
OpenAPI file |
| Call frequency | Offer imports, stock imports and price imports: at most one per minute and recommended every 5 minutes, per seller; the sync interval setting defaults to 15 minutes. Order list: asynchronous export is recommended for large volumes; the add-on lists changed orders every sync interval. | OpenAPI file (“Call Frequency” of each operation) |
| Rate limit answers | The OpenAPI file does not describe HTTP 429 or Retry-After. The generic job queue treats 429, 408, 425 and 5xx as retryable and honours a Retry-After header. | Not in the OpenAPI file |
| Dates | ISO 8601 UTC (2026-11-06T10:00:00Z) |
OpenAPI file |
Things the OpenAPI file does not describe
Section titled “Things the OpenAPI file does not describe”| Item | What the add-on assumes | Status |
|---|---|---|
max and offset on OR11 |
Offset pagination with page size 100. The OpenAPI file says OR11 “supports offset pagination (see documentation)” but does not list the parameters. | Mirakl’s general pagination convention; reported by the validator as a note |
page_token on RT11 |
Seek pagination: the response has next_page_token; the add-on sends it back as page_token. |
Same |
| Additional offer fields in the OF01 file | Extra columns named by the field code (AF01). Only the OF24 JSON alternative lists them in the file. | Reported as a note |
Value of product-id-type |
EAN |
Used in the OpenAPI example of OF24; the allowed values are operator configuration |
| Layout of the error reports | OF03: a header with sku and error-message (shown in the OpenAPI example). STO03 / PRI03: line number, reason, then the submitted line (as the descriptions say). The parser finds the sku by header or by value. |
OpenAPI file |
| Country codes of orders | country_iso_code is ISO 3166 alpha 3; the add-on converts it to alpha 2 |
OpenAPI file |
| Address before acceptance | “Null before shipping (or acceptance, depending on platform setting)”: orders are imported once they carry an address | OpenAPI file |
Operator facts (MediaMarkt and Saturn)
Section titled “Operator facts (MediaMarkt and Saturn)”| Item | Value | Status |
|---|---|---|
| One marketplace for both store brands | One connection serves MediaMarkt and Saturn | MediaMarktSaturn seller material and integrator guides |
| Markets | DE, AT, ES, NL, IT live; BE, PL announced | Roll-out reports, 2024 and 2025; BE and PL not confirmed as open to sellers: UNVERIFIED |
| Currency | EUR; PLN for Poland | Market currencies |
| API host and key | Issued in the seller back office | UNVERIFIED host pattern: not assumed |
| Channel codes | Entered by the seller (CH11 lists them) | UNVERIFIED |
| Required offer fields | Read from the marketplace (AF01); the seller maps them | Operator specific, not assumed |
| Offer condition code of “New” | Read from OF61 (label match) or entered | Operator specific |
| Product creation | Not done by this version (offers match catalogue products by EAN) | Whether MediaMarkt requires seller product imports is UNVERIFIED |
Trademarks
Section titled “Trademarks”MediaMarkt and Saturn are trademarks of MediaMarktSaturn Retail Group. Mirakl is a trademark of Mirakl. They are named only to say what the add-on connects to. No logos of these companies are used in the add-on, its documentation or its listing. This add-on is not affiliated with, endorsed by or certified by MediaMarktSaturn Retail Group or Mirakl.