Tự động hóa và lập trình
Webhook và API là gì? Giải thích cho người không lập trình bằng ví dụ form đăng ký vào Google Sheets
Hai cách phần mềm nói chuyện với nhau giải thích bằng một luồng quen thuộc ở văn phòng, bảng đối chiếu webhook và API, những từ hay gặp khi nối API, và ba lỗi người mới gặp ở buổi API của khóa n8n.
Hai cách phần mềm nói chuyện với nhau
Mọi quy trình tự động, từ n8n tới chatbot, đều dựa trên việc phần mềm này lấy được dữ liệu của phần mềm kia. Có hai cách để làm việc đó.
API là cách bạn chủ động hỏi. Phần mềm A gửi một yêu cầu tới phần mềm B theo đúng cú pháp B quy định, B trả lời. Giống gọi lên tổng đài: bạn bấm số, hỏi đúng câu, nhận câu trả lời. Muốn biết có gì mới, bạn phải gọi lại.
Webhook là cách phần mềm B tự báo cho bạn khi có việc. Bạn đưa cho B một địa chỉ web của mình; khi có sự kiện, B gửi dữ liệu tới địa chỉ đó. Giống chuông cửa: bạn không phải ra mở cửa xem có ai không, có người thì chuông kêu.
Hai cách bổ sung cho nhau. Webhook để biết khi nào có việc, API để đi lấy thêm thông tin hoặc ra lệnh cho phần mềm khác làm gì đó.
Ví dụ: form đăng ký vào Google Sheets rồi báo Zalo
Đây là bài thực hành đầu tiên của nhiều học viên khóa n8n AI Automation, vì văn phòng nào cũng có một cái form. Luồng gồm bốn đoạn:
- Khách điền form. Biểu mẫu được cấu hình để mỗi lần có câu trả lời mới thì gửi dữ liệu tới một địa chỉ do n8n cấp. Đoạn này là webhook: form chủ động gọi n8n.
- n8n nhận và đọc. Node Webhook trong n8n nhận gói dữ liệu, thường ở dạng JSON, gồm tên, số điện thoại, khóa quan tâm. n8n tách các trường này ra để bước sau dùng.
- Ghi vào Google Sheets. n8n gửi yêu cầu tới Google Sheets: thêm một dòng vào bảng này với các giá trị này. Đoạn này là API: n8n chủ động gọi Google, kèm thông tin xác thực chứng minh nó được phép ghi vào bảng của bạn.
- Báo cho người phụ trách. n8n gọi tiếp API của Zalo hoặc Telegram để gửi một tin nhắn tóm tắt. Cũng là API, khác chỗ nhận.
Ảnh sản phẩm học viên kèm bài này là một luồng cùng nguyên lý nhưng đầu vào là ảnh chứng từ gửi qua Zalo: webhook nhận ảnh, API gọi dịch vụ đọc chữ và mô hình AI, rồi API ghi kết quả vào Google Sheets.
Bảng đối chiếu
| Tiêu chí | Webhook | API |
|---|---|---|
| Ai chủ động | Phần mềm kia gọi bạn | Bạn gọi phần mềm kia |
| Chạy khi nào | Khi có sự kiện: form mới, đơn mới, tin nhắn mới | Khi bạn cần: đọc, ghi, gửi, tra |
| Bạn cần chuẩn bị gì | Một địa chỉ nhận (n8n cấp sẵn) và cấu hình bên gửi | Địa chỉ của bên kia, cú pháp yêu cầu và thông tin xác thực |
| Trong n8n là node nào | Webhook, hoặc các node Trigger của từng ứng dụng | HTTP Request, hoặc node riêng của từng ứng dụng như Google Sheets, Gmail |
| Hay gặp lỗi gì | Địa chỉ thử với địa chỉ chính thức, dữ liệu gửi tới không đúng dạng | Sai xác thực, sai định dạng, quá giới hạn số lần gọi |
Những từ hay gặp khi nối API
Khi mở tài liệu API của một dịch vụ, bạn gặp lặp đi lặp lại bảy từ này. Hiểu chúng ở mức đủ dùng là hết phần khó nhất.
| Từ | Nghĩa đủ dùng | Ví dụ |
|---|---|---|
| Endpoint | Địa chỉ cụ thể cho một việc | Một địa chỉ để đọc bảng, một địa chỉ khác để ghi |
| Method | Loại yêu cầu | GET là đọc, POST là gửi dữ liệu mới, PUT hoặc PATCH là sửa, DELETE là xóa |
| Header | Thông tin kèm theo yêu cầu | Chỗ đặt khóa xác thực và khai báo dữ liệu gửi đi là JSON |
| API key, token | Khóa chứng minh bạn được phép | Lấy trong phần cài đặt của dịch vụ; ai có khóa là dùng được như bạn |
| JSON | Dạng dữ liệu phần mềm trao đổi | Cặp tên và giá trị trong ngoặc nhọn, n8n đọc và tạo tự động |
| Mã trả về | Kết quả của yêu cầu | 200 là được, 401 là sai xác thực, 404 là sai địa chỉ, 429 là gọi quá nhiều |
| Rate limit | Giới hạn số lần gọi trong một khoảng thời gian | Vượt thì nhận mã 429, phải chờ hoặc giãn lịch chạy |
Trong n8n, bạn không viết những thứ này bằng tay với các ứng dụng phổ biến: node Google Sheets, Gmail, Telegram đã lo phần cú pháp, bạn chỉ chọn thao tác và điền giá trị. HTTP Request chỉ cần khi dịch vụ chưa có node riêng, ví dụ Zalo OA hoặc phần mềm nội bộ. Bài chatbot Zalo và Messenger bằng n8n là trường hợp dùng HTTP Request điển hình.
Ba lỗi người mới hay gặp
Địa chỉ thử và địa chỉ chính thức. Node Webhook của n8n cấp hai địa chỉ. Địa chỉ thử chỉ hoạt động khi bạn đang bấm chạy thử, dùng để xem dữ liệu đến trông thế nào. Địa chỉ chính thức chỉ hoạt động khi workflow đã bật. Dán nhầm là luồng chạy được lúc thử rồi im lặng khi dùng thật.
Khóa API để sai chỗ. Dán khóa thẳng vào node hoặc chia sẻ workflow kèm khóa. n8n có phần Credentials để lưu khóa riêng, mã hóa, và dùng lại cho nhiều workflow; workflow xuất ra không chứa khóa. Khóa lộ thì đổi khóa ngay, không có cách nào thu hồi bản đã lộ.
Gọi quá giới hạn. Workflow chạy mỗi phút để kiểm tra bảng, hoặc gửi 500 tin trong một vòng lặp, nhận về mã 429 rồi dừng giữa chừng. Cách sửa dạy trong buổi xử lý lỗi: giãn lịch chạy, chia lô, và đặt bước thử lại khi gặp lỗi tạm thời.
Khi nào không cần webhook
Không phải việc gì cũng cần được báo ngay. Báo cáo sáng, nhắc công nợ, tổng hợp tuần chạy theo lịch bằng node Schedule Trigger, rồi dùng API đọc dữ liệu tại thời điểm đó. Webhook chỉ đáng dùng khi việc cần xử lý trong vài giây sau sự kiện: khách nhắn tin, đơn hàng mới, form đăng ký tư vấn. Bài 5 workflow n8n văn phòng nhỏ nên làm trước chia rõ workflow nào chạy theo lịch, workflow nào chạy theo sự kiện.
Câu hỏi thường gặp
Google Form có gửi webhook được không? Không có sẵn trong giao diện. Cách trong lớp: dùng node Google Sheets Trigger của n8n theo dõi bảng trả lời của form, hoặc dùng form của chính n8n, có sẵn webhook. Với form của các nền tảng khác, xem mục tích hợp của nền tảng đó.
API có mất tiền không? API của Google Sheets, Gmail, Telegram miễn phí trong giới hạn sử dụng thông thường. API của mô hình AI tính theo lượng chữ. Zalo OA tính theo gói dịch vụ. Bài chi phí chạy n8n gộp các khoản này theo ba mức dùng.
Học API có phải học lập trình không? Không. Bạn cần đọc được tài liệu API ở mức bảng từ vựng trên và điền đúng ô trong n8n. Khi cần xử lý dữ liệu phức tạp, mô hình AI viết giúp đoạn mã ngắn.
Học tiếp
Buổi API và xử lý lỗi của khóa n8n AI Automation làm đúng luồng form trong bài này, rồi nối tới một dịch vụ chưa có node riêng bằng HTTP Request. Người muốn AI tự gọi công cụ thay vì bạn vẽ từng bước xem bài MCP là gì, một chuẩn khác cho cùng bài toán kết nối.
Sản phẩm học viên làm sau khóa học
Ảnh chụp màn hình từ dự án cuối khóa của học viên.
-
Nhập liệu từ ảnh chứng từ
Nhận ảnh từ Zalo, dùng OCR và AI trích dữ liệu rồi ghi vào Google Sheets.
n8n, Zalo, OCR, mô hình AI, Google Sheets