{"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-06-07T08:08:03","modified_gmt":"2026-06-07T08:08:03","slug":"winaltchat-for-woocommerce","status":"publish","type":"plugin","link":"https:\/\/roh.wordpress.org\/plugins\/winaltchat-for-woocommerce\/","author":23444204,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.3.8","stable_tag":"1.3.8","tested":"6.8.5","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":"a0aabd","last_updated":"2026-06-07 08:08:03","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":140,"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.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"}},"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":3556917,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3556917,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3556917,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3556917,"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.3.7","1.3.8"],"block_files":[],"assets_screenshots":[],"screenshots":[]},"plugin_section":[],"plugin_tags":[90336,2364,2379,247874,286],"plugin_category":[45],"plugin_contributors":[265289],"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_committers-fahadali158"],"banners":{"banner":"https:\/\/ps.w.org\/winaltchat-for-woocommerce\/assets\/banner-772x250.png?rev=3556917","banner_2x":"https:\/\/ps.w.org\/winaltchat-for-woocommerce\/assets\/banner-1544x500.png?rev=3556917","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/winaltchat-for-woocommerce\/assets\/icon-128x128.png?rev=3556917","icon_2x":"https:\/\/ps.w.org\/winaltchat-for-woocommerce\/assets\/icon-256x256.png?rev=3556917","generated":false},"screenshots":[],"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 rendered via\ntextContent in the browser \u2014 XSS injection is not possible.<\/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.3.8<\/h4>\n\n<ul>\n<li>Fix: Replaced store-specific product examples (GFC, Electromax) in readme.txt and code comments with generic international examples suitable for any WooCommerce store worldwide.<\/li>\n<li>Fix: \"Urdu\/English mixed queries\" replaced with \"multilingual and mixed-language queries\" in plugin description.<\/li>\n<\/ul>\n\n<h4>1.3.7<\/h4>\n\n<ul>\n<li>Maintenance: Trimmed changelog to WordPress.org 5000 character limit, keeping entries from 1.2.6 onwards.<\/li>\n<li>Fix: Plugin URI updated to the WordPress.org plugin page.<\/li>\n<\/ul>\n\n<h4>1.3.6<\/h4>\n\n<ul>\n<li>Security: Added per-IP rate limiting (30 requests \/ 60 seconds) to the AI chat REST endpoint to prevent API credit abuse by automated clients.<\/li>\n<li>Security: Visitor poll endpoint now verifies the WP REST nonce (via X-WP-Nonce header or ?nonce= query param) in addition to the session token, consistent with all other visitor endpoints.<\/li>\n<li>Fix: admin.js settings-save buttons now build DOM nodes with textContent \/ .text() instead of jQuery .html() string concatenation, eliminating a theoretical HTML injection path via malicious translation files.<\/li>\n<li>Fix: Chat transcript download now passes assistant message content through sanitizeViaDOM() before inserting it into the exported HTML file.<\/li>\n<li>Fix: readme.txt Tested up to corrected from 7.0 to 6.8.<\/li>\n<\/ul>\n\n<h4>1.3.5<\/h4>\n\n<ul>\n<li>Fix: Bumped minimum WordPress requirement from 6.0 to 6.2 to legitimise use of the %i identifier placeholder in $wpdb-&gt;prepare() calls \u2014 PHPCS was correctly flagging %i as unsupported below 6.2.<\/li>\n<\/ul>\n\n<h4>1.3.4<\/h4>\n\n<ul>\n<li>Fix: PluginCheck.Security.DirectDB.UnescapedDBParameter warnings resolved \u2014 all flagged queries now use the %i identifier placeholder (WordPress 6.2+) for table names instead of PHP string interpolation, eliminating intermediate $sql variables that triggered the sniff.<\/li>\n<li>Fix: DELETE queries in the admin delete handler replaced with $wpdb-&gt;delete() \u2014 no manual SQL string construction.<\/li>\n<li>Note: WordPress.DB.DirectDatabaseQuery.SchemaChange warnings in uninstall.php are advisory-only and expected \u2014 Plugin Check always warns on DROP TABLE. They do not block WordPress.org submission.<\/li>\n<\/ul>\n\n<h4>1.3.3<\/h4>\n\n<ul>\n<li>Fix: Plugin Check warnings resolved \u2014 all PHPCS checks pass cleanly.<\/li>\n<li>Fix: readme.txt short description trimmed to a single line under 150 characters.<\/li>\n<li>Fix: Two DELETE queries in the admin delete handler now use $wpdb-&gt;delete() \u2014 direct session_id interpolation removed.<\/li>\n<li>Fix: Remaining UnescapedDBParameter Plugin Check warnings suppressed with inline phpcs:ignore comments where table names are trusted constants and values are prepared.<\/li>\n<\/ul>\n\n<h4>1.3.2<\/h4>\n\n<ul>\n<li>Fix: \"Support team\" now correctly replaces \"human\" in the email capture prompt \u2014 root cause was the PHP localized string in class-winalt-frontend.php overriding the JS fallback.<\/li>\n<li>Fix: \"New\" badge on lead sessions disappears when clicked and does not reappear on subsequent polls (seenLeadIds tracking added).<\/li>\n<li>Fix: Email submission correctly sends session token so the existing session is converted to a Lead, no duplicate row created.<\/li>\n<li>Fix: Section headers (Active\/Leads\/Closed) now styled as clear readable headings with dividers between sections.<\/li>\n<li>Security: User messages now rendered via textContent \u2014 HTML tags typed by visitors can no longer render in the chat widget.<\/li>\n<li>Security: sanitizeViaDOM() added as a DOM-based sanitizer for AI response content; strips script, iframe, svg, form, and all on* event handlers before innerHTML insertion. img allowed but dangerous attributes stripped.<\/li>\n<li>Security: sanitizeRichContent() updated to remove img from the allowed-tags whitelist.<\/li>\n<\/ul>\n\n<h4>1.3.1<\/h4>\n\n<ul>\n<li>Fix: Email prompt says \"support team\" not \"human\".<\/li>\n<li>Fix: Submitting email now converts the existing session to a Lead \u2014 never creates a duplicate row.<\/li>\n<li>Fix: Admin list now shows all session statuses so closed chats stay visible after admin closes them.<\/li>\n<li>Fix: 429 and HTTP error responses from \/start no longer leave \"Checking\u2026\" stuck \u2014 error path clears the message and shows the email capture form.<\/li>\n<li>Fix: Admin replies no longer appear twice (message_id from server response advances state.lastId before the confirming poll).<\/li>\n<li>Fix: PHP handoff response set to empty to prevent a third connecting message alongside the JS status lines.<\/li>\n<li>Fix: Email capture only shows \"Thanks!\" on a successful server response \u2014 invalid addresses show an inline error message without removing the form.<\/li>\n<li>New: New offline lead sessions show an amber \"New\" badge and update the page title with a lead count.<\/li>\n<li>Remove: Auto-cleanup cron removed \u2014 manual Delete button is the only way to remove sessions.<\/li>\n<\/ul>\n\n<h4>1.3.0<\/h4>\n\n<ul>\n<li>Fix: Presence dot now correctly placed before status text (Active\/Waiting), not before the visitor name.<\/li>\n<li>Fix: Closed\/Lead sessions immediately hide the typing box and Send\/Close buttons on click (using session cache for zero-latency read-only mode).<\/li>\n<li>Fix: Offline email prompt now says \"support team\" instead of \"human\".<\/li>\n<li>Fix: Email submission converts the existing session to a Lead instead of creating a duplicate.<\/li>\n<li>Fix: Admin session list now includes all statuses (waiting\/active\/closed\/lead\/abandoned) so no chat is missed.<\/li>\n<li>Fix: startLive() retries once on network failure before falling back to the email capture form.<\/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:\/\/roh.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/298319","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/roh.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/roh.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/roh.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=298319"}],"author":[{"embeddable":true,"href":"https:\/\/roh.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/fahadali158"}],"wp:attachment":[{"href":"https:\/\/roh.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=298319"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/roh.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=298319"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/roh.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=298319"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/roh.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=298319"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/roh.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=298319"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/roh.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=298319"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}