Webhook từ CRM sang ERP cần được nghiệm thu khi có lỗi và gửi lại. Mục tiêu: không mất tác vụ đã nhận, không tạo đơn trùng, không để dữ liệu cũ ghi đè.

Phân biệt mã sự kiện và mã nghiệp vụ
Mã sự kiện nhận diện một thay đổi; mã nghiệp vụ nhận diện đơn hàng hoặc khách hàng. Một đơn có nhiều cập nhật hợp lệ. Kiểm tra quy tắc định danh bên gửi; khóa chống trùng cần phân biệt nguồn và tài khoản. Không chặn mọi cập nhật chỉ vì cùng mã đơn.
Lưu yêu cầu trước khi xác nhận
Xác minh chữ ký theo tài liệu nhà cung cấp, giữ nguyên nội dung yêu cầu khi cần. Kiểm tra thời hạn chữ ký nếu giao thức hỗ trợ. Từ chối yêu cầu sai chữ ký.
Lưu khóa sự kiện, nội dung và trạng thái chờ trong cùng giao dịch, với ràng buộc duy nhất tại cơ sở dữ liệu. Bảng tiếp nhận lưu bền vững có thể làm hàng đợi cho tiến trình nền. Chỉ trả xác nhận ACK bằng HTTP 2xx sau khi giao dịch hoàn tất. Ghi thất bại thì không ACK. Lưu trong bộ nhớ không đủ.
Các ca kiểm thử giả định
Chạy trong môi trường thử. Các mã và kết quả mong đợi là giả định, không phải kết quả khách hàng.
- Gửi trùng đồng thời: gửi E101 ba lần cho đơn O42. Đạt khi chỉ nhận một tác vụ và tạo một đơn ERP. Thử E102 cho cùng thao tác tạo O42: vẫn một đơn.
- Ngắt tại điểm tiếp nhận: cho giao dịch ghi hàng đợi thất bại, rồi thử lại khi kết nối phục hồi. Khởi động lại tiến trình sau ACK. Đạt khi tác vụ đã nhận còn tồn tại và được xử lý.
- ERP lưu xong rồi lỗi: dừng tiến trình trước khi ghi trạng thái hoàn tất. Khi chạy lại, dùng cùng khóa thao tác chống trùng được ERP hỗ trợ hoặc mã tham chiếu mà ERP bắt buộc không trùng. Đối soát mã ERP; nếu chưa rõ kết quả, chuyển người phụ trách kiểm tra trước khi tạo lại.
- Sai thứ tự: gửi phiên bản 8 trước 7 của O42. Đạt khi điều kiện phiên bản được kiểm tra nguyên tử lúc ghi: 7 không đè 8; 9 vẫn cập nhật được. Nếu nguồn không có phiên bản tin cậy, lấy trạng thái hiện hành hoặc chuyển đối soát.
- Lỗi và giả mạo: thử ERP trả 429/503; gửi dữ liệu sai, chữ ký sai. Lỗi tạm thời được thử lại với khoảng chờ tăng dần, độ lệch ngẫu nhiên và giới hạn; tôn trọng Retry-After khi có. Lỗi nghiệp vụ không tự sửa được chuyển hàng chờ lỗi, có cảnh báo và người xử lý.
Bằng chứng nghiệm thu
Lưu mã sự kiện, mã nghiệp vụ, số lần thử, trạng thái, mã ERP, kết quả đối soát; che dữ liệu nhạy cảm. Thử phát lại sau sửa lỗi. Với đầu vào tài liệu, xem thêm kiểm thử AI đọc báo giá PDF.
Câu hỏi thường gặp
HTTP 200 nghĩa là ERP đã cập nhật?
Không. ACK xác nhận tác vụ đã lưu bền vững; cần theo dõi kết quả xử lý.
Có bảo đảm xử lý đúng một lần không?
Không thể hứa chung. Khả năng chống trùng phụ thuộc cơ chế ERP, thời hạn lưu khóa và quy tắc phát lại.
Liên hệ Việt Nis – IT On Cloud hoặc gọi 0888 728 730 để trao đổi tiêu chí.

Leave a Reply