Bỏ qua, đến nội dung

@digiforce-nc/plugin-workflow-webhook

Plugin đăng ký trigger kích hoạt workflow từ webhook URL, mở rộng plugin-workflow. Hệ thống bên ngoài gửi HTTP request đến URL webhook unique, workflow tự động khởi chạy với dữ liệu từ request body.

Plugin này làm gì?

Webhook Trigger tạo một URL endpoint duy nhất cho mỗi workflow. Khi hệ thống bên ngoài (CRM, payment gateway, CI/CD, ...) gửi HTTP POST đến URL này, workflow được kích hoạt với toàn bộ dữ liệu từ request body làm input.

Webhook URL có dạng: https://your-domain.com/api/webhooks/:webhookId

Mỗi workflow có một webhookId unique, đảm bảo chỉ workflow đúng được kích hoạt. Secret token bảo vệ endpoint khỏi request trái phép.

Cấu hình

Tham sốKiểuMô tả
enabledbooleanBật/tắt webhook endpoint
secretstringSecret token xác thực request (header Authorization)
syncbooleantrue: chờ workflow xong rồi trả result; false: trả 202 ngay
methodstringHTTP method chấp nhận (mặc định: POST)

Input / Output

HướngDữ liệuMô tả
InputbodyRequest body (JSON) từ hệ thống bên ngoài
InputheadersHTTP headers của request
InputqueryQuery parameters
OutputstatusHTTP status code trả về
OutputbodyResponse body (khi sync mode)

Tính năng chính

#Tính năngChi tiết
1URL uniqueMỗi workflow có URL webhook riêng, dễ quản lý
2Secret tokenBảo mật endpoint bằng token xác thực
3Sync / AsyncChọn trả kết quả ngay hoặc chạy nền
4JSON parsingTự động parse request body thành object
5Retry-safeIdempotent - an toàn khi hệ thống ngoài retry

Trường hợp sử dụng

#Kịch bảnMô tả
1Payment callbackCổng thanh toán gọi webhook khi giao dịch hoàn tất
2GitHub webhookNhận event push/PR từ GitHub, tự động cập nhật task
3IoT data ingestionThiết bị IoT gửi dữ liệu sensor qua webhook
4Zapier / n8nKết nối với các nền tảng automation bên ngoài
5Form submissionNhận dữ liệu form từ landing page bên ngoài

Lưu ý quan trọng

  • Luôn bật secret để bảo vệ webhook khỏi request trái phép
  • Chế độ sync giữ connection mở - cẩn thận timeout nếu workflow chạy lâu
  • Webhook URL không thay đổi khi sửa workflow - an toàn cho hệ thống bên ngoài
  • Request body quá lớn (trên 1MB) có thể bị từ chối tùy cấu hình server
  • Test webhook bằng curl hoặc Postman trước khi cấu hình hệ thống bên ngoài

Dependencies

PackageVai trò
@digiforce-nc/plugin-workflowWorkflow engine (peer)
@digiforce-nc/serverServer framework - route registration (peer)
@digiforce-nc/actionsAction context types (peer)

Mục lục chi tiết