Mirakl Product Synchronization

Manually trigger a Mirakl CM21 product synchronization for a targeted list of products, without running a full import.

Introduction

The Mirakl Product Synchronization endpoint allows you to manually trigger a CM21 synchronization for a targeted list of products, without running a full import cycle.

This is useful when:

  • A product is stuck in a desynchronized state and needs to be re-pushed to Mirakl.
  • You need to verify that a specific product update has been correctly propagated.
  • An incident requires a targeted resynchronization without impacting the entire catalog.

How it works

  1. Send a POST request with a list of products identified by their miraklProductId and productSku.
  2. The system resolves which Mirakl client configuration to use:
    • If clientSpecificationId is provided, that configuration is used directly.
    • If not provided and only one active Mirakl client exists, it is used automatically.
    • If multiple active clients exist, a 400 error is returned with the list of available IDs.
    • If no active Mirakl client is configured, a 400 error is returned.
  3. The CM21 synchronization is triggered for the specified products.
  4. The response confirms the number of synchronized products and the client configuration used.

API Reference

Endpoint: POST /v1/mapper/mirakl/product-synchronizations

operationId: ADM-MIRAKL-100

Access: Operator only (dj-client: OPERATOR)

HeaderRequiredDescription
dj-clientYesMust be OPERATOR
dj-api-keyYesAPI key

Request body

FieldTypeRequiredDescription
clientSpecificationIdstring (uuid)NoID of the Mirakl client configuration to use. If omitted, the system resolves it automatically.
productsarrayYesList of products to synchronize (min 1 element).
products[].miraklProductIdstringYesMirakl product identifier.
products[].productSkustringYesDJUST product SKU.

Example request

{
  "clientSpecificationId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "products": [
    {
      "miraklProductId": "MKL-001",
      "productSku": "SKU-WIDGET-42"
    },
    {
      "miraklProductId": "MKL-002",
      "productSku": "SKU-GADGET-99"
    }
  ]
}

Response

FieldTypeDescription
synchronizedProductsintegerNumber of products sent for synchronization.
clientSpecificationIdstring (uuid)Mirakl client configuration that was used.

Example response

{
  "synchronizedProducts": 2,
  "clientSpecificationId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
}

Error handling

HTTP CodeDescription
400Validation error: empty product list, multiple active Mirakl clients without explicit clientSpecificationId, or no active Mirakl client configured.
401Unauthorized — missing or invalid API key.
403Forbidden — insufficient permissions.
404Not found — the provided clientSpecificationId does not exist.

Best practices

  • Always provide clientSpecificationId explicitly if your tenant has multiple active Mirakl client configurations.
  • Use this endpoint for targeted resynchronization only. For bulk catalog updates, use the standard import workflow.
  • Monitor the response to confirm the number of products actually synchronized.