Webhook và đồng bộ trạng thái
Webhook là đường dây để GHTK tự báo về website mỗi khi vận đơn thay đổi. Có nó thì đơn giao xong tự chuyển sang Đã hoàn thành, khách từ chối nhận thì tự chuyển Đã huỷ — bạn không phải ngồi bấm kiểm tra từng đơn.
Có bắt buộc không
Không bắt buộc, nhưng thiếu nó thì mọi trạng thái đều phải cập nhật tay bằng nút Check đơn hàng trong từng đơn. Shop vài đơn một ngày thì làm tay cũng được; từ vài chục đơn trở lên thì webhook tiết kiệm cho bạn hàng giờ mỗi tuần.
Lấy đường dẫn webhook
Vào WooCommerce → Cài đặt GHTK → tab Cài đặt GHTK, kéo xuống khối nền hồng.
- Webhook Link — đường dẫn để GHTK gửi tin về. Chép nguyên cả dòng, kể cả phần
hash=ở cuối. - Đổi Webhook Key — sinh mã mới. Chỉ dùng khi bạn lỡ để lộ đường dẫn cũ; đổi xong phải gửi lại đường dẫn mới cho GHTK, không thì trạng thái ngừng cập nhật.
Lần đầu vào khối này, mã hiển thị mới chỉ là mã tạm chưa lưu vào cơ sở dữ liệu. Gửi cho GHTK trước khi lưu là gửi nhầm mã. Bấm Lưu thay đổi ở cuối trang, tải lại trang, rồi mới chép.
Gửi cho GHTK đăng ký
Việc đăng ký do GHTK làm, bạn không tự bật được. Cách làm:
- Dùng chính email đã đăng ký tài khoản GHTK gửi thư tới b2c@ghtk.vn. Gửi từ email khác họ sẽ không xử lý.
- Nội dung thư: đề nghị đăng ký webhook cho website, kèm mã SHOP và đường dẫn webhook vừa chép, ghi rõ Type: json.
- Nếu shop bạn có nhân viên chăm sóc riêng bên GHTK thì nhắn thẳng cho họ sẽ nhanh hơn.
- Chờ GHTK xác nhận đã bật. Sau đó đăng thử một đơn và theo dõi xem trạng thái có tự đổi không.
Ánh xạ trạng thái GHTK sang WooCommerce
GHTK có hơn hai mươi trạng thái, WooCommerce chỉ có vài trạng thái. Bảng này quyết định trạng thái nào bên GHTK thì đơn trên website chuyển sang trạng thái gì.
- Trạng thái GHTK — mã số trong ngoặc là mã GHTK dùng khi gửi tin về. Bạn không sửa được cột này.
- (-1) Hủy đơn hàng → Đã hủy — GHTK huỷ vận đơn thì đơn trên website cũng chuyển thành đã huỷ.
- (5) Đã giao hàng → Đã hoàn thành — dòng quan trọng nhất. Nhờ nó mà giao hàng xong đơn tự đóng, doanh thu tự vào báo cáo.
Chọn Không đồng bộ trạng thái ở dòng nào thì trạng thái đó GHTK báo về nhưng đơn trên website giữ nguyên. Cấu hình mặc định đã hợp lý với đa số shop:
| Trạng thái GHTK | Trạng thái WooCommerce |
|---|---|
| (5) Đã giao hàng, (6) Đã đối soát, (45) Shipper báo đã giao | Đã hoàn thành |
| (-1) Huỷ đơn, (11) Đã đối soát công nợ trả hàng, (20) Đang trả hàng, (21) Đã trả hàng | Đã huỷ |
| (13) Đơn hàng bồi hoàn | Thất bại |
| Các trạng thái đang giao, đang lấy, delay… | Không đồng bộ — đơn giữ nguyên trạng thái hiện tại |
Tạo một trạng thái đơn hàng riêng, ví dụ Đang giao, bằng plugin quản lý trạng thái WooCommerce; sau đó gán nó cho dòng (4) Đã điều phối giao hàng/Đang giao hàng. Nhân viên nhìn danh sách đơn là biết ngay đơn nào đang trên đường.
Kiểm tra webhook đã chạy
- Đăng một đơn lên GHTK.
- Chờ GHTK cập nhật trạng thái (thường sau khi shipper nhận đơn).
- Mở đơn ra xem hộp Đăng đơn GHTK: dòng Cập nhật lúc phải đổi mà bạn không bấm Check đơn hàng lần nào. Đó là dấu hiệu webhook đang chạy.
- Xem thêm phần Đặt hàng ghi chú của đơn — mỗi lần webhook về plugin đều ghi lại một dòng.
Lỗi thường gặp
| Tình huống | Nguyên nhân và cách xử lý |
|---|---|
| Đã gửi mail nhiều ngày mà trạng thái vẫn không tự đổi | GHTK chưa bật webhook cho shop. Hỏi lại nhân viên phụ trách, kèm mã SHOP. |
| Website chạy trên máy nội bộ hoặc tên miền thử | GHTK phải gọi vào được website từ Internet. Máy local hay tên miền chưa trỏ ra ngoài thì webhook không bao giờ tới. |
| Website có tường lửa hoặc Cloudflare chặn | Yêu cầu của GHTK bị chặn trước khi tới WordPress. Cho phép đường dẫn admin-ajax.php đi qua, hoặc thêm dải IP của GHTK vào danh sách trắng. |
| Trạng thái đổi lung tung, đơn đang giao bỗng hoàn thành | Xem lại bảng ánh xạ, có thể ai đó đã gán nhầm một trạng thái trung gian sang Đã hoàn thành. |
| Vừa bấm Đổi Webhook Key xong thì ngừng cập nhật | Đúng như vậy — mã cũ không còn hiệu lực. Gửi đường dẫn mới cho GHTK. |
Tiếp theo: In hoá đơn và email báo mã vận đơn.