Webhook
Đây là thứ làm cho tồn kho tự cập nhật trong 3–5 giây thay vì phải ngồi bấm đồng bộ tay. Không có webhook thì plugin chỉ chạy khi bạn tự bấm.
Webhook là gì, nói cho dễ hiểu
Bình thường website phải liên tục hỏi KiotViet "có gì mới không?" — vừa chậm vừa nặng máy chủ. Webhook làm ngược lại: KiotViet chủ động gọi sang website ngay khi có thay đổi. Bán một món tại quầy là vài giây sau tồn kho trên web đã trừ.
Để gọi được, KiotViet cần một địa chỉ. Địa chỉ đó chính là link webhook ở tab này.
Mở tab Webhook
- Tab Webhook — nơi khai báo và theo dõi webhook.
Mã bí mật và link webhook
- Mã bí mật Webhook — chuỗi 12 ký tự, plugin tự sinh sẵn. Không cần đổi nếu không có lý do.
- Tạo mã mới — sinh mã khác. Chỉ dùng khi bạn nghi mã cũ bị lộ.
Đổi mã tức là đổi link. Các webhook đã đăng ký vẫn trỏ về link cũ nên sẽ ngừng hoạt động ngay lập tức. Đổi xong phải xoá hết rồi đăng ký lại. Đừng bấm nút này chỉ vì tò mò.
Link webhook có dạng https://tên-miền-của-bạn/wp-json/kiotviet-sync/v1/webhook-mã-bí-mật. Bạn không phải tự chép link này đi đâu cả — plugin dùng nó tự động khi đăng ký.
Ai có link đó là gửi được dữ liệu giả vào website của bạn. Khi chụp màn hình nhờ hỗ trợ, hãy che phần mã bí mật.
Đăng ký các sự kiện
- Đăng ký tất cả webhook — bấm một lần, plugin đăng ký hết các sự kiện chưa có. Đây là việc duy nhất bạn cần làm ở bước này.
Bảng bên dưới liệt kê từng sự kiện, cột Trạng thái phải là Active. Các sự kiện chính:
| Sự kiện | Khi nào chạy |
|---|---|
stock.update | Tồn kho đổi. Quan trọng nhất — thiếu cái này là website bán quá số lượng. |
product.update | Sửa tên, giá, ảnh hoặc thuộc tính sản phẩm. |
product.delete | Xoá sản phẩm bên KiotViet. |
pricebook.update | Đổi bảng giá. |
customer.update | Sửa thông tin khách. Chỉ cần khi bạn bật đồng bộ khách hàng. |
Tự động đăng ký lại khi bị vô hiệu hoá
KiotViet tự tắt webhook nếu website không phản hồi được vài lần liên tiếp — chẳng hạn lúc hosting quá tải hoặc đang bảo trì. Vấn đề là nó không báo cho bạn biết, nên nhiều cửa hàng chỉ phát hiện sau vài ngày tồn kho sai.
Plugin có sẵn cơ chế tự kiểm tra theo chu kỳ và đăng ký lại webhook nào bị tắt. Nên bật, và để chu kỳ 1 giờ là hợp lý.
Phần lớn ca "tự nhiên hôm nay tồn kho sai" là do webhook bị KiotViet tắt lúc nào không hay. Bật tự đăng ký lại là gần như hết hẳn loại sự cố này.
Cơ chế xử lý hàng đợi
Khi KiotViet bắn về hàng loạt thay đổi cùng lúc (ví dụ bạn vừa nhập một lô hàng lớn), xử lý ngay tức thì sẽ làm nghẽn máy chủ. Hàng đợi nhận hết vào rồi xử lý dần theo lô.
| Mục | Nên đặt thế nào |
|---|---|
| Cơ chế xử lý | Để Queue + Dedup như khuyến nghị. Dedup nghĩa là cùng một sản phẩm bị sửa nhiều lần liên tiếp thì chỉ xử lý lần cuối. |
| Batch size | Mỗi lần chạy xử lý bao nhiêu việc. Hosting yếu thì giảm xuống 5. |
| Delay giữa các batch | Tăng lên nếu máy chủ hay bị quá tải; giảm về 0 nếu muốn nhanh nhất. |
| Số lần retry | Thử lại mấy lần trước khi bỏ cuộc. Để mặc định 3. |
| Tự động dọn rác | Nên bật, nếu không bảng hàng đợi phình to theo thời gian. |
Khối thống kê bên dưới cho biết đang có bao nhiêu việc chờ xử lý, bao nhiêu đã xong, bao nhiêu thất bại. Số thất bại tăng dần là dấu hiệu cần xem log.
Kiểm tra webhook có thật sự chạy không
- Mở KiotViet, đổi tồn kho một sản phẩm bất kỳ.
- Đợi khoảng 5–10 giây.
- Mở sản phẩm đó trên website xem tồn kho đã đổi chưa.
Chưa đổi thì kiểm tra theo thứ tự: đường dẫn tĩnh của website đã bật chưa, trạng thái các sự kiện có còn Active không, và hàng đợi có đang tồn nhiều việc chờ không.
Còn vướng thì xem Giải đáp thắc mắc.