=== find-it Connector ===
Contributors: findit
Tags: woocommerce, product feed, comparison shopping, price comparison, feed
Requires at least: 6.2
Tested up to: 6.7
Requires PHP: 7.4
Stable tag: 1.0.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Publish your catalog to find-it. Connects in two clicks, syncs price and stock changes within the minute, and works for every vertical — not just products.

== Description ==

find-it is a comparison site: one page per product, one row per shop, ranked by price. This plugin is how a WordPress shop gets onto it.

**Connecting takes two clicks.** Press *Connect to find-it*, sign in, approve. No API key to copy, no feed URL to paste into a form on another site. The token is exchanged server to server and never passes through your browser.

**It handles all eight verticals.** WooCommerce products work with no configuration at all — price, stock, images, categories, variations, GTIN and brand are read straight from WooCommerce. The other seven — property, vehicles, pets, trips, tickets, jobs and services — are built from any post type with a mapping screen that shows you the custom fields your site actually has, and translates your vocabulary into find-it's (`Bensiin = petrol`).

**Changes reach find-it within the minute.** A price edit, a sale starting, a stock level dropping to zero after an order — all of it is queued and sent in one batch, either as a direct push of the changed items or as a request to re-read the feed. No waiting an hour for the next scheduled pull.

**You can see whether it's working.** The dashboard shows clicks, spend, live offers and account balance, plus a health check that names every reason your items might not be appearing. The Tools screen fetches your own feed over the public internet, exactly the way find-it does — which is the only way to catch a firewall or a security plugin quietly blocking it.

= What it sends =

* **Products** — WooCommerce, including variations as separate items, sale prices, stock, delivery, GTIN/EAN, brand, and condition/grade for refurbished stock.
* **Property, Vehicles, Pets, Trips, Tickets, Jobs, Services** — any post type, mapped field by field, validated against find-it's schema before anything is sent.

= What it does not do =

* It does not send anything until you switch a vertical on.
* It does not report refunds or cancellations — find-it has no reversal endpoint in the 1.0 API, so an order reported is an order reported.
* It does not guess your shipping cost when your rates depend on the cart or the destination. An inaccurate delivery cost costs you the sale after you have already paid for the click.

== Installation ==

1. Upload the plugin and activate it.
2. Go to **find-it → Dashboard** and press *Connect to find-it*.
3. Sign in to find-it, approve this shop, and you will be brought back.
4. Go to **find-it → Feeds**, switch on the verticals you sell in, and press *Save feed*.

The feed URL appears on the Feeds screen as soon as a vertical is switched on. find-it registers it automatically — you never need to copy it anywhere, but it is there if you want it.

== Frequently Asked Questions ==

= Where is my feed URL? =

**find-it → Feeds**, on every switched-on vertical. It looks like `https://yourshop.com/find-it-feed/products.json`. Opening it in a browser returns 401 by default, because the key travels in a header rather than in the address — use the *open with key* link next to it to look at it yourself.

= Is my catalog public? =

Only if you choose that. By default the feed requires a key, which find-it sends as a header on every fetch and which you can rotate at any time under **Tools & log**. Rotating updates find-it automatically.

= Do I need to do anything for a sale? =

No. Change the price in WooCommerce and find-it has it within the minute.

= My products are not showing up on find-it. =

Open **find-it → Dashboard**. The health list names every condition that has to be true, and marks the ones that are not. The most common two are a merchant account that is not yet active, and a feed that was configured but never switched on.

= Does this work without WooCommerce? =

Yes. WooCommerce is only needed for the `products` vertical and for order reporting. Everything else is built from ordinary post types.

= I use a plugin for property / jobs / events. Is it supported? =

There are starting-point mappings for WP Job Manager, The Events Calendar, Houzez, WP Residence, Motors and WP Travel. They fill in the mapping form for you to check — meta keys differ between versions and themes rename them, so treat them as a draft rather than a configuration.

= What about very large catalogs? =

The feed is streamed and paginated: memory use is one batch of 200 items regardless of catalog size, and find-it follows the pagination automatically. If your host still times out, lower *Items per page* in Settings.

= Does it slow down my shop? =

No. Nothing is sent from the request that saves a product — changes go into a queue that a background job drains once a minute. The feed itself is only generated when find-it asks for it, and answers with a 304 when nothing has changed.

== Screenshots ==

1. The dashboard: clicks, spend, live offers, and a health check that names what is wrong.
2. Feeds: one row per vertical, with the exposed URL ready to copy.
3. Mapping a vertical field by field, with your own custom fields suggested.
4. Validating a sample of real items against find-it's own validator before anything is imported.

== Changelog ==

= 1.0.0 =
* First release. Connect handshake with PKCE, all eight verticals, WooCommerce source with variation support, generic post-type mapping, instant sync, CPS order reporting, health dashboard and self-test.
