{"id":360783,"date":"2026-10-05T05:53:48","date_gmt":"2026-10-05T05:53:48","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/cartgenie-by-easysocial\/"},"modified":"2026-10-05T05:53:24","modified_gmt":"2026-10-05T05:53:24","slug":"cartgenie","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/cartgenie\/","author":23305736,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"3.0.0","stable_tag":"3.0.0","tested":"7.1.2","requires":"6.1","requires_php":"7.4","requires_plugins":null,"header_name":"EasySocial Messaging Automation","header_author":"EasySocial","header_description":"WooCommerce abandoned-cart recovery, WhatsApp catalog sync, AI product search, and a smart WhatsApp chatbot for orders \u2014 by EasySocial, an official Meta Partner.","assets_banners_color":"","last_updated":"2026-10-05 05:53:24","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/easysocial.io\/messaging-automation","header_author_uri":"https:\/\/easysocial.io\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":48,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"3.0.0":{"tag":"3.0.0","author":"easysocial","date":"2026-10-05 05:53:24","revision":3728147}},"upgrade_notice":{"3.0.0":"<p>Plugin renamed to EasySocial Messaging Automation with comprehensive WordPress.org compliance fixes. Existing data is migrated automatically. No manual action required.<\/p>"},"ratings":[],"assets_icons":[],"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["3.0.0"],"block_files":[],"assets_screenshots":[],"screenshots":{"1":"<strong>Abandoned-cart dashboard<\/strong> \u2014 see who left items in their cart and whether a WhatsApp recovery message was sent.","2":"<strong>One-click catalog sync<\/strong> \u2014 push all your WooCommerce products to WhatsApp Business in seconds.","3":"<strong>AI product search<\/strong> \u2014 \"Type Less, Shop More\" lets customers shop by description."}},"plugin_section":[],"plugin_tags":[15962,241513,2364,3160,286],"plugin_category":[45],"plugin_contributors":[284389],"plugin_business_model":[],"class_list":["post-360783","plugin","type-plugin","status-publish","hentry","plugin_tags-abandoned-cart","plugin_tags-catalog-sync","plugin_tags-chatbot","plugin_tags-whatsapp","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_contributors-easysocial","plugin_committers-easysocial"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/s.w.org\/plugins\/geopattern-icon\/cartgenie.svg","icon_2x":false,"generated":true},"screenshots":[],"raw_content":"<!--section=description-->\n<p><strong>EasySocial Messaging Automation<\/strong> \u2013 an official Meta Partner \u2013 brings the power of WhatsApp commerce to your WooCommerce store:<\/p>\n\n<ul>\n<li><strong>Abandoned-Cart Recovery<\/strong> \u2014 automatically track carts and re-engage customers via WhatsApp before they leave for good.<\/li>\n<li><strong>One-Click Catalog Sync<\/strong> \u2014 push your entire WooCommerce catalog to WhatsApp Business in a single click.<\/li>\n<li><strong>AI Product Search<\/strong> \u2014 \"Type Less, Shop More\": let customers find products by describing what they want in natural language.<\/li>\n<li><strong>Smart WhatsApp Chatbot<\/strong> \u2014 customers can check order status, cancel orders, initiate returns, or place new orders entirely from WhatsApp chat.<\/li>\n<\/ul>\n\n<h4>How It Works<\/h4>\n\n<p>EasySocial Messaging Automation adds two custom database tables to your WordPress installation:<\/p>\n\n<ol>\n<li><code>{prefix}easysocial_abandoned_carts<\/code> \u2014 stores active cart data (session ID, contact details, cart contents).<\/li>\n<li><code>{prefix}easysocial_deleted_products<\/code> \u2014 logs product deletions\/trashes so your WhatsApp catalog stays in sync.<\/li>\n<\/ol>\n\n<p>Cart data is captured at three touch-points:<\/p>\n\n<ul>\n<li><code>woocommerce_cart_updated<\/code> \u2014 fires on every server-side cart change.<\/li>\n<li>WooCommerce Store API \u2014 captures guest contact details entered during block-based checkout.<\/li>\n<li>Live AJAX capture \u2014 a lightweight JS snippet on the checkout page sends field changes in real time.<\/li>\n<\/ul>\n\n<h4>Requirements<\/h4>\n\n<ul>\n<li>WordPress 6.1 or higher<\/li>\n<li>WooCommerce (active and up-to-date)<\/li>\n<li>An active EasySocial account \u2014 sign up free at <a href=\"https:\/\/easysocial.io\/\">easysocial.io<\/a><\/li>\n<\/ul>\n\n<h4>Privacy<\/h4>\n\n<p>EasySocial Messaging Automation stores customer first name, last name, email, phone number, cart contents, and shipping address in your own database. This data is used solely to power abandoned-cart recovery messages sent through the EasySocial platform. No data is stored on EasySocial servers without an active account connection.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Install and activate <strong>WooCommerce<\/strong> first.<\/li>\n<li>In your WordPress admin, go to <strong>Plugins \u2192 Add New Plugin \u2192 Upload Plugin<\/strong>.<\/li>\n<li>Upload <code>cartgenie.zip<\/code> and click <strong>Install Now<\/strong>, then <strong>Activate Plugin<\/strong>.<\/li>\n<li>Log in to your <a href=\"https:\/\/app.easysocial.io\/\">EasySocial dashboard<\/a> and connect your WooCommerce store.<\/li>\n<\/ol>\n\n<p>Alternatively, install via FTP:<\/p>\n\n<ol>\n<li>Unzip <code>cartgenie.zip<\/code>.<\/li>\n<li>Upload the <code>cartgenie<\/code> folder to <code>\/wp-content\/plugins\/<\/code>.<\/li>\n<li>Activate <strong>EasySocial Messaging Automation<\/strong> via <strong>Plugins<\/strong> in the WordPress admin.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"do%20i%20need%20an%20easysocial%20account%3F\"><h3>Do I need an EasySocial account?<\/h3><\/dt>\n<dd><p>Yes. EasySocial Messaging Automation connects your WooCommerce store to the EasySocial platform, which manages WhatsApp messaging, catalog synchronisation, and the AI chatbot. You can create a free account at <a href=\"https:\/\/easysocial.io\/\">easysocial.io<\/a>.<\/p><\/dd>\n<dt id=\"which%20whatsapp%20api%20does%20this%20use%3F\"><h3>Which WhatsApp API does this use?<\/h3><\/dt>\n<dd><p>EasySocial Messaging Automation uses the official <strong>WhatsApp Cloud API<\/strong> provided by Meta. EasySocial is a verified Meta Business Partner.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20the%20woocommerce%20block%20checkout%3F\"><h3>Does it work with the WooCommerce Block Checkout?<\/h3><\/dt>\n<dd><p>Yes. Cart data is captured both from the classic checkout (via the <code>woocommerce_cart_updated<\/code> hook and live AJAX) and from the block-based checkout (via the WooCommerce Store API).<\/p><\/dd>\n<dt id=\"will%20it%20slow%20down%20my%20store%3F\"><h3>Will it slow down my store?<\/h3><\/dt>\n<dd><p>EasySocial Messaging Automation uses WordPress object caching (<code>wp_cache_get<\/code> \/ <code>wp_cache_set<\/code>) for all read operations, so repeated database queries are avoided. Write operations (insert\/update\/delete) are minimal and occur only on genuine cart changes.<\/p><\/dd>\n<dt id=\"what%20happens%20to%20my%20data%20if%20i%20deactivate%20the%20plugin%3F\"><h3>What happens to my data if I deactivate the plugin?<\/h3><\/dt>\n<dd><p>Deactivating the plugin leaves your data intact. To fully remove all data, uninstall the plugin (delete it from the Plugins screen). The uninstall routine drops both custom tables and removes all plugin options.<\/p><\/dd>\n<dt id=\"i%20was%20using%20an%20older%20version%20of%20this%20plugin.%20will%20my%20data%20migrate%3F\"><h3>I was using an older version of this plugin. Will my data migrate?<\/h3><\/dt>\n<dd><p>Yes. On the first load after upgrading, EasySocial Messaging Automation automatically detects the old tables and copies their data into the new tables.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>3.0.0<\/h4>\n\n<ul>\n<li>Renamed plugin to \"EasySocial Messaging Automation\" (kept slug <code>cartgenie<\/code> for continuity).<\/li>\n<li>Full WordPress.org compliance: text domain <code>cartgenie<\/code>, function prefixes to <code>easysocial_<\/code>, and plugin header fields updated.<\/li>\n<li>Added object caching (<code>wp_cache_get<\/code> \/ <code>wp_cache_set<\/code>) for all database reads.<\/li>\n<li>Added <code>EASYSOCIAL_VERSION<\/code>, <code>EASYSOCIAL_DB_VERSION<\/code>, <code>EASYSOCIAL_PLUGIN_DIR<\/code>, and <code>EASYSOCIAL_PLUGIN_URL<\/code> constants for extensibility.<\/li>\n<li>Added <code>easysocial_db_version<\/code> option for safe, trackable database upgrades.<\/li>\n<li>Added automatic legacy data migration from old plugin versions.<\/li>\n<li>Added <code>uninstall.php<\/code> for clean plugin removal.<\/li>\n<li>Added <code>\/languages<\/code> domain path for translation support.<\/li>\n<li>Additional index on <code>updated_at<\/code> column for faster time-range queries.<\/li>\n<li>Fixed: REST API permission checks now require <code>manage_woocommerce<\/code> for sensitive endpoints.<\/li>\n<li>Fixed: CSS\/JS properly enqueued using WordPress standard functions.<\/li>\n<li>Fixed: \"Tested up to\" updated to WordPress 7.1.<\/li>\n<\/ul>\n\n<h4>2.0<\/h4>\n\n<ul>\n<li>Added WooCommerce Store API (block checkout) cart capture.<\/li>\n<li>Dual-namespace REST routes (<code>acr\/v1<\/code> and <code>wc\/acr\/v1<\/code>).<\/li>\n<li>Added product-deletion audit log.<\/li>\n<li>Added <code>\/reset-deleted-products-table<\/code> REST endpoint.<\/li>\n<\/ul>\n\n<h4>1.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<li>Abandoned-cart capture via <code>woocommerce_cart_updated<\/code> and live AJAX.<\/li>\n<li>REST endpoints: <code>GET \/abandoned-carts<\/code>, <code>POST \/set-message-sent<\/code>, <code>GET \/check-installation<\/code>.<\/li>\n<\/ul>","raw_excerpt":"WooCommerce abandoned-cart recovery, WhatsApp catalog sync, AI product search, and a smart WhatsApp chatbot for orders \u2014 by EasySocial.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/360783","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=360783"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/easysocial"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=360783"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=360783"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=360783"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=360783"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=360783"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=360783"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}