توضیحات
If you sell food (or anything that must travel ambient, fresh 0–8 °C, or frozen) with Chronopost Chronofresh, this plugin talks to the official SOAP APIs from WooCommerce: shipping methods at checkout, pickup-point map, PDF labels, tracking, and cancellation.
You need an active Chronofresh contract. The plugin does not replace Chronopost: it uses the account number and password they give you. Out of the box the plugin runs in Test mode on the public Chronopost sandbox account so you can try everything without credentials — a warning banner stays visible in wp-admin, because sandbox labels look real but no parcel is ever picked up or shipped. Switch to Production mode and enter your own credentials before shipping.
Features
- Supports Chrono Ambient Relais 13, Chrono Fresh 13, Chrono Fresh Relais 13, Chrono 13, Chrono Freeze 13, Chrono Relais 13.
- Fresh pickup points (code 6S) — deliver fresh products (0°C – 8°C) to Chronofresh pickup points (must be enabled on your contract).
- Dynamic pickup point map (Leaflet) with opening hours at checkout.
- Live parcel tracking via Chronopost TrackingService (same shipping credentials).
- Label cancellation directly from the order admin page.
- Bulk label generation from the orders list.
- Auto order status change after label generation (configurable).
- Per-product DLC (expiration date) field — mandatory for ChronoFresh compliance.
- Explicit Test / Production mode with a persistent admin banner while the sandbox account is in use.
- Connection health check — per-service diagnostics (SOAP extension, server reachability, credentials, and which pickup point product codes 86 / 5Q / 6S your contract accepts), with Chronopost’s own error messages.
- Debug logs in
/wp-content/uploads/simple-connection-for-chronofresh-woocommerce/scc-debug.log. - Built-in Getting Started tab under WooCommerce ChronoFresh.
- Step-by-step guides in
docs/USER-GUIDE.md(English) anddocs/MODE-DEMPLOI.md(French).
External services
This plugin connects to Chronopost APIs to handle shipping calculations, pickup point searches, label generation, and tracking.
It sends customer shipping details (address, postcode, city, weight) when searching pickup points or generating labels.
This service is provided by Chronopost: Terms of use, Privacy policy.
Support
- Chronopost Web Services
- WordPress.org forum
- Premium support: tlloancy@deter-mi.net
نصب
- Upload the
simple-connection-for-chronofresh-woocommercefolder to/wp-content/plugins/. - Activate the plugin via the WordPress ‘Plugins’ page.
- Open WooCommerce ChronoFresh (not WooCommerce Settings). Switch the Mode to Production and enter your Chronopost account number, password, and shipper phone. (Or keep Test mode to explore first — labels will not be real.)
- Run the connection health check, then add ChronoFresh methods in WooCommerce Settings Shipping for your zones.
سوالات متداول
-
What Chronofresh account / contract do I need?
-
A commercial Chronofresh contract from Chronopost (not a consumer Chronopost.fr login). Your sales rep gives you an account number and API password. Ask them to enable the product codes you will use (for example
2Rhome fresh,6Sfresh pickup points,2Sfreeze). Until a code is on the contract, Chronopost returns errors such as 33 / 35. -
What is Test mode? Can I ship with it?
-
No. Test mode signs every call with the official Chronopost sandbox pair from their Web Services documentation. It is only there so you can explore the plugin (map, labels, workflow) before you have a contract. Sandbox labels look real but no parcel is ever picked up. A warning banner stays visible in wp-admin until you switch to Production mode.
-
Where do I enter the credentials?
-
WooCommerce ChronoFresh Settings tab: switch the Mode to Production, then fill in the account number and password. Also set shipper phone (printed on the label), default DLC in days, max kg per parcel, and optional auto order status. Store address under WooCommerce Settings General is the shipper on the label.
-
The health check passes but label generation still fails.
-
The health check runs real calls on the pickup-point service, which lets it verify authentication and whether product codes 86 / 5Q / 6S are on your contract. It deliberately does not call the label service, because the only way to test that is to create a real label — the check will never do that behind your back. Generate a label on a test order: Chronopost errors (e.g. a home-delivery product code missing from your contract) are shown on the order screen and in the debug logs.
-
PHP SOAP?
-
Required. If the plugin shows that the extension is missing, ask your host to enable
php-soap(WooCommerce Status). -
Where are debug logs?
-
/wp-content/uploads/simple-connection-for-chronofresh-woocommerce/scc-debug.log (enable Debug mode in the settings). Older docs mentioned
/wp-content/uploads/chronofresh-logs/— use the path above. -
The box appears on orders that use a ChronoFresh shipping method, or that contain at least one product with a Temperature type set (product page Shipping tab). If neither applies — for example the order was shipped with another carrier and its products were created before the plugin was installed, so they have no temperature type yet — the box is hidden. Also check Screen Options (top right of the order screen): the “ChronoFresh Labels” panel may simply be unticked. Before 1.3.2 the box also stayed hidden when products had no temperature type even on ChronoFresh orders; that is fixed.
-
What happens if a product has no temperature type, or “No temperature”?
-
At label generation it ships as Ambient (codes 5M / 5N / 5Q depending on the method). The ChronoFresh Labels box shows a notice listing such products so you can set Fresh or Freeze on the product page before generating, if needed.
-
Is it secure?
-
Admin and AJAX actions use nonces. Inputs are sanitized and outputs escaped. Chronopost still receives order addresses when you search pickup points or generate labels (see External services).
نقد و بررسیها
نقد و بررسیای برای این افزونه یافت نشد.
توسعه دهندگان و همکاران
“Simple Connection for ChronoFresh” نرم افزار متن باز است. افراد زیر در این افزونه مشارکت کردهاند.
مشارکت کنندگان“Simple Connection for ChronoFresh” به 1 زبان ترجمه شده است. با تشکر از مترجمین برای همکاری و کمکهایشان.
ترجمه “Simple Connection for ChronoFresh” به زبان شما.
علاقه مند به توسعه هستید؟
کد را مرور کنید، مخزن SVN را بررسی کنید، یا از طریق RSS در گزارش توسعه مشترک شوید.
گزارش تغییرات
1.3.2
August 26, 2026:
* Fixed: the pickup point block did not appear on the order confirmation (“thank you”) page when the active theme overrides WooCommerce’s order-details-customer.php template without the woocommerce_order_details_after_customer_details hook (common in custom themes). The block is now also attached to woocommerce_order_details_after_order_table, with a guard so standard themes never show it twice.
* Fixed: a pickup point selected on the cart page appeared deselected on the checkout page (and after every checkout refresh), forcing the customer to pick it again. The widget now restores the point saved in the session — highlighted in the list, marked on the map, opening hours shown — as long as it is still among the points available for the current address.
* Fixed: the “Generate label” button and the ChronoFresh Labels box were hidden on orders whose products had no temperature type saved yet (e.g. products created before the plugin), even though label generation ships those products as Ambient by default. The box now appears on any order using a ChronoFresh shipping method, and shows a notice listing products that will ship as Ambient so you can set Fresh/Freeze first.
* Docs: new FAQ entries explaining when the ChronoFresh Labels box appears and how products without a temperature type are shipped; troubleshooting rows added to both user guides.
1.3.1
August 26, 2026:
* Fixed: the pickup point chosen at checkout was not saved on the order. The save ran on woocommerce_checkout_create_order with update_post_meta() before the order existed (ID 0), so the meta was silently lost; it now uses update_meta_data() on the order object. Blocks (Store API) checkout, which never fired that hook, is now supported too, including the “please select a pickup point” validation.
* Fixed: when the pickup point meta was missing, label generation silently searched the nearest relay to the customer’s address and shipped there — potentially not the chosen point. This fallback is removed: the label now fails with a clear, actionable error instead.
* Added: the chosen pickup point (name, address, relay ID) is now visible on the admin order screen under the shipping address, on the customer’s thank-you page and order view, and in order emails. Orders placed before 1.3.1 with a missing point show an explicit warning.
* Fixed: the relay’s own postcode/city are now saved and used on the label (previously the customer’s address city was sent for the relay block).
* Fixed: the internal chronofresh_code shipping meta no longer appears in customer-facing order details and emails.
1.3.0
August 25, 2026:
* Added: explicit Test / Production mode setting. Test mode uses the public Chronopost sandbox account (nothing to type) and shows a persistent wp-admin warning banner, because sandbox labels are never actually shipped.
* Fixed: the sandbox credentials are no longer silent defaults. Installs that never configured real credentials used to generate sandbox labels that looked real; they now run in visible Test mode. In Production mode, missing credentials block label generation with a clear error instead of falling back to the sandbox.
* Added: connection health check replacing the old single “Test API connection” button. Per-service rows with live status: PHP SOAP extension, Chronopost server reachability, credentials, and real contract checks for pickup point product codes 86 / 5Q / 6S (Chronopost’s own error message is shown, e.g. when 6S is not on your contract). The label service is deliberately not simulated — the panel says so honestly.
* Compat: Tested up to WordPress 7.1.
* Docs: readme FAQ rewritten for Test/Production mode and the health check; docs/USER-GUIDE.md, docs/MODE-DEMPLOI.md and the built-in Getting started tab updated to match.
* Design: native WordPress admin CSS on WooCommerce ChronoFresh (settings, Getting started table/callout, health check panel).
1.2.1
- Released on July 24, 2026:
- Updated: All plugin UI source strings switched to English so WordPress.org translations (GlotPress) use English originals.
- Updated: French remains available via the fr_FR translation file / translate.wordpress.org.
1.2.0
- Released on July 22, 2026:
- Added: New shipping method “Chrono Fresh Relais 13H” (product code 6S) — fresh delivery (0°C – 8°C) to pickup points, available at Chronofresh since the beginning of 2026.
- Added: Pickup point map, opening hours and selection at checkout now fully support the fresh pickup point service.
- Updated: Label generation maps fresh products to code 6S when a pickup point is selected (DLC/expiration date included as required by Chronofresh).
- Updated: Getting Started guide with the new 6S product code.
- Added: Bilingual user guide (English + French) shipped in the docs/ folder.
1.1.0
- Released on May 27, 2026:
- Added: Live parcel tracking via trackSkybillV2 (Chronopost TrackingService) directly in the order admin metabox.
- Added: Label cancellation via cancelListSkybill — cancel any label from the order page.
- Added: Bulk label generation from WooCommerce orders list.
- Added: Automatic order status change after label generation (configurable).
- Added: Per-product DLC (days until expiration) field — required by ChronoFresh for fresh/freeze shipments.
- Added: Global default DLC setting under WooCommerce ChronoFresh.
- Added: Built-in Getting Started guide tab with step-by-step onboarding.
- Fixed: Compliance with ChronoFresh requirements — expirationDate now respects per-product or global DLC setting.
- Updated: Tested up to WordPress 7.0.
1.0.4
- Released on May 8, 2026:
- Added: Interactive Leaflet map for pickup point selection.
- Fixed: Compatibility issues with WooCommerce fragments and Stripe refreshes.
- Improved: Performance and stability by removing legacy code and unused templates.
- Improved: Better handling of AJAX race conditions at checkout.
1.0.3
Released on August 25, 2025:
* Added: Explicit select when no temperature is defined, which default to ambient for label generation, avoiding any unrecognized state for products linked to chronofresh via Expedition Class.
1.0.2
Released on August 22, 2025:
* Enhanced: Added support for mixed orders (ambient, fresh, freeze) with any shipping method, including custom methods like alg_wc_shipping.
* Fixed: Resolved fatal error when generating labels for orders with deleted or invalid products by safely handling null products.
* Improved: Updated label generation to rely on product temperature types (_temperature_type) instead of shipping method, ensuring accurate Chronopost codes (5M, 5Q, 2R, 2S).
* Updated: Default Chronopost test credentials to match provided API keys for seamless testing.
* Enhanced: Improved logging for skipped items and parcel splitting for better debugging.
* Boost your shipping with Premium features like real-time tracking and automated multi-label generation at deter-mi.net!
1.0.1
Released on August 9, 2025: Includes critical fix for nonce verification to ensure secure and pickup api call bug
1.0.0
- Initial release with Chronofresh shipping and pickup point support.
