BazaarLinkBazaarLink
เข้าสู่ระบบ
เอกสารAPI ข้อมูลอ้างอิงSDK ข้อมูลอ้างอิงการใช้งาน AgentAI ทักษะ
สารบัญ

รหัสข้อผิดพลาด

รหัสข้อผิดพลาด

Error รูปแบบการตอบสนอง

รูปแบบ error envelope แตกต่างตาม endpoint ใช้ HTTP status และ error.type เมื่อมี error.code อาจเป็น string หรือ numeric status และอาจไม่มี; error.message ใช้แสดงผลเท่านั้น

{
  "error": {
    "message": "Insufficient credits. Please top up to continue.",
    "type": "invalid_request_error",
    "code": "insufficient_credits"
  }
}

HTTP สถานะและข้อผิดพลาดรหัส

รูปแบบ error envelope แตกต่างตาม endpoint ใช้ HTTP status และ error.type เมื่อมี error.code อาจเป็น string หรือ numeric status และอาจไม่มี; error.message ใช้แสดงผลเท่านั้น

รหัส
ชื่อ
คำอธิบาย
424การพึ่งพาล้มเหลวคีย์ BYOK ที่คุณตั้งค่าเองถูกผู้ให้บริการ upstream ปฏิเสธ โปรดตรวจสอบหรือเปลี่ยนคีย์ในการตั้งค่า BYOK ข้อผิดพลาดนี้จะแสดงเฉพาะในโหมด strict
400คำขอไม่ถูกต้องคำขอมีรูปแบบไม่ถูกต้อง อาร์เรย์ข้อความว่างเปล่า หรือช่องที่ต้องกรอกหายไป คีย์
401ไม่ได้รับอนุญาตAPI หายไป ไม่ถูกต้อง หรือปิดใช้งาน
402ต้องชำระเงินเครดิตบัญชีไม่เพียงพอ ถึงขีดจำกัดการใช้จ่ายต่อคีย์แล้ว หรือเกินขีดจำกัดงบประมาณ monthly/weekly
403ห้ามบัญชีถูกระงับหรือไม่ได้รับอนุญาต
404ไม่พบRequested model, generation, key, or other resource does not exist
409ความขัดแย้งResource is not in the required state, such as an incomplete video job
410ไปแล้วRequested model has been retired and must be replaced
413เนื้อหาใหญ่เกินไปเนื้อหาคำขอเกิน 10 MB; ลดขนาดเนื้อหาหรือแยกคำขอ
416Range ไม่น่าพอใจRequested byte range is invalid for generated video content
429คำขอมากเกินไปRate เกินขีดจำกัด; ตรวจสอบส่วนหัว Retry-After ก่อนที่จะลองอีกครั้ง
432โควตาฟรีหมดแล้วเอนด์พอยต์ที่เข้ากันได้กับ Tavily (/v1/search, /v1/extract, /v1/crawl, /v1/map): โควตาการค้นหาฟรีถูกใช้หมดแล้ว หรือยอดคงเหลือเป็นศูนย์หรือติดลบ โปรดเติมเครดิตเพื่อใช้งานต่อ เนื้อหาการตอบกลับอยู่ในรูปแบบ Tavily: {"detail":{"error":"..."}}
500ข้อผิดพลาดเซิร์ฟเวอร์ข้อผิดพลาดภายใน BazaarLink
502เกตเวย์ไม่ถูกต้องไม่มีแหล่ง upstream ที่ประมวลผลคำขอได้ คำขอจะได้รับข้อผิดพลาด
503บริการไม่พร้อมใช้งานไม่มีการกำหนดค่าผู้ให้บริการอัปสตรีมสำหรับรุ่นนี้ ติดต่อผู้ดูแลระบบ
504เกตเวย์หมดเวลาUpstream connection or stream stalled and timed out

รหัสการเรียกเก็บเงินที่เครื่องอ่านได้

A 402 can represent different controls. Use these stable codes to choose the correct action.

รหัส
คำอธิบาย
byok_key_invalidคีย์ BYOK ที่คุณตั้งค่าเองถูกผู้ให้บริการ upstream ปฏิเสธ โปรดตรวจสอบหรือเปลี่ยนคีย์ในการตั้งค่า BYOK ข้อผิดพลาดนี้จะแสดงเฉพาะในโหมด strict
budget_cap_reachedA weekly or monthly budget cap was reached; raise or reset the cap.
credit_limit_exceededA monthly-billing organization's credit line was exhausted; contact billing.
insufficient_creditsThe prepaid balance is insufficient; add credits.
spend_limit_exceededThe API key reached its daily, weekly, or monthly spend limit.
capacity_unavailableThis model is temporarily at capacity. Retry shortly; the Retry-After header says how long to wait.

