发送 HTTP 请求

发送 HTTP 请求操作可将工作流连接到 Web 服务器或 URL,并发送 HTTP 请求。

Flow 发送 HTTP 请求后,最多等待 30 秒,等待 HTTP 响应代码。如果 Flow 在 30 秒后没有收到回复,它将关闭与应用的连接,并重新发送请求。

本页相关主题

字段

发送 HTTP 请求 操作包含以下字段。

发送 HTTP 请求操作中使用的字段。
字段 描述
HTTP 方法 要发送的 HTTP 请求的方法。发送 HTTP 请求 操作支持以下方法:

  • Get - 发送请求以从服务器获取信息。
  • Delete - 从服务器中删除资源。
  • Head - 检索服务器的 HTTP 响应标头。
  • Options - 检索服务器支持的选项和功能。
  • Patch - 部分更新服务器上的资源。
  • Put - 更新服务器上的资源。
  • Post - 在服务器上创建或替换资源。
URL 发送 HTTP 请求的服务器的 URL。
标头 HTTP 请求的键和值对。可以输入多个键值对。
正文 要发送到服务器的内容。

触发器

发送 HTTP 请求操作可用于任何工作流。

示例

调用 Shopify GraphQL Admin API

在此示例中,您将通过调用 productUpdate API 来使用 Flow 编辑产品标题。

在开始之前,请执行以下操作:

然后,在 Flow 中按照以下步骤操作:

  1. 选择产品状态已更新触发器,用于通过更改产品状态来测试此工作流。
  2. 向工作流中添加发送 HTTP 请求并将其连接到触发器。
  3. 点击发送 HTTP 请求步骤来打开配置面板。
  4. HTTP 方法字段中,输入 POST
  5. URL 字段中,输入 https://admin.shopify.com/store/shopname/api/2023-01/graphql.json 来替代您的商店域名和所需的 API 版本。
  6. 标头部分,输入在第一步获得的 X-Shopify-Access-Token YOUR_API_SECRET_KEY
  7. 标头部分,再输入一个Content-Typeapplication/json 的标头。
  8. 正文部分,输入以下内容:

json {"query": "mutation { productUpdate(input: {id: \"{{ product.id }}\", title: \"{{product.title}}-edited\"}) { product { id } } }"}

  • 此代码会将 -edited 添加到标题末尾
  • 空格和新行对 Liquid 编辑器有意义,因此请避免添加或删除空格。此外,除了输出 Liquid 外,请避免折叠括号,如 {{}},因为它们是为 Liquid 变量预留的。
  1. 配置工作流的其余部分并将其激活。
  2. 通过将产品状态在草稿活跃之间切换来测试工作流。

调用外部 API

在订单付款时发送 POST HTTP 请求的工作流示例

在此示例工作流中,当订单付款时,一个 POST HTTP 请求将发送到服务器。

响应代码

下表介绍了 Flow 在收到响应后如何处理 HTTP 响应代码

Flow 处理 HTTP 响应代码的方法。
HTTP 回复代码 Flow 处理响应代码的流程
2XX 或 3XX 成功 Flow 将 HTTP 请求标记为成功,并随后在工作流中执行操作。
429 或 5XX 错误 Flow 会在最多 24 小时内自动重试此操作,直到它收到其他响应代码或时间过长。
其他回复代码 如果您的应用返回此表未描述的代码,或在重试操作时出现时间,Flow 会将 HTTP 请求标记为失败。不会执行后续的工作流操作。

准备好开始使用 Shopify 进行销售了吗?

免费试用