Chuyển đến nội dung chính

WhatsApp

Gửi tin nhắn WhatsApp từ bất kỳ hệ thống nào bằng webhook

Cửa hàng, CRM hay công cụ đặt lịch của bạn đã biết khi nào có đơn hàng mới, khi nào thanh toán thất bại hay khi nào khách đặt lịch hẹn. Webhook có thể biến mỗi sự kiện đó thành một tin nhắn WhatsApp mà bạn không cần viết code. Dưới đây là cách lên kế hoạch, bảo mật và kiểm thử.

Đội ngũ MonoChat Cập nhật: 9 phút đọc

Trong trang này
  1. Webhook là gì, và không phải là gì
  2. Sự kiện nào đáng có một tin nhắn WhatsApp
  3. Các quy tắc WhatsApp áp dụng
  4. Bảo mật URL webhook
  5. Tạo webhook ở đâu trong Shopify và WooCommerce
  6. Kiểm thử bằng yêu cầu thật trước khi chạy chính thức
  7. Cách làm trong MonoChat
  8. Nguồn

Để gửi tin nhắn WhatsApp khi có sự kiện xảy ra ở một hệ thống khác, hãy trỏ webhook của hệ thống đó tới một bên nhận có thể tìm khách hàng theo số điện thoại và gửi một mẫu tin nhắn WhatsApp đã được duyệt. Cửa hàng, CRM hay công cụ đặt lịch của bạn vốn đã bắn webhook cho đơn hàng, thanh toán và lịch hẹn; phần việc thật sự là chọn sự kiện nào đáng có tin nhắn, viết mẫu tin, bảo mật URL và kiểm thử bằng yêu cầu thật trước khi khách hàng nhìn thấy bất cứ điều gì.

Bài viết này đi qua kế hoạch, các quy tắc của WhatsApp chi phối kế hoạch đó, và cách dựng nó trong MonoChat bằng một quy trình khởi chạy từ URL webhook riêng.

Webhook là gì, và không phải là gì

Webhook là một yêu cầu HTTP mà một hệ thống gửi tới URL bạn cung cấp khi có sự kiện xảy ra. Shopify có thể gửi khi một đơn hàng được tạo, WooCommerce khi một đơn hàng được cập nhật, CRM khi một cơ hội chuyển giai đoạn, công cụ đặt lịch khi có lịch hẹn mới. Yêu cầu mang theo chi tiết của sự kiện, thường ở dạng JSON: mã đơn hàng, số tiền, tên khách hàng và, quan trọng nhất với WhatsApp, số điện thoại.

Webhook tự nó không gửi gì cho khách hàng. Phải có thứ gì đó nhận yêu cầu, quyết định làm gì với nó và gọi WhatsApp Business API. “Thứ gì đó” là code bạn tự viết và tự vận hành, hoặc một nền tảng tự động hóa cấp cho bạn URL webhook và cho phép dựng phần còn lại mà không cần code.

Sự kiện nào đáng có một tin nhắn WhatsApp

Không phải sự kiện nào cũng đáng gửi tin. Khách nhận năm thông báo cho cùng một đơn hàng sẽ bắt đầu bỏ qua tất cả. Hãy chọn những thời điểm khách thật sự đang chờ:

Sự kiệnTin nhắnDanh mục mẫu tin
Đơn hàng được tạo hoặc đã thanh toánXác nhận kèm mã đơn hàng và bước tiếp theoTiện ích
Thanh toán thất bại hoặc đang chờMột lời nhắn ngắn và cách thanh toán lạiTiện ích
Đơn hàng đã gửi điĐơn vị vận chuyển và liên kết theo dõiTiện ích
Đơn COD được tạoMột câu hỏi: xác nhận đơn, đổi địa chỉ hay hủyTiện ích
Lịch hẹn được đặt, thay đổi hoặc diễn ra vào ngày maiNgày, giờ, địa điểm và cách đổi lịchTiện ích
Cơ hội thắng hoặc thua trong CRMChuyển cho người quản lý tài khoản, hoặc một câu hỏi xin phản hồiTiện ích hoặc tiếp thị, tùy nội dung
Giỏ hàng bỏ quênMột lời nhắc, có thể kèm ưu đãiTiếp thị

