=== Peptidewinkel Companion ===
Requires at least: 6.0
Requires PHP: 8.0
Tested up to: 6.7
Stable tag: 2.1.0
License: GPL-2.0-or-later

Beheert alles wat de headless storefront uit WordPress nodig heeft: configuratie,
het loyalty-programma en het contactformulier.

== Wat het doet ==

* Peptidewijzer: vragen, antwoordopties (NL/EN) en de mapping van antwoorden naar
  WooCommerce-producten of -tags, allemaal bewerkbaar in WP-admin.
* Loyalty: spaarfactor, waarde per punt, minimum voor inwisselen, vervaldatum,
  bonuspunten en de tiers met hun drempels en multiplier.
* Logboek: gekozen antwoorden en doorkliks, om de wijzer bij te sturen.
* Contactformulier: ondertekende inzendingen van de site komen binnen als
  WPForms-entry (Pro) en worden gemaild naar het opgegeven adres. Elke inzending
  wordt ook in de plugin bewaard, met een eigen overzicht: filteren op status
  (nieuw, gelezen, afgehandeld, spam), de melding opnieuw sturen en verwijderen.
  Werkt dus ook met WPForms Lite.
* SliceWP-koppeling: affiliate-bezoeken vanaf de site worden in SliceWP gezet, bij
  een betaalde bestelling maakt de plugin de commissie aan (tarief uit SliceWP) en
  bij annulering of terugbetaling wordt een niet-uitbetaalde commissie afgewezen.
  Zelfverwijzing wordt genegeerd en het affiliate-dashboard krijgt de eigen slug,
  tarieven en cookieduur via de plugin. Alles met schakelaars in WP-admin.

De storefront leest deze endpoints (openbaar, alleen-lezen):

* `GET /wp-json/pw/v1/config/peptidewijzer`
* `GET /wp-json/pw/v1/config/loyalty`
* `POST /wp-json/pw/v1/quiz/events` (loggen, max. 1 per seconde per IP)

En deze schrijfroute, die een geldige ondertekening vereist:

* `POST /wp-json/peptidewinkel/v1/contact` (contactformulier; HMAC-SHA256 over
  `tijdstempel.body` met de sleutel van het tabblad Koppeling)
* `POST /wp-json/peptidewinkel/v1/affiliate-visit` (affiliate-bezoek registreren)
* `POST /wp-json/peptidewinkel/v1/affiliate-info` (slug, tarieven en cookieduur voor
  het affiliate-dashboard)

Vraagt de frontend niets op of is de plugin niet actief, dan valt de storefront
terug op de ingebouwde configuratie; er breekt dus niets.

== Installatie ==

1. Kopieer de map `pw-companion` naar `/wp-content/plugins/`.
2. Activeer de plugin in WordPress.
3. Beheer de configuratie onder **Peptidewinkel** in het admin-menu.
4. Kopieer de sleutel van **Peptidewinkel → Contactformulier → Koppeling** naar het
   beheerpaneel (Instellingen → WordPress → Contactformulier secret) en draai daar
   `php artisan settings export --env-file=.dev.vars`.
5. Verwijder een eventueel Code Snippets-snippet dat dezelfde contactroute
   registreerde; de plugin neemt dat over.
6. Had u de losse plugin "Peptidewinkel – SliceWP bridge" actief? Verwijder die ook;
   de affiliate-koppeling zit nu in deze plugin.

== Changelog ==

= 2.1.0 =
* SliceWP-koppeling toegevoegd: affiliate-bezoeken, commissies op betaalde
  bestellingen, afwijzen bij annulering, zelfverwijzingscontrole, en de
  affiliate-info voor het dashboard. Met eigen instellingen, sleutel en status.
* Eén gedeelde ondertekeningscontrole voor alle ondertekende routes.
* Na een update worden tabellen en sleutels automatisch bijgewerkt.

= 2.0.0 =
* Contactformulier toegevoegd: ondertekende inzendingen naar WPForms, een eigen
  inzendingenoverzicht, instellingen en de koppeling met het beheerpaneel.
* De plugin is nu één pakket voor configuratie, loyalty en contact.

= 1.0.0 =
* Peptidewijzer, loyalty-configuratie en het wijzer-logboek.
