Giao diện
@digiforce-nc/plugin-workflow-request
Plugin đăng ký node HTTP request trong workflow, mở rộng plugin-workflow. Gọi API bên ngoài hoặc endpoint nội bộ với URL, headers, body có thể sử dụng template biến workflow.
Plugin này làm gì?
Node HTTP Request gửi HTTP request đến URL chỉ định. Hỗ trợ tất cả HTTP methods (GET, POST, PUT, PATCH, DELETE), tùy chỉnh headers, body, và query params. URL, headers, body đều hỗ trợ template biến workflow để tạo request động.
Đây là node quan trọng nhất cho tích hợp hệ thống bên ngoài. Bất kỳ API nào có HTTP endpoint đều có thể gọi từ workflow qua node này.
Cấu hình
| Tham số | Kiểu | Mô tả |
|---|---|---|
method | string | HTTP method: GET, POST, PUT, PATCH, DELETE |
url | string | URL đích (hỗ trợ template biến) |
headers | object | HTTP headers tùy chỉnh |
params | object | Query parameters |
body | object/string | Request body (JSON hoặc text) |
timeout | number | Timeout request (ms), mặc định 5000 |
ignoreFail | boolean | Tiếp tục workflow ngay cả khi request lỗi |
contentType | string | Content-Type: application/json, form-data, ... |
Input / Output
| Hướng | Dữ liệu | Mô tả |
|---|---|---|
| Input | url, method | Endpoint và phương thức HTTP |
| Input | headers, body | Nội dung request (hỗ trợ template) |
| Output | statusCode | HTTP status code từ response |
| Output | headers | Response headers |
| Output | body | Response body (auto-parse JSON) |
Tính năng chính
| # | Tính năng | Chi tiết |
|---|---|---|
| 1 | Mọi HTTP method | GET, POST, PUT, PATCH, DELETE, HEAD |
| 2 | Template URL | URL chứa biến workflow |
| 3 | Auth headers | Truyền Bearer token, API key qua headers |
| 4 | Auto parse | Tự động parse JSON response body |
| 5 | Error handling | Cấu hình bỏ qua lỗi hoặc dừng workflow |
| 6 | Timeout | Giới hạn thời gian chờ response |
Trường hợp sử dụng
| # | Kịch bản | Mô tả |
|---|---|---|
| 1 | Gọi API thanh toán | POST đến payment gateway để tạo giao dịch |
| 2 | Lấy tỷ giá | GET API tỷ giá ngoại tệ để tính giá |
| 3 | Đồng bộ CRM | PUT cập nhật contact trong Salesforce/HubSpot |
| 4 | Webhook callback | POST kết quả xử lý về hệ thống gọi |
HTTP Status Code xử lý
| Status | Hành vi | ignoreFail = true |
|---|---|---|
| 2xx | Thành công, tiếp tục | Tiếp tục |
| 3xx | Follow redirect | Follow redirect |
| 4xx | Lỗi client, dừng workflow | Tiếp tục (body = error) |
| 5xx | Lỗi server, dừng workflow | Tiếp tục (body = error) |
| Timeout | Dừng workflow | Tiếp tục (body = null) |
Lưu ý quan trọng
- Timeout mặc định 5 giây - tăng lên cho API chậm (file upload, báo cáo)
ignoreFail: truegiữ workflow chạy khi API lỗi - kiểm tra statusCode ở node sau- Response body quá lớn có thể ảnh hưởng memory - chỉ lấy field cần qua JSON Query
- Headers nhạy cảm (API key, token) nên lưu trong biến môi trường
- Cẩn thận retry: POST request có thể tạo duplicate nếu API không idempotent
Dependencies
| Package | Vai trò |
|---|---|
@digiforce-nc/plugin-workflow | Workflow engine (peer) |
@digiforce-nc/server | Server framework (peer) |