本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
聊天初始化时传递联系人属性
您可以使用联系人属性来捕获有关正在使用聊天构件的联系人的信息。然后,您可以通过联系人控制面板 (CCP) 向代理显示该信息,也可以在流程中的其他地方使用该信息。
例如,您可以自定义流程,在欢迎消息中说出客户的姓名。或者,您可以使用特定于您的业务的属性,例如账户/会员 ID、客户标识符(例如姓名和电子邮件),或者与联系人相关的其他元数据。
如何将联系人属性传递到聊天控件
-
如果您尚未启用聊天控件中的安全功能向您的网站添加聊天用户界面,请按中的说明启用:
-
在步骤 2 中,在 “为聊天控件添加安全性” 下,选择 “是”。
-
在步骤 3 中,使用安全密钥生成 JSON 网络令牌。
-
-
将联系人属性作为
attributes
声明添加到 JWT 的有效载荷中。以下是如何在 Python 中生成具有联系人属性的 JWT 的示例:
import jwt CONNECT_SECRET = "
your-securely-stored-jwt-secret
" payload = { 'sub': 'widget-id
', 'iat': datetime.datetime.utcnow(), 'exp': datetime.datetime.utcnow() + datetime.timedelta(seconds=500), 'attributes': {"name": "Jane", "memberID": "123456789", "email": "Jane@example.com", "isPremiumUser": "true", "age": "45"} } header = { 'typ': "JWT", 'alg': 'HS256' } encoded_token = jwt.encode((payload), CONNECT_SECRET, algorithm="HS256", headers=header) });在有效负载中,必须创建一个以对象作为其值的字符串键
attributes
(按原样,全部为小写)。该对象必须具有string-to-string键值对。如果在任何一个属性中传递了除字符串之外的任何其他内容,则聊天将无法启动。联系人属性必须遵守 StartChatConnectAPI 设置的限制:
-
密钥的最小长度必须为 1
-
值的最小长度可以为 0
-
您需要了解的内容
-
聊天控件对整个编码令牌的限制为 6144 字节。由于JavaScript使用 UTF-16 编码,因此每个字符使用 2 字节,因此的最大大小
encoded_token
应约为 3000 个字符。 -
应将 encoded_token 传递给
callback(data)
。该authenticate
代码片段不需要任何其他更改。例如:amazon_connect('authenticate', function(callback) { window.fetch('/token').then(res => { res.json().then(data => { callback(data.data); }); }); });
-
使用 JWT 传递联系人属性可确保数据的完整性。如果您保护共享机密并遵循适当的安全措施,则可以帮助确保数据不会被不良行为者操纵。
-
联系人属性仅在 JWT 中编码,未加密,因此可以解码和读取这些属性。不应在令牌中传递敏感数据。
-
如果您想使用模拟聊天体验测试聊天体验并包括联系人属性,请务必将密钥和值都加上引号,如下图所示。