-
Notifications
You must be signed in to change notification settings - Fork 1
Troubleshooting
“SilentJMA” edited this page Jun 18, 2026
·
1 revision
- Verify the API endpoint URL is correct (should look like
https://your-instance.mirakl.net) - Confirm the API key has the required permissions in Mirakl
- Check that your server can reach the Mirakl endpoint:
curl -I https://your-instance.mirakl.net/api/account
- View the API Health page (Mirakl → API Health) for detailed diagnostics
Your server is missing CA certificates. Solutions:
- Update the CA bundle on your server
- Or configure WordPress to use the system CA bundle:
add_filter('http_request_args', function ($args) { $args['sslcertificates'] = ABSPATH . WPINC . '/certificates/ca-bundle.crt'; return $args; });
- Check Mirakl → Sync Schedule — order import must be enabled
- Check Mirakl → Sync Logs for error messages
- Verify the store credentials are still valid
- Run a manual import from the Orders page (Mirakl → Orders → Import Orders)
- Ensure the store is set to Active in Stores settings
- Verify product has
_mirakl_active = 'yes' - Check the product has a valid SKU
- Confirm the SKU exists in the offer SKU cache (auto-populated from OF21)
- Check sync logs for errors
- Run manual stock sync from the Stock page
- Check Mirakl → Prices → Pricing Imports for import status and error reports
- Common issues:
- Product SKU not found in Mirakl
- Price format incorrect (use decimal format)
- Currency mismatch
- View the error report JSON for per-row failure details
- Re-submit after fixing errors
- Check the order has
_mirakl_order_idmeta - Verify the user has
manage_woocommercecapability - Check server has PHP
domextension installed - Ensure
/tmpis writable (Dompdf uses it for font caching) - Check PHP error logs for Dompdf exceptions
- Verify the logo was uploaded in Mirakl → Stores → Delivery Note section
- GD library must be installed for image resizing
- If GD is unavailable, the original image is used (may be too large)
- Re-upload the logo to regenerate the base64 data
- Click Sync Attributes to refetch from PM11 API
- Check the Mirakl API connection is working
- Verify the store has categories defined in Mirakl
- Locale filtering may be hiding non-matching values
- Check the store's language setting (Mirakl → Stores)
- Values without locale suffixes are always shown
- The
codefield is what appears in the datalist, not the label
- Verify WordPress cron is functioning:
curl -s https://yoursite.com/wp-cron.php?doing_wp_cron=1 - Check Mirakl → Sync Schedule that intervals are set
- Consider setting up a system cron as a fallback:
* * * * * wget -q -O - https://yoursite.com/wp-cron.php?doing_wp_cron=1
- Check for sync locks that may not have expired (
Mirakl_Sync_LockTTL: 360s)
If a sync is stuck, the lock will auto-expire after 360 seconds. For immediate resolution:
- Wait for lock TTL to expire
- Or manually clear the sync lock from the database (
mirakl_sync_lockstable)
- Check
mirakl_fetch_times— if the fetch cursor is incorrect, duplicate orders may be imported - The plugin checks
mirakl_order_iduniqueness per store before creating orders - If duplicates exist, delete duplicates from
{$prefix}mirakl_ordersand the duplicate WC orders
The Mirakl Actions panel on the order edit page only appears if the order has _mirakl_order_id or mirakl_order_id postmeta. If missing:
- Check if the order was imported from Mirakl
- Verify the meta key is correct
- Check the
render_order_actions_panel()hook is not being overridden by another plugin
The plugin suppresses WooCommerce customer emails for Mirakl-imported orders. If emails are still being sent:
- Check that
_mirakl_order_idmeta exists on the order - Verify the
maybe_disable_mirakl_order_email()hooks are registered - Check for other plugins that may re-enable email sending
The plugin caches API responses in custom tables. If pages are slow:
- Check PHP memory limit (recommend 512 MB for large catalogs)
- Large offer SKU caches may slow queries — ensure
mirakl_offer_sku_cachehas proper indexes - Attribute mapping with many categories may take time to load
For stores with thousands of products, pricing imports generate large requests:
- Monitor PHP execution time limits
- Consider increasing the polling delay
- Check error reports for timeout-related failures