本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
在 Amazon Connect 中为应用内通话、网络通话和视频通话提供个性化客户体验
本主题中的步骤是可选的,但建议使用。它们使您能够根据客户之前在应用中执行的操作来个性化他们的体验。此选项可在发起新通话时为您提供更多控制选项,包括将上下文信息作为属性传递。
完成这些步骤后,你需要与网站管理员合作设置 Web 服务器,以便为新呼叫发放 JSON Web Token (JWTs)
-
如果您已经创建了通信小部件,请在通信小部件页面上,选择要编辑的小部件。
-
在域和安全性部分中选择编辑。
-
在为您的通信小部件请求添加安全性下,选择是。
-
选择 保存并继续。Amazon Connect 会创建该小部件以及以下内容:
-
Amazon Connect 在下一页提供了 44 个字符的安全密钥,你可以用它来创建。JWTs
-
Amazon Connect 在通信小部件嵌入脚本中添加了一个回调函数,用于检查呼叫JWT何时启动。
您必须在嵌入式代码段中设置回调函数,如以下示例所示。
amazon_connect('authenticate', function(callback) { window.fetch('/token').then(res => { res.json().then(data => { callback(data.data); }); }); });
在下一步中,您将获得一个安全密钥,用于在您的网站上发起的所有通话。请您的网站管理员将您的 Web 服务器设置为JWTs使用此安全密钥发布。
-
-
选择 保存并继续。
-
复制自定义HTML代码片段并将其插入网站的源代码中。
替代方法:直接从代码片段中传递联系人属性
注意
尽管这些属性的作用域使用HostedWidget-
前缀,但它们仍然是可变的客户端站点。如果您需要联系流程中的不可PII变数据,请使用该JWT设置。
以下示例说明如何在不启用控件安全性的情况下直接从代码片段传递联系人属性。
<script type="text/javascript"> (function(w, d, x, id){ /* ... */ })(window, document, 'amazon_connect', '
widgetId
'); amazon_connect('snippetId', 'snippetId
'); amazon_connect('styles', /* ... */); // ... amazon_connect('contactAttributes', {foo
: 'bar
' }) <script/>
在联系流中使用这些属性
检查联系人属性流程块通过用户定义的命名空间提供对这些属性的访问,如下图所示。你可以使用 flow 模块来添加分支逻辑。完整路径是$Attribute.HostedWidget-
。attributeName
复制通信小部件代码和安全密钥
在此步骤中,您要确认选择并复制通信小部件的代码,并将其嵌入到您的网站中。您也可以复制用于创建的密钥JWTs。
安全密钥
使用此 44 个字符的安全密钥从您的 JSON Web 服务器生成 Web 令牌。如果需要更改,您也可以更新或轮换密钥。当您执行此操作时,Amazon Connect 会为您提供一个新密钥,同时保留以前的密钥,直到您替换它。部署新密钥后,您可以返回 Amazon Connect 并删除之前的密钥。
当您的客户与您网站上的开始通话图标进行互动时,通信小部件会请求您的网络服务器提供JWT。提供此信息JWT后,该小工具将包含在最终客户致电Amazon Connect时将其包含在内。然后,Amazon Connect 会使用密钥解密令牌。如果成功,则确认您的网络服务器JWT已发出呼叫,并且 Amazon Connect 会将呼叫转给您的联络中心客服。
JSON网络代币的细节
-
算法:HS256
-
声明:
-
订阅:
widgetId
widgetId
用你自己的替换widgetId。要找到你的widgetId,请参阅示例通信小部件脚本。 -
iat:*按时发放。
-
exp:*有效期(最长 10 分钟)。
* 有关日期格式的信息,请参阅以下互联网工程任务组 (IETF) 文档:JSONWeb Token (JWT)
,第 5 页。 -
以下代码片段显示了如何在 Python JWT 中生成一个示例:
payload = { 'sub':
widgetId
, // don't add single quotes, such as 'widgetId' 'iat': datetime.utcnow(), 'exp': datetime.utcnow() + timedelta(seconds=JWT_EXP_DELTA_SECONDS) } header = { 'typ': "JWT", 'alg': 'HS256' } encoded_token = jwt.encode((payload), CONNECT_SECRET, algorithm=JWT_ALGORITHM, headers=header) // CONNECT_SECRET is the security key provided by Amazon Connect
通信小部件脚本
下图显示了您在网站上嵌入 JavaScript 的内容示例,您希望客户能够致电您的联络中心。该脚本会在网站右下角显示小部件。
下图显示了在哪里可以找到你的示例widgetId。
网站加载时,客户会首先看到开始图标。他们选择此图标后,通信小部件将打开,客户就可以呼叫您的座席了。
要随时更改通信小部件,请选择编辑。
注意
保存的更改将在几分钟内更新客户体验。保存之前,请确认您的小部件配置。
要更改网站上的小部件图标,您将收到一个新的代码片段,用于直接更新您的网站。