Description
Turn every WooCommerce order into a WhatsApp message your customers actually read. 6rsh Messaging & Notifications connects your store to the WhatsApp Business Platform through the 6rsh platform, so order updates, cart reminders, and customer chat all happen where your buyers already are.
Open rates on WhatsApp are far higher than email. With this plugin you can confirm orders, recover abandoned carts, and answer “where is my order?” automatically — no developer required. A guided setup wizard maps your approved WhatsApp templates to WooCommerce order events in minutes.
What you get
- Order Notifications — Automatically send a WhatsApp message when an order is placed, processing, on-hold, completed, cancelled, refunded, or failed. Map a template to each status.
- Abandoned Cart Recovery — Capture the shopper’s phone at checkout (guests included, with an opt-in checkbox) and send a recovery reminder with a one-click link that restores their cart. Recovery is cancelled automatically once the order is completed.
- Floating WhatsApp Chat Widget — Add a storefront chat button with a greeting tooltip so customers can reach you in one tap. Configurable position; right-to-left (RTL) ready.
- Marketing Follow-ups — Schedule up to two post-order follow-ups (e.g. a review request a week after delivery) using your approved Marketing templates. Cancelled automatically if the order is refunded or cancelled.
- Per-order Template Variables — Order number, status, total, currency, and customer name are substituted into your template parameters for every message.
- Smart Phone Normalization — Numbers are validated and normalized to E.164 (supports Gulf, UK, US, EU and North African formats) so messages don’t bounce.
- Activity Log + CSV Export — Every send is logged with delivery status; export the full log to CSV.
- Translation-ready — Ships a .pot file and full RTL styling for localized storefronts.
Built for compliance
- Talks to your site over the WordPress REST API (
/wp-json/6rsh/v1/) — neveradmin-ajax.php— so it plays nicely with WAFs and security plugins. - Phone numbers are only used to deliver the messages you configure, and abandoned-cart capture is gated behind an opt-in you control.
You need a free 6rsh.com account and an API key. This plugin is not affiliated with, endorsed by, or an official product of WhatsApp or Meta.
How it works
- Sign up at 6rsh.com and create your WhatsApp message templates.
- Install this plugin and paste your API key.
- The setup wizard auto-matches your templates to WooCommerce events.
- Done — notifications fire automatically on every order.
External Service
This plugin connects your WooCommerce store to 6rsh.com, a third-party SaaS operated by TRSH FZC, to deliver messages over the WhatsApp Business Platform. The plugin will not function without a free 6rsh.com account and an API key. It is not affiliated with, endorsed by, or an official product of WhatsApp or Meta.
What the plugin sends to 6rsh.com, and when:
- On connect: the API key you enter and your site URL are sent to 6rsh.com to validate the key and link your account.
- On a WooCommerce order status change (placed, processing, completed, etc.): the order data needed to build the message — order number, status, total, currency, and the customer’s name and phone number — is sent to 6rsh.com so it can deliver the corresponding WhatsApp message.
- At checkout, if Abandoned Cart Recovery is enabled and the shopper opts in: the cart contents, cart total, and the customer’s phone number (and optionally email) are sent to 6rsh.com so a recovery reminder can be sent later.
- Periodically: order snapshots (including any courier/tracking details) may be sent so the 6rsh assistant can answer customer order-status questions.
No message is sent without your configuration, and a customer’s phone number is used only to deliver the messages you set up. The floating chat widget loads locally and only opens a WhatsApp link when a visitor clicks it.
Your use of the 6rsh.com service is governed by:
- Terms of Service: https://www.6rsh.com/terms
- Privacy Policy: https://www.6rsh.com/privacy
Installation
- Upload the plugin files to
/wp-content/plugins/6rsh-messaging-notifications/, or install it from the WordPress Plugins screen. - Activate the plugin through the Plugins menu in WordPress.
- You will be redirected to the setup wizard automatically.
- Paste your 6rsh API key and follow the steps to map templates to order events.
FAQ
-
Do I need a 6rsh account?
-
Yes. Create a free account at 6rsh.com to get your API key and manage your WhatsApp message templates.
-
Does it work with guest checkout?
-
Yes. Abandoned Cart Recovery captures the phone number (with the shopper’s opt-in) for both guests and logged-in customers, and the recovery link restores their cart.
-
Which countries are supported?
-
Any country where the WhatsApp Business Platform is available. The plugin normalizes phone numbers for AE, SA, EG, KW, QA, BH, OM, JO, GB, US, DE, FR, MA, DZ, TN and more.
-
Will it work without WooCommerce?
-
The chat widget will still load, but order notifications and abandoned cart features require WooCommerce 7.0 or later.
-
I see “403 Forbidden” or “WordPress security is blocking the connection” during setup.
-
The plugin talks to 6rsh.com through the WordPress REST API (routes under
/wp-json/6rsh/v1/, authenticated with a WordPress nonce) — it does not useadmin-ajax.php. If you see a 403 during setup, a security plugin or server WAF is blocking REST API requests. Fix it by allowing the REST route:Wordfence
Tools Firewall allow requests to/wp-json/6rsh/v1/.Cloudflare WAF
Security WAF create an Allow rule for the path/wp-json/6rsh/v1/.SiteGround / other managed hosts
Ask support to allow authenticated POST requests to/wp-json/(the WordPress REST API) for your own domain.To verify your API key works independently of WordPress, visit https://www.6rsh.com and use the API Docs tab to test your key directly.
Reviews
There are no reviews for this plugin.
Contributors & Developers
“6rsh Messaging & Notifications” is open source software. The following people have contributed to this plugin.
ContributorsTranslate “6rsh Messaging & Notifications” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
1.5.1
- Updated plugin branding: new icon and banner assets for the WordPress.org listing.
- Refreshed the readme/listing with an SEO-friendly description, a clearer benefit-led feature list, and updated metadata and tags.
- AI order lookup now learns about NEW orders within seconds. Order sync to 6rsh uses the same robust hook set as order notifications (order created, every status transition, and each per-status entry) and is delivered on shutdown after the response is returned — no WP-Cron dependency on the live path. Previously a new order placed directly into a status (POS / async gateway) could be missed.
- Late tracking is captured: when a courier/tracking number is added or edited a day or more after the order (WooCommerce Shipment Tracking / AST, AfterShip, or legacy tracking meta), the order is re-synced immediately so the AI can answer “where is my order?” with the carrier, tracking number, link and ship date.
- Added an hourly reconciliation sweep (safety net) that re-syncs orders modified in the last 7 days, catching anything a missed push or a later tracking edit left behind. Idempotent — never duplicates an order.
- A delayed WP-Cron push is kept only as a fallback for the rare case the shutdown push cannot run.
1.5.0
- WordPress.org compliance fixes: uninstall.php now resolves the plugin directory dynamically with plugin_dir_path( FILE ) instead of a hardcoded path under WP_PLUGIN_DIR, so uninstall still works if the plugin folder is renamed.
- Tightened the /save-followups REST permission_callback from manage_woocommerce to manage_options, matching the manage_options capability required by the settings page.
- Removed the redundant load_plugin_textdomain() call; WordPress.org auto-loads translations for hosted plugins (Requires at least: 6.0).
1.4.1
- Added the GPL License headers (License and License URI) to the main plugin file to match the readme.
- Security hardening: database queries in the cart tracker, logger, and admin now reference table names as fixed literals rather than via an interpolated variable, resolving the unescaped-table-parameter warning. Query values were already bound with prepared statements; no data was ever interpolated unescaped.
1.4.0
- Renamed the plugin slug, folder, main file and text domain from
6rsh-whatsappto6rsh-messaging-notifications(no trademarked term in the slug). Display name is unchanged: “6rsh Messaging & Notifications”. - Added automatic, idempotent settings migration: an install switching from the legacy
6rsh-whatsappplugin keeps its API key and configuration (thesixrsh_*option namespace is preserved). Safe order: deactivate the old plugin, install and activate this one, verify, then delete the old plugin. - WordPress.org compliance: rewritten readme with an External Service disclosure, distinct Plugin URI and Author URI, descriptive (non-trademark) tags, and current “Tested up to” version.
- Updated setup troubleshooting to reflect the REST API connection approach (no admin-ajax.php).
1.3.15
- Abandoned cart capture now hydrates the WooCommerce cart/session inside the REST capture request, so live carts are reliably tracked for guests and logged-in customers.
- Recovery template send is spec-driven from the approved template (correct header/body/URL-button parameters), and the recovery link reliably restores the cart.
1.3.13
- Abandoned Cart Recovery now works for ANY customer — guests and logged-in alike — not just logged-in users with a saved mobile.
- Live phone capture: billing_phone (and billing_email) are captured on the checkout page as the customer types (on blur/change), before the order is placed, via a WordPress REST endpoint (6rsh/v1/capture-cart) — not admin-ajax.php (WAF-safe).
- New checkout opt-in checkbox: “Send me order updates and offers on WhatsApp” (label + default-checked configurable). Opt-in can be required before any phone is stored for recovery (on by default) to protect WhatsApp quality and Meta compliance.
- Phone is validated and normalized to E.164 before storing; invalid numbers are discarded. Email is stored for context only — WhatsApp recovery always targets the phone.
- Recovery sends now go through 6rsh’s queued send path (never inline), with dedupe (one recovery per cart) and STOP/opt-out respected. Completing the order cancels the pending recovery.
- Free on all plans.
1.1.0
- Fixed critical settings page bug: tabs now use WordPress native nav-tab-wrapper with URL-based (?tab=) switching instead of broken JS class selectors.
- Fixed selector mismatch: JS now targets correct IDs matching the HTML (e.g. #sixrsh-test-connection-btn).
- Registered missing AJAX action sixrsh_save_setting so auto-save on the settings page now works.
- Added new AJAX handlers: sixrsh_dismiss_banner, sixrsh_dismiss_checklist.
- Added onboarding checklist on Connection tab (dismissible).
- Added persistent status bar showing connected account name, phone, and plan.
- Added connection error notice when 6rsh.com is unreachable.
- Added setup banner shown after wizard completes, linking to Notifications tab.
- Added failed-log badge in admin menu (cached 5 min).
- Template transient caching (1 hour) for faster settings page load.
- Added North African phone codes: MA (+212), DZ (+213), TN (+216).
- After wizard completes, redirects to Notifications tab instead of Connection tab.
- Bumped version to 1.1.0.
1.0.4
- Switched wizard connect and setup to WordPress REST API (/wp-json/6rsh/v1) — bypasses WAF rules targeting admin-ajax.php.
- Fixed critical bug: JS was reading window.sixrshAdmin but PHP was creating window.SixRshAdmin — nonce was always empty, causing all AJAX to 403.
- Added version footer to wizard so installed version is always visible.
- Version text on Integrations page download button now kept in sync.
1.0.3
- Improved error messages: 403/WAF blocks now show actionable fix instructions instead of a generic error.
- Added “Test API key directly” fallback button when WordPress AJAX is blocked.
- Fixed wizard success message showing “Your account” instead of the connected account name.
- Debug: all AJAX responses are logged to browser console for easier diagnosis.
1.0.0
- Initial release.
