{"id":298319,"date":"2026-06-01T07:51:17","date_gmt":"2026-06-01T07:51:17","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/ai-salesman-chat-pro\/"},"modified":"2026-07-19T18:43:49","modified_gmt":"2026-07-19T18:43:49","slug":"winaltchat-for-woocommerce","status":"publish","type":"plugin","link":"https:\/\/ary.wordpress.org\/plugins\/winaltchat-for-woocommerce\/","author":23514820,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.13.7","stable_tag":"1.13.7","tested":"7.0.2","requires":"6.2","requires_php":"7.4","requires_plugins":null,"header_name":"WinaltChat for WooCommerce","header_author":"Winalt Technologies","header_description":"WinaltChat adds an AI-powered chat widget to your WooCommerce store to help customers find products, answer questions, and boost sales.","assets_banners_color":"cececc","last_updated":"2026-07-19 18:43:49","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/wordpress.org\/plugins\/winaltchat-for-woocommerce\/","header_author_uri":"https:\/\/winalttechnologies.com\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":379,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.92":{"tag":"1.0.92","author":"fahadali158","date":"2026-06-01 07:50:40"},"1.0.93":{"tag":"1.0.93","author":"fahadali158","date":"2026-06-01 08:56:30"},"1.0.95":{"tag":"1.0.95","author":"fahadali158","date":"2026-06-01 14:48:58"},"1.1.01":{"tag":"1.1.01","author":"fahadali158","date":"2026-06-01 20:02:49"},"1.1.14":{"tag":"1.1.14","author":"fahadali158","date":"2026-06-03 20:16:06"},"1.10.4":{"tag":"1.10.4","author":"fahadali158","date":"2026-07-17 14:59:28"},"1.10.5":{"tag":"1.10.5","author":"fahadali158","date":"2026-07-17 15:35:52"},"1.13.7":{"tag":"1.13.7","author":"fahadali158","date":"2026-07-19 18:43:49"},"1.3.10":{"tag":"1.3.10","author":"fahadali158","date":"2026-06-12 18:29:59"},"1.3.32":{"tag":"1.3.32","author":"fahadali158","date":"2026-06-22 17:58:35"},"1.3.7":{"tag":"1.3.7","author":"fahadali158","date":"2026-06-07 07:41:59"},"1.3.8":{"tag":"1.3.8","author":"fahadali158","date":"2026-06-07 08:08:03"},"1.3.9":{"tag":"1.3.9","author":"fahadali158","date":"2026-06-09 11:02:14"}},"upgrade_notice":{"1.2.0":"<p>Major feature release: Live Human Chat. Two new database tables\nare created automatically on first admin page load after upgrade.\nNo breaking changes to existing AI chat functionality.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3613832,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3613832,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3613832,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3613832,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.92","1.0.93","1.0.95","1.1.01","1.1.14","1.10.4","1.10.5","1.13.7","1.3.10","1.3.32","1.3.7","1.3.8","1.3.9"],"block_files":[],"assets_screenshots":{"Screenshot-1.png":{"filename":"Screenshot-1.png","revision":3613832,"resolution":"1","location":"assets","locale":"","width":1920,"height":910},"Screenshot-2.png":{"filename":"Screenshot-2.png","revision":3613832,"resolution":"2","location":"assets","locale":"","width":1920,"height":911},"Screenshot-6.png":{"filename":"Screenshot-6.png","revision":3613832,"resolution":"6","location":"assets","locale":"","width":1920,"height":910}},"screenshots":{"1":"General Settings \u2014 configure your AI provider, API key, and core preferences.","2":"Chat Appearance \u2014 customize colors, icons, welcome message, and branding to match your store.","3":"Live Chat Management \u2014 the admin console for handling active conversations and agents.","4":"AI Conversation \u2014 the assistant answering a customer's question live on the storefront.","5":"Product Recommendations \u2014 the AI surfacing matching products in real time during a chat.","6":"Knowledge Base Mapping \u2014 configure which store pages (Shipping, Returns, About) the AI reads from."}},"plugin_section":[],"plugin_tags":[90336,2364,2379,247874,286],"plugin_category":[45],"plugin_contributors":[265289,266869],"plugin_business_model":[],"class_list":["post-298319","plugin","type-plugin","status-publish","hentry","plugin_tags-ai-chat","plugin_tags-chatbot","plugin_tags-live-chat","plugin_tags-shopping-assistant","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_contributors-fahadali158","plugin_contributors-winalttechnologies","plugin_committers-fahadali158","plugin_committers-winalttechnologies","plugin_support_reps-fahadali158"],"banners":{"banner":"https:\/\/ps.w.org\/winaltchat-for-woocommerce\/assets\/banner-772x250.png?rev=3613832","banner_2x":"https:\/\/ps.w.org\/winaltchat-for-woocommerce\/assets\/banner-1544x500.png?rev=3613832","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/winaltchat-for-woocommerce\/assets\/icon-128x128.png?rev=3613832","icon_2x":"https:\/\/ps.w.org\/winaltchat-for-woocommerce\/assets\/icon-256x256.png?rev=3613832","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/winaltchat-for-woocommerce\/assets\/Screenshot-1.png?rev=3613832","caption":"General Settings \u2014 configure your AI provider, API key, and core preferences."},{"src":"https:\/\/ps.w.org\/winaltchat-for-woocommerce\/assets\/Screenshot-2.png?rev=3613832","caption":"Chat Appearance \u2014 customize colors, icons, welcome message, and branding to match your store."},{"src":"https:\/\/ps.w.org\/winaltchat-for-woocommerce\/assets\/Screenshot-6.png?rev=3613832","caption":"Knowledge Base Mapping \u2014 configure which store pages (Shipping, Returns, About) the AI reads from."}],"raw_content":"<!--section=description-->\n<p><strong>WinaltChat<\/strong> adds a fast, intelligent chat widget to your\nWooCommerce store. Customers can search your product catalogue,\nget instant answers about shipping and returns, and \u2014 when they\nneed a real person \u2014 connect to your support team through a built-in\nlive chat system, all without leaving your store.<\/p>\n\n<h4>AI Shopping Assistant<\/h4>\n\n<ul>\n<li><strong>Dual AI Modes<\/strong> \u2014 Use your own API key from Groq \u2014 LLaMA\n(Free Tier), ChatGPT (OpenAI), Claude (Anthropic), or Gemini\n(Google) for full conversational AI. No key? The built-in\n<em>Basic AI<\/em> mode runs entirely on your server with zero external\ncalls and zero ongoing cost.<\/li>\n<li><strong>Smart Product Search<\/strong> \u2014 Intent-aware search across your\nWooCommerce catalogue. Handles typos, synonyms, multilingual and mixed-language\nqueries, and follow-up questions naturally.<\/li>\n<li><strong>Product Comparisons<\/strong> \u2014 Customers can ask \"which is better, the Sony or the\nSamsung?\" and get a clear side-by-side comparison\nwith prices and key specs from your own catalogue.<\/li>\n<li><strong>Store Knowledge Base<\/strong> \u2014 Reads your shipping, returns, contact,\nand about pages to answer policy questions accurately and\ndynamically \u2014 no hardcoded answers that break for other stores.<\/li>\n<li><strong>Conversation Context<\/strong> \u2014 Remembers context within a session so\nfollow-up questions (\"does it come in blue?\") work naturally.<\/li>\n<li><strong>Amazon Affiliate Fallback<\/strong> \u2014 When a product is out of stock,\noptionally suggest an Amazon affiliate link so you still earn a\ncommission.<\/li>\n<\/ul>\n\n<h4>Live Human Chat<\/h4>\n\n<ul>\n<li><strong>Human Handoff<\/strong> \u2014 When a customer types phrases like \"I want\nto talk to a human\", \"customer service\", \"live agent\", or dozens\nof natural variants, the plugin detects the request and connects\nthem to a real person on your team.<\/li>\n<li><strong>Admin Live Chats Dashboard<\/strong> \u2014 A dedicated <strong>Live Chats<\/strong> screen\nin your WordPress admin shows all active, waiting, and closed\nconversations in a two-panel interface. Keep the tab open to stay\nmarked online for visitors.<\/li>\n<li><strong>Visitor Name Prompt<\/strong> \u2014 Before connecting, the visitor is\noptionally asked for their name. If skipped, they are identified\nas \"Visitor #ID\" so you can tell conversations apart.<\/li>\n<li><strong>Full Conversation Context for Agents<\/strong> \u2014 When a customer is\nhanded off, the admin sees the complete prior AI conversation so\nthere is no need to ask \"how can I help?\" twice.<\/li>\n<li><strong>Visitor Presence Dot<\/strong> \u2014 A green dot shows the visitor is\nactive. It turns grey within 30 seconds if they close the tab.<\/li>\n<li><strong>Two-Tier Timeout<\/strong> \u2014 If your team does not respond within\n90 seconds, the visitor sees a friendly patience message. After\n5 minutes of no reply, the chat gracefully falls back to the AI\nassistant with an optional email capture.<\/li>\n<li><strong>Intelligent Offline Handling<\/strong> \u2014 When no admin is online the AI\nkeeps helping. Visitors can optionally leave their email for a\nfollow-up. Leads appear in the admin Live Chats list with a\ndedicated Leads section and unread badge.<\/li>\n<li><strong>Session Management<\/strong> \u2014 Close chats when resolved, or delete\nthem permanently. Closed and lead sessions stay visible in\ntheir own sections until manually removed.<\/li>\n<li><strong>Zero External Dependencies<\/strong> \u2014 Live chat runs entirely within\nyour WordPress site using secure AJAX polling over the REST API.\nNo Pusher, no third-party service, no extra cost.<\/li>\n<li><strong>Email Notifications<\/strong> \u2014 Get an email when a customer starts a\nlive chat or leaves their contact details while you are offline.<\/li>\n<\/ul>\n\n<h4>Privacy &amp; Security<\/h4>\n\n<ul>\n<li>All live chat data is stored in your own WordPress database.\nNothing is sent to an external service.<\/li>\n<li>Session tokens are 32-character cryptographically random strings\n\u2014 not sequential IDs \u2014 so sessions cannot be enumerated.<\/li>\n<li>All endpoints enforce nonces, capability checks, input\nsanitization, output escaping, and rate limiting.<\/li>\n<li>Message content is sanitized server-side, and rich chat HTML\n(product cards, links, images) is additionally sanitized\nclient-side via a bundled copy of DOMPurify before being\nrendered \u2014 see \"Bundled Libraries\" below.<\/li>\n<\/ul>\n\n<h4>Bundled Libraries<\/h4>\n\n<ul>\n<li><strong>DOMPurify 3.1.6<\/strong> \u2014 client-side HTML sanitizer, used to safely\nrender rich chat content (product cards, links, images).\nVendored locally at <code>assets\/js\/vendor\/purify.min.js<\/code>; not loaded\nfrom a CDN. \u00a9 Cure53 and other contributors. Dual-licensed under\nthe Apache License 2.0 and Mozilla Public License 2.0, both\nGPL-compatible. <a href=\"https:\/\/github.com\/cure53\/DOMPurify\">github.com\/cure53\/DOMPurify<\/a><\/li>\n<\/ul>\n\n<h4>Requirements<\/h4>\n\n<ul>\n<li>WordPress 6.2 or later<\/li>\n<li>WooCommerce 7.0 or later (must be installed and active)<\/li>\n<li>PHP 7.4 or later<\/li>\n<li>An API key from Groq, OpenAI, Anthropic, or Google <em>(optional \u2014\nBasic AI and Live Chat both work without one)<\/em><\/li>\n<\/ul>\n\n<h4>Support<\/h4>\n\n<ul>\n<li><strong>Support Forum:<\/strong> <a href=\"https:\/\/wordpress.org\/support\/plugin\/winaltchat-for-woocommerce\/\">wordpress.org\/support\/plugin\/winaltchat-for-woocommerce<\/a><\/li>\n<li><strong>Email:<\/strong> support@winalttechnologies.com<\/li>\n<\/ul>\n\n<p>We aim to respond to all support requests within 48 hours.<\/p>\n\n<h3>External Services<\/h3>\n\n<p>This plugin connects to third-party AI providers only when you\nconfigure an external AI mode and enter your own API key. In Basic\nAI mode and during live human chat, no external AI service is used.<\/p>\n\n<p><strong>AI Providers (optional \u2014 only when an API key is configured)<\/strong><\/p>\n\n<p>Customer messages, recent conversation context, and relevant store\nand product context are sent to the AI provider you select so it\ncan generate a response. No data is sent to these providers when\nusing Basic AI mode.<\/p>\n\n<ul>\n<li><strong>Groq<\/strong> \u2014 <a href=\"https:\/\/groq.com\">groq.com<\/a> | <a href=\"https:\/\/groq.com\/privacy-policy\/\">Privacy Policy<\/a> | <a href=\"https:\/\/groq.com\/terms-of-service\/\">Terms of Service<\/a><\/li>\n<li><strong>OpenAI<\/strong> \u2014 <a href=\"https:\/\/openai.com\">openai.com<\/a> | <a href=\"https:\/\/openai.com\/policies\/privacy-policy\/\">Privacy Policy<\/a> | <a href=\"https:\/\/openai.com\/policies\/usage-policies\/\">Terms of Use<\/a><\/li>\n<li><strong>Anthropic Claude<\/strong> \u2014 <a href=\"https:\/\/anthropic.com\">anthropic.com<\/a> | <a href=\"https:\/\/www.anthropic.com\/privacy\">Privacy Policy<\/a> | <a href=\"https:\/\/www.anthropic.com\/legal\/consumer-terms\">Terms of Service<\/a><\/li>\n<li><strong>Google Gemini<\/strong> \u2014 <a href=\"https:\/\/ai.google.dev\">ai.google.dev<\/a> | <a href=\"https:\/\/policies.google.com\/privacy\">Privacy Policy<\/a> | <a href=\"https:\/\/policies.google.com\/terms\">Terms of Service<\/a><\/li>\n<\/ul>\n\n<p><strong>Amazon Associate Program (optional \u2014 only when a tag is configured)<\/strong><\/p>\n\n<p>When the Amazon fallback is enabled and no matching product is\nfound in your store, the plugin generates an Amazon search link\nwith your Associate tag. No customer data is transmitted to Amazon\nby the plugin \u2014 the link simply directs the visitor's browser.<\/p>\n\n<ul>\n<li><strong>Amazon<\/strong> \u2014 <a href=\"https:\/\/www.amazon.com\">amazon.com<\/a> | <a href=\"https:\/\/www.amazon.com\/gp\/help\/customer\/display.html?nodeId=GX7NJQ4ZB8MHFRNJ\">Privacy Notice<\/a><\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>winaltchat-for-woocommerce<\/code> folder to\n   \/wp-content\/plugins\/, or install directly via the WordPress\nPlugins screen.<\/li>\n<li>Activate the plugin through the <strong>Plugins<\/strong> screen in WordPress.<\/li>\n<li>Make sure <strong>WooCommerce<\/strong> is installed and active.<\/li>\n<li>Navigate to <strong>WinaltChat \u2192 Settings<\/strong> in the WordPress admin.<\/li>\n<li><strong>AI Mode (optional):<\/strong> Choose your preferred AI provider and\nenter your API key, or leave blank to use the built-in Basic AI\nmode at zero cost.<\/li>\n<li><strong>Live Human Chat (optional):<\/strong> Scroll to the Live Human Chat\nsection, enable the toggle, set a notification email and agent\ndisplay name. A <strong>Live Chats<\/strong> item will appear in the sidebar.<\/li>\n<li>Keep the <strong>Live Chats<\/strong> tab open in your browser while you work\nto appear online to visitors requesting a human.<\/li>\n<li>Customise the chat appearance under the <strong>Chat Appearance<\/strong> tab.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"do%20i%20need%20an%20api%20key%20to%20use%20this%20plugin%3F\"><h3>Do I need an API key to use this plugin?<\/h3><\/dt>\n<dd><p>No. The built-in Basic AI mode handles product search, comparisons,\npolicy questions, and conversation without any API key or external\nservice. Real AI mode (Groq, OpenAI, Claude, Gemini) is optional\nand improves response quality for complex queries.<\/p><\/dd>\n<dt id=\"does%20live%20human%20chat%20require%20any%20external%20service%3F\"><h3>Does Live Human Chat require any external service?<\/h3><\/dt>\n<dd><p>No. It runs entirely within your WordPress site using the WordPress\nREST API. No Pusher, no LiveChat subscription, no third-party\naccounts needed.<\/p><\/dd>\n<dt id=\"how%20does%20the%20admin%20know%20a%20customer%20is%20waiting%3F\"><h3>How does the admin know a customer is waiting?<\/h3><\/dt>\n<dd><p>Two ways: a browser notification fires in the Live Chats tab (if\nyou grant notification permission), and an email is sent to your\nconfigured notify address. Keep the Live Chats tab open while\nyou work to stay marked as online.<\/p><\/dd>\n<dt id=\"what%20happens%20if%20no%20admin%20is%20online%20when%20a%20customer%20asks%20for%20help%3F\"><h3>What happens if no admin is online when a customer asks for help?<\/h3><\/dt>\n<dd><p>The AI assistant keeps helping the customer seamlessly. A message\nexplains the team is unavailable, and the customer is offered an\noptional email field so you can follow up. No dead ends.<\/p><\/dd>\n<dt id=\"how%20long%20before%20an%20unanswered%20live%20chat%20falls%20back%20to%20the%20ai%3F\"><h3>How long before an unanswered live chat falls back to the AI?<\/h3><\/dt>\n<dd><p>At 90 seconds of no response, the visitor sees a friendly\n\"thanks for your patience\" message. At 5 minutes, the chat\ngracefully returns to AI mode with an email capture option. Both\nthresholds are configurable in the Live Human Chat settings.<\/p><\/dd>\n<dt id=\"can%20multiple%20admins%20handle%20chats%20at%20the%20same%20time%3F\"><h3>Can multiple admins handle chats at the same time?<\/h3><\/dt>\n<dd><p>Currently any admin with the manage_options capability can see and\nreply to all live chats. Multi-agent role management is planned for\na future release.<\/p><\/dd>\n<dt id=\"how%20do%20i%20remove%20all%20plugin%20data%20on%20uninstall%3F\"><h3>How do I remove all plugin data on uninstall?<\/h3><\/dt>\n<dd><p>Deleting the plugin via the WordPress Plugins screen automatically\nremoves all WinaltChat settings, options, and live chat database\ntables from your site.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20my%20theme%3F\"><h3>Does it work with my theme?<\/h3><\/dt>\n<dd><p>Yes. The chat widget is injected into the page footer and uses its\nown scoped CSS so it does not conflict with theme styles.<\/p><\/dd>\n<dt id=\"will%20it%20slow%20down%20my%20site%3F\"><h3>Will it slow down my site?<\/h3><\/dt>\n<dd><p>The AI chat widget loads asynchronously and does not block page\nrendering. Live chat polling only runs while an active live session\nis in progress \u2014 normal AI chat and idle pages make zero polling\nrequests.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.13.7<\/h4>\n\n<ul>\n<li>Fix: Plugin Check flagged two <code>meta_key<\/code> \"slow query\" warnings in the popular-products ranking \u2014 the <code>phpcs:ignore<\/code> comments were placed several lines above the flagged code (before the <code>get_posts()<\/code> call) instead of directly on the <code>meta_key<\/code> line, so they weren't actually suppressing anything. Moved to the correct line.<\/li>\n<\/ul>\n\n<h4>1.13.6<\/h4>\n\n<ul>\n<li>Change: The chat header no longer switches to the agent's name when a live session connects \u2014 it stays on the store's configured heading for the whole conversation. The \"[First name] joined the chat\" system message still announces the agent.<\/li>\n<\/ul>\n\n<h4>1.13.5<\/h4>\n\n<ul>\n<li>Improve: The \"[Name] joined the chat\" note and chat header now show just the agent's first name (e.g. \"Sarah\") instead of their full WP display name.<\/li>\n<\/ul>\n\n<h4>1.13.4<\/h4>\n\n<ul>\n<li>Fix: The \"[Name] joined the chat\" note always showed the generic \"Support Team\" label instead of the actual replying admin's name \u2014 <code>visitor_poll()<\/code> read a global setting instead of the sender name already stored on the admin's own message. Now pulls the real name of whichever admin replied.<\/li>\n<li>Fix: The join note appeared after the admin's first message instead of before it \u2014 the client rendered the incoming message first, then pushed the join note. Reordered so the visitor sees \"Sarah joined the chat\" before her first reply, not after.<\/li>\n<\/ul>\n\n<h4>1.13.3<\/h4>\n\n<ul>\n<li>Improve: The live-chat handoff system message changed from \"You're now chatting with Support Team\" to \"Sarah joined the chat\" (agent name first) \u2014 reads more like a natural join notification, and still appears right after \"Connecting you to our team...\" once an agent actually replies.<\/li>\n<\/ul>\n\n<h4>1.13.2<\/h4>\n\n<ul>\n<li>Fix: The live-chat \"what's your name?\" and offline email-capture prompts rendered without the bot avatar every other assistant message has \u2014 they were built with a different DOM structure that skipped the avatar\/column wrapper. Now matches the standard assistant-message markup.<\/li>\n<\/ul>\n\n<h4>1.13.1<\/h4>\n\n<ul>\n<li>Fix: Live chat admin replies could silently fail to reach the visitor (and the visitor's own sent-message ticks never advanced past a single grey \"sent\" mark) on hosts\/CDNs that cache anonymous GET requests by default \u2014 the visitor-poll, admin-poll, and admin-sessions endpoints didn't opt out of caching, so a visitor could keep being served the same stale snapshot forever. Added <code>nocache_headers()<\/code> to all three, matching the fix already applied to the agent-list endpoint.<\/li>\n<\/ul>\n\n<h4>1.13.0<\/h4>\n\n<ul>\n<li>Feature: Proactively offers to connect the customer with live chat on product-defect complaints, service complaints\/frustration, and order-status replies (when live chat is enabled), instead of only text-based \"contact us\" phrasing.<\/li>\n<li>Fix: \"My blender stopped working after two weeks\" was treated as a fresh product search and pitched the very item that just broke \u2014 now recognized as a defect complaint and routed to support\/live chat.<\/li>\n<li>Fix: \"Do you offer bulk discounts?\" matched the generic discount-query keyword and showed an unrelated sale-items listing \u2014 now recognized as a bulk\/wholesale enquiry and routed to the team's contact email (and live chat, if enabled).<\/li>\n<\/ul>\n\n<h4>1.12.1 \u2013 1.12.4<\/h4>\n\n<ul>\n<li>Several rounds of Basic AI answer-quality fixes from live test transcripts: category-priority matching (cash on delivery vs. shipping), honest shipping\/returns\/hours page fallbacks, gift\/budget price-filter parsing, discount-query false positives, negated purchase\/comparison keywords, typo-correction over-eagerness, and a fast-path crash guard. Full details on GitHub.<\/li>\n<\/ul>\n\n<h4>1.12.0<\/h4>\n\n<ul>\n<li>Feature: The \"Popular products\" quick-reply chip now shows genuinely popular products \u2014 ranked by real WooCommerce sales count, not the entire catalog. Falls back to average rating for stores with no sales history yet, then to newest products if there's no rating data either, honestly labeling the response each time rather than calling something popular that isn't. Handled directly by Basic AI, bypassing the AI provider call.<\/li>\n<\/ul>\n\n<h4>1.10.1 \u2013 1.11.2<\/h4>\n\n<ul>\n<li>Redesigned product cards (SALE badge, ratings, standalone layout) shared between AI-provider and Basic AI paths; dynamic quick-reply chips; message avatars; \"Powered by AI\" header subtitle; chat-history export CSS fix; product-search\/checkout-chip routing fixes; Live Chats admin console\/search fixes. Full details on GitHub.<\/li>\n<\/ul>\n\n<h4>1.7.2 \u2013 1.10.5<\/h4>\n\n<ul>\n<li>CDN-aware rate limiting, cache-safe nonce refresh, bundled-DOMPurify sanitizer consolidation, locally-bundled provider logos, translation template, various coding-standards and <code>@since<\/code>-tag fixes. Full details on GitHub.<\/li>\n<\/ul>\n\n<h4>1.7.1 and earlier<\/h4>\n\n<ul>\n<li>For the full version history, see the plugin's GitHub repository.<\/li>\n<\/ul>","raw_excerpt":"WinaltChat \u2013 AI-powered shopping assistant and live human chat for WooCommerce. Find products, answer questions, connect customers to your team.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/ary.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/298319","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ary.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/ary.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/ary.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=298319"}],"author":[{"embeddable":true,"href":"https:\/\/ary.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/winalttechnologies"}],"wp:attachment":[{"href":"https:\/\/ary.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=298319"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/ary.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=298319"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/ary.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=298319"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/ary.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=298319"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/ary.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=298319"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/ary.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=298319"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}