此步骤允许发送 HTTP 请求并将其响应保存为变量。
此步骤仅适用于高级计划及以上。

配置
HTTP请求步骤中有两个关键配置:
HTTP 请求方法
请求所需的特定方法。 从下拉列表中选择适当的方法。

网址
在 URL 字段中,输入外部 API 的 URL 端点以检索数据。 要包含变量,请使用 "$" 前缀来支持静态文本和变量的插值。

您现在可以在 HTTP 请求步骤中使用 IP 地址和端口号,从而可以直接访问服务器并灵活地访问非标准端口上的服务。
请注意 respond.io 域名已被列入黑名单。 不允许向该域发送 API 调用,因为这可能导致循环问题。
身体
为了确保请求接收者正确解码,请展开 Body 部分并包含正文和 Content-Type Header。

标题
在 Header 部分,您可以成对地向 HTTP 请求添加标头。 key 表示标头名称,value 表示标头值。 您可以通过添加前缀 "$"将变量用作标题。 但是请记住,最多只允许 10 个标题。

响应映射
对于 JSON API 的响应,您可以将特定的响应值保存为变量。 在 Response Mapping 部分,左侧输入值的 JSON 路径/引用,右侧为变量分配名称。
JSON Key 字段必须包含要保存的值的 JSON 路径/引用,且必须以响应根节点的 `$` 开头。 例如,对于 `{"phone":"123123"}`,输入 `$.phone`,而不是 `phone`。

例子:
若要从不同的响应格式中保存值,请在 JSON Key 字段填写指向要保存数据的 JSON 路径。
{
“name”: “Jason”,
“zip_codes”: “12345”,
“phone”: “123123”
}要保存上述响应中的电话号码,请在 JSON Key 字段中输入 $.phone。
{
"custom_fields": {
"firstName": "John",
"lastName": "Doe",
"locale": "en_GB",
"timezone": "5",
"gender": "male",
"phone": "123123",
"email": "zy@respond.io",
"customerid": "1"
},
"created_at": 1575618542
}要保存上述响应中的电话号码,请在 JSON Key 字段中输入 $.custom_fields.phone。
{
"数据": {
"id":"1776025372480910",
"联系人" : [
{
"firstName":"John",
"lastName":"Doe",
"locale": "en_GB"
},
{
"firstName":"Jane",
"lastName":"Doe",
"locale": "en_GB"
}
]
}
}要保存上述响应中的名字 'Jane',请在 JSON Key 字段中输入 $.data.contacts[1].firstName。
将响应状态保存为变量
要将 HTTP 请求的响应状态保存为变量,请打开 将响应状态保存为变量 切换开关。 然后,在提供的字段中命名变量。

工作原理
激活后,此步骤将使用定义的主体和标头向指定的 URL 发送 HTTP 请求。
您可以根据响应状态来指导工作流程。 例如,您可以为 "状态代码等于 200"创建一个分支。 如果收到任何其他响应状态代码,跳转步骤可以将联系人返回到 HTTP 请求步骤。 或者,如果分支条件不满足,联系人可能会被定向到失败分支。 如果失败分支下没有设置步骤,工作流将结束。
如果你的HTTP请求超过10秒,就会导致超时,从而导致请求失败。
潜在的失败
为避免执行 HTTP 请求时出现潜在失败,请确保满足以下条件:
使用正确的 HTTP 方法和 Content-Type Header。
确保根据您的系统支持的内容在 URL 中包含所需的协议
http://或https://,以避免请求失败。确保 Content-Type 有效。
从 URL 中排除端口号。
避免在 URL 中使用自签名证书。
验证授权是否有效。
确保我们的 IP 地址(52.74.35.155、18.138.31.163、54.169.155.20)没有被阻止。
如果上述任何条件不满足,联系人将跳过此步骤并继续剩余的旅程。
当使用动态变量验证 HTTP 请求输出时,请记住没有值的变量将返回为 null 和 undefined。
最佳实践
您可以遵循以下此步骤的一些最佳实践来优化您的工作流程:
当 HTTP 请求成功时
将响应状态保存为变量:
确保第一步是 将响应状态保存为变量 以便进行后续操作。
分支步骤:
添加分支步骤来评估 HTTP 请求状态。
如果状态为
200,则请求成功。如果没有,请配置警报以通知经理有关请求不成功的情况。
Google 表格用于监控:
在 Google Sheet 中记录响应状态,以便清楚了解请求的成功或失败。
评论:
在您的工作流程中添加评论以记录响应状态。 这将帮助您更有效地跟踪和审查错误。
当 HTTP 请求失败时
将响应状态保存为变量:
与成功请求类似,将响应状态保存为变量以用于错误处理。
使用等待或跳转步骤重试:
实施等待步骤,在重试不成功的请求之前暂停。
或者,使用跳转步骤返回 HTTP 请求步骤并再次尝试请求。
评论:
通过创建注释来记录 HTTP 请求错误
包括联系方式并标记负责人。
用于监控的 Google Sheet:
利用 Google Sheet 步骤记录联系信息和错误详情以供监控和审查。
任务分配:
将任务分配给特定用户以启动工作流中的另一个流程并重试。
建议用例
以下是使用 HTTP 请求步骤的一些方法:
路由 VIP 联系人: 使用 HTTP Request 步骤从数据仓库(如 CRM)获取联系人详情。 这使您能够识别 VIP 联系人,从而提供个性化的客户体验并将其与非 VIP 联系人区分开来。
常见问题与故障排查
我可以调用需要 OAuth 2.0 身份验证的 API 端点吗?
不。 HTTP Request 不支持 OAuth 2.0 身份验证流程,例如用户同意、授权码交换、访问令牌刷新或动态令牌生成。
您可以在接受简单身份验证方法的端点上使用 HTTP Request,例如将 API 密钥或静态令牌添加到 URL、查询参数或请求头中。
例如,如果您调用 Google 的 API 端点且请求失败,请检查该端点是否需要 OAuth 2.0 身份验证。 如果需要,则不受支持。 如果该端点改为支持 API 密钥或静态令牌,您可以在 HTTP Request 的配置中使用该身份验证方法。