Meta quyết định danh mục dựa trên nội dung mẫu tin, không theo nhãn bạn chọn. Tin nhắn về một đơn hàng, khoản thanh toán hay lịch hẹn cụ thể là tiện ích; bất cứ thứ gì quảng bá, đưa ra ưu đãi hoặc cố gắng thuyết phục là tiếp thị và cần sự đồng ý bao gồm cả tiếp thị. Các ví dụ mẫu tin nhắn WhatsApp của chúng tôi có sẵn nội dung cho các trường hợp tiện ích ở trên.

Các quy tắc WhatsApp áp dụng

Hầu hết tin nhắn từ webhook đều cần mẫu tin

Cửa sổ chăm sóc khách hàng mở ra khi khách nhắn tin hoặc gọi cho bạn, và kéo dài 24 giờ tính từ tin nhắn cuối cùng của họ. Trong cửa sổ, bạn có thể trả lời tự do; ngoài cửa sổ, bạn chỉ có thể gửi mẫu tin nhắn đã được duyệt trước. Sự kiện từ cửa hàng và CRM hiếm khi rơi vào cửa sổ đó, nên hãy lên kế hoạch mọi tin nhắn webhook dưới dạng mẫu tin và gửi mẫu đi duyệt trước khi bật bất cứ thứ gì.

Số điện thoại phải dùng được

Webhook cần mang theo số điện thoại mà WhatsApp có thể liên lạc: ở định dạng quốc tế, có mã quốc gia. Nhiều cửa hàng cho khách nhập số tùy ý, nên hãy kiểm tra vài đơn hàng thật. Số thiếu mã quốc gia là lý do phổ biến nhất khiến chạy thử thì được mà chạy thật thì không.

Giá đã thay đổi từ ngày 1 tháng 10 năm 2026

Meta tính phí theo từng tin nhắn được gửi thành công từ ngày 1 tháng 7 năm 2025. Từ ngày 1 tháng 10 năm 2026, mẫu tin tiện ích gửi trong cửa sổ chăm sóc khách hàng đang mở bị tính phí trở lại, sau một thời gian được miễn phí, và mỗi số điện thoại doanh nghiệp có 1.000 tin nhắn dịch vụ miễn phí mỗi tháng. Mức giá phụ thuộc vào danh mục và quốc gia của khách. Trên thực tế: một tin xác nhận đơn hàng đều tốn tiền dù khách có vừa nhắn cho bạn hay không, nên hãy gửi những tin quan trọng và bỏ qua những tin không cần. Hướng dẫn về giá WhatsApp API giải thích bảng giá.

Bảo mật URL webhook

Ai biết URL webhook cũng có thể gọi nó. Nếu URL đó gửi tin nhắn WhatsApp, URL bị lộ nghĩa là người khác có thể nhắn cho khách hàng của bạn dưới danh nghĩa của bạn, hoặc đẩy hóa đơn của bạn lên. Ba thói quen giúp tránh điều đó:

  • Bắt buộc có secret. Hệ thống gửi thêm secret vào một header, hoặc dùng nó để ký nội dung yêu cầu (HMAC-SHA256) để bên nhận kiểm tra yêu cầu không bị sửa trên đường đi. Yêu cầu không có secret hoặc chữ ký hợp lệ sẽ bị từ chối.
  • Mỗi mục đích một URL. Quy trình đơn hàng và quy trình đặt lịch nên có URL và secret khác nhau, để bạn đổi một cái mà không ảnh hưởng cái kia.
  • Theo dõi lỗi ở phía hệ thống gửi. WooCommerce tắt webhook sau hơn năm lần gửi thất bại liên tiếp, còn Shopify xóa đăng ký webhook nếu đích đến liên tục trả về phản hồi khác 200. Một bên nhận bị tắt hoặc cấu hình sai có thể khiến thông báo của bạn ngừng lại mà không ai hay.

