Boleh kami bantu?

Terangkan ringkas perkara ini – kami akan menghubungi Anda melalui e-mel.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.
Ke halaman utama

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

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:

Vilka data assistenten får ta emot

Du aktiverar varje fält separat. Standardvalen täcker de vanliga frågorna:

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:

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":"..."}

Din slutpunkt måste:

  1. verifiera signaturen (jämförelse i konstant tid) och avvisa anrop vars X-RC-Zeit avviker mer än 5 minuter,
  2. bara returnera data för angivet user_id,
  3. kunna nås via https på port 443 på en publik adress, utan omdirigeringar,
  4. 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

Felsökning

Läs mer i dokumentationen

På djupet: Kunddataslutpunkt. Alla kapitel finns i dokumentationen.

Kemas kini terakhir: