Angemeldete Kunden identifizieren (user_token)
Dein Server bestätigt die Kundenidentität per Signatur, damit die AI Bestellungen prüfen und für Kunden aufgeben kann.
Bevor AI Bestellungen nachschlagen kann, muss sie wissen, wer der Kunde ist. Die Identität des Kunden wird durch eine Signatur deines Servers bestätigt; der Browser kann sie nicht fälschen.
Signaturschlüssel findest du im Admin-Bereich auf der Seite „Integration“ (nur der Inhaber kann ihn sehen), im Format whsec_.... Er wird in beide Richtungen verwendet: Du signierst damit user_token; wir signieren damit die Webhooks und Bestellabfragen, die wir an dich senden.
Das Format von user_token: base64url(JSON) + "." + hex(HMAC-SHA256(签名密钥, base64url(JSON)))
JSON-Felder:
| Feld | Erforderlich | Beschreibung |
|---|---|---|
user_id | Ja | Kunden-ID in deinem System; wird bei der Bestellabfrage unverändert an dich zurückgegeben |
exp | Ja | Ablaufzeit (Unix-Sekunden), maximal 7 Tage |
name / email | Nein | Wird im Agenten-Arbeitsbereich angezeigt |
Node.js-Beispiel:
import crypto from "node:crypto"
function signUserToken(user, secret) {
const payload = { user_id: user.id, name: user.name, email: user.email, exp: Math.floor(Date.now() / 1000) + 3600 }
const body = Buffer.from(JSON.stringify(payload)).toString("base64url")
const mac = crypto.createHmac("sha256", secret).update(body).digest("hex")
return `${body}.${mac}`
}
Auf der Seite:
<script>window.AICS_USER_TOKEN = "服务器签发的 user_token"</script>
<!-- 页面加载后才登录的,调用 AICS.identify(token) -->
Alternativ kannst du es weglassen und stattdessen am Script-Tag data-user-token-url="/你的地址" hinzufügen: Bevor das Support-Widget einen Chat beginnt, ruft es mit dem Cookie des Kunden diese Same-Origin-Adresse auf und erhält {"token": "user_token"} zurück (wenn nicht angemeldet, wird {"token": null} zurückgegeben). Nachdem ein Shopify-Shop die Yinke-App installiert hat, ruft das Chat-Fenster die Identität angemeldeter Kunden automatisch auf diese Weise ab; eine zusätzliche Integration ist nicht erforderlich.
War diese Seite hilfreich?
Zuletzt aktualisiert:
