# 自动化变量

> 可以放进自动化信息、标题、收件人或HTTP request的每个{变量}，包括它的内容和示例值。
>
> Source: https://docs.bcl.my/zh/automation-variables/

变量是用大括号括起来的占位符，例如`{name}`，自动化运行时BCL会把它换成真实的值。变量可以用在步骤的每个文字栏位：收件人、标题、信息内容、电子表格的列，以及HTTP request的URL、header和body。

## 找到并插入变量

在每个可以用变量的栏位旁，点击**Variables**。列表只显示你自动化触发器的变量，已分组，也可以搜索。点击一个变量就会复制它，然后粘贴到你要的位置。

*(Screenshot: Recipient Email旁打开的Variables列表，显示General组别和一个lead表单的栏位)*

以下规则到处都适用：

- 变量要准确输入，两个括号都要有，也不能有空格：`{order_number}`，而不是`{ order_number }`或`{Order Number}`。
- 触发器没有的变量，或没有值的变量，会变成空白。BCL不会显示错误，除非收件人变成空白：这时步骤会失败，并在运行记录里显示信息。
- 测试信息使用示例资料，例如“Ahmad Ali”和“RM 150.00”。真正运行时会使用下面的真实值。

## 付款变量

这些变量适用于**Payment Initiated**、**Payment Successful**、**Payment Failed**、**Payment Cancelled**、**Payment Completed**和**Status Changed**。例子来自demo账号上的一笔测试购买。

| 变量 | 内容 | 例子 |
| --- | --- | --- |
| `{name}` | 顾客名字 | Farah Idris |
| `{email}` | 顾客电邮 | farah.idris@example.com |
| `{phone}` | 顾客电话，带国家代码 | +60133456784 |
| `{form_title}` | 表单标题 | Kopi Kampung Home Brewing E-Guide |
| `{form_type}` | 表单类型 | Payment Form |
| `{form_url}` | 表单链接 | `https://<your-subdomain>.bcl.my/form/kopi-kampung-home-brewing-e-guide` |
| `{form_featured_image}` | 表单封面图片的链接 | https://.../featured.jpg |
| `{order_number}` | 订单号码 | LINK-05851 |
| `{reference_id}` | 订单号码（同上） | LINK-05851 |
| `{created_at}` | 交易创建的时间 | 2026-09-27 22:15:55 |
| `{payment_date}` | 付款的时间 | 2026-09-27 22:15:56 |
| `{payment_method}` | 付款方式 | FPX |
| `{payment_status}` | 状态（文字） | Successful |
| `{status_description}` | 银行的状态文字 | Approved |
| `{receipt_url}` | 收据页面的链接 | `https://<your-subdomain>.bcl.my/receipts/LINK-05851` |
| `{amount}` | 付款金额，已格式化 | RM 15.00 |
| `{subtotal}` | 小计，已格式化 | RM 15.00 |
| `{discount}` | 折扣，已格式化 | RM 5.00 |
| `{shipping_cost}` | 运费，已格式化 | RM 10.00 |
| `{amount_value}` | 付款金额，只有数字 | 15.00 |
| `{subtotal_amount}` | 小计，只有数字 | 15.00 |
| `{discount_amount}` | 折扣，只有数字 | 0.00 |
| `{fee_amount}` | 支付网关手续费，只有数字 | 0.00 |
| `{shipping_name}` | 运送方式 | Standard Delivery |
| `{address}` | 一行完整的运送地址 | 123, Jalan Ampang, 50450, Kuala Lumpur, Malaysia |
| `{address_line1}`、`{address_line2}` | 地址行 | 123, Jalan Ampang |
| `{city}`、`{state}`、`{postal_code}`、`{country}` | 地址的各部分 | Kuala Lumpur |
| `{items_list}` | 每个产品一行，含数量和价格 | 1x Home Brewing Guide - RM 15.00 |
| `{items_summary}` | 所有产品在一行，适合SMS | 1x Home Brewing Guide |
| `{items_json}` | JSON格式的产品，适合HTTP request | `[{"sku":"Home Brewing Guide","name":"Home Brewing Guide","quantity":1,"price":15}]` |
| `{total_items}` | 产品行数 | 1 |
| `{product_table}` | 已格式化的产品表格，数码产品有**Access**按钮，适合电邮 | （表格） |
| `{business_name}` | 你的商家名称 | KOPI KAMPUNG SDN. BHD. |

