=== Lutecia for WooCommerce ===
Contributors: lutecia
Tags: ai, chatgpt, agentic commerce, ucp, ai shopping
Requires at least: 6.2
Tested up to: 7.1
Requires PHP: 7.4
Stable tag: 0.1.1
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Connect your store to AI shopping channels: assistants read your catalog in real time and can place orders in your store.

== Description ==

This plugin connects your WooCommerce store to Lutecia, a hub for AI shopping channels. Assistants read your catalog in real time and can place orders in your store. One connection; when a channel changes its format, Lutecia updates its side, not your store.

**What you get**

* **Live catalog.** UCP (Universal Commerce Protocol) is the open standard AI assistants use to read a store and place orders. Your store gets its own UCP address (`/.well-known/ucp`) as soon as it connects, assistants read your catalog in real time, and the catalog is kept in each channel's required format.
* **Channel applications.** ChatGPT, Google AI Mode and Gemini, Microsoft Copilot and Perplexity each admit merchants through their own program. Each program has its own eligibility rules (country, product data); the dashboard lists them per channel, with the application link, and three steps: apply to the program; if accepted, paste the credentials it gives you; Lutecia then sends your catalog to that channel.
* **Orders prepared by AI assistants.** Opt-in. An assistant composes a cart and places an order in your store; today the shopper pays on your site, with your payment methods.

**How it works**

* **One click.** The plugin creates a read-only WooCommerce API key and registers your store. Your catalog syncs within minutes.
* **Product data check.** The dashboard shows which products are missing a brand or a GTIN (the product barcode number, required by the channel programs), and where to fill each field in WooCommerce.

**Access and control**

* **Product access: read-only.** Lutecia reads your products and does not change them. The API key only gains write access if you turn on Orders prepared by AI assistants.
* **Sales attribution: optional.** A cookie on your storefront and a report of paid orders that came from an assistant, behind a separate switch on the dashboard, off until you turn it on.
* **Catalog file: on by default.** A daily downloadable file of your full catalog in UCP format, for assistants that fetch a file rather than query live.
* **Format changes: handled on our side.** When a channel changes its required format, the update happens on Lutecia's servers; you do not update the plugin for it.
* **Disconnecting.** One click on the dashboard: the API key is deleted and your store stops being served to assistants.

== External Services ==

This plugin connects your store to the Lutecia service (https://lutecia.app). It sends requests in the following situations:

* **When you click Connect**: your shop URL, shop name, admin email, language, currency, the URLs of your privacy policy and terms pages (shown to buyers by channels that require them), and a newly created read-only WooCommerce API key are sent to Lutecia to register your store.
* **After connection**: Lutecia uses the API key to read your products (names, prices, stock, images) and keeps a copy of the catalog on its servers to serve assistants.
* **When your catalog changes**: a signed notification (shop URL and timestamp, no product data) is sent so Lutecia can refresh your catalog.
* **When an AI assistant requests your UCP address (`/.well-known/ucp`) on your domain**: once your store is connected, the plugin fetches the UCP document from Lutecia and serves it (cached for one hour). Before you connect, nothing is sent.
* **When a merchant program accepts you and gives you API credentials**: the credentials you paste are sent to Lutecia over an authenticated request and stored encrypted.
* **Only if you turn on Sales attribution, when an order that came from an AI assistant is paid**: the order number, the order total, the currency and the attribution parameter are sent to Lutecia so your dashboard can show which sales came from assistants. No buyer name, email or address is sent.

With Sales attribution turned on, the plugin also sets one first-party cookie on your storefront, named `lutecia_ref` (30 days, HttpOnly, SameSite=Lax). It stores the `?ref=lutecia_...` parameter carried by the product links Lutecia serves to AI assistants, so a resulting sale can be attributed. It is set only for visitors who arrive with that parameter, and holds no personal data. Because it is not strictly necessary to run your store, mention it in your cookie or privacy notice and collect consent where your law requires it. With Sales attribution off, the plugin sets no cookie and reports no order; turning it off also expires the cookie on a visitor's next page load.

Provider: Lutecia. Terms of service and privacy policy: https://lutecia.app/legal

== Installation ==

1. Install and activate the plugin.
2. Open WooCommerce → Lutecia.
3. Click "Connect my store". Your catalog syncs and starts being served to AI assistants.

== Frequently Asked Questions ==

= What access does Lutecia get? =
A read-only WooCommerce API key, visible and revocable at any time under WooCommerce → Settings → Advanced → REST API. It only switches to write access if you turn on Orders prepared by AI assistants.

= Can a shopper complete a purchase inside an assistant? =
Not with this plugin alone: each channel decides who gets in through its own program, which you file yourself with each program from the links on the dashboard. What connecting does today: your store gets its UCP address, assistants read your catalog in real time, the catalog is kept in each channel's required format, and if you turn on Orders prepared by AI assistants, an assistant can already place an on-hold order in your store.

= What are orders prepared by AI assistants? =
A switch on the dashboard, off by default. When it is on, an assistant can place an order in your store as an on-hold order. Today the shopper pays on your site with your usual payment methods; when a channel admits your store and you hold that channel's payment account, the order completes inside the assistant. Turning the switch on gives the API key write access; turning it off takes it back.

= Does the plugin track my visitors or my orders? =
Not unless you turn on Sales attribution, a switch on the dashboard. See External Services above for what the cookie stores and what is sent.

= Does this slow my store down? =
No. Assistants query Lutecia's servers, not yours. Your store is only contacted to read the catalog during syncs and, if you turned on Orders prepared by AI assistants, when an order is placed; the UCP document served on your domain is cached for an hour.

= AI assistants already crawl my site. Why would I need this? =
A crawler stores a copy of your pages from the day it visited. Connecting adds a catalog assistants read in real time, a copy kept in each channel's required format, and, if you turn it on, orders placed in your store.

= What does it cost? =
Nothing for now: the service is free while Lutecia works with its first merchants. Any paid plan will be announced to connected merchants before it applies, with the option to disconnect first.

= Can I disconnect? =
Yes, one click on the dashboard. The API key is deleted and your store stops being served to assistants. Uninstalling the plugin does the same cleanup. Your account and catalog copy stay deactivated on Lutecia's servers until you ask for their deletion, done within 30 days of the request.

= Where can I get help? =
Write to contact@lutecia.app, or post in the support forum on this page.

== Screenshots ==

1. Connect: the connection screen, before connecting.
2. Sync: the catalog syncing right after connecting.
3. Channels: the live UCP address, and the application steps for each program.
4. Product data: the fields the programs require, and how many products are missing them.
5. Controls: the four switches (live catalog access, orders prepared by AI assistants, daily catalog file, sales attribution).

== Changelog ==

= 0.1.1 =
* Consistent wording across this page, the plugin header and the admin screen: live catalog, channel applications, orders prepared by AI assistants.
* Fixes: UCP address handling hardened, variation changes trigger the catalog notification, the sales attribution report runs from a scheduled event, complete uninstall cleanup.

= 0.1.0 =
* Initial release: one-click connection, UCP address served on your domain, catalog change notifications, guided channel applications (credentials stored encrypted), missing brand and GTIN report, admin dashboard.
