使用 Oracle Infinity 流向 API 发送数据(旧版)
简介
此教程演示了在 Infinity 中收集数据并发送到示例 API(使用 Streams (Legacy) 和 Action Center (Legacy) Webhooks),以了解减少呼叫中心卷的虚拟用例。
什么是 Webhook?Webhook 是实时向端点发送数据的一种方式(例如,将转换数据发送到外部 API)。
目标
在本教程中,当客户单击您网站上的“与我们联系”链接以减少联系中心遇到的查询数量时,您将完成一个虚构的用例,即向客户发送相关的帮助内容。
您将:
- 构建要向其发送 Infinity 数据的模拟 API。
- 构建捕获特定用户行为的流(旧)。
- 在 Action Center (Legacy) 中构建 Webhook 连接。
- 在连接内构建目标,以设置数据到模拟 API 的格式。
- 构建操作以将流数据发送到模拟 API。
有关虚构用例的说明,请参阅下图:
用例说明

先决条件
- Oracle Infinity 帐户:您必须拥有帐户并知道帐户 GUID。
- 包含已实施 Oracle Infinity 的网页:您必须有一个包含 Oracle CX 标记的网页,并使用您的账户 GUID 实施了该标记(有关将 Infinity 跟踪部署到 Web 页的指导,请参阅无穷大 IQ 快速入门中心 - CX 标记快速入门指南)。
构建模拟端点
我们将创建一个模拟端点来接收我们的 Infinity 数据(表示用于触发电子邮件的电子邮件平台 API)。我们将为模拟端点使用 Beeceptor。
-
访问 Beeceptor,输入端点的名称,然后单击创建端点。
为此教程选择唯一的端点名称

-
使用单击以复制复制端点 URL。
在另一个窗口 / 选项卡中打开端点 URL 时,应看到现有“Beeceptor(蜜蜂)”窗口 / 选项卡中显示的请求:
原始“Beeceptor(蜜蜂)”窗口中的请求

-
测试端点。
访问您在新浏览器窗口 / 选项卡中复制的端点 URL,验证它是否正确接收数据。
复制到剪贴板

