=== Zeno AI Sales Assistant for WooCommerce ===
Contributors: zenolabs
Tags: ai, chatbot, woocommerce, sales assistant, lead generation
Requires at least: 6.2
Tested up to: 7.0
Requires PHP: 8.0
Stable tag: 3.1.1
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

An AI sales assistant for WooCommerce with product discovery, cart actions, knowledge base, lead capture, analytics, voice, and human handoff.

== Description ==

Zeno turns a WordPress or WooCommerce site into a guided, conversational buying experience. Every feature is fully enabled during the 14-day trial. When the trial expires, or when a license is invalid, expired, revoked, unpaid, or can no longer be verified within the allowed grace period, the chat and AI service are suspended completely and no messages are accepted. Valid licenses can be unlimited or can carry a server-defined daily message quota. Each merchant connects their own AI provider account and API key; no publisher AI tokens or usage credits are bundled or consumed.

This is the separately distributed commercial build. Its licensing and daily-limit behavior is not presented as compliant with the WordPress.org plugin directory rules. The separate 3.0.0 WordPress.org build is not modified by this release.

= Sales and WooCommerce =

* Searches the live WooCommerce catalog and displays product cards.
* Understands budget, category, tag, stock, and cheapest-product requests.
* Supports numbered product selection and validates real product IDs.
* Adds products to the cart only after clear purchase intent.
* Opens the cart or checkout, applies coupon codes, and links to store pages.
* Looks up an order only after matching its billing email.
* Attributes assisted WooCommerce orders to Zeno analytics.

= AI and knowledge =

* OpenAI Responses API, Google Gemini, Azure OpenAI, and Mistral AI.
* Encrypted API keys and configurable models, prompts, timeouts, and output limits.
* Streaming replies and structured tool calling.
* Automatic indexing of WordPress pages, posts, and WooCommerce products.
* Manual information, Q&A, URL, sitemap, and PDF ingestion.
* Hybrid keyword and vector retrieval with source-aware answers.
* PDF native-text extraction and optional server-side OCR tools.

= Customer experience =

* Floating widget and `[zeno]` shortcode.
* Responsive mobile bottom sheet, dark mode, colors, avatars, and quick replies.
* Proactive prompts, delayed opening, and exit-intent assistance.
* Product cards, contextual actions, cart confirmation, and checkout guidance.
* Browser speech recognition and text-to-speech when supported.
* Conversation reset, local continuity, transcript download, and feedback.
* Italian, English, French, German, Polish, Spanish, and Dutch interface packs.

= Leads, channels, and reporting =

* Consent-based lead form with optional private attachments and email alerts.
* Conversation, lead, usage, page, device, prompt, and assisted-sale analytics.
* CSV lead export and WordPress privacy exporters/erasers.
* Optional WhatsApp handoff, WhatsApp Cloud API, Telegram bot, and signed webhooks.
* Extensible WordPress hooks for CRM, booking, ticketing, and other automations.

No AI account, API key, usage credit, WhatsApp account, or Telegram account is bundled with the plugin.

== External services ==

The commercial build contacts the Zeno licensing service for trial and license verification. Other external providers are contacted only when you configure them:

* Zeno Licensing API receives the site URL and a random installation identifier, plus the entered commercial license key during license verification. It returns trial/license status, expiration, and any active daily message limit. Endpoint: https://www.aizenoagent.com/wp-json/zeno-licensing/v1
* OpenAI API sends the visitor message, selected conversation context, relevant knowledge snippets, and product context to generate a response. Terms: https://openai.com/policies/terms-of-use/ Privacy: https://openai.com/policies/privacy-policy/
* Google Gemini API sends equivalent response context when Gemini is selected. Terms: https://ai.google.dev/gemini-api/terms Privacy: https://policies.google.com/privacy
* Microsoft Azure OpenAI sends equivalent response context to the Azure endpoint configured by the site owner. Product terms: https://www.microsoft.com/licensing/terms/productoffering/MicrosoftAzure/MCA Privacy: https://privacy.microsoft.com/privacystatement
* Mistral AI API sends equivalent response context when Mistral is selected. Terms: https://mistral.ai/terms Privacy: https://mistral.ai/terms#privacy-policy
* Telegram Bot API is contacted only when a bot token and webhook are configured. Terms: https://telegram.org/tos Privacy: https://telegram.org/privacy
* Meta WhatsApp Cloud API is contacted only when WhatsApp credentials are configured. Terms: https://www.whatsapp.com/legal/business-terms Privacy: https://www.whatsapp.com/legal/privacy-policy
* A site-owner webhook URL is contacted only when webhook integration is enabled.

The site owner is responsible for providing the appropriate privacy notice and obtaining any consent required for the selected services.

== Installation ==

1. Upload the plugin ZIP in **Plugins > Add New > Upload Plugin** and activate it.
2. Open **Zeno** in the WordPress admin menu.
3. Choose the interface language.
4. Select an AI provider, add your API key, choose a supported model, and test the connection.
5. Review the automatically indexed site content and add any manual, URL, sitemap, or PDF sources.
6. Configure the widget, lead consent text, and optional WooCommerce or channel integrations.
7. Enable the floating widget or place `[zeno]` on a page.

== Frequently Asked Questions ==

= Do I need WooCommerce? =

No. The knowledge assistant, lead capture, channels, and analytics work on WordPress. WooCommerce is required for live product, cart, checkout, order, and assisted-sale features.

= Which AI providers are supported? =

OpenAI, Google Gemini, Azure OpenAI, and Mistral AI. You provide the relevant account, API key, and usage credit.

= How does the 14-day period work? =

All features work without limits until the 14-day trial ends. After expiration the service is suspended completely: the web chat and AI engine accept zero messages until a valid paid license is activated. Invalid, expired, revoked, unpaid, past-due, payment-failed, or unverifiable licenses are also suspended. A valid license can be unlimited or can define a daily message allowance; only that active-license allowance resets automatically at the next site-local calendar day. Settings, saved API keys, and data remain stored while service is suspended.

= How do I embed the assistant? =

Enable the floating widget or use `[zeno]`. To select a chatbot, use `[zeno chatbot_id="1"]`.

= How are API keys stored? =

Provider keys are encrypted before storage in the WordPress options table.

= Can Zeno delete or export personal data? =

Yes. It registers WordPress personal-data exporters and erasers. The settings also include conversation retention and optional full cleanup on uninstall.

= Does voice work in every browser? =

Voice uses browser speech capabilities. Availability, language quality, and microphone permission depend on the browser and device.

= Does PDF OCR work on every host? =

Native PDF text works with the included pipeline. OCR of scanned documents can require supported server tools, depending on the host.

== Changelog ==

= 3.1.1 =

* Enforced a complete chat and AI service suspension after the 14-day trial or when payment/license status is invalid, expired, revoked, unpaid, past due, failed, or unverifiable.
* Removed the former post-trial one-message fallback: suspended sites can send zero messages.
* Added active-license daily quotas with persistent site-local daily reset and idempotent message IDs, so controller-to-engine handoff does not count twice.
* Kept unlimited licenses and the valid 14-day trial free from message limits.
* Removed license gating from standalone lead submission and product-search controllers while keeping all core chat paths blocked.
* Added an explicit “Servizio Sospeso / Licenza Scaduta” widget and admin state.
* Kept the separate unlimited WordPress.org 3.0.0 package unchanged; this commercial licensing behavior is not presented as WordPress.org-directory compliant.

= 3.1.0 =

* Added a persistent, site-linked 14-day full-use period.
* Added commercial license activation and daily server verification.
* Added server-side blocking before AI, chat, lead, and WooCommerce assistant operations after expiration.
* Added a locked widget state and license management screen.
* Confirmed that every merchant supplies their own AI provider credentials and pays their own provider usage.

= 3.0.0 =

* Adapted the Shopify sales workflow to WordPress and WooCommerce.
* Added live product discovery, cheapest-product lookup, numbered selection, verified add-to-cart, cart, checkout, coupon, URL, and order tools.
* Added consent-first AI lead capture with form prefill.
* Added WooCommerce assisted-sale attribution.
* Added proactive prompts, voice input/output, mobile layout, product cards, and contextual actions.
* Added automatic site sync, hybrid retrieval, PDF ingestion, analytics, privacy tools, WhatsApp, Telegram, and webhooks.
* Prepared the full WordPress and WooCommerce feature set.
* Hardened order lookup by requiring a matching billing email.

== Upgrade Notice ==

= 3.1.1 =

Commercial release with 14 days of trial access followed by a complete service suspension unless a valid license is active. Active licenses may be unlimited or carry a daily quota. Existing settings, API keys, data, and trial anchors are retained.
