Giriş yapan müşteriyi tanımla (user_token)

Müşteri kimliğini sunucunuzda imzalayarak kanıtlayın; AI siparişleri sorgulayıp müşteri adına sipariş verebilsin.

AI'ın siparişleri sorgulamadan önce müşterinin kim olduğunu bilmesi gerekir. Müşteri kimliği, sunucunuz tarafından imzalanarak kanıtlanır; tarayıcı bunu taklit edemez.

İmza anahtarı, yönetim panelindeki "Entegrasyon" sayfasında görüntülenir (yalnızca sahibi görebilir); biçimi whsec_... şeklindedir. Çift yönlü kullanılır: siz bununla user_token imzalarsınız; biz de size gönderdiğimiz webhook'ları ve sipariş sorgulama isteklerini bununla imzalarız.

user_token biçimi: base64url(JSON) + "." + hex(HMAC-SHA256(签名密钥, base64url(JSON)))

JSON alanları:

AlanZorunluAçıklama
user_idEvetSisteminizdeki müşteri ID'si; sipariş sorgulanırken size olduğu gibi geri iletilir
expEvetSon kullanma zamanı (Unix saniyesi), en fazla 7 gün
name / emailHayırTemsilci çalışma alanında görüntülenir

Node.js örneği:

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

Sayfada:

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

İsterseniz sayfaya yazmak yerine script etiketine data-user-token-url="/你的地址" ekleyebilirsiniz: müşteri hizmetleri penceresi görüşmeyi açmadan önce müşterinin cookie'siyle bu aynı kaynaklı adrese istek gönderir; yanıt {"token": "user_token"} olur (oturum açılmamışsa {"token": null} döner). Shopify mağazanıza Yinke uygulamasını kurduysanız, sohbet penceresi oturum açmış müşterinin kimliğini otomatik olarak bu şekilde alır; ayrıca entegrasyon yapmanız gerekmez.

Bu sayfa yardımcı oldu mu?

Son güncelleme: