=== Slimbot Livechat ===
Contributors: slimbot
Tags: livechat, chat, klantenservice, woocommerce, support
Requires at least: 6.0
Tested up to: 7.1
Requires PHP: 7.4
Stable tag: 1.0.1
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Echte livechat met je team op je WordPress-site. Gesprekken komen binnen in de Slimbot-inbox, naast WhatsApp.

== Description ==

Met Slimbot Livechat chatten bezoekers van je site rechtstreeks met jouw medewerkers. Je team beantwoordt de gesprekken in de Slimbot-inbox, op dezelfde plek als WhatsApp: toewijzen, beantwoorden, open of afgehandeld.

* Eén instelling: plak je widget-token en zet de chat aan.
* Kantooruren, afwezigheidsbericht en een contactformulier buiten kantooruren stel je in Slimbot in.
* Ingelogde gebruikers veilig meegeven: naam en e-mailadres (en bij WooCommerce bedrijfsnaam en telefoonnummer). De gegevens worden op je eigen server ondertekend met HMAC-SHA256; het geheim komt nooit in de browser.
* Uitsluiten op pagina's (ID of pad, bijvoorbeeld `/afrekenen/` of `/mijn-account/*`).
* Optioneel alleen tonen aan ingelogde gebruikers.
* Geen iframe, geen extra lettertypen of stylesheets op je site.

= Externe dienst =

Deze plugin laadt het chatscript van Slimbot (`https://slimbot.nl/assets/slimbot-livechat.js`). Dat script verstuurt de chatberichten en, als je dat aanzet, de gegevens van de ingelogde gebruiker naar Slimbot. De plugin zelf doet geen andere externe verzoeken.

* Dienst: Slimbot, https://slimbot.nl/
* Voorwaarden: https://slimbot.nl/algemene-voorwaarden
* Privacy: https://slimbot.nl/privacy

= Voor ontwikkelaars =

Filters:

* `slimbot_livechat_enabled` (bool $enabled, array $instellingen) — chat op deze pagina wel of niet tonen.
* `slimbot_livechat_identify_data` (array $user, WP_User $wp_user) — gegevens van de ingelogde gebruiker aanpassen (`id`, `name`, `email`, `company`, `meta`). De hash wordt over de uiteindelijke `id` berekend. Geef `null` terug om niemand mee te geven.
* `slimbot_livechat_script_url` (string $url) — andere scriptlocatie (bijvoorbeeld een testomgeving).
* `slimbot_livechat_script_attributes` (array $attributen) — attributen van de scripttag.

Action:

* `slimbot_livechat_rendered` (bool $meegegeven) — na het afdrukken van de chatcode.

Voorbeeld: alleen klanten meegeven, met klantnummer.

`add_filter( 'slimbot_livechat_identify_data', function ( $user, $wp_user ) {
    if ( ! in_array( 'customer', (array) $wp_user->roles, true ) ) {
        return null;
    }
    $user['meta']['klantnummer'] = get_user_meta( $wp_user->ID, 'klantnummer', true );
    return $user;
}, 10, 2 );`

== Installation ==

1. Ga in WordPress naar Plugins → Nieuwe plugin → Plugin uploaden en kies `slimbot-livechat.zip`.
2. Activeer de plugin.
3. Ga naar Instellingen → Slimbot Livechat.
4. Plak het widget-token uit Slimbot (Livechat → Embedcode) en vink "Chat tonen" aan.
5. Wil je ingelogde gebruikers meegeven? Plak ook het identity secret uit Slimbot en vink "Ingelogde gebruikers meegeven" aan.

== Frequently Asked Questions ==

= Werkt dit met cachingplugins (WP Rocket, LiteSpeed Cache, WP Super Cache, W3 Total Cache)? =

Ja. Voor anonieme bezoekers bevat de pagina alleen het openbare widget-token; die pagina mag gewoon in de cache. De ondertekende gebruikersgegevens worden alleen toegevoegd voor ingelogde gebruikers. Zulke pagina's worden door cachingplugins normaal niet bewaard, en de plugin markeert ze daarnaast als niet-cachebaar (`DONOTCACHEPAGE` en no-cache-headers). Gebruik je een cache die óók pagina's van ingelogde gebruikers bewaart (bijvoorbeeld een aparte cache per gebruiker, of een CDN met "cache everything"), zet dan "Ingelogde gebruikers meegeven" uit of sluit ingelogde gebruikers uit van die cache.

Combineert of stelt je optimalisatieplugin JavaScript uit? Het chatscript draagt `data-no-optimize` en `data-cfasync="false"`; sluit `slimbot-livechat.js` zo nodig handmatig uit.

= Wordt het identity secret ergens getoond? =

Nee. Na opslaan zie je alleen "gezet". Het staat in de WordPress-database en wordt uitsluitend op de server gebruikt om de hash te berekenen.

= Welke gegevens worden meegegeven? =

Alleen als je "Ingelogde gebruikers meegeven" aanzet: een id (`wp-<gebruikers-ID>`), de weergavenaam en het e-mailadres. Is WooCommerce actief, dan ook het bedrijf en telefoonnummer uit het factuuradres, als die zijn ingevuld.

= Wat gebeurt er na uitloggen? =

Bij uitloggen zet de plugin een klein cookie (`slimbot_lc_reset`, zonder persoonsgegevens). Op de eerstvolgende pagina met de chat wist de browser het opgeslagen gesprek van dit apparaat en begint de chat opnieuw; daarna wordt het cookie verwijderd. Dit gebeurt in de browser, dus het werkt ook als pagina's uit een cache komen. Het gesprek zelf blijft voor je team gewoon in de Slimbot-inbox staan.

= Wat gebeurt er bij verwijderen? =

Bij het verwijderen van de plugin (niet bij deactiveren) worden alle instellingen uit de database gewist.

== Changelog ==

= 1.0.1 =
* Privacy: na uitloggen begint de chat een nieuw gesprek. Wie daarna op dezelfde computer de site opent, ziet het gesprek van de vorige (ingelogde) gebruiker niet meer. Werkt ook met paginacache.

= 1.0.0 =
* Eerste versie: chatscript in de footer, instellingenpagina, ondertekend meegeven van ingelogde gebruikers (met WooCommerce-gegevens), uitsluiten op pagina's, alleen voor ingelogde gebruikers.

== Upgrade Notice ==

= 1.0.1 =
Privacyverbetering: na uitloggen wordt het chatgesprek op dat apparaat afgesloten. Aanbevolen update.

= 1.0.0 =
Eerste versie.
