Lỗi & Debug
Xử lý lỗi và debug issues khi làm việc với BizCity API.
Error Response Format
Khi có lỗi, API trả về JSON object với key error:
json
{
"error": {
"code": 401,
"message": "Invalid API key",
"type": "authentication_error"
}
}
HTTP Status Codes
| Code | Type | Nguyên nhân | Cách xử lý |
|---|---|---|---|
400 |
Bad Request | Request body không hợp lệ, thiếu tham số bắt buộc | Kiểm tra JSON format, model và messages bắt buộc |
401 |
Unauthorized | API key sai, hết hạn, hoặc bị thu hồi | Kiểm tra header Authorization: Bearer biz-... |
402 |
Payment Required | Hết credits / vượt monthly quota | Nạp thêm credits tại dashboard |
403 |
Forbidden | Model bị giới hạn bởi tier, hoặc domain không khớp | Nâng cấp tier hoặc kiểm tra domain lock |
404 |
Not Found | Endpoint hoặc model không tồn tại | Kiểm tra URL và model ID |
429 |
Rate Limited | Gửi quá nhiều requests | Giảm tần suất, implement exponential backoff |
500 |
Internal Error | Lỗi server hoặc upstream provider | Retry sau vài giây. Nếu vẫn lỗi → liên hệ support |
502 |
Bad Gateway | Upstream provider (OpenRouter) không respond | Thử model khác hoặc retry |
503 |
Service Unavailable | Server đang bảo trì | Retry sau vài phút |
Debug Tips
1. Kiểm tra API Key
bash
curl https://bizgpt.vn/wp-json/bizcity/v1/llm/health # Nếu trả {"status":"ok"} → server hoạt động curl https://bizgpt.vn/wp-json/bizcity/v1/llm/balance \ -H "Authorization: Bearer biz-YOUR_KEY" # Nếu trả balance → key hợp lệ
2. Kiểm tra Model
bash
curl https://bizgpt.vn/wp-json/bizcity/v1/llm/models \ -H "Authorization: Bearer biz-YOUR_KEY" | jq '.models[] | select(.id == "openai/gpt-4o")' # Kiểm tra model có khả dụng cho tier của bạn không
3. Retry Strategy
Đối với lỗi 429 và 5xx, implement exponential backoff:
python
import time, random def call_with_retry(fn, max_retries=3): for attempt in range(max_retries): try: return fn() except Exception as e: if attempt == max_retries - 1: raise wait = (2 ** attempt) + random.uniform(0, 1) time.sleep(wait)







