ログイン顧客の識別(user_token)

サーバー側の署名で顧客の身元を証明すると、AIが注文の照会や注文手続きのサポートができるようになります。

AI が注文を照会するには、まず顧客が誰であるかを知る必要があります。顧客の身元はあなたのサーバーによる署名で証明され、ブラウザ側で偽造することはできません。

署名キーは管理画面の「接続」ページで確認できます(オーナーのみ閲覧可能)。形式は whsec_... です。このキーは双方向で使います。あなたは user_token の署名に、私たちはあなたへ送信する Webhook と注文照会リクエストの署名に使用します。

user_token の形式:base64url(JSON) + "." + hex(HMAC-SHA256(签名密钥, base64url(JSON)))

JSON フィールド:

フィールド必須説明
user_idはいあなたのシステムにおける顧客 ID。注文照会時にそのまま返却されます
expはい有効期限(Unix 秒)。最長 7 日
name / emailいいえオペレーターのワークスペースに表示されます

Node.js の例:

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}`
}

ページ内で:

<script>window.AICS_USER_TOKEN = "服务器签发的 user_token"</script>
<!-- 页面加载后才登录的,调用 AICS.identify(token) -->

ページに直接書き込まず、script に data-user-token-url="/你的地址" を追加する方法もあります。サポートチャットウィンドウが会話を開始する前に、顧客の cookie を使ってこの同一オリジンのアドレスへリクエストし、{"token": "user_token"} が返ります(未ログインの場合は {"token": null})。Shopify ストアに Yinke アプリをインストールすると、チャットウィンドウはログイン中の顧客の身元をこの方法で自動的に取得するため、別途連携する必要はありません。

このページは役に立ちましたか?

最終更新: