Webhook cập nhật trạng thái
Không có webhook thì website không biết đơn đã giao hay chưa — bạn phải tự vào GHN tra rồi đổi trạng thái bằng tay. Khai xong một đường dẫn, GHN chủ động báo về và đơn tự đổi theo.
Lấy Webhook URL
Vào WooCommerce → Cài đặt GHN, tab Cập nhật trạng thái tự động.
- Cập nhật trạng thái tự động — tab thứ tư.
- Đường dẫn cập nhật trạng thái tự động (Webhook URL) — địa chỉ GHN sẽ gọi về. Plugin sinh sẵn; bạn chỉ chép. Có liên kết Làm mới Webhook URL nếu muốn đổi giá trị.
- Lưu thay đổi — ghi lại.
Chép đường dẫn rồi gửi cho nhân viên GHN phụ trách cửa hàng để họ khai vào tài khoản của bạn. Đây là việc phải nhờ GHN làm, không tự bật được từ website.
Bấm Làm mới Webhook URL thì đường dẫn cũ hết hiệu lực lập tức, còn GHN vẫn gọi vào địa chỉ cũ nên không có gì tới nữa. Làm mới xong phải báo lại GHN đường dẫn mới. Đừng bấm nút đó chỉ vì tò mò.
Khi webhook chạy thì gì xảy ra
Mỗi lần GHN đổi trạng thái vận đơn — shipper đã lấy hàng, đang giao, giao thành công, chuyển hoàn — GHN gọi về đường dẫn này. Plugin nhận, đổi trạng thái đơn hàng tương ứng và ghi một dòng vào Đặt hàng ghi chú của đơn để bạn xem lại được lịch sử.
Cách kiểm tra đã chạy đúng chưa
- Sau khi GHN xác nhận đã khai webhook, tạo một vận đơn thử.
- Chờ vận đơn đổi trạng thái bên GHN.
- Mở đơn trên website — trạng thái phải đổi theo, và mục Đặt hàng ghi chú có ghi lại lần cập nhật đó.
- Không thấy gì thì bật Debug ở tab Cài đặt GHN và đọc
ghn_log.txt.
Lỗi thường gặp
| Hiện tượng | Cách xử lý |
|---|---|
| Trạng thái không bao giờ tự đổi | GHN chưa khai webhook cho tài khoản của bạn. Gửi lại đường dẫn và hỏi nhân viên GHN đã khai chưa. |
| Trước có chạy, giờ dừng hẳn | Bạn vừa Làm mới Webhook URL mà chưa báo GHN, hoặc website đổi tên miền. |
| Website chặn webhook | Tường lửa hoặc plugin bảo mật chặn đường dẫn. Nhờ hosting mở cho địa chỉ webhook. |
| Khách nhận email "hoàn thành" quá sớm | Trạng thái WooCommerce Hoàn thành thường kéo theo email cảm ơn. Nếu quy trình của bạn không muốn vậy, dùng một trạng thái riêng cho đơn đang giao. |
| Website chạy HTTP, không phải HTTPS | GHN có thể từ chối gọi tới địa chỉ không bảo mật. Cài SSL cho tên miền rồi lấy lại đường dẫn. |
Tiếp theo: email báo mã và trang tra cứu.