Hành động (Actions) là gì?
Hành động là các thao tác được thực hiện tự động khi một thẻ được quét. Các hành động chạy theo thứ tự từ trên xuống dưới. Mỗi hành động có thể có điều kiện CEL để kiểm soát khi nào nó được thực hiện.Chín loại hành động
Validate Pass và Scan Once chỉ có ở máy quét, vì chúng gắn với một lượt quét cụ thể. Sự kiện lịch hỗ trợ bảy hành động còn lại.
Chi tiết từng hành động
Validate Pass
Kiểm tra tính hợp lệ của thẻ. Đây thường là hành động đầu tiên để đảm bảo thẻ hợp lệ trước khi thực hiện các hành động khác.- CEL Rule Expression: Điều kiện kiểm tra, ví dụ
pass.data.visits < 10 - Error Message: Thông báo hiển thị khi điều kiện không thoả
Increment
Tăng giá trị của một trường dữ liệu số (ví dụ: số lần ghé thăm, điểm tích lũy).
- Field Name: Tên trường dữ liệu cần tăng
- Value: Giá trị tăng thêm (mặc định là 1)
- Label (for scanner input): Nhãn hiển thị trên giao diện quét
- Placeholder: Văn bản gợi ý trong ô nhập
- Show in Additional params: Hiển thị trường này trong phần tham số bổ sung
Khi nhân viên nhập một giá trị trên giao diện quét, giá trị đó thay thế giá trị mặc định của hành động cho lượt quét đó. Nhờ vậy cùng một máy quét phục vụ được nhiều tình huống — ví dụ cộng 1 điểm thường ngày, cộng 5 điểm vào ngày khuyến mãi.
Decrement
Giảm giá trị của một trường dữ liệu số (ví dụ: số vé còn lại, số lượt sử dụng). Cấu hình tương tự như Increment: Field Name, Value, Label (for scanner input), Placeholder, Show in Additional params. Kết quả được giới hạn ở 0 — trừ quá số hiện có sẽ dừng ở 0, không thành số âm.Update Data
Ghi dữ liệu vào thẻ bằng một JSON object.Void
Vô hiệu hóa thẻ. Sau khi thực hiện, thẻ không còn hiệu lực.Sync
Đẩy bản cập nhật mới nhất lên Apple Wallet và Google Wallet.Trong phần lớn trường hợp bạn không cần thêm Sync thủ công. Thao tác ghi dữ liệu đã tự đẩy bản cập nhật lên ví. Chỉ thêm Sync khi bạn muốn một hành động riêng buộc đồng bộ lại.
Notify
Gửi thông báo đẩy đến người dùng thẻ.
- Notification Message: Nội dung thông báo gửi đến người sở hữu thẻ
- Translations: Thêm bản dịch theo mã ngôn ngữ
Ở đây bạn nhập mã ngôn ngữ tự do (ví dụ
en, vi, fr), khác với mẫu thẻ nơi ngôn ngữ chọn từ danh sách cố định.Webhooks
Gọi một webhook URL khi quét thẻ để tích hợp với hệ thống bên ngoài.
- Webhook URL: URL endpoint nhận dữ liệu
- Authentication: Phương thức xác thực
- Include in Payload: Chọn dữ liệu gửi kèm
- Pass ID
- External ID
- Scanner ID
- Scanner Name
- Project ID
- Scanned At
- Pass Data
Webhook giúp tích hợp XanhCard với các hệ thống bên thứ ba như CRM, POS, hoặc hệ thống quản lý sự kiện. Webhook được gọi sau khi chuỗi hành động chạy xong, nên payload phản ánh trạng thái cuối cùng của thẻ.
Scan Once
Chỉ chấp nhận quét thẻ một lần trong khoảng thời gian bạn đặt.- Error Message: Thông báo hiển thị khi mã đã được quét trong khoảng đó. Mặc định là
QR code already scanned - Period: Khoảng thời gian áp dụng
Điều kiện hành động (CEL Rule Expression)
Bạn có thể đặt điều kiện cho mỗi hành động bằng biểu thức CEL:- Hành động đó sẽ không được thực hiện
- Thông báo lỗi sẽ hiển thị trên giao diện quét
- Các hành động tiếp theo không được thực hiện
Thứ tự hành động
Các hành động được thực hiện theo thứ tự từ trên xuống dưới. Bạn có thể sắp xếp lại thứ tự bằng nút Move up và Move down. Ví dụ luồng hành động cho sự kiện:1
Validate Pass
Kiểm tra thẻ có hợp lệ không
2
Scan Once
Đảm bảo vé chưa được quét
3
Increment
Tăng số lần check-in
4
Update Data
Cập nhật trạng thái thành “checked_in”
5
Notify
Gửi thông báo chào mừng đến người dùng