Stable error.code catalog

These string codes are emitted by public inference and media paths. Branch on the string code when present; the HTTP status remains the broad failure class.

รุ่นและจุดสิ้นสุด
การค้นหาโมเดล วงจรการใช้งาน ราคา รูปแบบ และข้อผิดพลาดความเข้ากันได้ของอุปกรณ์ปลายทาง
รหัส
HTTP
unknown_model400
invalid_model_id400
model_not_found404
model_retired410
model_endpoint_mismatch400
embedding_on_chat_endpoint400
model_not_priced400
invalid_modality_for_model400
คำขอและความปลอดภัย
พารามิเตอร์ บริบท เครื่องมือ สคีมา และการปฏิเสธความปลอดภัยของเนื้อหาไม่ถูกต้อง
รหัส
HTTP
missing_required_field400
unsupported_param400
max_tokens_invalid400
context_too_long400
tool_use_unsupported400
malformed_tool_messages400
invalid_response_format_schema400
invalid_tools_definition400
content_moderation403
content_filter403
unknown_4xx400
การสร้างและแก้ไขภาพ
ข้อผิดพลาดอินพุตรูปภาพ การแก้ไขหลายส่วน เอาต์พุต และข้อผิดพลาดไปป์ไลน์รูปภาพ
รหัส
HTTP
invalid_image_url400
input_images_not_supported400
invalid_content_type400
mask_not_supported400
unsupported_response_format400
missing_prompt400
missing_image400
too_many_images400
invalid_image_type400
image_too_large400
invalid_n400
pipeline_error502
no_images502
การกำหนดเส้นทางอัปสตรีม
การเชื่อมต่อผู้ให้บริการที่ผ่านการฆ่าเชื้อ การรับรองความถูกต้อง การควบคุมปริมาณ และข้อผิดพลาดด้านความพร้อมใช้งาน
รหัส
HTTP
upstream_unreachable502
upstream_auth_failed502
upstream_rate_limited429
capacity_unavailable429
upstream_unavailable502/503
byok_key_invalid424

การตรวจสอบเนื้อหา

คำขอทั้งหมดจะถูกตรวจสอบโดยอัตโนมัติก่อนส่งไปยังโมเดล คำขอที่ละเมิดนโยบายการใช้งานของเราจะถูกปฏิเสธก่อนถึงโมเดล และจะได้รับข้อผิดพลาด 403

หมวดหมู่เนื้อหาที่จะถูกบล็อก

การตรวจสอบเป็นไปตามนโยบายการใช้งานที่ยอมรับได้ (Acceptable Use Policy) ของเรา และจะบล็อกเนื้อหาในหมวดหมู่ต่อไปนี้เป็นหลัก:

  • เนื้อหาการแสวงหาประโยชน์ทางเพศ
  • การขู่ใช้ความรุนแรง
  • คำแนะนำในการดำเนินการที่ผิดกฎหมาย
  • เนื้อหาที่เกี่ยวข้องกับอันตรายทางชีวภาพ

รูปแบบการตอบกลับ 403

คำขอที่ถูกบล็อกโดยการตรวจสอบจะได้รับข้อผิดพลาดในรูปแบบนี้:

{
  "error": {
    "message": "Your prompt was blocked by content moderation.",
    "type": "invalid_request_error",
    "code": "content_filter"
  }
}

คำขอที่ถูกบล็อกจะไม่ถูกเรียกเก็บเงิน — คุณจะไม่ถูกเรียกเก็บเงินสำหรับคำขอที่ถูกปฏิเสธ

การอุทธรณ์กรณีตรวจจับผิดพลาด

หากคุณเชื่อว่าคำขอถูกบล็อกอย่างไม่ถูกต้อง โปรดติดต่อฝ่ายสนับสนุนพร้อมระบุเวลาของคำขอ และ (หากสะดวก) request id เราจะตรวจสอบให้

ความเป็นส่วนตัว

คำขอจะถูกตรวจสอบความปลอดภัยของเนื้อหาโดยอัตโนมัติ ข้อความและรูปภาพของอินพุตล่าสุดของคุณอาจถูกส่งไปยังบริการให้คะแนนความปลอดภัยของเนื้อหาของบุคคลที่สาม