Tạo webhook ở đâu trong Shopify và WooCommerce

  • Shopify: Settings › Notifications › Webhooks, rồi Create webhook. Chọn một sự kiện (Order creation, Order payment, Fulfillment creation và nhiều sự kiện khác), định dạng JSON và một URL https://. Không thể đổi sự kiện sau khi đã tạo webhook, nên hãy tạo mỗi sự kiện một webhook. Send test giúp kiểm tra yêu cầu có tới được URL không.
  • WooCommerce: WooCommerce › Settings › Advanced › Webhooks, rồi Add webhook. Chọn một chủ đề (sự kiện đơn hàng, khách hàng, mã giảm giá hoặc sản phẩm), nhập URL nhận và một secret; WooCommerce thêm vào header của yêu cầu một mã băm của payload được tạo bằng secret đó.
  • CRM hoặc công cụ đặt lịch: tìm mục “webhooks”, “automations” hoặc “outgoing integrations”. Nếu nó chỉ có một định dạng cố định, hãy kiểm tra trường nào chứa số điện thoại của khách trước khi dựng bất cứ thứ gì.

Kiểm thử bằng yêu cầu thật trước khi chạy chính thức

Payload của webhook dài và mỗi nền tảng đặt tên trường một kiểu: số điện thoại có thể là phone, billing.phone hoặc customer.default_address.phone. Đừng đoán. Hãy gửi một yêu cầu thử thật, xem dữ liệu nhận được và ánh xạ các trường từ đó. Sau đó kiểm thử các trường hợp biên:

  • đơn hàng không có số điện thoại, hoặc có số thiếu mã quốc gia;
  • cùng một sự kiện được gửi hai lần, điều các nền tảng làm khi thử lại;
  • đơn hàng đặt lúc 3 giờ sáng, nếu bạn muốn tin nhắn chờ đến sáng;
  • khách trả lời thông báo, để một nhân viên hoặc trợ lý AI sẵn sàng phản hồi.

Cách làm trong MonoChat

MonoChat là Meta Business Partner chính thức. Từ phiên bản 3.8.37 (tháng 10 năm 2026), một quy trình có thể khởi chạy từ webhook, nên cửa hàng hoặc CRM của bạn có thể kích hoạt tin nhắn WhatsApp mà bạn không cần viết code.

1. Bắt đầu quy trình bằng nút Đã nhận webhook. Thêm nút này từ nhóm nút sự kiện. Nút có URL webhook và secret riêng. Chọn kênh, ví dụ số WhatsApp của bạn, và Đường dẫn danh tính, tức vị trí số điện thoại của khách trong yêu cầu (mặc định là request.body.phone). MonoChat tìm khách hàng trên kênh đó, hoặc tạo mới, rồi chạy quy trình cho họ. Nút trả về 202 cho bên gửi khi quy trình đã vào hàng đợi, và trả về lỗi rõ ràng khi không tìm thấy kênh hoặc số điện thoại.

2. Bật Yêu cầu secret. Bên gửi có thể đặt secret trong header token (mặc định là Authorization, đứng riêng hoặc dưới dạng Bearer <secret>) hoặc gửi chữ ký HMAC-SHA256 của nội dung gốc trong header chữ ký (mặc định là X-Signature). Có thể đổi tên cả hai header cho khớp với hệ thống gửi.

3. Bắt một yêu cầu thật. Thêm /test vào cuối URL webhook và trỏ webhook thử của cửa hàng tới đó. Khi phần cài đặt của nút đang mở, yêu cầu sẽ hiện trong Yêu cầu đã nhận với body, query và header, mà không khởi chạy quy trình. Dùng nó để tìm các đường dẫn bạn cần, rồi lưu chúng thành biến quy trình, ví dụ request.body.orderId thành orderId.

4. Gửi tin nhắn. Thêm nút Gửi tin nhắn mẫu với mẫu tin đã được duyệt và điền các biến của nó từ biến quy trình: mã đơn hàng, số tiền, liên kết theo dõi. Dùng điều kiện để gửi mẫu tin khác nhau cho từng trạng thái.

5. Gọi ngược lại nếu cần. Nút Yêu cầu HTTP có thể tra thêm dữ liệu trong hệ thống của bạn, hoặc ghi câu trả lời của khách ngược về, ví dụ “đã xác nhận” cho một đơn COD. Nút đi tiếp theo Đầu ra khi lệnh gọi thành công và theo Khi thất bại khi không thành công, để bạn gửi tin dự phòng hoặc giao cuộc trò chuyện cho một nhân viên.