在操作中心内构建 Webhook 连接(旧)
要将数据发送到新创建的模拟端点,需要使用 Webhook 连接。
-
打开 Oracle Infinity 用户界面。
-
单击左上角的菜单,然后转至操作中心。
-
单击管理连接(在右上角)。
-
单击 +New Connection > Webhook(位于左上方)。
-
输入端点详细信息。
-
名称:
My Email platform。 -
连接协议:选择
HTTP。 -
Secure (HTTPS/WSS)(安全 (HTTPS/WSS)):选中此框。
-
服务器 FQDN:从剪贴板输入蜜蜂端点(减去
https://)。例如,YOURENDPOINT.free.beeceptor.com。 -
端口 :
443 -
验证类型:
None连接详细资料

-
-
单击连接。
在连接内构建目标
连接中的目标允许您在将数据发送到连接中的特定位置之前设置数据格式。
-
选择连接,然后单击目标下的新建。
-
请输入以下详细信息:
- 名称:
Website Actions - URI 端点:
/(用于发送到端点上的可选路径(例如,myinfinitytest.free.beeceptor.com/和/结尾是您在此处指定的路径)。 - 事件分组:
Single - HTTP 方法:
POST - 有效负载内容 / 类型:
application/json - 请求格式化程序:
Twig
- 名称:
-
将以下代码模板粘贴到 Twig Request Template 中:
\{\% autoescape 'json' \%\} { "customer_id":"\{\{events[0]['customer_id']\}\}", "event_name":"\{\{events[0]['event_name']\}\}" } \{\% endautoescape \%\}什么是 Twig?:Twig 是一种诱惑性的语言,允许您在将有效负载发送到端点之前对其进行操纵。它非常适合为有效负载设置格式,使其采用正确的端点格式。
目标详细信息

-
单击保存。
构建流
在模拟用户单击虚构用例中的与我们联系按钮时,您需要构建、测试和保存流(旧)以捕获信息,以便我们可以将其发送到我们的模拟端点。
-
构建流
我们将通过编写查询来构建流,查找单击“与我们联系”按钮的用户(稍后将模拟的事件):
- 在 Oracle Infinity 用户界面中,单击左上角的菜单并转到流。
- 粘贴以下查询作为查询:
data.wt.event_name AS 'event_name',data.wt.dcsvid AS 'customer_id' WHERE data.wt.event_name='contact us' AND Exists(data.wt.dcsvid) AND session.closed='false'。 - 命中 Start。
定义查询

查询说明:
语句的第一部分是
SELECT,其中要显示在流中。这将是当前的wt.event_name(事件名称)和wt.dcsvid(客户 ID)值。使用
SELECT选择的两个参数都使用 Aliasing,方法是声明AS,以便我们可以将其声明为event_name和customer_id(这简化了稍后步骤中的操作)。WHERE,用于确定流应何时触发操作。事件包含wt.event_name='contact us'ANDawt.dcsvid(客户 ID)时会出现这种情况。此外,必须使用session.closed=false允许操作立即触发(而不是等到会话结束)。流查询语法:有关完整的查询语法支持,请参阅 Oracle Infinity 帮助中心 - 流。
-
测试流
我们将通过模拟“与我们联系”按钮单击并检查是否可以看到传入数据来验证流中的传入数据:
- 访问实施了 Infinity 跟踪的网站(例如,使用 Oracle CX 标记)
- 打开浏览器控制台(例如,Google Chrome 中的开发人员工具控制台)。
- 复制以下代码并将其粘贴在浏览器控制台中:
var cxDataObject = { "wt.event_name":"contact us", // Sample Custom Variable "wt.dcsvid":"MYCUSTOMERID" } // DO NOT EDIT BELOW THIS LINE - ORA.click() window.ORA = window.ORA || {productReady: []}; ORA.productReady.push(['analytics', function(cxDataObject) {return function() {return ORA.click({"data": cxDataObject})}}(cxDataObject)]);MYCUSTOMERID:此值表示实际部署中的客户 ID。在虚构用例中,电子邮件平台将使用它来了解将邮件发送给谁。
网络选项卡中包含代码和生成的 dcs.gif Infinity 请求的示例页面

-
保存流
保存您的流,因为我们已验证它是否正常运行:
-
将左侧的所有参数拖到主画布上:
拖动参数

-
单击保存流并为其指定名称,例如与我们联系。
-
建立您的行动
现在,我们可以构建操作,将您的流连接到您的连接,以便数据显示在模拟端点中。
-
在 Oracle Infinity 用户界面中,单击左上角的菜单并转到 Action Center。
-
单击 +Create Action。
-
完成以下字段:
- 名称:
Contact Us - Email - 说明:
Sends Customer ID and Event Name upon Contact Us click - 尝试重新发送:保留为默认设置。
- 名称:
-
在目标下,选择:
- Webhook
- My Beeceptor Endpoint(我的蜜蜂端点)(或您调用连接的任何内容)。
- 与我们联系 - 单击(或您称之为目标的任何内容)。
-
在数据下,选择与我们联系(或您命名为流的任何内容),然后单击保存。
我的变量已映射?:由于在查询中使用了别名,因此您会发现选定的参数已映射过来。
流与映射

字段映射的作用是什么?:您映射输入的
event_name和customer_id名称是您本指南前面在目标中设置的 Twig 模板将处理的名称。 -
返回到操作中心,您应在其中看到新的操作。
-
单击启动以激活您的操作。
测试您的流
现在配置已完成,您可以将数据发送到流并在模拟端点中接收输出 - 模拟虚构的呼叫中心用例。
-
打开原始 beeceptor 窗口,您可以在其中查看传入请求(例如
https://beeceptor.com/console/YOURNAMEOFMOCKENDPOINT) -
打开 Infinity/CX 标记所在的测试页面
-
根据构建流中的步骤 2 触发另一个请求:
var cxDataObject = { "wt.event_name":"contact us", // Sample Custom Variable "wt.dcsvid":"MYCUSTOMERID" } // DO NOT EDIT BELOW THIS LINE - ORA.click() window.ORA = window.ORA || {productReady: []}; ORA.productReady.push(['analytics', function(cxDataObject) {return function() {return ORA.click({"data": cxDataObject})}}(cxDataObject)]);
现在,您应该会看到您的模拟端点中显示的数据,其中模拟端点模拟了电子邮件平台 * 并收到来自 Infinity 的传入信号:
您在模拟端点中显示的数据

* 生产环境:在生产环境中,您将有一个更复杂的有效负载将数据发送到真实的电子邮件平台 API。但是,在本教程中,我们仅使用模拟端点来显示 Infinity 功能。
相关链接
- Infinity IQ Quick Start Center - CX 标记快速入门指南 - 用于部署 Infinity 跟踪的快速入门指南。
- Infinity 用户帮助中心 - 流(旧)- 流(旧)文档。
- 无穷用户帮助中心 - 流查询语法 - 流(旧)查询语法。
- Infinity 用户帮助中心 - 操作中心(旧)- 操作中心(旧)文档。
更多学习资源
在 docs.oracle.com/learn 上浏览其他实验室,或者在 Oracle Learning YouTube 渠道上访问更多免费学习内容。此外,访问 education.oracle.com/learning-explorer 以成为 Oracle Learning Explorer。
有关产品文档,请访问 Oracle 帮助中心。
Send data to an API using Oracle Infinity Streams (Legacy)
F50955-01
November 2021
Copyright © 2021, Oracle and/or its affiliates.