สำหรับคำขอที่ถูกพิจารณาว่าละเมิด สงสัยว่าละเมิด ใกล้เกณฑ์ หรือสุ่มตรวจ เราอาจเก็บข้อความฉบับเต็มหรือส่วนต้นไว้เป็นหลักฐานการปฏิบัติตามข้อกำหนด การจัดการข้อพิพาท และการตรวจสอบ โดยไม่ให้คำมั่นเรื่องระยะเวลาลบที่แน่นอน

คำขอที่สำเร็จตามปกติอื่น ๆ จะไม่เก็บพรอมต์และคำตอบ คำขอที่ใช้คีย์ ZDR ไม่อยู่ภายใต้สองข้อแรก

อัตราจำกัด งบประมาณ และเบรกฉุกเฉิน

These controls can reject an otherwise valid request and require different recovery actions.

การควบคุม
HTTP
จะระบุได้อย่างไร
อัตราการร้องขอจำกัด429string code หรือ numeric code 429; ใช้ header Retry-After และ X-RateLimit-*
บล็อกการลงโทษจำกัดอัตรา429รหัสตัวเลข 429 และข้อความจำกัดชั่วคราว ใช้ลองใหม่หลังจาก
Global ใช้เบรกฉุกเฉิน503รหัสตัวเลข 503 ข้อความจำกัดการใช้จ่ายทั่วโลก และลองอีกครั้งหลังจากผ่านไป 30 หรือ 300 วินาที
Scoped spend brake429Numeric code 429 and a spend circuit-breaker message naming the scope.
การควบคุมการเรียกเก็บเงินและงบประมาณ402ใช้รหัสสตริงการเรียกเก็บเงินแบบคงที่ตามรายการด้านบน

รูปแบบ error envelope แตกต่างตาม endpoint ใช้ HTTP status และ error.type เมื่อมี error.code อาจเป็น string หรือ numeric status และอาจไม่มี; error.message ใช้แสดงผลเท่านั้น

สถานะทรัพยากรวิดีโอและสื่อ

Video validation commonly returns numeric code 400. Missing jobs return 404, retired models 410, unfinished video content 409, and invalid video byte ranges 416.

ลองนโยบายอีกครั้ง

Retry only failures that may recover without changing the request. Honor Retry-After or use exponential backoff with jitter. Do not stack SDK and manual retries.

ลองอีกครั้งโดยถอยกลับ
429, 502, 503, and 504. Check the original generation job before creating another after an ambiguous network failure.
Fix ก่อนลองอีกครั้ง
400, 401, 402, 403, 404, 409, 410, 413, and 416. Fix the request, credentials, balance, permissions, resource state, or Range header first.

การจัดการข้อผิดพลาด

import random
import time
from openai import OpenAI, APIStatusError

client = OpenAI(
    base_url="https://api.bazaarlink.ai/v1",
    api_key="sk-bl-YOUR_API_KEY",
    max_retries=0,  # Avoid double retries; this example handles them.
)

RETRYABLE = {429, 502, 503, 504}

for attempt in range(5):
    try:
        response = client.chat.completions.create(
            model="openai/gpt-4o",
            messages=[{"role": "user", "content": "Hello!"}],
        )
        break
    except APIStatusError as error:
        if error.status_code not in RETRYABLE or attempt == 4:
            raise
        retry_after = error.response.headers.get("Retry-After")
        delay = (
            float(retry_after)
            if retry_after
            else min(8, 0.5 * (2 ** attempt)) + random.uniform(0, 0.25)
        )
        time.sleep(delay)

รูปแบบข้อผิดพลาด Streaming

Errors ที่เกิดขึ้นก่อนที่จะสตรีมโทเค็นใดๆ จะส่งกลับการตอบสนองข้อผิดพลาด HTTP มาตรฐานพร้อมเนื้อหา JSON

หลังจาก stream เริ่มแล้ว HTTP response จะเป็น 200 อยู่แล้ว ให้ parse SSE data frame ทุกเฟรม และถือว่า error ระดับบนสุด หรือ choices[0].finish_reason === "error" คือ response ที่ล้มเหลวและไม่สมบูรณ์

หาก stream ล้มเหลวหลังจากเริ่มแล้ว BazaarLink อาจส่ง SSE event สุดท้ายที่มี error object ระดับบนสุด ตามด้วย data: [DONE] ให้ถือว่า response ไม่สมบูรณ์ และอย่าใช้ output บางส่วนเป็นผลลัพธ์ที่เสร็จสมบูรณ์

data: {"error":{"message":"The request could not be completed.","type":"upstream_error","code":502}}

data: [DONE]

// Branch on error.code; error.type can vary by failure path.
Support
Hi! How can we help you?
Send a message and we'll get back to you soon.