Kunddata i chatten (beställningar, leverans, fakturor)
Låt AI-assistenten svara på inloggade kunders frågor om deras egna beställningar – säkert via en signerad identitet, med exakt definierade fält, hämtade från butiken eller importerade.
Med kunddata svarar AI-assistenten på frågor som ”Var är mitt paket?”, ”Är min faktura betald?” eller ”Vad fanns i min senaste beställning?” – för inloggade kunder och bara om deras egna data. Funktionen finns på betalda planer.
Så skyddas uppgifterna
- Webbläsaren bevisar ingenting. Inget order- eller fakturanummer, ingen e-postadress och inget som visas på sidan eller skrivs i chatten ger åtkomst. Vem som får se vilka data avgörs enbart av en identitet som din server har signerat.
- Ett nummer är bara ett filter. Om kunden anger ett ordernummer söks det bara bland kundens egna beställningar. Någon annans nummer ger ingen träff.
- Du bestämmer varje fält. Assistenten får bara fälten du aktiverar. Allt annat förkastas vid ankomst – även om butiken skickar det.
- Ingen datalagring hos oss (hämtning). Vid hämtning frågar reactive.chat butiken för varje fråga och lagrar inte svaret. Vid import lagras data krypterat hos oss och raderas senast efter 90 dagar.
- Bara egna maskiner. Data går bara till våra egna AI-servrar (eller din egen AI-nod), aldrig till en AI-tjänst från tredje part.
Förutsättning: identitetsverifiering
Assistenten använder kunddata bara för besökare vars identitet servern har bekräftat. Skapa en hemlighet under Projekt → Identitetsverifiering i kontot. Den stannar på servern och hör aldrig hemma i webbläsaren eller inbäddningskoden.
För varje inloggad kund beräknar servern en hash med utgångstid (högst 24 timmar framåt) och skickar den till widgeten:
$userId = (string) $customer->id;
$exp = time() + 3600;
$hash = hash_hmac('sha256', $userId . '.' . $exp, getenv('RC_IDENT_SECRET'));
echo "<script>ReactiveChat('identify', { userId: " . json_encode($userId)
. ", userHash: " . json_encode($hash) . ", exp: " . $exp . " });</script>";
const crypto = require('crypto');
const exp = Math.floor(Date.now() / 1000) + 3600;
const hash = crypto.createHmac('sha256', process.env.RC_IDENT_SECRET)
.update(String(user.id) + '.' + exp).digest('hex');
// in the template: ReactiveChat('identify', { userId: '<id>', userHash: '<hash>', exp: <exp> });
En hash utan exp bekräftar fortfarande besökaren (till exempel för konversationshistoriken) men räcker inte för kunddata. När du förnyar hemligheten förblir den gamla giltig i 24 timmar.
Signera även e-postadressen (för tidsbokning och e-postbaserade integrationer). En email bredvid hashen räknas som bekräftad bara om den ingår i signaturen: userHash = HMAC-SHA256(secret, userId + "." + exp + "." + email) – adressen exakt som du skickar den till identify. Utan detta förblir besökaren inloggad men assistenten bokar ingen tid för adressen och integrationer slår inte upp den. Den befintliga formen userId + "." + exp fortsätter fungera oförändrat.
Hämtning, import eller båda
Under Projekt → Kunddata väljer du var assistenten hämtar data:
- Hämta från din butik – reactive.chat anropar slutpunkten för varje matchande fråga. Data stannar hos dig. Rekommenderas.
- Import via API – butiken skickar kundens beställningar till reactive.chat. Användbart om butiken inte kan erbjuda en slutpunkt.
- Båda – importerade data först; om inget hittas där görs hämtningen.
Vilka data assistenten får ta emot
Du aktiverar varje fält separat. Standardvalen täcker de vanliga frågorna:
bestellung.nummer– ordernummer. Standard: alltid på. Används för: obligatoriskt – ingen beställning utan nummerbestellung.datum– orderdatum (YYYY-MM-DD). Standard: på. Används för: ”När beställde jag?”bestellung.status– orderstatus som text. Standard: på. Används för: ”Har beställningen skickats?”bestellung.summe– totalbelopp. Standard: på. Används för: ”Hur mycket betalade jag?”bestellung.waehrung– valuta (ISO, t.ex. EUR). Standard: på. Används för: bara tillsammans med totalbeloppetpositionen.name– artikelnamn. Standard: på. Används för: ”Vad fanns i beställningen?”positionen.menge– antal per artikel. Standard: på. Används för: ”Hur många beställde jag?”versand.dienst– transportör. Standard: på. Används för: ”Vem levererar paketet?”versand.sendungsnummer– spårningsnummer. Standard: på. Används för: ”Var är mitt paket?”versand.status– leveransstatus som text. Standard: på. Används för: ”Är det på väg?”versand.ort– ort i leveransadressen. Standard: av. Används för: ”Vart går mitt paket?”versand.plz– postnummer i leveransadressen. Standard: av. Används för: som ovanrechnung.nummer– fakturanummer. Standard: på. Används för: ”Vilken faktura hör till?”rechnung.status– betalningsstatus som text. Standard: på. Används för: ”Är min faktura betald?”rechnung.faellig_am– förfallodatum. Standard: på. Används för: ”När måste jag betala?”
Ett avstängt fält når aldrig assistenten: vid hämtning förkastas det, vid import lagras det inte alls. Ort och postnummer är avsiktligt möjliga bara när du uttryckligen aktiverar dem – gata och namn hålls alltid utanför.
Vad som aldrig skickas vidare
Dessa kan inte aktiveras. Om butiken skickar dem förkastas de:
- gata, husnummer och ytterligare adressrader
- mottagarens eller kundens namn
- e-postadress och telefonnummer
- IBAN, BIC, kontonummer och kortdata
- födelsedatum
- lösenord, token och åtkomstnycklar
- skatte- och ID-nummer
Gränser
Högst 10 beställningar per svar, högst 20 artiklar per beställning, texter högst 200 tecken, hela svaret högst 16 kB. Okända fält förkastas utan fel.
Hämtningsslutpunkten
reactive.chat anropar slutpunkten med POST:
POST https://shop.your-domain.com/rc-customer-data
Content-Type: application/json
X-RC-Zeit: 1791196400
X-RC-Signatur: <hex(HMAC_SHA256(endpoint secret, X-RC-Zeit + "." + body))>
{"user_id":"4711","anliegen":"bestellung","referenz":"2026-0815","sprache":"en","nonce":"..."}
user_idär det bekräftade kund-ID:t från identitetsverifieringen – aldrig något hämtat från chatten.anliegenärbestellung(beställning),lieferung(leverans),rechnung(faktura),retoure(retur) ellertestför testknappen.referenzär ett nummer kunden nämnt, eller tomt. Sök bara bland beställningarna för dettauser_id.
Din slutpunkt måste:
- verifiera signaturen (jämförelse i konstant tid) och avvisa anrop vars
X-RC-Zeitavviker mer än 5 minuter, - bara returnera data för angivet
user_id, - kunna nås via
httpspå port 443 på en publik adress, utan omdirigeringar, - svara inom 3 sekunder.
Svar:
{
"bestellungen": [
{
"nummer": "2026-0815", "datum": "2026-09-28", "status": "shipped",
"summe": "49.90", "waehrung": "EUR",
"positionen": [ { "name": "Balance bike blue", "menge": 1 } ],
"versand": { "dienst": "DHL", "sendungsnummer": "00340434...", "status": "out for delivery" },
"rechnung": { "nummer": "R-2026-1201", "status": "paid", "faellig_am": "2026-10-12" }
}
]
}
Ett fullständigt PHP-exempel finns i utvecklardokumentationen (kundendaten-referenz-endpunkt.php).
Med Testa anslutning anropar reactive.chat slutpunkten med user_id rc-test och anropstypen test och visar resultatet. Returnera en tom lista eller en exempelbeställning för detta.
Import via API
Med en API-nyckel som har behörigheten kundendaten:schreiben:
PUT https://reactive.chat/v1/kundendaten/4711?project_id=123
Authorization: Bearer <API key>
Content-Type: application/json
{"bestellungen":[ ... as above ... ]}
project_id är projektnumret; om arbetsytan bara har ett projekt kan du utelämna det. Ett PUT ersätter alla beställningar för kund-ID:t (högst 50). DELETE /v1/kundendaten/4711?project_id=123 tar bort dem. Importerade data lagras krypterat hos oss och raderas 90 dagar efter den senaste importen – skicka därför ändringar löpande, till exempel vid varje statusändring.
Besökare som inte är inloggade
Om någon utan bekräftad identitet frågar om en beställning hämtar assistenten inget. I stället visar den information som du anger under Projekt → Kunddata: en text per språk och eventuellt en inloggningslänk. Alternativt lämnar den frågan till teamet.
Vad som lagras
- Hämtning: butikens svar används bara för assistentens enda svar och lagras inte – varken i konversationen eller i kunskapsbasen.
- Import: krypterat, högst 90 dagar, raderas tillsammans med projektet.
- Assistentens svar visas i konversationshistoriken som vilket meddelande som helst. Teamet ser det i översiktspanelen.
Felsökning
- Assistenten ber kunden logga in trots att kunden är inloggad: om
expsaknas, har gått ut eller hashen inte stämmer räknas besökaren inte som bekräftad. Kontrollera hemligheten, ordningenuserId + "." + expoch serverns klocka. - Testknappen rapporterar ”adressen är inte tillåten”: slutpunkten måste kunna nås via
httpspå en publik adress; interna adresser och andra portar avvisas. - Din sida rapporterar signaturfel: den signerade strängen är
X-RC-Zeit + "." + bodymed slutpunktens hemlighet – exakt kroppen som den togs emot, inte omkodad. - Ett fält saknas i assistentens svar: är det aktiverat under ”Vilka data assistenten får ta emot”?
Läs mer i dokumentationen
På djupet: Kunddataslutpunkt. Alla kapitel finns i dokumentationen.
Aġġornat l-aħħar: