Tạo tài khoản
Quay lại blog
Hướng dẫn

Cách sử dụng error code và traceId

Dùng error code ổn định cho quyết định máy, args an toàn cho ngữ cảnh, message cho người đọc và traceId để liên kết bằng chứng.

Error code là hợp đồng cho máy. HTTP status mô tả nhóm kết quả, args an toàn thêm ngữ cảnh, message giúp người đọc và traceId liên kết bằng chứng của một yêu cầu.

Chỉ rẽ nhánh theo code

Dùng code ổn định trong tài liệu làm khóa quyết định duy nhất. Không so sánh message ở bất kỳ ngôn ngữ nào.

Với “Cách sử dụng error code và traceId”, hãy xem “Chỉ rẽ nhánh theo code” là một điểm kiểm tra riêng, không phải lý do để thay đổi nhiều điều cùng lúc. Ghi lại kết quả, thời gian và mã liên quan, rồi chỉ thực hiện một bước có căn cứ.

HTTP status là nhóm lỗi

Xem 4xx là nhóm request, xác thực, quyền, trạng thái hoặc giới hạn; 5xx là lỗi dịch vụ, nhưng vẫn đọc code cụ thể.

Với “Cách sử dụng error code và traceId”, hãy xem “HTTP status là nhóm lỗi” là một điểm kiểm tra riêng, không phải lý do để thay đổi nhiều điều cùng lúc. Ghi lại kết quả, thời gian và mã liên quan, rồi chỉ thực hiện một bước có căn cứ.

Hiển thị message an toàn

Message dành cho người và có thể bản địa hóa hoặc fallback tiếng Anh. Không phân tích message để tìm trạng thái nội bộ.

Với “Cách sử dụng error code và traceId”, hãy xem “Hiển thị message an toàn” là một điểm kiểm tra riêng, không phải lý do để thay đổi nhiều điều cùng lúc. Ghi lại kết quả, thời gian và mã liên quan, rồi chỉ thực hiện một bước có căn cứ.

Chỉ dùng args đã tài liệu hóa

Args chứa giá trị cấu trúc an toàn. Xác minh tên và kiểu, không giả định chúng chứa mọi giá trị nội bộ.

Với “Cách sử dụng error code và traceId”, hãy xem “Chỉ dùng args đã tài liệu hóa” là một điểm kiểm tra riêng, không phải lý do để thay đổi nhiều điều cùng lúc. Ghi lại kết quả, thời gian và mã liên quan, rồi chỉ thực hiện một bước có căn cứ.

Giữ nguyên traceId

Lưu traceId trả về và đưa vào bằng chứng hỗ trợ. Không tự tạo traceId từ mã đơn hoặc email.

Với “Cách sử dụng error code và traceId”, hãy xem “Giữ nguyên traceId” là một điểm kiểm tra riêng, không phải lý do để thay đổi nhiều điều cùng lúc. Ghi lại kết quả, thời gian và mã liên quan, rồi chỉ thực hiện một bước có căn cứ.

Quyết định retry theo ý nghĩa

Lỗi xác thực, validation, maxPrice, quyền sở hữu và idempotency cần sửa hoặc query, không retry mù.

Với “Cách sử dụng error code và traceId”, hãy xem “Quyết định retry theo ý nghĩa” là một điểm kiểm tra riêng, không phải lý do để thay đổi nhiều điều cùng lúc. Ghi lại kết quả, thời gian và mã liên quan, rồi chỉ thực hiện một bước có căn cứ.

Bảo vệ log

Log code, HTTP status, nhóm endpoint, định danh an toàn, thời gian và traceId; che key, chữ ký, token, số và payload.

Với “Cách sử dụng error code và traceId”, hãy xem “Bảo vệ log” là một điểm kiểm tra riêng, không phải lý do để thay đổi nhiều điều cùng lúc. Ghi lại kết quả, thời gian và mã liên quan, rồi chỉ thực hiện một bước có căn cứ.

Báo một yêu cầu lỗi

Cung cấp thời gian, endpoint, code, status, traceId, tham số an toàn và kết quả mong đợi, không kèm secret.

Với “Cách sử dụng error code và traceId”, hãy xem “Báo một yêu cầu lỗi” là một điểm kiểm tra riêng, không phải lý do để thay đổi nhiều điều cùng lúc. Ghi lại kết quả, thời gian và mã liên quan, rồi chỉ thực hiện một bước có căn cứ.

Danh sách kiểm tra thực tế

  1. Xác minh “Chỉ rẽ nhánh theo code”, lưu kết quả và chỉ tiếp tục khi hành động kế tiếp đã rõ ràng.
  2. Xác minh “HTTP status là nhóm lỗi”, lưu kết quả và chỉ tiếp tục khi hành động kế tiếp đã rõ ràng.
  3. Xác minh “Hiển thị message an toàn”, lưu kết quả và chỉ tiếp tục khi hành động kế tiếp đã rõ ràng.
  4. Xác minh “Chỉ dùng args đã tài liệu hóa”, lưu kết quả và chỉ tiếp tục khi hành động kế tiếp đã rõ ràng.
  5. Xác minh “Giữ nguyên traceId”, lưu kết quả và chỉ tiếp tục khi hành động kế tiếp đã rõ ràng.
  6. Xác minh “Quyết định retry theo ý nghĩa”, lưu kết quả và chỉ tiếp tục khi hành động kế tiếp đã rõ ràng.
  7. Xác minh “Bảo vệ log”, lưu kết quả và chỉ tiếp tục khi hành động kế tiếp đã rõ ràng.
  8. Xác minh “Báo một yêu cầu lỗi”, lưu kết quả và chỉ tiếp tục khi hành động kế tiếp đã rõ ràng.

Trạng thái cuối cùng và lịch sử tài khoản là nguồn xác nhận kết quả. Không gửi mật khẩu, mã xác minh đầy đủ, bí mật xác thực, access token, API key hoặc giấy tờ chưa che. Xem thêm tại Trung tâm trợ giúp MangoOTP.