Mirakl solutions are updated through continuous delivery to provide new features, security fixes and bug fixes.
New deployed versions are backward compatible, which guarantees the durability of your integration after a Mirakl solution update, on condition that your integration follows these guidelines:
While most of our APIs support XML format, we strongly advise you to use JSON format, as our newest APIs are only available in JSON format.
Should you decide to validate our APIs output using XSD files, please note that your XSD should take into account the guidelines defined above. Mirakl does not provide XSD files for its APIs and does not offer support for writing XSD files.
Some APIs may return more data than indicated in the documentation. Do not rely on this undocumented data, there is no guarantee about it.
You can authenticate through API by sending your API key in the Authorization
header.
Example:
Authorization: YOUR_API_KEY
All requests must use the HTTPS protocol.
Mirakl API uses standard HTTP return codes.
When making HTTP requests, you can check the success or failure status of your request by using the HTTP Status Codes (i.e. 200
). You must not use the HTTP Status Messages or Reason-Phrases (i.e. OK
), as they are optional and may not be returned in HTTP responses (see RFC9110 for more information).
Our API documentation does not document Reason-Phrases but provides a short contextualized description of HTTP Status Codes.
200
: OK - Request succeeded.201
: Created - Request succeeded and resource created.202
: Accepted - Request accepted for processing.204
: No Content - Request succeeded but does not return any content.400
: Bad Request - Parameter errors or bad method usage. Bad usage of the resource. For example: a required parameter is missing, some parameters use an incorrect format, a data query is not in the expected state.401
: Unauthorized - API call without authentication. Add authentication information or use a valid authentication token.403
: Forbidden - Access to the resource is denied. Current user can not access the resource.404
: Not Found - The resource does not exist. The resource URI or the requested resource do not exist for the current user.405
: Method Not Allowed - The HTTP method (GET, POST, PUT, DELETE) is not allowed for this resource. Refer to the documentation for the list of accepted methods.406
: Not Acceptable - The requested response content type is not available for this resource. Refer to the documentation for the list of correct values of the Accept header for this request.410
: Gone - The resource is permanently gone. The requested resource is no longer available and will not be available again.415
: Unsupported Media Type - The entity content type sent to the server is not supported. Refer to the documentation for the list of correct values of the Content-type header to send data.429
: Too many requests - Rate limits are exceeded. The user has sent too many requests in the last hour. Refer to the documentation for the maximum calls count per hour.500
: Internal Server Error - The server encountered an unexpected error.Mirakl APIs are protected by rate limits. Each API has a dedicated section displaying its rate limit.
If you make too many calls, you might receive an HTTP 429
"Too Many Requests" error. The response will contain a Retry-After
header that specifies the number of seconds to wait before making a new request.
If an API request supports multiple Content-Types, add a Content-Type
header to select the format to use in the request. The API documentation lists the formats an API can consume.
If an API response supports multiple Content-Types, add an Accept
header to select the format accepted in the response. The API documentation lists the formats an API can produce.
array type fields indicate a list of values as URL parameters. You can add more parameter=value
elements to the URL. Refer to the example in the right panel.
Text data is encoded in UTF-8.
If the API returns internationalized data, you can specify the locale
parameter.
The Locale format is usually <ISO-639>_<ISO-3166>
(e.g. "en_US"). There are some exceptions where the Locale format can be <ISO-639>
(e.g. "en"). The locale returned in a response uses this format.
The APIs only accept locales that are equivalent to the languages activated in the back-office.
APIs can use different date formats (compliant with ISO 8601):
YYYY-MM-DDThh:mm:ss[.SSS]±hh:mm
.+00:00
can be replaced by Z
(the zero UTC offset).Z
..000
.YYYY-MM-DDThh:mm:ss[.SSS]
..000
.hh:mm[:ss][.SSS]±hh:mm
. Time only, with timezoneZ
(the zero UTC offset).:00
..000
.In the patterns:
YYYY
: years (four-digit)MM
: months, 01-12 (two-digit)DD
: days, 01-31 (two-digit)T
is a delimiter between the date and timehh
: hours, 00-23 (two-digit)mm
: minutes, 00-59 (two-digit)ss
: seconds, 00-60 (two-digit)SSS
: milliseconds, 000-999 (three-digit)±hh:mm
: refers to an offset from UTCFor GET requests, use URL encoding (for example, 2019-08-29T02:34:00+02:00
becomes 2019-08-29T02%3A34%3A00%2B02%3A00
).
When calling APIs as a shop, a request parameter shop_id
is available. This parameter is useful when a user is associated to multiple shops and should be specified to select the shop to be used by the API.
Some APIs support offset pagination. In this case, you can use the max
and offset
parameters:
max
: The max
parameter is used to indicate the maximum number of items returned per page. This parameter is optional. The default value of this parameter is 10. The maximum value of this parameter is 100.offset
: The offset
parameter is used to indicate the index of the first item (among all the results) in the returned page. This parameter is optional. The default value of this parameter is 0, which means that no offset is applied.With pagination, the URL of the previous and/or next page can be returned in the header's attribute Link
of the response.
When a sort
parameter is available on such an API, it can be used to sort the results.
sort
: The parameter sort
is used to indicate how the results should be sorted. This parameter is optional. The possible values for this parameter are defined in resources. The default value of this parameter is defined in resources.
order
: The parameter order
is used to indicate the sort direction. This parameter is optional. The possible values for this parameter are asc
(default) or desc
.
For better performance and user experience, some APIs support "seek" pagination. This means that you cannot go directly to the N-th page.
Use the optional limit
query parameter to indicate the maximum number of items returned per page. The default value is 10. The maximum value is 100.
If there are more results to return, the response contains a next_page_token
field. Pass this value in the page_token
query parameter to return the next page of results.
The API also returns a previous_page_token
when the result is not the first page. Use it the same way as next_page_token
.
Values of next_page_token
and previous_page_token
contain all required parameters to access next and previous page. When using the page_token
parameter all other parameters are ignored, regardless of the value given to page_token
.
When a sort
parameter is available, it must follow the sort=criterion,direction
format where:
ASC
, DESC
https://your-instance.mirakl.net/
https://your-instance.mirakl.net/api/offers/{offer}/quantity
curl -i -X GET \
'https://your-instance.mirakl.net/api/offers/{offer}/quantity?shop_id=0'
{ "offer_id": 2087, "quantity": 7 }
Get a CSV file that includes the offers updated and deleted since the last request date.
For deleted offers, only offer-id, product-sku, shop-id, shop-sku, active and deleted columns are returned.
If the last_request_date param is not set the api returns all the active offers (inactive offers can be included with include_inactive_offers parameter).
If offers have custom fields, a column is added for each existing custom field with as header the code of the custom field.
Results are sorted by offer identifier.
Date and time of your last request.
If provided, retrieves all offers updated since this date and time, including deleted and inactive offers.
If not provided, retrieves all active offers only, unless otherwise specified in the include_inactive_offers field.
List of the channel codes to filter with, using a comma (,) as a separator. If specified, only offers that can be sold on the specified channel(s) will be returned. If not, offers will be returned regardless of their channels.
List of the shipping zones codes to filter with, URL-encoded and using a comma (,) as a separator. If specified, only shipping information linked to the given zones will be returned. Otherwise, all shipping information for all zones will be returned.
When calling the API in full mode (i.e. when no last_request_date is provided), inactive offers are not returned. To retrieve both active and inactive offers, set this field to true.
When calling the API in differential mode (i.e. when the last_request_date is provided), both active and inactive offers are returned. This field cannot be used in differential mode otherwise the call fails.
List of the fields to include, URL-encoded and using a comma (,) as a separator. If specified, only listed fields will be returned.
https://your-instance.mirakl.net/api/offers/export
curl -i -X GET \
'https://your-instance.mirakl.net/api/offers/export?channel_codes=string&include_fields=string&include_inactive_offers=false&last_request_date=2019-08-24T14%3A15%3A22Z&shipping_zones=string&shop_id=0'
OK
ISO code of the currency
Minimum delivery time.
Returned if Export shipping charges and delivery times in OF5X, P11 and the offer webhook is enabled.
Maximum delivery time.
Returned if Export shipping charges and delivery times in OF5X, P11 and the offer webhook is enabled.
The end date of the discount period.
For Dropship specifically: the end date of the discount period on the purchasing price
The end date of the discount period for the indicated channel, when the Channel Pricing feature is activated.
Can be empty. In this case, the discount price applies from the start date and is then always available for the indicated channel.
The discount price of the offer
For Dropship specifically: the discount purchasing price of the offer, also referred to as cost or wholesale price
The discount price of an offer for the indicated channel, when the Channel Pricing feature is activated.
Can be empty when no discount price is defined for a given channel. In this case, the default discount price of the offer applies to the indicated channel.
The ranges of the discount prices when the Volume Pricing feature is activated.
The ranges of the discount prices for the indicated channel, when the Channel Pricing and Volume Discount features are activated.
The discount retail price of the offer.
Applicable only for Dropship offers.
The end date of the discount period for the retail price.
Applicable only for Dropship offers.
The start date of the discount period for the retail price.
Applicable only for Dropship offers.
The start date of the discount period.
For Dropship specifically: the start date of the discount period on the purchasing price
The start date of the discount period for the indicated channel, when the Channel Pricing feature is activated.
Can be empty. In this case, the discount price applies from the start date and is then always available for the indicated channel.
Amount of the eco-contribution for the EPR category. Returned if Data collection related to circular economy regulations is enabled.
The maximum order quantity customers must select to be able to place an order for that offer
The product measurement and the product unit
This option is only available if the operator creates a product with a measurement unit.
The minimum order quantity customers must select to be able to place an order for that offer
Shipping method with the minimum shipping charges (code referenced by the operator)
Shipping zone with the minimum shipping charges (code referenced by the operator)
The retail price recommendation, also referred to as manufacturer's suggested retail price (MSRP) or recommended retail price (RRP).
Applicable only for Dropship offers.
The original price of the offer
For Dropship specifically: the original purchasing price of the offer, also referred to as cost or wholesale price
The original price granted for an offer for the indicated channel
The original retail price of the offer, also referred to as original selling price.
Applicable only for Dropship offers.
For one order, customers can only add packages of product items.
The number of items per package is the increment number of that product in an order.
Offer current price (original price or discount price if in discount period) For Dropship specifically: the purchasing price of the offer (original price or discount price if in discount period), also referred to as cost or wholesale price
The price ranges for the indicated channel when the Channel Pricing and the Volume Pricing features are activated.
Can be empty when no specific price range is defined for a given channel.
The unit price of an offer for the indicated channel, when the Channel Pricing feature is activated.
Can be empty when no specific price is defined for a given channel. In this case, the base price of the offer applies to the indicated channel.
Producer identifier of the eco-contribution for the EPR category. Returned if Data collection related to circular economy regulations is enabled.
Not present if the producer identifier belongs to the operator.
Offer current retail price (original retail price or discount retail price if in discount period). Also referred to as selling price.
Applicable only for Dropship offers.
Shipping charges for the offer, for each combination of shipping zone and method.
Returned if Export shipping charges and delivery times in OF5X, P11 and the offer webhook is enabled.
Offer price + minimum shipping charge
For Dropship specifically: the purchasing price of the offer + minimum shipping charge
offer-id;product-sku;min-shipping-price;min-shipping-price-additional;min-shipping-zone;min-shipping-type;price;total-price;price-additional-info;quantity;description;state-code;shop-id;shop-name;professional;premium;logistic-class;active;favorite-rank;channels;deleted;origin-price;discount-start-date;discount-end-date;available-start-date;available-end-date;discount-price;currency-iso-code;discount-ranges;leadtime-to-ship;allow-quote-requests;price-ranges;fulfillment-center-code;shop-sku;date-created;last-updated;model;min-order-quantity;max-order-quantity;package-quantity;price[channel=CA];origin-price[channel=CA];discount-start-date[channel=CA];discount-end-date[channel=CA];discount-price[channel=CA];discount-ranges[channel=CA];price-ranges[channel=CA];price[channel=FR];origin-price[channel=FR];discount-start-date[channel=FR];discount-end-date[channel=FR];discount-price[channel=FR];discount-ranges[channel=FR];price-ranges[channel=FR];price[channel=BFR];origin-price[channel=BFR];discount-start-date[channel=BFR];discount-end-date[channel=BFR];discount-price[channel=BFR];discount-ranges[channel=BFR];price-ranges[channel=BFR];price[channel=CHR];origin-price[channel=CHR];discount-start-date[channel=CHR];discount-end-date[channel=CHR];discount-price[channel=CHR];discount-ranges[channel=CHR];price-ranges[channel=CHR];price[channel=US];origin-price[channel=US];discount-start-date[channel=US];discount-end-date[channel=US];discount-price[channel=US];discount-ranges[channel=US];price-ranges[channel=US];ecotax;gift-wrap;min-quantity-ordered;measurement-units;producer-id[FR-DEA];eco-contribution-amount[FR-DEA];producer-id[DE-WEEE];eco-contribution-amount[DE-WEEE]
2130;MKP100000000037254;0.00;0.00;DOM1;CLC;50.00;50.00;;40;;11;2000;ACME SHOP;true;true;M;true;;FR|US;false;50.00;;;;;;USD;;;false;1|50.00;DEFAULT;sku-2130;2019-03-31T22:00:00Z;2024-01-07T08:52:10Z;MARKETPLACE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kg|1.00000000,L|1.00000000;FR123456_89ABCD;3.59;ProducerID1;0.99
2131;MKP100000000025008;0.00;0.00;DOM1;CLC;50.00;50.00;;20;;11;2000;ACME SHOP;true;true;M;true;;FR|US;false;50.00;;;;;;USD;;;false;1|50.00;DEFAULT;sku-2130;2019-03-31T22:00:00Z;2024-01-07T08:52:10Z;MARKETPLACE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;FR123456_89ABCD;3.59;ProducerID1;0.99
2135;MKP100000000154824;0.00;0.00;DOM1;CLC;49.00;49.00;Apply Discount prices;1000000;Offer description;11;2000;ACME SHOP;true;true;M;true;;FR|US;false;50.00;2019-03-31T22:00:00Z;2019-04-29T22:00:00Z;2019-03-31T22:00:00Z;2019-09-29T22:00:00Z;;USD;1|49.00,50|44.00,100|39.00;10;false;1|50.00,50|45.00,100|40.00;DEFAULT;sku-2130;2019-03-31T22:00:00Z;2024-01-07T08:52:10Z;DROPSHIP;1;5;1;;;;;;;;59.00;60.00;2019-03-31T22:00:00Z;2019-04-29T22:00:00Z;;1|59.00,50|49.00,100|44.00;1|60.00,50|50.00,100|45.00;;;;;;;;;;;;;;;;;;;;;;20;true;5;;FR123456_89ABCD;3.59;ProducerID1;0.99
2136;MKP100000000154824;0.00;0.00;DOM1;CLC;49.00;49.00;Apply Discount prices;5000;Offer for product MKP100000000154824;11;2000;ACME SHOP;true;true;M;true;;FR|US;false;50.00;2019-03-31T22:00:00Z;2019-05-31T22:00:00Z;2019-03-01T22:00:00Z;2019-05-29T22:00:00Z;;USD;1|49.00,5|45.00;5;true;1|50.00;DEFAULT;sku-2130;2019-03-31T22:00:00Z;2024-01-07T08:52:10Z;DROPSHIP;2;3;2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49.00;49.00;2019-04-01T22:00:00Z;2019-04-29T22:00:00Z;;50|45.00;1|49.00,50|48.00;20;;;;FR123456_89ABCD;3.59;ProducerID1;0.99