1. All Collections >
  2. 产品 >
  3. 工作流 >
  4. 步骤: HTTP 请求

步骤: HTTP 请求

Avatar
Shing-Yi Tan
4 分钟

此步骤允许发送 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 响应,并且最多可以有 10 个响应映射设置。

例子:

要以不同的格式保存响应,请填写与要保存的数据相对应的 JSON 键。

{  
    “name”: “Jason”,  
    “zip_codes”: “12345”,  
    “phone”: “123123”  
}

要保存上述响应中的电话号码,请使用 $.phone 作为 JSON 键。

{ 
    "custom_fields": {  
        "firstName": "John",  
        "lastName": "Doe",  
        "locale": "en_GB",  
        "timezone": "5",  
        "gender": "male",  
        "phone": "123123",  
        "email": "zy@respond.io",  
        "customerid": "1"  
    },  
    "created_at": 1575618542  
}

要保存上述响应中的电话号码,请使用 $.custom_fields.phone

{  
        "数据": {  
            "id":"1776025372480910",  
            "联系人" : [  
                {  
                    "firstName":"John",  
                    "lastName":"Doe",  
		    "locale": "en_GB"  
                },  
                {  
                    "firstName":"Jane",  
                    "lastName":"Doe",  
		    "locale": "en_GB"  
                }  
	    ]  
        }  
}

要保存上述回复中的名字 'Jane' ,请使用 $.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 请求输出时,请记住没有值的变量将返回为 nullundefined

最佳实践

您可以遵循以下此步骤的一些最佳实践来优化您的工作流程:

当 HTTP 请求成功时

  1. 将响应状态保存为变量:

    1. 确保第一步是将 响应状态保存为变量 以便采取进一步行动。

  2. 分支步骤:

    1. 添加分支步骤来评估 HTTP 请求状态。

    2. 如果状态为 200,则请求成功。

    3. 如果没有,请配置警报以通知经理有关请求不成功的情况。

  3. Google Sheet 用于监控:

    1. 在 Google Sheet 中记录响应状态,以便清楚了解请求的成功或失败。

  4. 评论:

    1. 在您的工作流程中添加评论以记录响应状态。 这将帮助您更有效地跟踪和审查错误。

当 HTTP 请求失败时

  1. 将响应状态保存为变量:

    1. 与成功请求类似, 将响应状态保存为变量 以进行错误处理。

  2. 使用等待或跳转步骤重试

    1. 实施等待步骤,在重试不成功的请求之前暂停。

    2. 或者,使用跳转步骤返回 HTTP 请求步骤并再次尝试请求。

  3. 评论

    1. 通过创建注释来记录 HTTP 请求错误

    2. 包括联系方式并标记负责人。

  4. 用于监控的 Google Sheet:

    1. 利用 Google Sheet 步骤记录联系信息和错误详情以供监控和审查。

  5. 任务分配:

    1. 将任务分配给特定用户以启动工作流中的另一个流程并重试。

建议用例

以下是使用 HTTP 请求步骤的一些方法:

  • 路由 VIP 联系人:利用 HTTP 请求步骤从 CRM 等数据仓库中获取联系人详细信息。 这使您能够识别 VIP 联系人,从而提供个性化的客户体验并将其与非 VIP 联系人区分开来。

分享这篇文章
Telegram
Facebook
Linkedin
Twitter

找不到您正在寻找的东西? 🔎