Channel Integration Through Mirakl

Updated 1 month ago

Mirakl is a marketplace-platform technology, which uses an API solution to help website retailers partner with third-party sellers, in order to grow their online offerings and expand their market reach.

You can use SellerCloud with any Mirakl integration, such as BestBuy Canada, Catch, and BlueFly.

Mirakl offers numerous channel integrations and a straightforward implementation, achieved by specifying the integration name and getting a unique API key per channel.

The company settings and relevant scheduled tasks should be set for a company designated for this integration, so that you can have multiple companies and integrations through Mirakl.

The Mirakl integration workflow has 5 main steps:

  1. Create the custom company settings.
  2. Create custom order columns.
  3. Create the custom product columns.
  4. Request the addition of 4 server plugins.
  5. Create scheduled tasks to run the plugin integration.

Creating custom company settings

Prerequisite: The Client Setting Enable Custom Company Settings must be enabled.

To create the custom company settings:

  1. Click your company's Toolbox > Custom Settings.

  2. Add the company settings and values from the table below.
  3. Click Save Settings.

CUSTOM COMPANY SETTING

VALUE

Mirakl_Integration_Name

Mirakl channel, such as BestBuyCA, Catch, BlueFly, etc.

Mirakl_API_Key

Mirakl authentication key.

Mirakl_API_URL

URL for the Mirakl channels, such as:

  • BlueFly:
    • https://bluefly-prod.mirakl.net (production environment)

  • BestBuy Canada:
    • https://bby-dev.mirakl.net (test environment)
    • https://marketplace.bestbuy.ca (production environment)

  • Catch:
    • https://catch-dev.mirakl.net (test environment)
    • https://marketplace.catch.com.au (production environment)

Mirakl_Always_Accept_Orders

Optional.

Can be True or False.

Determines if orders with a pending acceptance will be accepted, even if inventory on hand is insufficient to fulfill them.

If missing, defaults to False.

Mirakl_Get_Only_Recent_Orders

True or False.

Determines if the plugin will only get orders that were modified in the past 10 days.

You can skip creating this setting or set it to False for the initial order import, then set it to True to speed up the plugin and avoid reaching API limits.

Mirakl_Shop_IDs

Optional.

A comma-separated list of Mirakl shop IDs; e.g., 2000,2774 etc.

If missing, the plugin will only import orders from the first shop associated with the Mirakl user.

Mirakl_Order_Statuses

Optional.

Only orders with comma-separated order statuses will be imported; e.g., WAITING_ACCEPTANCE,CLOSED,SHIPPING, etc. See this documentation for a list of order statuses.

If missing, orders with a status of WAITING_ACCEPTANCE, PAYMENT_COLLECTED, SHIPPING, SHIPPED, RECEIVED, and CLOSED will be imported.

Mirakl_Import_orders_with_source_BestBuy_instead_of_Website

Optional.

Can be True or False.

Determines if orders will be imported as Website or BestBuy orders.



Creating custom order columns

The following custom order columns are created by your System Administrator or by contacting SellerCloud Support. For instructions, see the Custom Columns for Orders topic.

CUSTOM ORDER COLUMN

DATA TYPE

DESCRIPTION

MIRAKL_CHANNEL

String

Used by the Mirakl Order Import plugin to save the relevant order channel (BestBuy Canada, BlueFly, or other Mirakl channel).

Allows searching for orders from each channel.

MIRAKL_SHOP_ID

Integer

Populates the Mirakl shop ID if the custom company setting Mirakl_Shop_IDs is not empty or missing.



Creating custom product columns

Each of the columns in the table below are created by your System Administrator or by contacting SellerCloud Support.

For instructions, see the Custom Product Columns topic.

CUSTOM PRODUCT COLUMN

DATA TYPE

DESCRIPTION

MIRAKL_SKU

String

Used to add the Mirakl product ID, if this not the same as the SellerCloud product ID.

If there are both products with such SKU and with the ID in the custom column, the second one will be exported.

MIRAKL_PRICE

Decimal

