在聊天初始化时传递联系人属性 - Amazon Connect

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

在聊天初始化时传递联系人属性

您可以使用联系人属性获取正在使用通信小部件的联系人的相关信息。然后,您可以通过联系人控制面板 (CCP) 向座席显示该信息,或者在流中的其他地方使用这些信息。

例如,您可以自定义流,在欢迎消息中写上客户的名称。或者,您也可以使用业务特定的属性,例如账户/会员 ID、客户标识符(如姓名和电子邮件)或与联系人相关的其他元数据。

如何将联系人属性传递到通信小部件

  1. 为您的网站添加聊天用户界面所述,在通信小部件中启用安全保护(如果尚未启用):

    1. 在第 2 步中,在为聊天小部件添加安全保护下,选择

    2. 在第 3 步中,使用安全密钥生成 JSON Web 令牌。

  2. 将联系人属性作为 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 中编码,未加密,因此可以解码并读取属性。

  • 如果您想使用模拟聊天体验来测试聊天体验并包含联系人属性,请务必用引号将键和值都括起来,如下图所示。

    
                            “测试设置”页面,引号中的联系人属性键,引号中的值。