Các trường hợp lỗi

Trong trường hợp xảy ra lỗi, DPA dự kiến sẽ trả về một mã trạng thái HTTP cùng với một phản hồi HTTP PHẢI bao gồm một đối tượng JSON có thêm thông tin về lỗi. Nội dung phản hồi lỗi PHẢI chứa một phiên bản của ErrorResponse.

{
  "errorMessage": string,
  "cause": enum(ErrorCause)
}

Phản hồi lỗi DPA PHẢI tương ứng với những điều sau:

  • Người dùng hiện đang chuyển vùng và truy vấn DPA bị vô hiệu hoá đối với người dùng này. DPA trả về lỗi 403 với USER_ROAMING làm nguyên nhân gây ra lỗi.
  • DPA trả về mã lỗi 404 NOT_FOUND cho biết với GTAF rằng userkey không hợp lệ (tức là userkey không tồn tại) với INVALID_NUMBER.
  • DPA trả về mã lỗi 410 GONE với BAD_CPID làm nguyên nhân gây ra lỗi, cho biết GTAF rằng ứng dụng khách sẽ nhận được một khoá người dùng mới nếu key_type = CPID và CPID đã hết hạn.
  • DPA trả về mã lỗi 501 NOT_IMPLEMENTED cho biết rằng DPA không hỗ trợ lệnh gọi này với nguyên nhân gây ra lỗi SERVICE_UNAVAILABLE.
  • DPA trả về 429 TOO MANY REQUESTS với nguyên nhân gây ra lỗi TOO_MANY_REQUESTS cùng với tiêu đề Retry-After cho biết GTAF đang gửi quá nhiều yêu cầu đến DPA.
  • DPA trả về lỗi 409 CONFLICT (XUNG ĐỘT), cho biết không thể hoàn tất yêu cầu do xung đột với trạng thái hiện tại của DPA.
  • Dịch vụ tạm thời không hoạt động. DPA trả về thông báo 503 SERVICE UNAVAILABLE (DỊCH VỤ KHÔNG HOẠT ĐỘNG) kèm theo tiêu đề Retry-After (Thử lại sau) cho biết thời điểm có thể thử một yêu cầu mới.
  • DPA trả về mã lỗi 500 INTERNAL SERVER ERROR cho tất cả các lỗi không xác định khác ERROR_CAUSE_UNSPECIFIED làm nguyên nhân gây ra lỗi.

Trong trường hợp gặp lỗi trong khi mua hàng, các mã lỗi sau đây biểu thị kết quả giao dịch không thành công:

  • DPA trả về mã lỗi 400 BAD REQUEST (YÊU CẦU KHÔNG HỢP LỆ) cho GTAF biết rằng mã gói đã mua không hợp lệ.
  • DPA trả về mã lỗi 402 PAYMENT REQUIRED (YÊU CẦU THANH TOÁN) cho GTAF biết rằng người dùng không có đủ số dư để hoàn tất giao dịch mua.
  • DPA trả về mã lỗi 409 CONFLICT (XUNG ĐỘT) cho GTAF, cho biết rằng gói cần mua không tương thích với tổ hợp sản phẩm hiện tại của người dùng. Ví dụ: nếu chính sách về gói dữ liệu của nhà mạng không cho phép kết hợp gói trả sau và gói trả trước, thì việc cố gắng mua gói trả trước cho người dùng trả sau sẽ dẫn đến lỗi 409 CONFLICT.
  • DPA trả về mã lỗi 403 BỊ CẤM, cho biết cho GTAF rằng giao dịch hiện tại là bản sao của một giao dịch đã phát hành trước đó. DPA PHẢI trả về các nguyên nhân gây ra lỗi sau đây để phản hồi:
    • Nếu giao dịch trước đó không thành công, nguyên nhân gây ra lỗi sẽ cho biết lý do khiến giao dịch không thành công.
    • Nếu giao dịch trước đó thành công, DUPLICATE_TRANSACTION.
    • Nếu giao dịch trước đó vẫn đang trong hàng đợi, REQUEST_QUEUED.