Ga naar inhoud

Inloggen via de winkel

Een klant die op je webshop is ingelogd, hoeft zich in de chat niet nog eens te bevestigen. Je backend geeft Helder een kort, ondertekend klanttoken. Helder ziet de klant dan als bevestigd voor zijn eigen e-mailadres: de assistent mag bestellingen van dat adres opzoeken en, als je winkel dat toestaat, acties zoals een retour starten.

Op Shopify werkt dit vanzelf via de app van Helder. Deze uitleg is voor een eigen (headless) frontend.

Ga in Helder naar Chat, AI, Tools, kopje Klant bevestigen, en kies Geheim maken. Je ziet het geheim één keer. Zet het in de omgeving van je backend, nooit in de frontend. Een nieuw geheim maakt alle oude tokens ongeldig.

Maak het token alleen voor een klant die bij jou is ingelogd. Het token bevat:

Veld Verplicht Uitleg
email ja Het e-mailadres van het klantaccount
exp ja Verloopt op, in seconden sinds 1970. Hooguit 10 minuten vooruit
sub nee Je eigen klant-id

Twee vormen werken. Een JWT met HS256:

import jwt from "jsonwebtoken";
const token = jwt.sign(
{ email: klant.email, sub: String(klant.id) },
process.env.HELDER_KLANT_GEHEIM,
{ algorithm: "HS256", expiresIn: "5m" },
);

Of zonder bibliotheek, met HMAC-SHA256:

import { createHmac } from "node:crypto";
const payload = Buffer.from(
JSON.stringify({ email: klant.email, exp: Math.floor(Date.now() / 1000) + 300 }),
).toString("base64url");
const handtekening = createHmac("sha256", process.env.HELDER_KLANT_GEHEIM)
.update(payload)
.digest("base64url");
const token = `${payload}.${handtekening}`;

Helder accepteert alleen HS256. Een verlopen of verkeerd ondertekend token telt als niet ingelogd; je krijgt daar geen foutmelding over.

Na het laden van de widget:

window.Helder.identify(token);

Weet je het token al voordat het script laadt, zet het dan in de config:

<script>
window.HelderWidget = { klantToken: "…" };
</script>

Het token blijft alleen in het geheugen van de pagina en gaat rechtstreeks naar Helder, niet naar de AI. Geef een nieuw token mee als de klant lang op de pagina blijft: Helder controleert het bij elke nieuwe verbinding.

Na uitloggen bij jou: laad de pagina opnieuw zonder token. Een bevestiging in een lopend gesprek blijft gelden tot het gesprek sluit, en hooguit 24 uur.