Để dùng một mẫu với nhiều bộ dữ liệu, trước hết bạn cần cho Tembuilder biết mẫu sẽ nhận những trường nào. Phần Parameters giúp bạn đặt tên, chọn kiểu và chuẩn bị giá trị mặc định cho các trường đó.
Bạn có thể bắt đầu với một trường đơn giản, nối nó vào HTML rồi mở Payload để xem cấu trúc dữ liệu đã tạo.
1. Thêm trường trong Schema
Mở Parameters, chọn Schema rồi bấm Add. Đổi tên trường được tạo thành tên bạn muốn dùng, ví dụ recipient.
| Kiểu | Dữ liệu phù hợp |
|---|---|
| Text | Tên, địa chỉ, mã tham chiếu hoặc chuỗi đã định dạng. |
| Number | Số lượng hoặc giá trị số. |
| Boolean | Giá trị true / false. |
| Object | Nhóm trường có tên. |
| Array | Danh sách các phần tử cùng cấu trúc. |
Color và Asset là kiểu dành cho Props trong giao diện hiện tại, không nằm trong danh sách kiểu của Parameters.
2. Đặt Default và Required
Trên thẻ trường, điền Default để có giá trị dùng khi bên gọi bỏ qua trường đó. Dấu bắt buộc ở đầu thẻ bật/tắt trạng thái Required của trường.
Chọn giá trị đúng kiểu: Number dùng 2, Boolean dùng true hoặc false; không dùng chuỗi "2" thay cho số. Một chuỗi rỗng vẫn là giá trị đã gửi, không đồng nghĩa với việc bỏ trường khỏi dữ liệu.
Bạn có thể thêm mô tả ở thẻ trường để ghi rõ ý nghĩa, đơn vị hoặc cách đặt giá trị cho người sử dụng mẫu.
3. Nối trường với nội dung
Mỗi thẻ có một biểu thức EMBED. Với trường recipient, chèn vào HTML của section:
<p>{{ params.recipient }}</p>
recipient phải khớp tên trong Schema. Nếu đổi tên trường sau này, cập nhật cả biểu thức trong HTML và dữ liệu đang gửi vào mẫu.
{{ params.recipient }}4. Lấy cấu trúc từ Payload
Chuyển sang Payload để xem object được tạo từ các trường và giá trị mặc định:
{
"recipient": "Tembuilder",
"copies": 2,
"showNotes": true
}
Đây là object dữ liệu của mẫu. Dùng cùng cấu trúc khi nhập dữ liệu trong Run. Khi tích hợp qua API, object này nằm trong trường parameters của yêu cầu; xem Render API reference để xem các field và endpoint.
Với trường lồng nhau hoặc danh sách, tiếp tục ở bài Object, array và bảng dữ liệu.
{ "recipient": "Tembuilder", "copies": 2, "showNotes": true}