Giới thiệu
Node HTTP Request là con dao đa năng của n8n. Bất cứ khi nào không có tích hợp sẵn cho dịch vụ bạn cần, node này cho phép bạn gọi trực tiếp bất kỳ REST API nào — GET, POST, PUT, PATCH, DELETE, tất cả đều được. Khi phản hồi trả về, n8n cung cấp cho bạn toàn bộ payload JSON, và bạn dùng biểu thức để lấy ra chính xác các trường bạn quan tâm.
Bài học này sẽ đi qua toàn bộ chu trình: cấu hình node, gửi request, đọc cấu trúc phản hồi và nối các giá trị cụ thể vào bước tiếp theo của workflow.
Cấu hình node HTTP Request
Thêm một node HTTP Request vào canvas, sau đó điền ba thứ trước tiên: phương thức HTTP, URL và xác thực (nếu API yêu cầu).
Với một endpoint công khai không cần xác thực, một GET tối thiểu trông như sau trong trường biểu thức URL của n8n:
Đối với API yêu cầu key, vào phần Authentication, chọn Header Auth và đặt tên header (thường là Authorization) cùng giá trị (thường là Bearer YOUR_TOKEN). Bạn có thể lưu token trong một Credential của n8n để không bao giờ phải hard-code trong node.
Khi cần gửi một body JSON — cho một request POST tạo tài nguyên — hãy đặt Body Content Type là JSON và viết payload trong trường Body:
Cú pháp hai dấu ngoặc nhọn là biểu thức của n8n, lấy giá trị từ output của node trước đó tại thời điểm chạy.
Đọc cấu trúc Response
Sau khi bạn nhấn Execute Node, n8n hiển thị response trong panel Output bên phải. Mỗi response sẽ thể hiện ba thành phần: status code, headers và body. Theo mặc định, n8n tự động parse body JSON và trả về dưới dạng dữ liệu có cấu trúc mà bạn có thể duyệt qua.
Giả sử Open-Meteo API trả về như sau:
Trong panel Output, bạn có thể nhấp vào cây để xem từng trường lồng nhau. Bước khám phá này rất quan trọng — hãy thực hiện trước khi viết bất kỳ expression nào, để bạn biết chính xác đường dẫn key.
Nếu API trả về response không phải JSON (plain text, XML), hãy bật tùy chọn Return Full Response và đổi Response Format sang Text, sau đó xử lý việc parse thủ công trong node Code ở phía sau.
Trích xuất dữ liệu bằng Expressions
Khi đã biết cấu trúc, bạn tham chiếu đến các trường bằng cú pháp expression của n8n trong bất kỳ node nào phía sau. Gốc của output HTTP Request luôn có thể truy cập qua tên node.
Để lấy giá trị nhiệt độ từ ví dụ trên trong node tiếp theo:
Hoặc, nếu bạn đang ở trong node ngay sau nó (implicit previous node), hãy dùng dạng rút gọn:
Khi API trả về một mảng — ví dụ danh sách đơn hàng — body của response chính là mảng đó, hoặc được lồng dưới một key như data. Để lặp qua nó, hãy kết nối node HTTP Request với node Split In Batches hoặc dùng node Item Lists được thiết lập thành Split Out Items, sau đó mỗi lần thực thi phía sau sẽ nhận một item tại một thời điểm.
Đây là cách bạn tham chiếu trực tiếp đến trường id của phần tử thứ ba mà không cần tách (đánh chỉ số từ 0):

Những lỗi thường gặp
Thiếu header Content-Type là vấn đề phổ biến nhất khi POST dữ liệu. Nếu bạn đặt Body Content Type là JSON, n8n sẽ tự động thêm header. Nếu bạn chuyển sang Raw, hãy thêm thủ công header: Content-Type với giá trị application/json.
Một lỗi phổ biến khác là cố gắng tham chiếu một trường nằm sâu hơn một cấp so với dự kiến. Luôn sử dụng panel Output để xác minh đường dẫn chính xác trước khi viết biểu thức — những giả định về cấu trúc phản hồi API thường sai nhiều hơn là đúng.
Giới hạn tốc độ (Rate limiting) là vấn đề thứ ba. Nếu workflow của bạn chạy thường xuyên với cùng một API, hãy thêm node Wait giữa các lần lặp và kiểm tra tài liệu API để biết các header giới hạn tốc độ (Retry-After, X-RateLimit-Remaining). n8n không tự động xử lý việc giới hạn tốc độ.
Tóm tắt
Node HTTP Request bao gồm ba bước: thiết lập method và URL, xác thực nếu cần, và gửi body tùy chọn. Sau khi thực thi, sử dụng panel Output để khám phá cây phản hồi, sau đó tham chiếu các trường cụ thể trong các node phía sau bằng cách dùng biểu thức với cú pháp rút gọn $json hoặc $node["NodeName"].json để truy cập chéo giữa các node. Đối với phản hồi dạng mảng, hãy tách các item trước khi xử lý riêng lẻ. Làm quen với quy trình này sẽ mở ra khả năng tích hợp với hầu như bất kỳ REST API nào trong n8n.
Bài kiểm tra cuối bài
Ôn lại kiến thức, thử sức và nhận góp ý cho bài làm.