Kaip galime padėti?

Trumpai papasakokite, apie ką klausiate - atsakysime el. paštu.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.
Į pradžios puslapį

Kundendaten im Chat (Bestellungen, Versand, Rechnungen)

Den KI-Assistenten Fragen angemeldeter Kunden zu ihren eigenen Bestellungen beantworten lassen – sicher über eine signierte Identität, mit genau festgelegten Feldern, per Abruf bei Ihrem Shop oder per Import.

Mit den Kundendaten beantwortet der KI-Assistent Fragen wie „Wo ist mein Paket?“, „Ist meine Rechnung schon bezahlt?“ oder „Was war in meiner letzten Bestellung?“ – für angemeldete Kunden und nur zu ihren eigenen Daten. Die Funktion steht in den bezahlten Tarifen zur Verfügung.

Wie die Daten geschützt sind

Voraussetzung: Identitätsprüfung

Der Assistent nutzt Kundendaten nur für Besucher, deren Identität Ihr Server bestätigt hat. Richten Sie dazu im Konto unter Projekt → Identitätsprüfung ein Geheimnis ein. Es bleibt auf Ihrem Server und gehört nie in den Browser oder in das Snippet.

Ihr Server berechnet für jeden angemeldeten Kunden einen Hash mit Ablaufzeit (höchstens 24 Stunden in der Zukunft) und gibt ihn an das Widget:

$userId = (string) $kunde->id;
$exp    = time() + 3600;
$hash   = hash_hmac('sha256', $userId . '.' . $exp, getenv('RC_IDENT_GEHEIMNIS'));
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_GEHEIMNIS)
                   .update(String(user.id) + '.' + exp).digest('hex');
// im Template: ReactiveChat('identify', { userId: '<id>', userHash: '<hash>', exp: <exp> });

Ein Hash ohne exp bestätigt den Besucher weiterhin (etwa für den Gesprächsverlauf), reicht aber nicht für Kundendaten. Beim Erneuern des Geheimnisses bleibt das alte noch 24 Stunden gültig.

E-Mail mitsignieren (für Terminbuchung und E-Mail-basierte Integrationen). Eine email neben dem Hash gilt nur dann als bestätigt, wenn sie in der Unterschrift steckt: userHash = HMAC-SHA256(Geheimnis, userId + "." + exp + "." + email) – die Adresse genau so, wie Sie sie an identify übergeben. Ohne das bleibt der Besucher angemeldet, aber der Assistent bucht keinen Termin an diese Adresse, und Integrationen schlagen nicht nach ihr nach. Die bisherige Form userId + "." + exp gilt unverändert weiter.

Abruf, Import oder beides

Unter Projekt → Kundendaten wählen Sie, woher der Assistent die Daten bekommt:

Welche Daten der Assistent bekommen darf

Jedes Feld schalten Sie einzeln frei. Die Vorgaben decken die üblichen Fragen ab:

Ein abgeschaltetes Feld erreicht den Assistenten nie: beim Abruf wird es verworfen, beim Import gar nicht erst gespeichert. Ort und Postleitzahl sind bewusst nur auf ausdrückliche Freigabe möglich – Straße und Name bleiben immer draußen.

Was nie übergeben wird

Diese Angaben lassen sich nicht freischalten. Schickt Ihr Shop sie mit, werden sie verworfen:

Grenzen

Höchstens 10 Bestellungen je Antwort, höchstens 20 Positionen je Bestellung, Texte höchstens 200 Zeichen, die ganze Antwort höchstens 16 kB. Unbekannte Felder werden ohne Fehlermeldung verworfen.

Der Abruf-Endpunkt

reactive.chat ruft Ihren Endpunkt mit POST auf:

POST https://shop.ihre-domain.de/rc-kundendaten
Content-Type: application/json
X-RC-Zeit: 1791196400
X-RC-Signatur: <hex(HMAC_SHA256(Endpunkt-Geheimnis, X-RC-Zeit + "." + Body))>

{"user_id":"4711","anliegen":"bestellung","referenz":"2026-0815","sprache":"de","nonce":"..."}

Ihr Endpunkt muss:

  1. die Signatur prüfen (zeitkonstanter Vergleich) und Anfragen ablehnen, deren X-RC-Zeit mehr als 5 Minuten abweicht,
  2. nur Daten der übergebenen user_id liefern,
  3. über https auf Port 443 und unter einer öffentlichen Adresse erreichbar sein, ohne Weiterleitung,
  4. innerhalb von 3 Sekunden antworten.

Antwort:

{
  "bestellungen": [
    {
      "nummer": "2026-0815", "datum": "2026-09-28", "status": "versandt",
      "summe": "49.90", "waehrung": "EUR",
      "positionen": [ { "name": "Laufrad blau", "menge": 1 } ],
      "versand": { "dienst": "DHL", "sendungsnummer": "00340434...", "status": "in Zustellung" },
      "rechnung": { "nummer": "R-2026-1201", "status": "bezahlt", "faellig_am": "2026-10-12" }
    }
  ]
}

Ein vollständiges Beispiel in PHP finden Sie in der Entwicklerdokumentation (kundendaten-referenz-endpunkt.php).

Mit Verbindung testen ruft reactive.chat Ihren Endpunkt mit der user_id rc-test und dem Anliegen test auf und zeigt das Ergebnis an. Liefern Sie dafür eine leere Liste oder eine Beispielbestellung.

Import per API

Mit einem API-Schlüssel mit dem Recht kundendaten:schreiben:

PUT https://reactive.chat/v1/kundendaten/4711?project_id=123
Authorization: Bearer <API-Schlüssel>
Content-Type: application/json

{"bestellungen":[ ... wie oben ... ]}

project_id ist die Nummer Ihres Projekts; hat Ihr Workspace nur ein Projekt, können Sie sie weglassen. Ein PUT ersetzt alle Bestellungen dieser Kundennummer (höchstens 50). DELETE /v1/kundendaten/4711?project_id=123 entfernt sie. Importierte Daten liegen verschlüsselt bei uns und werden 90 Tage nach dem letzten Import gelöscht – schicken Sie Änderungen also laufend, etwa bei jedem Statuswechsel.

Nicht angemeldete Besucher

Fragt jemand ohne bestätigte Identität nach einer Bestellung, ruft der Assistent nichts ab. Stattdessen zeigt er einen Hinweis, den Sie unter Projekt → Kundendaten einstellen: Text je Sprache und optional einen Link zur Anmeldung. Alternativ übergibt er die Frage an Ihr Team.

Was gespeichert wird

Fehlerbehebung

Weiterlesen in der Dokumentation

Ausführlich: Kundendaten-Endpunkt. Alle Kapitel finden Sie in der Dokumentation.

Paskutinį kartą atnaujinta: