Học lập trình căn bản cho việc sử dụng n8n

Học lập trình căn bản cho việc sử dụng n8n

Về bản chất, n8n là một công cụ giúp di chuyển và xử lý dữ liệu giữa các ứng dụng. Hầu hết thời gian, bạn dùng các khối (node) trực quan. Nhưng đôi khi, dữ liệu không có đúng hình dạng bạn cần. Code chính là công cụ vạn năng giúp bạn nhào nặn, thay đổi, và điều khiển dòng chảy dữ liệu đó theo ý muốn.

Chúng ta sẽ đi qua một lộ trình 4 giai đoạn, từ tư duy nền tảng đến thực hành cụ thể.

Giai đoạn 0: Xây dựng Tư duy Nền tảng (The "Why")

Trước khi viết bất kỳ dòng code nào, chúng ta cần hiểu "tại sao" lại cần đến nó.

Hãy tưởng tượng bạn đang ở trong một nhà bếp. n8n là người đầu bếp của bạn.

Các node có sẵn (như Google Sheets, Gmail) giống như những dụng cụ làm bếp cơ bản: dao, thớt, nồi. Bạn có thể làm các món ăn đơn giản.

Viết code giống như bạn đưa cho đầu bếp một công thức phức tạp hoặc một kỹ thuật đặc biệt (ví dụ: "chỉ lấy phần lòng đỏ của 3 quả trứng đầu tiên và đánh đều với đường theo tỷ lệ 2:1"). Người đầu bếp sẽ thực hiện chính xác theo chỉ dẫn đó.

➡️ Câu hỏi cho bạn: Trong công việc của mình, bạn có bao giờ gặp trường hợp phải xử lý một danh sách dữ liệu (ví dụ: danh sách khách hàng) và ước gì mình có thể tự động: "Lọc ra những ai ở TP.HCM  đã mua hàng trên 2 lần"? Hành động "lọc và đếm" đó chính là lúc code phát huy tác dụng.

 

Giai đoạn 1: Học Ngôn ngữ của Dữ liệu - JSON

Đây là bước quan trọng nhất. Mọi dữ liệu chảy trong n8n đều có cấu trúc gọi là JSON (JavaScript Object Notation). Nếu bạn không hiểu JSON, bạn sẽ không biết mình đang làm việc với cái gì.

Hãy nghĩ đơn giản thế này:

Object {} (Đối tượng): Giống như một tấm thẻ thông tin của một người. Nó có các cặp "nhãn: giá trị".

Ví dụ: { "ten": "Nguyễn Văn A", "tuoi": 30, "email": "[email protected]" }

Array [] (Mảng): Giống như một chồng thẻ thông tin của nhiều người. Nó là một danh sách.

Ví dụ: [ { "ten": "A" },{"ten": "B" }]

Mục tiêu của bạn:

Nhìn vào một đoạn dữ liệu JSON và mô tả được nó bằng lời.

Biết cách "chỉ đường" để lấy một thông tin cụ thể. Ví dụ: Để lấy email trong thẻ thông tin ở trên, đường đi là email. Để lấy tên của người thứ hai trong danh sách, đường đi là [1].ten (máy tính đếm từ 0).

Nguồn học đề xuất:

W3Schools - JSON Introduction: Cực kỳ trực quan và dễ hiểu cho người mới.

JSON Formatter: Một công cụ online để bạn dán dữ liệu JSON vào và xem nó dưới dạng cây thư mục cho dễ đọc.

 

Giai đoạn 2: Học Công cụ để Biến đổi Dữ liệu - JavaScript Căn bản

Bây giờ chúng ta mới học đến "công cụ". Ngôn ngữ được dùng trong n8n là JavaScript. Bạn không cần học hết, chỉ cần tập trung vào những thứ cốt lõi sau:

Biến (Variables): Cách đặt tên và lưu trữ thông tin (ví dụ: const customerEmail ="[email protected]";).

Kiểu dữ liệu (Data Types): String (chữ), Number (số), Boolean (đúng/sai), Object, Array (bạn đã học ở trên).

Toán tử (Operators):

Số học: +, -, *, /

So sánh: === (bằng), !== (không bằng), > (lớn hơn), < (nhỏ hơn)

Logic: && (và), || (hoặc)

Câu lệnh điều kiện (If...Else): Đây là cách bạn "dạy" cho máy tính cách ra quyết định.

Ví dụ: NẾU (khách hàng ở "TP.HCM") THÌ (gán tag "HCM") NGƯỢC LẠI THÌ (gán tag "Other").

Vòng lặp (Loops - for, forEach): Công cụ để xử lý một danh sách (mảng).

Ví dụ: Với MỖI khách hàng trong danh sách, hãy lấy email của họ và thêm vào một danh sách mới.

Hàm (Functions - cơ bản): Hiểu cách một hàm nhận đầu vào (input) và trả về kết quả (output).

Nguồn học đề xuất:

freeCodeCamp - Basic JavaScript: Học theo lộ trình, có bài tập thực hành ngay trên trình duyệt.

MDN Web Docs (Mozilla): Như từ điển bách khoa toàn thư về JavaScript. Khi bạn muốn tìm hiểu sâu về một khái niệm nào đó, hãy tìm ở đây.

Giai đoạn 3: Học cách Giao tiếp - API Căn bản

n8n rất mạnh trong việc kết nối các dịch vụ qua API (Application Programming Interface). Hiểu về API sẽ giúp bạn làm việc với node HTTP Request - một trong những node mạnh mẽ nhất.

Nguyên tắc cốt lõi: API giống như một người phục vụ trong nhà hàng. Bạn (client) đưa ra yêu cầu (request),người phục vụ sẽ đến nhà bếp (server) lấy món ăn (dữ liệu) và mang ra cho bạn (response).

Bạn chỉ cần hiểu:

API là gì? Nó là cổng giao tiếp giữa các phần mềm.

HTTP Methods:

GET: Để lấy dữ liệu (ví dụ: lấy danh sách bài viết từ blog).

POST: Để tạo mới dữ liệu (ví dụ: đăng một bài viết mới).

PUT/PATCH: Để cập nhật dữ liệu.

DELETE: Để xóa dữ liệu.

Cấu trúc của một yêu cầu: Gồm URL (địa chỉ),Headers (thông tin bổ sung),Body (nội dung chính của yêu cầu).

Status Codes: 200 OK (thành công), 404 Not Found (không tìm thấy), 401 Unauthorized (không có quyền truy cập), 500 Internal Server Error (lỗi từ server).

 

Giai đoạn 4: Thực hành trong Môi trường n8n

Đây là lúc kết hợp tất cả lại với nhau.

Bắt đầu với Expressions:

Đây là những đoạn code JavaScript nhỏ bạn viết ngay trong các node.

Ví dụ: Trong node Gmail, phần thân email bạn có thể viết: Chào {{ $json.body.customerName }}, cảm ơn bạn đã đặt hàng.

Hãy tập lấy dữ liệu từ các node trước đó bằng Expressions. Đây là kỹ năng sử dụng hàng ngày.

Chuyển sang Node "Code" (trước đây là Function):

Khi bạn cần xử lý logic phức tạp mà Expressions không đủ, hãy dùng node này.

Bài tập thực hành: Tạo một workflow đơn giản.

Node 1 (Webhook): Nhận một dữ liệu JSON giả lập có dạng: { "fullName": "Nguyễn Thị B", "age": 25 }.

Node 2 (Code): Viết code để tách fullName thành firstName ("Thị B") và lastName ("Nguyễn"). Sau đó thêm một trường status là "active". Dữ liệu đầu ra sẽ là { "firstName": "Thị B", "lastName": "Nguyễn", "age": 25, "status": "active" }.

Node 3 (NoOp): Chỉ để xem kết quả cuối cùng.

Bảng tóm tắt Lộ trình

Giai đoạnChủ đề chínhMục tiêu cốt lõiNguồn học đề xuất
0Tư duy nền tảngHiểu "tại sao" và "khi nào" cần dùng code trong n8n.Suy ngẫm từ các vấn đề công việc thực tế.
1JSONĐọc, hiểu và biết cách truy xuất dữ liệu trong cấu trúc JSON.W3Schools, JSON Formatter
2JavaScript Căn bảnNắm vững biến, điều kiện, vòng lặp để xử lý dữ liệu.freeCodeCamp, MDN
3API Căn bảnHiểu cách các ứng dụng "nói chuyện" với nhau.Các video giải thích API trên YouTube.
4Thực hành n8nÁp dụng kiến thức vào Expressions và Code Node trong workflow.Tài liệu của n8n, xây dựng các workflow cá nhân.

 

Lời khuyên cuối cùng

Sau mỗi giai đoạn, hãy thử giải thích lại những gì bạn học được bằng ngôn ngữ đơn giản nhất. Ví dụ, hãy thử giải thích cho một người không biết gì về lập trình: "JSON nó giống như một cái sơ yếu lý lịch vậy đó..."

Hãy bắt đầu từ Giai đoạn 1. Cứ đi từng bước một, đừng vội vàng. Mục tiêu không phải là trở thành chuyên gia JavaScript, mà là trở thành người dùng n8n thành thạo.

Võ Minh Trí

Article by Võ Minh Trí

Published 23 Oct 2025