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 ​