跳到主要内容

将 webhooks 和 Postman Flows 结合

Webhook 是一个系统通知另一个系统某些信息已更改的一种方式。它的工作原理与智能手机上的推送通知非常相似。电子邮件应用程序无需经常检查电子邮件应用程序以查看是否有任何新邮件,而是向用户发送已收到新电子邮件的通知。如今,许多具有 API 的服务还提供 webhooks 作为一种在他们的系统和你的系统之间进行通信的方式。

当 Flow 部署到云端时,Flow 可以在每次从另一个服务接收到 webhook 时运行。这很有用,因为 Flow 可以自动运行并且不需要你的计算机打开,因为这些 Flows 在 Postman 的云上运行。

本地测试

每个 Flow 都以 Start块开始。当你想要创建一个在云上运行的流程时,你需要在本地对其进行测试。你可以通过选择齿轮图标将信息输入“开始”块。此信息可以是文本或 JSON 格式。通常,你需要举例说明你正在使用的 API 中实际的 webhook 是什么。许多 API 都包含其 webhook 信息的示例,但如果你正在使用的 API 没有,你可以按照触发 webhook 步骤中的步骤自己制作 一个

本地测试

部署流程

单击Deploy会将你的本地 Flow 上传到 Postman 的云端。选择右侧窗格的运行部分将显示上次部署的时间和日期,Webhook 事件部分将列出发送到已部署流程的每个 Webhook。

Runs部分,选择View Deployed以观察在云中运行的流程。选择页面底部中间的查看实时日志以查看流入你的流程的实时信息。选择返回编辑器会将你带回本地流程,你可以在其中进行更改,然后在完成后再次部署。

重要的

每次部署时,它都会保存你的集合和环境。如果你对这些进行任何更改,你将需要重新部署。

部署到云端

触发网络钩子

通常,在使用 webhook 时,会有另一个服务将 webhook 发送到你部署的 Flow。右侧面板中显示的 Webhook URL是你可以向其他系统或服务提供的 URL,告诉它向何处发送通知。设置完成后,你可以查看实时日志并查看来自其他服务的通知如何用作你的测试数据。还可以通过向 Webhook URL发出 POST 请求来手动运行流程。

触发端点

将流连接到 Slack 应用程序

先决条件 注册一个免费的 Slack 帐户。

在 Slack here 中创建一个新的应用程序,给它起一个名字,然后启用一个斜杠命令,让我们可以与之交互。制作斜杠命令时,对于请求 URL https://770fc74bbe7045dcaa56a7261b08c869.flow.pstmn.io,使用已部署的流程,可以 在此处 找到。

创建 Slack 应用程序

接下来,启用 Webhooks,以便我们可以从 Flows 向 Slack 应用程序发送消息(执行此操作后,你需要重新安装该应用程序,如 GIF 中所示)。从 Slack 的下拉菜单中选择一个你希望与之交互的频道。

启用 Slack Webhook

最后,在你安装它的松弛通道中运行你在第一步中创建的命令并查看你的食谱!

启用 Slack Webhook

使用 Flows 构建你自己的 Slack 应用程序

先决条件

  1. 注册一个免费的 Slack 帐户。
  2. 注册一个免费的 polygon.io 帐户并获取你的 API 密钥。

要使用 Flows 从头开始制作你自己的 Slack 应用程序,请按照与将 Flow 连接到 Slack 应用程序 相同的步骤进行操作,但这次让我们将应用程序命名为Stock App,制作命令stock-quote并使用你要创建的新 Flow 的 URL 要做。

新的 Slack 命令

接下来,fork(在本例中仅表示复制)此处 找到的集合和 此处 找到的环境,其中包含我们将在此流程中使用的已保存请求和变量。

Forking收集和环境

在你刚刚 Forking 的环境中,将你的多边形 API 密钥粘贴到它显示YOUR_API_KEY_HERE的位置。现在你已准备好开始构建 Flow。

要启动流程,请创建两个Evaluate块并粘贴以下内容$match(slack_text,'(?<=text=)[^&]+')[0]$replace($match(slack_text,'(?<=commands%2F)[^&]+')[0],"%2F","/")。你粘贴的第一个函数在 webhook Slack 发送股票报价斜杠命令后获取文本,第二个函数获取 Slack 中的目的地,你的流程将向其发送回复。

创建评估块

下一步是在 Evaluate 块(这是我们的股票代码)中的股票报价命令之后获取文本,并调用多边形 API 来获取报价。创建一个Send Request块,然后从你刚刚 Forking 的集合中选择Get stock quote 。最后,选择你也 Forking 的Slack Stock Bot环境,并将Evaluate块连接到 ticker 变量(这是将代码等信息从Evaluate块传递到Send Request块的方式)。

创建发送请求块

最后一步是将所有这些信息发送回 Slack 应用程序。首先,由于 slack 要求发送给它们的文本为 JSON 格式,因此创建一个Record块,命名关键文本并添加一个Select块。你可以使用下拉菜单进行选择,或输入body.results.0.c多边形存储其股票报价的方式。现在创建一个新的Send Request 块,将**Record块的输出拖到message_to_slack变量,这是我们要发送到应用程序的变量,并从第二个Evaluate块(在 Slack 中保存目的地以回复到)到的slack_hook_url输入发送请求**块。

创建发送请求块

剩下的就是选择Deploy并在 Slack 中试用它!

创建发送请求块