付款失败或取消后，`{receipt_url}`很有用：收据页面会给顾客一个按钮，让他们再试一次付款。

### 表单栏位

付款、活动或预约表单上的每个自定义栏位，都会成为一个以栏位名称命名的变量，例如名为`company_name`的栏位就是`{company_name}`。上传的文件会显示为链接。这些变量不会出现在**Variables**列表，所以请在表单编辑器查看栏位名称。

## 产品变量

订单里的每个产品，把`N`换成它的位置（第一个产品是1，第二个是2）。受保护内容的`M`是该产品里的内容编号。

| 变量 | 内容 | 例子 |
| --- | --- | --- |
| `{product_name_N}` | 产品名称 | `{product_name_1}` = Home Brewing Guide |
| `{product_image_N}` | 产品图片的链接 | https://.../beans.jpg |
| `{download_link_N}` | 产品的**Download Link** | https://drive.google.com/... |
| `{protected_content_url_N_M}` | 买家打开受保护内容的私人链接 | `{protected_content_url_1_1}` = `https://<your-subdomain>.bcl.my/content/KLxu9odA...` |
| `{protected_content_title_N_M}` | 该内容的标题 | Kopi Kampung Home Brewing Guide |
| `{access_finder_url_N_M}` | 买家可以通过电邮重新取得链接的页面 | `https://<your-subdomain>.bcl.my/content/O6FYW1GU/access` |

没有下载链接或受保护内容的产品，这些变量会是空白。

## 运送变量

**Order Shipped**有上面所有的付款变量，再加上这两个：

| 变量 | 内容 | 例子 |
| --- | --- | --- |
| `{tracking_number}` | 追踪号码 | TRK123456789MY |
| `{courier}` | 快递名称 | Poslaju |

## lead表单变量

**New Lead Received**有四个通用变量，再加上你lead表单每个栏位的一个变量。

| 变量 | 内容 | 例子 |
| --- | --- | --- |
| `{form_title}` | lead表单标题 | Kopi Kampung Wholesale Enquiry |
| `{submission_id}` | 提交编号 | SUB-12345 |
| `{submission_datetime}` | 提交的时间 | 27/09/2026 21:32 |
| `{business_name}` | 你的商家名称 | KOPI KAMPUNG SDN. BHD. |
| `{field_name:id}` | 某个栏位的答案 | `{email_address:2}` = aisyah@example.com |

栏位变量使用栏位名称和它的id，中间用冒号连接，例如`{full_name:1}`或`{monthly_volume:5}`。**Variables**列表会按表单分组显示它们，所有已选表单共有的栏位则在**On every form**下。复选框的答案会用逗号连接。文件和签名栏位不能用。

## 活动变量

**Participant Created**、**Participant Checked In**和**Certificate Generated**共用这些变量。`{certificate_url}`只在**Certificate Generated**时有值。

