Mã lỗi Gateway
Cách phân biệt lỗi request, quyền, quota và upstream.
Lỗi dùng envelope nhất quán gồm success=false và object error có code, message. Không suy luận lỗi upstream credential là lỗi API key của user.
Không retry mù mọi 4xx. Chỉ retry khi lỗi và tính idempotent của request cho phép; UPSTREAM_OUTCOME_UNKNOWN cần được xử lý đặc biệt vì upstream có thể đã thực thi. Với streaming, không tự restart sau khi đã phát output cho client.
Điểm cần nhớ
- 400/422: request hoặc field không hợp lệ.
- 401: API key không hợp lệ hoặc hết quyền xác thực.
- 403: subscription, scope, model hoặc restriction không cho phép.
- 409: xung đột trạng thái durable.
- 429: rate limit đã vượt ngưỡng.
- 502/503: provider, credential upstream hoặc dependency tạm thời lỗi.
- SSE có thể phát data chứa error hoặc ngắt trước [DONE]; client phải giữ output một phần và báo lỗi terminal.