HTTP Request步骤
HTTP Request步骤把自动化的资料发送到你选择的URL:CRM、邮件工具、BCL不支持的WhatsApp服务商,或你自己的系统。自动化运行时,BCL会从它的服务器发送,所以即使没有人打开BCL也能运作。
完整例子请看Send orders to your CRM。
用Add Node → HTTP Request添加这个步骤,然后双击它,打开HTTP Request Action Settings。
-
在Basic Configuration下输入Action Name,例如“发送到CRM”。
-
选择Method:GET、POST、PUT、PATCH或DELETE。大多数接收新记录的系统都要用POST。
-
输入Request URL,最多500个字符。它可以包含变量,例如
https://api.example.com/orders/{order_number}。 -
按照你系统的文档,填写下面的三个标签页:Query Parameters、Headers和Body。
-
点击Send Test Request,用示例资料试一试。
-
点击Save HTTP Request。

每个标签页都可以用两种方式填写。Key-Value给你一行行的名称和值。Raw JSON(在Query Parameters是Raw Query)让你自己输入全部内容。
| 标签页 | Key-Value的每一行会变成 | Raw格式 | 例子 |
|---|---|---|---|
| Query Parameters | 加在URL后面的?name=value配对 |
不带开头?的query string |
source=bcl&order={order_number} |
| Headers | 每行一个HTTP header | 一个JSON object | {"X-Api-Key": "your-api-key"} |
| Body | 每行一个栏位,以JSON发送 | 一个JSON object | {"email": "{email}", "amount": {amount_value}} |
GET请求不会发送Body标签页。每个标签页的值都可以用变量。
每个标签页上方的按钮可以帮你填写:
| 按钮 | 作用 |
|---|---|
| Variables | 列出你触发器的变量。点击一个就会复制它。 |
| Insert all | 加入触发器的每个变量,并以变量本身命名,例如"order_number": "{order_number}"。先快速开始,再删减。 |
| Format | 在Raw JSON模式整理JSON,如果不是有效的JSON会告诉你。 |
| 垃圾桶图标 | 确认后清空这个标签页。 |
在Key-Value模式,每一行的代码图标会把变量插入该值,每一行也可以复制或移除。
JSON body里的变量
Section titled “JSON body里的变量”BCL会先替换变量,然后才把body当作JSON读取。因此有两点要注意:
- 文字变量要加引号:
"name": "{name}"。 - 数字和列表变量不加引号,这样它们会以数字和列表送到:
"amount": {amount_value}和"items": {items_json}。编辑器的Format按钮会因为没有引号的{...}而说这是无效的JSON,但替换后它是有效的。
如果替换后body仍然不是有效的JSON,BCL会发送空的body。当顾客的答案里有双引号时,就可能发生这种情况。在依赖它之前,先用接近真实的资料测试。
Send Test Request(在Action Name旁)会马上用示例值发送请求,例如“Ahmad Ali”和“LINK-12345”。绿色的Test Request Successful通知会显示状态码和回复的开头;红色的Test Request Failed通知会显示出了什么问题。测试最多等待30秒。
测试会把真实资料发送到URL,所以如果它会创建真实记录,请改用你系统的测试endpoint。
运行时会发生什么
Section titled “运行时会发生什么”自动化运行时,BCL最多等待10秒的回复,遇到连接问题会重试两次。状态码为2xx的回复就算成功。
在运行记录里,用View打开这次运行。步骤会显示Completed或Failed,View Response则显示URL、method、状态码和回复。失败的请求会显示状态码,例如HTTP 401,如果另一个系统有发送错误信息,后面会接着显示。超过50,000个字符的回复会被截短。
几个好习惯,让请求安全又可靠:
- API key放在Headers,不要放在URL里。很多系统接受
Authorization或X-Api-Keyheader;URL会显示在运行记录里。 - 数字用
{amount_value},不要用{amount}。{amount}包含“RM”,另一个系统可能会拒绝。 - 每个目的地一个请求。要发送到两个系统,就添加两个HTTP Request步骤。
- 订单用Payment Successful,不要用Payment Initiated。Initiated在顾客付款之前就会触发,所以未付款的订单也会送到你的CRM。
常见问题
我可以把新的lead直接发送到我的CRM或邮件工具吗?
可以。用New Lead Received创建一个自动化,加上一个HTTP Request步骤。在Request URL放入该工具的API地址,在Headers放入它的API key,再在Body配对你的lead栏位,例如"email": "{email_address:2}"。
请求有送到,但名字和电邮是空的。为什么?
变量和你的栏位不符合。lead表单栏位需要栏位名称和id,例如{email_address:2}。不存在的变量会以空白发送,也不会显示错误。请从Variables列表复制key。
我怎样知道另一个系统有没有接受资料?
打开自动化的Overview,在一次运行上点击View。HTTP Request步骤会显示状态码,View Response下则显示另一个系统的回复。