| 变量 | 内容 | 例子 |
| --- | --- | --- |
| `{attendee_name}` | 参加者名字 | Zainab Harun |
| `{attendee_email}` | 参加者电邮 | zainab.harun@example.com |
| `{attendee_phone}` | 参加者电话 | +60133456786 |
| `{ticket_number}` | 门票号码 | DDGO36C1 |
| `{ticket_name}` | 票种 | Normal |
| `{ticket_url}` | 门票链接 | `https://<your-subdomain>.bcl.my/ticket/DDGO36C1/view` |
| `{seat_number}` | 座位，适用于对号入座的活动 | B1-006 |
| `{event_name}` | 活动名称 | Kopi Kampung Coffee Festival 2026 |
| `{event_type}` | 活动类型 | seating |
| `{event_date}`、`{event_start_date}` | 开始日期 | 17/10/2026 |
| `{event_end_date}` | 结束日期 | 17/10/2026 |
| `{event_time}` | 开始时间 | 09:00 |
| `{event_location}`、`{event_address}` | 场地地点 | Dewan Kopi Kampung, Jalan Kopi 1, 50450 Kuala Lumpur |
| `{price_paid}` | 已付价格，已格式化 | RM 35.00 |
| `{original_price}` | 折扣前的门票价格 | RM 35.00 |
| `{order_number}` | 订单号码 | LINK-05856 |
| `{created_at}` | 参加者创建的时间 | 27/09/2026 22:20 |
| `{certificate_url}` | 证书链接 | https://... |
| `{business_name}` | 你的商家名称 | KOPI KAMPUNG SDN. BHD. |

你在活动表单添加的参加者栏位，可以用`{attendance_<field name>}`，例如`{attendance_favourite_coffee}`。买家的自定义栏位和付款表单一样可以用。

## affiliate变量

| 变量 | 触发器 | 内容 | 例子 |
| --- | --- | --- | --- |
| `{affiliate_id}` | 所有affiliate触发器 | Affiliate ID | 12 |
| `{affiliate_name}` | 所有affiliate触发器 | Affiliate名字 | Amir Rashid |
| `{affiliate_email}` | 所有affiliate触发器 | Affiliate电邮 | amir@example.com |
| `{affiliate_phone}` | 所有affiliate触发器 | Affiliate电话 | 60123456789 |
| `{business_name}` | 所有affiliate触发器 | 你的商家名称 | KOPI KAMPUNG SDN. BHD. |
| `{referral_id}` | Referral Approved、Referral Rejected | 推荐ID | 34 |
| `{order_number}` | Referral Approved、Referral Rejected | 带来这个推荐的订单 | LINK-12345 |
| `{amount}` | Referral Approved、Referral Rejected | 订单金额 | RM 150.00 |
| `{commission_formatted}` | Referral Approved、Referral Rejected | 佣金 | RM 15.00 |
| `{status}` | Referral Approved、Referral Rejected | 推荐状态 | approved |
| `{referral_source}` | Referral Approved、Referral Rejected | 推荐来源 | Website |
| `{payout_id}` | Payout Requested | 提款申请ID | 7 |
| `{payout_formatted}` | Payout Requested | 提款金额 | RM 500.00 |
| `{payout_status}` | Payout Requested | 提款状态 | pending |
| `{requested_at}` | Payout Requested | 申请的时间 | 27/09/2026 10:15 |
| `{referral_count}` | Payout Requested | 这位affiliate的推荐总数 | 18 |

## 小贴士

几个好习惯，让你用变量更省时间：

- **HTTP request里用只有数字的金额**。在那里用`{amount_value}`，信息里则用已格式化的`{amount}`。
- **查看真实运行的资料**。在自动化的运行记录里，打开一次执行，查看**Execution Data**：它列出每个变量和当时的值，是找出空白变量最快的方法。
- **用`{items_summary}`让SMS保持简短**。`{product_table}`只在电邮里用。

## 常见问题

### 为什么我的HTTP request发送的lead表单栏位名字和电邮是空的？

lead表单栏位需要栏位名称和id，例如{email_address:2}。lead没有单独的{email}或{email_address}，而不存在的变量会变成空白，也不会显示错误。请从Variables列表复制准确的key。

### 怎样把每个产品的下载链接放进电邮里？

用{product_table}放一个每个产品都有Access按钮的表格，或用产品变量，例如{download_link_1}和{protected_content_url_1_1}，自己安排每个链接的位置。

### 我可以显示顾客在付款表单自定义栏位里填的答案吗？

可以。付款、活动或预约表单上的每个自定义栏位，都会成为一个以栏位名称命名的变量，例如{company_name}。用真实购买测试，然后在运行记录里查看执行资料。