Product price that will be sent by the Mirakl Inventory Export plugin to Mirakl.

MIRAKL_AVAILABLE_STARTED

DateTime

Start date of the active offer.

MIRAKL_AVAILABLE_ENDED

DateTime

End date of the active offer.

MIRAKL_SHOP_IDS

String

Only used if the company setting Mirakl_Shop_IDs is populated.

A comma-separated list of Mirakl shop IDs for which product price, inventory, and availability dates should be updated; e.g., 2000,2774.

MIRAKL_AVAILABLE_STARTED and MIRAKL_AVAILABLE_ENDED can be in the past as long as the start date is before the end date; otherwise, Mirakl will reject the inventory and price update for the relevant product.


Adding plugins to the server

This section is for SellerCloud Support reference only.

Add the following plugins to the relevant server:

PLUGIN NAME

ID

Mirakl Order Import

3623

Mirakl Order Tracking Export

3624

Mirakl Inventory Export Plugin

3625

Mirakl RMA Import

3775



Creating scheduled tasks

The Mirakl plugin integration can be set up to run automatically using scheduled tasks.

Set up the tasks in the table below for the relevant company that will use the integration, not for the default company.

For instructions, see the Channel Plug-in Integrations through Scheduled Tasks topic.

SCHEDULED TASK

DESCRIPTION

Import Orders

This task will:

  • Download orders from Mirakl and create them in SellerCloud.
  • Send an order acceptance to Mirakl if all the ordered items have enough inventory to fulfill the order; or, set it as canceled on SellerCloud and Mirakl if inventory of one of the items is insufficient.

Orders will be created with the email address customer_id + @ + custom company setting "Mirakl_Integration_Name" with removed empty spaces + .com (@integrationName.com).

All orders are created as paid.

Products with such SKUs or IDs in custom column MIRAKL_SKU must exist on SellerCloud. Otherwise, order items will be UNKNOWN, their inventory on hand will be considered 0, and the order will be refused on Mirakl.

Import RMAs

This task downloads order returns from Mirakl and creates them in SellerCloud.

Returns must be processed on Mirakl. They are only imported into SellerCloud.

Export Orders

This task exports tracking information for shipped orders and sends shipping carrier and tracking number to Mirakl.

The plugin accepts the following carriers for:

  • BestBuy Canada
    • UPS
    • FedEx
    • DHL
    • Canada Post
    • ATS
    • Purolator
    • Loomis
    • Canpar

Tracking information for any other carrier will be sent with an empty carrier code.

  • Catch
    • Australia Post
    • Allied Express
    • Toll Ipec
    • Toll Priority
    • Star Track Express
    • Couriers Please
    • Fastway Couriers
    • TNT Express
    • FedEx
    • Hunter Express
    • Direct Freight Express
    • Effective Freight Management
    • Air Road
    • StarTrack - ONLINE ORDERS
    • Main Freight
    • Blue Star
    • Fastway Couriers Temando
    • XL Express
    • PPX Track
    • Nexday
    • StarTrack
    • Border Express
    • Cope - Sensitive Freight
    • Temando
    • VICTAS Freight Express
    • Xpress Transport Services
    • M3 Logistics
    • NORTHLINE
    • peptransport
    • Dynamic Express
    • TOLL NQX

Export Products

This task sends available inventory, price, and offer start and end date:

  • Price is set in the custom product column MIRAKL_PRICE.
  • The offer start and end dates are in MIRAKL_AVAILABLE_STARTED and MIRAKL_AVAILABLE_ENDED.
  • Product UPC must be the same as when the Mirakl offer was created; otherwise, Mirakl will reject the offer(product) update (for BestBuy Canada only; Catch inventory updates will be matched by product ID and custom column MIRAKL_SKU).
  • Do not update more than 60,000 products per hour since the limit of 60 calls per hour will be reached.
This integration is connecting to Mirakl’s API; therefore, no file transfer between SellerCloud and Mirakl is required. When setting up the scheduled tasks, set "Export to/Import from" to "None."


How did we do?