{"id":324315,"date":"2026-06-29T13:24:19","date_gmt":"2026-06-29T13:24:19","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/aivastark-widget\/"},"modified":"2026-06-29T13:23:45","modified_gmt":"2026-06-29T13:23:45","slug":"aivastark-widget","status":"publish","type":"plugin","link":"https:\/\/dsb.wordpress.org\/plugins\/aivastark-widget\/","author":23490723,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"2.3.0","stable_tag":"2.3.0","tested":"7.0","requires":"5.8","requires_php":"7.4","requires_plugins":null,"header_name":"Aivastark Widget","header_author":"Aivastark","header_description":"Adds the Aivastark AI support chat widget to your site. One field: your Widget Key. Works via shortcode [aivastark key=\"...\"] or site-wide.","assets_banners_color":"080a0e","last_updated":"2026-06-29 13:23:45","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/www.aivastark.com\/wordpress-plugin","header_author_uri":"https:\/\/www.aivastark.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":12,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"2.3.0":{"tag":"2.3.0","author":"aivastark","date":"2026-06-29 13:23:45"}},"upgrade_notice":{"2.3.0":"<p>Adds an optional one-question feedback prompt when you deactivate the plugin. Entirely skippable and never blocks deactivation. No settings change required.<\/p>","2.2.0":"<p>Customize your widget from inside WordPress. Optional one-click Connect adds an embedded editor under Aivastark \u2192 Customize Widget. Existing key\/shortcode setups keep working unchanged \u2014 no action needed after upgrading.<\/p>","2.1.0":"<p>Compliance and cleanup release. Adds proper uninstall handling and the disclosures required by the WordPress.org plugin directory. No settings change required after upgrading.<\/p>","2.0.0":"<p>Major simplification \u2014 you only need your Widget Key now. After upgrading, re-open <strong>Settings \u2192 Aivastark Widget<\/strong> and paste your Widget Key (if it was blank) from the Integrations page in your dashboard.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3590162,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3590162,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3590149,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3590149,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["2.3.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3590149,"resolution":"1","location":"assets","locale":"","width":2560,"height":1600},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3590149,"resolution":"2","location":"assets","locale":"","width":2560,"height":1600},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3590149,"resolution":"3","location":"assets","locale":"","width":2560,"height":1600}},"screenshots":{"1":"The single-field settings page \u2014 paste your Widget Key and save.","2":"The widget open on a live WordPress site.","3":"Lead capture form inside the widget."}},"plugin_section":[],"plugin_tags":[2353,5707,2364,10916,1104],"plugin_category":[41],"plugin_contributors":[269469],"plugin_business_model":[],"class_list":["post-324315","plugin","type-plugin","status-publish","hentry","plugin_tags-ai","plugin_tags-chat","plugin_tags-chatbot","plugin_tags-livechat","plugin_tags-support","plugin_category-communication","plugin_contributors-aivastark","plugin_committers-aivastark"],"banners":{"banner":"https:\/\/ps.w.org\/aivastark-widget\/assets\/banner-772x250.png?rev=3590149","banner_2x":"https:\/\/ps.w.org\/aivastark-widget\/assets\/banner-1544x500.png?rev=3590149","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/aivastark-widget\/assets\/icon-128x128.png?rev=3590162","icon_2x":"https:\/\/ps.w.org\/aivastark-widget\/assets\/icon-256x256.png?rev=3590162","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/aivastark-widget\/assets\/screenshot-1.png?rev=3590149","caption":"The single-field settings page \u2014 paste your Widget Key and save."},{"src":"https:\/\/ps.w.org\/aivastark-widget\/assets\/screenshot-2.png?rev=3590149","caption":"The widget open on a live WordPress site."},{"src":"https:\/\/ps.w.org\/aivastark-widget\/assets\/screenshot-3.png?rev=3590149","caption":"Lead capture form inside the widget."}],"raw_content":"<!--section=description-->\n<p><strong>Aivastark Widget<\/strong> adds the Aivastark AI support chat widget to your WordPress site in seconds. Trained on your own knowledge base, it answers visitor questions 24\/7 and hands off to a human agent when needed.<\/p>\n\n<p><strong>One field. That's it.<\/strong> Paste your Widget Key from the Aivastark dashboard and the widget is live site-wide. You can also use the <code>[aivastark key=\"...\"]<\/code> shortcode on individual pages.<\/p>\n\n<p><strong>Customize without leaving WordPress.<\/strong> Click <strong>Connect<\/strong> once to securely link your site to your Aivastark project, then open <strong>Aivastark \u2192 Customize Widget<\/strong> to edit the widget's content, colors, AI behavior, and home screen \u2014 the full editor, right inside wp-admin. No second login each time.<\/p>\n\n<h4>Features<\/h4>\n\n<ul>\n<li>AI chat trained on your knowledge base (PDFs, URLs, documents)<\/li>\n<li>Fully white-label \u2014 your brand, your colors, your logo<\/li>\n<li>Lead capture (trigger by message count, keyword, idle time, or manual)<\/li>\n<li>Live agent handoff via realtime notifications<\/li>\n<li>In-WordPress widget customization via a secure one-click connection (Content, Style, AI, Designer)<\/li>\n<li>Or customize from the Aivastark dashboard \u2014 your choice<\/li>\n<li>Domain whitelisting enforced server-side<\/li>\n<li>Conversation and rate limits enforced server-side<\/li>\n<li>Markdown-formatted responses<\/li>\n<li>Lightweight \u2014 the widget is loaded asynchronously and never blocks page rendering<\/li>\n<\/ul>\n\n<h4>Get a Widget Key<\/h4>\n\n<p>You need a free Aivastark account. Sign up at <a href=\"https:\/\/www.aivastark.com\">aivastark.com<\/a>, create a project, and copy the Widget Key from the <strong>Integrations<\/strong> page.<\/p>\n\n<h4>Third-party service notice<\/h4>\n\n<p>This plugin is a client for the Aivastark hosted service. To function, it loads the widget script from <code>https:\/\/www.aivastark.com\/widget.js<\/code> and chat conversations are processed by the Aivastark backend. Full disclosure of every endpoint and the data sent is in the <strong>External services<\/strong> section below.<\/p>\n\n<p>By installing this plugin you agree to the Aivastark <a href=\"https:\/\/www.aivastark.com\/terms\">Terms of Service<\/a> and <a href=\"https:\/\/www.aivastark.com\/privacy\">Privacy Policy<\/a>.<\/p>\n\n<h3>External services<\/h3>\n\n<p>This plugin connects to the Aivastark hosted service to function. Without this connection there is no chat widget \u2014 the plugin cannot work locally only.<\/p>\n\n<h4>1. Widget script (CDN)<\/h4>\n\n<ul>\n<li><strong>What it does<\/strong>: Loads the JavaScript file that renders the chat widget on your site's front-end.<\/li>\n<li><strong>Endpoint<\/strong>: <code>https:\/\/www.aivastark.com\/widget.js<\/code><\/li>\n<li><strong>When<\/strong>: On every front-end page load where the Widget Key is configured (site-wide or via shortcode).<\/li>\n<li><strong>Data sent<\/strong>: A standard browser HTTP GET \u2014 User-Agent, Referer, IP address. No site content, no visitor PII.<\/li>\n<\/ul>\n\n<h4>2. Chat backend (runtime, browser \u2192 Aivastark API)<\/h4>\n\n<ul>\n<li><strong>What it does<\/strong>: Handles the chat conversation between the visitor and the AI assistant.<\/li>\n<li><strong>Endpoint<\/strong>: <code>https:\/\/www.aivastark.com\/api\/*<\/code> (subdomains may be used; all requests originate from the visitor's browser, not from the WordPress server).<\/li>\n<li><strong>When<\/strong>: Only when a visitor actively opens the widget and sends a message. No requests are made until the visitor interacts.<\/li>\n<li><strong>Data sent<\/strong>: The visitor's chat messages, the Widget Key (identifies your project), an anonymous session ID, the page URL the chat was opened from, and standard browser headers. If the visitor submits a lead form inside the widget, the fields they enter (typically name, email, phone) are also sent.<\/li>\n<\/ul>\n\n<h4>3. Pairing &amp; customization (optional \u2014 only if you click Connect)<\/h4>\n\n<ul>\n<li><strong>What it does<\/strong>: Securely links this WordPress site to one Aivastark project (OAuth Authorization Code + PKCE) and lets you open the widget editor inside wp-admin. The site stores a scoped, revocable access token; only a hashed copy is kept on the server. The token is used to mint a one-time sign-in ticket each time you open the editor.<\/li>\n<li><strong>Endpoints<\/strong>: <code>https:\/\/xckrihmmdwddvcwohvaz.supabase.co\/functions\/v1\/wordpress-token<\/code> and <code>...\/wordpress-sso<\/code> (called from your WordPress server). The connection-approval page <code>https:\/\/www.aivastark.com\/authorize\/wordpress<\/code> and the editor <code>https:\/\/www.aivastark.com\/embed\/wp\/playground<\/code> are loaded in your browser (the latter inside an iframe in wp-admin).<\/li>\n<li><strong>When<\/strong>: Only after you click <strong>Connect<\/strong> (the approval page) and when you open <strong>Aivastark \u2192 Customize Widget<\/strong> (the editor iframe + ticket). Nothing is sent until you opt in by connecting.<\/li>\n<li><strong>Data sent<\/strong>: Your site URL, the chosen Aivastark project id, and the scoped token. While the editor is open, the changes you make (widget appearance and AI settings) are saved to your Aivastark project. No site content or visitor data is sent by this flow.<\/li>\n<\/ul>\n\n<h4>4. Deactivation feedback (optional \u2014 only if you click \"Submit &amp; Deactivate\")<\/h4>\n\n<ul>\n<li><strong>What it does<\/strong>: When you deactivate the plugin, an optional prompt asks why. If you choose to submit, your selected reason, optional comment, and the email shown (your WordPress account email) are sent to Aivastark to help improve the product.<\/li>\n<li><strong>Endpoint<\/strong>: <code>https:\/\/xckrihmmdwddvcwohvaz.supabase.co\/functions\/v1\/wordpress-feedback<\/code> (called from your WordPress server).<\/li>\n<li><strong>When<\/strong>: Only when you click <strong>Submit &amp; Deactivate<\/strong> in the feedback prompt. Clicking <strong>Skip &amp; Deactivate<\/strong> or <strong>Cancel<\/strong> sends nothing.<\/li>\n<li><strong>Data sent<\/strong>: The reason you selected, your optional comment, the email shown in the prompt, your site URL, the plugin version, and your WordPress version. No site content or visitor data.<\/li>\n<\/ul>\n\n<h4>Service provider<\/h4>\n\n<ul>\n<li><strong>Provider<\/strong>: Aivastark<\/li>\n<li><strong>Terms of Service<\/strong>: <a href=\"https:\/\/www.aivastark.com\/terms\">https:\/\/www.aivastark.com\/terms<\/a><\/li>\n<li><strong>Privacy Policy<\/strong>: <a href=\"https:\/\/www.aivastark.com\/privacy\">https:\/\/www.aivastark.com\/privacy<\/a><\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin <code>.zip<\/code> file to <code>\/wp-content\/plugins\/<\/code> or install it via <strong>Plugins \u2192 Add New \u2192 Upload Plugin<\/strong>.<\/li>\n<li>Activate <strong>Aivastark Widget<\/strong> through the <strong>Plugins<\/strong> menu in WordPress.<\/li>\n<li>Go to <strong>Settings \u2192 Aivastark Widget<\/strong>.<\/li>\n<li>Paste your Widget Key and click <strong>Save<\/strong>.<\/li>\n<li>The widget is now live on every front-end page.<\/li>\n<\/ol>\n\n<p>To use it on a single page instead, leave the Widget Key field empty and paste the shortcode <code>[aivastark key=\"YOUR_WIDGET_KEY\"]<\/code> where you want the widget to load.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"do%20i%20need%20any%20other%20settings%2C%20api%20keys%2C%20or%20urls%3F\"><h3>Do I need any other settings, API keys, or URLs?<\/h3><\/dt>\n<dd><p>No. Version 2.0 collapsed the old four-field config into a single Widget Key. Everything else (API endpoint, project settings, theme) is resolved automatically from the key.<\/p><\/dd>\n<dt id=\"where%20do%20i%20get%20a%20widget%20key%3F\"><h3>Where do I get a Widget Key?<\/h3><\/dt>\n<dd><p>Create a free account at <a href=\"https:\/\/www.aivastark.com\">aivastark.com<\/a>, create a project, and copy the Widget Key from the <strong>Integrations<\/strong> page in your dashboard.<\/p><\/dd>\n<dt id=\"is%20the%20widget%20served%20from%20wordpress%20or%20a%20cdn%3F\"><h3>Is the widget served from WordPress or a CDN?<\/h3><\/dt>\n<dd><p>The widget script is served from the Aivastark CDN (<code>https:\/\/www.aivastark.com\/widget.js<\/code>) by default. You can self-host by filtering <code>aivastark_widget_script_url<\/code>.<\/p><\/dd>\n<dt id=\"can%20i%20self-host%20the%20widget%20script%3F\"><h3>Can I self-host the widget script?<\/h3><\/dt>\n<dd><p>Yes. Add this to your theme or a custom plugin:<\/p>\n\n<pre><code>add_filter( 'aivastark_widget_script_url', function () {\n    return 'https:\/\/your-cdn.com\/widget.js';\n} );\n<\/code><\/pre><\/dd>\n<dt id=\"does%20the%20widget%20slow%20down%20my%20pages%3F\"><h3>Does the widget slow down my pages?<\/h3><\/dt>\n<dd><p>No. The widget script is registered with WordPress, loaded in the footer, and never blocks rendering. Paint and interaction metrics are not affected.<\/p><\/dd>\n<dt id=\"what%20data%20is%20sent%20to%20aivastark%3F\"><h3>What data is sent to Aivastark?<\/h3><\/dt>\n<dd><p>Only conversation messages typed by visitors who open the widget, plus the Widget Key (to identify your project) and the visitor's session ID. No page content, no cookies on the host site, and no visitor tracking beyond what is needed for the chat session itself. See the <strong>External services<\/strong> section for the full breakdown.<\/p><\/dd>\n<dt id=\"does%20this%20plugin%20work%20with%20caching%20plugins%3F\"><h3>Does this plugin work with caching plugins?<\/h3><\/dt>\n<dd><p>Yes. The widget config is inlined per-request; caching plugins that preserve <code>&lt;script&gt;<\/code> tags in <code>wp_footer<\/code> are fully compatible.<\/p><\/dd>\n<dt id=\"can%20i%20customize%20the%20widget%20from%20wordpress%20instead%20of%20the%20dashboard%3F\"><h3>Can I customize the widget from WordPress instead of the dashboard?<\/h3><\/dt>\n<dd><p>Yes. Go to <strong>Aivastark \u2192 Home<\/strong> and click <strong>Connect<\/strong>, approve the connection in your Aivastark account (one time), then open <strong>Aivastark \u2192 Customize Widget<\/strong>. The full editor (Content, Style, AI, Designer) loads right inside wp-admin and your changes save to your project. You can disconnect anytime from the Home page.<\/p><\/dd>\n<dt id=\"is%20connecting%20required%3F\"><h3>Is connecting required?<\/h3><\/dt>\n<dd><p>No. Connecting is optional \u2014 it only adds in-WordPress customization. If you prefer, paste your Widget Key in <strong>Aivastark \u2192 Settings<\/strong> (or use the shortcode) and skip Connect entirely; the widget works exactly as before.<\/p><\/dd>\n<dt id=\"how%20do%20i%20remove%20all%20data%20this%20plugin%20stored%20when%20i%20delete%20it%3F\"><h3>How do I remove all data this plugin stored when I delete it?<\/h3><\/dt>\n<dd><p>Use <strong>Plugins \u2192 Delete<\/strong> in WordPress. The bundled <code>uninstall.php<\/code> removes the plugin's options (<code>aivastark_widget_options<\/code> and, if you connected, the <code>aivastark_widget_secret<\/code> that holds the scoped token). No tables, no extra rows. Disconnecting first also revokes the token on the server.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>2.3.0<\/h4>\n\n<ul>\n<li>Added: a short, optional feedback prompt when you deactivate the plugin from the Plugins screen \u2014 pick a reason, add a comment, and submit, or skip entirely. It helps us improve Aivastark. Nothing is sent unless you click <strong>Submit &amp; Deactivate<\/strong>, and feedback never blocks or delays deactivation.<\/li>\n<\/ul>\n\n<h4>2.2.0<\/h4>\n\n<ul>\n<li>Added: customize your widget without leaving WordPress. Click <strong>Connect<\/strong> (one-click, OAuth + PKCE) to securely link your site to an Aivastark project, then open <strong>Aivastark \u2192 Customize Widget<\/strong> to edit Content, Style, AI, and Designer in an embedded editor. Disconnect anytime \u2014 the token is revoked server-side and stored only as a hash.<\/li>\n<li>Added: a top-level <strong>Aivastark<\/strong> admin menu (Home \/ Customize Widget \/ Settings) replacing the single Settings page.<\/li>\n<li>Changed: the plugin is now organized into <code>includes\/<\/code> and <code>admin\/<\/code> files. Front-end behavior is unchanged \u2014 the <code>[aivastark]<\/code> shortcode and site-wide rendering work exactly as in 2.1.x, and an unconnected site behaves identically to before.<\/li>\n<li>Note: connecting auto-fills the Widget Key from the linked project if it was empty, so the widget goes live immediately.<\/li>\n<\/ul>\n\n<h4>2.1.6<\/h4>\n\n<ul>\n<li>Fixed: WordPress (and other CMS) themes were leaking CSS into the widget \u2014 tab bar background turned theme-coloured, SVG icons (mic, image, tab icons) disappeared because <code>currentColor<\/code> resolved to the theme's text colour. Wrapped the entire widget in a Shadow DOM so host-page styles can no longer reach widget elements. The widget now renders identically across WordPress, Shopify, and bare HTML pages.<\/li>\n<\/ul>\n\n<h4>2.1.5<\/h4>\n\n<ul>\n<li>Fixed: dashboard customisations (accent, name, logo, welcome message, suggested questions) silently failed to apply because the bootstrap path called the apply routine before the inner <code>WIDGET_SKINS<\/code> const had been initialised, throwing a temporal-dead-zone <code>ReferenceError<\/code> (\"Cannot access 'se' before initialization\") that aborted the rest of the customisation. The apply call is now deferred to a microtask, so it runs after every const\/function declaration in the IIFE has initialised.<\/li>\n<\/ul>\n\n<h4>2.1.4<\/h4>\n\n<ul>\n<li>Bumped widget script version so customers pull a CDN copy that bypasses any stale edge-cached widget-config response (cache-busted per page load) and surfaces apply errors \/ config diagnostics in the browser console for debugging.<\/li>\n<\/ul>\n\n<h4>2.1.3<\/h4>\n\n<ul>\n<li>Bumped widget script version so existing installs pull the latest CDN copy that reliably applies dashboard customisations (accent colour, logo, name, welcome message, suggested questions, FAQs).<\/li>\n<\/ul>\n\n<h4>2.1.2<\/h4>\n\n<ul>\n<li>Fixed: site-wide widget loader silently did nothing on activation. The auto-enqueue was hooked on <code>wp_footer<\/code> priority 100, which fires after WordPress prints footer scripts at priority 20, so the script was enqueued too late to render. Moved the auto-enqueue to <code>wp_enqueue_scripts<\/code>. The shortcode form was unaffected.<\/li>\n<\/ul>\n\n<h4>2.1.1<\/h4>\n\n<ul>\n<li>Fixed: separated <code>Plugin URI<\/code> (now <code>aivastark.com\/wordpress-plugin<\/code>) from <code>Author URI<\/code> to satisfy WordPress.org submission requirements. No functional changes.<\/li>\n<\/ul>\n\n<h4>2.1.0<\/h4>\n\n<ul>\n<li>Added <code>uninstall.php<\/code> to clean up the plugin's option when deleted.<\/li>\n<li>Hardened <code>$_POST<\/code> handling on the settings page (unslash + sanitize before any comparison or use).<\/li>\n<li>Added the WordPress.org-required <strong>External services<\/strong> disclosure section to readme.<\/li>\n<li>Added an explicit third-party service notice in the plugin description.<\/li>\n<li>Bumped <strong>Tested up to<\/strong> to WordPress 6.8.<\/li>\n<\/ul>\n\n<h4>2.0.0<\/h4>\n\n<ul>\n<li><strong>Breaking<\/strong>: Single-field setup. Widget Key is now the only required setting. Supabase URL \/ Anon Key \/ Widget.js URL fields have been removed \u2014 they are resolved server-side from the key.<\/li>\n<li>Switched to <code>wp_enqueue_script<\/code> and <code>wp_add_inline_script<\/code> for WP.org compliance.<\/li>\n<li>Added <code>aivastark_widget_script_url<\/code> filter for self-hosted widget scripts.<\/li>\n<li>Added translation support (text domain <code>aivastark-widget<\/code>).<\/li>\n<li>Dropped the bundled copy of <code>widget.js<\/code> \u2014 the CDN copy is now always used by default.<\/li>\n<\/ul>\n\n<h4>0.1.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<\/ul>","raw_excerpt":"White-label AI support chatbot for your WordPress site. Paste one key, get a fully branded AI widget \u2014 and customize it without leaving wp-admin.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/dsb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/324315","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dsb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/dsb.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/dsb.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=324315"}],"author":[{"embeddable":true,"href":"https:\/\/dsb.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/aivastark"}],"wp:attachment":[{"href":"https:\/\/dsb.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=324315"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/dsb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=324315"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/dsb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=324315"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/dsb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=324315"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/dsb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=324315"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/dsb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=324315"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}