Khi khách trả lời, cuộc trò chuyện nằm trong cùng hộp thư đến nhóm của MonoChat với các cuộc chat WhatsApp, Instagram và Messenger khác của bạn, nơi đội ngũ hoặc trợ lý AI có thể tiếp nhận. Để dựng quy trình, xem tự động hóa quy trình.

Còn hai cách khác, tùy ai sẽ làm:

  • Đội lập trình của bạn đã quen gọi API. Ứng dụng WhatsApp Template API gửi một mẫu tin đã được duyệt chỉ với một lệnh gọi API, và phản hồi về thẳng hộp thư.
  • Bạn bán trên Shopify và muốn dữ liệu đơn hàng có ngay trong chat. Tự động hóa chat Shopify đồng bộ sản phẩm và đơn hàng để đội ngũ và trợ lý AI trả lời được câu hỏi về đơn hàng.

Để bắt đầu, hãy tạo tài khoản miễn phí tại app.monochat.ai, kết nối số WhatsApp của bạn và so sánh các gói trên trang bảng giá.

Nguồn

Câu hỏi thường gặp

Câu hỏi thường gặp

Webhook có tự gửi được tin nhắn WhatsApp không?

Không. Webhook chỉ báo cho một hệ thống khác biết rằng có chuyện vừa xảy ra, ví dụ một đơn hàng vừa được tạo. Bạn cần một bên nhận để đọc yêu cầu, tìm khách hàng và gửi tin nhắn qua WhatsApp Business API. Trong MonoChat, bên nhận đó là một quy trình khởi chạy từ URL webhook riêng của nó.

Có cần mẫu tin nhắn để nhắn cho khách hàng từ webhook không?

Gần như luôn cần. Sự kiện từ cửa hàng, CRM và hệ thống đặt lịch thường xảy ra khi khách chưa nhắn cho bạn trong 24 giờ qua, nên cửa sổ chăm sóc khách hàng đã đóng và bạn chỉ có thể gửi một mẫu tin nhắn WhatsApp đã được duyệt. Nếu khách đã nhắn trong 24 giờ qua, bạn được gửi tin nhắn thông thường.

Những sự kiện Shopify hay WooCommerce nào đáng gửi lên WhatsApp?

Hãy bắt đầu với những sự kiện khách đang chờ: đơn hàng đã xác nhận, thanh toán thất bại hoặc đang chờ, đơn hàng đã gửi kèm mã vận đơn, lịch hẹn đã đặt hoặc đã đổi. Để tin nhắn khuyến mãi lại sau và chỉ gửi cho khách đã đồng ý nhận tin tiếp thị.

Làm sao ngăn người lạ kích hoạt tin nhắn WhatsApp của tôi?

Giữ URL webhook ở chế độ riêng tư và bắt buộc có secret. Khi đó hệ thống gửi phải kèm secret, hoặc chữ ký HMAC-SHA256 của nội dung yêu cầu được tạo bằng secret đó, và các yêu cầu không có sẽ bị từ chối.

Thông báo đơn hàng qua WhatsApp có miễn phí không?

Không. Meta tính phí theo từng mẫu tin nhắn được gửi thành công, theo danh mục và quốc gia. Từ ngày 1 tháng 10 năm 2026, mẫu tin tiện ích gửi trong cửa sổ chăm sóc khách hàng đang mở bị tính phí trở lại, và mỗi số điện thoại doanh nghiệp có 1.000 tin nhắn dịch vụ miễn phí mỗi tháng.

Miễn phí tháng đầu gói Growth

Quản lý WhatsApp, Instagram và Messenger trong một hộp thư

Bắt đầu miễn phí với MonoChat: hộp thư chung cho đội ngũ, trợ lý AI, mẫu tin nhắn và chiến dịch trên API chính thức của Meta.

Mỗi doanh nghiệp một mã • 30 ngày để sử dụng • Không cần thẻ

$150 để bắt đầu.

Nhận