Агуулга руу алгасах
Баталгаажуулалт

Баталгаажуулалт

Хүсэлт бүр API түлхүүрийг header-т агуулна. Бүртгэл бүрийн нэг түлхүүр бүх endpoint, бүх загвар дээр ажиллах бөгөөд header-ийн хоёр хэлбэрийн аль алинд нь болно.

Header · OpenAI SDK-ууд
Authorization: Bearer YOUR_API_KEY
Header · Anthropic SDK-ууд
x-api-key: YOUR_API_KEY

Хүлээн авдаг header-ууд

Endpoint ямар форматаар ажиллаж байгаагаас үл хамааран хоёр header-ийг бүх /v1 endpoint дээр уншина. Аль нэгийг нь илгээнэ үү.

Header Тайлбар
Authorization: Bearer <key> Эхэлж шалгана. Bearer-ийг том B-ээр, түлхүүрийн өмнө нэг хоосон зайтай бичнэ. OpenAI SDK-ууд энэ header-ийг илгээдэг.
x-api-key: <key> Хүсэлтэд Authorization: Bearer header байхгүй үед уншина. Anthropic SDK-ууд энэ header-ийг илгээдэг.

OpenAI SDK-тай бол түлхүүр ба base URL-ийг тохируулна; SDK Authorization: Bearer илгээнэ.

from openai import OpenAI

client = OpenAI(
    api_key="YOUR_API_KEY",
    base_url="https://api.shannon-ai.com/v1"
)

response = client.chat.completions.create(
    model="shannon-3",
    messages=[
        {"role": "user", "content": "Hello, Shannon!"}
    ]
)

print(response.choices[0].message.content)

Anthropic SDK-тай бол түлхүүр ба /v1-гүй base URL-ийг тохируулна; SDK x-api-key илгээнэ.

import anthropic

client = anthropic.Anthropic(
    api_key="YOUR_API_KEY",
    base_url="https://api.shannon-ai.com"
)

message = client.messages.create(
    model="shannon-3",
    max_tokens=1024,
    messages=[
        {"role": "user", "content": "Hello, Shannon!"}
    ]
)

print("".join(block.text for block in message.content if block.type == "text"))

Аль endpoint түлхүүр шаардах вэ

Endpoint Түлхүүр
POST /v1/chat/completions Шаардлагатай
POST /v1/messages Шаардлагатай
POST /v1/responses Шаардлагатай
POST /v1/tokenize Шаардлагатай
POST /v1/messages/count_tokens Шаардлагатай
GET /v1/models Шаардлагагүй

Таны түлхүүр

  • Түлхүүр нь sk- ба түүний араас A–Z, a–z, 0–9, -, _ тэмдэгтүүдээс 43 тэмдэгт: нийт 46 тэмдэгт.
  • Бүртгэл бүр яг нэг түлхүүртэй. Түлхүүр ба хэрэглээ хуудсыг анх нээхэд үүснэ.
  • Түлхүүр таны бүртгэлийн API-д бүрэн хандах эрх өгнө: бүх endpoint, бүх загвар болон бүх үлдэгдэл.
  • Түлхүүрийн хүчинтэй хугацаа байхгүй. Та солих эсвэл хүчингүй болгох хүртэл ажиллана.

Солих ба хүчингүй болгох

Түлхүүрээ Түлхүүр ба хэрэглээ хуудсан дээр солих, хүчингүй болгоно. Түлхүүр ба хэрэглээ

Үйлдэл Юу болох
Солих Шинэ түлхүүр олгогдож, хуучин түлхүүр ажиллахаа болино. Шинэ түлхүүр тэр даруй ажиллана.
Хүчингүй болгох Түлхүүр ажиллахаа болино бөгөөд шинэ түлхүүр олгогдохгүй. Ажиллах түлхүүр авахын тулд солино уу.
  • Хоёулаа тэр даруй хүчин төгөлдөр болно: хуучин түлхүүртэй дараагийн хүсэлтэд 401 хариулна. Хуучин түлхүүрийг бүх газар татгалзах дээд хугацааг 60 секунд гэж үзнэ үү.
  • Бүртгэлийн клиент бүр ижил түлхүүр ашигладаг тул солилт бүгдэд нөлөөлнө. Солисныхоо дараа шинэ түлхүүрийг клиентүүддээ тэр даруй оруулна уу.
  • Үлдэгдэл, хэрэглээ болон flood protection нь түлхүүрт бус бүртгэлд хамаарна. Шинэ түлхүүр ижил үлдэгдэл, одоогийн минутын ижил хүсэлтийн тоогоор үргэлжилнэ.

Алдаа

Баталгаажуулалтын алдаа бүр 401 төлөвтэй, authentication_error төрөлтэй. Мессеж нь тохиолдлуудыг ялгана.

Төлөв Төрөл Мессеж Хэзээ
401 authentication_error Missing authentication Хүсэлтэд Authorization: Bearer header ч, sk--ээр эхэлсэн x-api-key header ч байхгүй. Жижиг үсгээр бичсэн bearer болон Bearer-гүй Authorization утгад ч энэ хариулт ирнэ.
401 authentication_error Invalid API key Түлхүүр нь бүртгэлийн одоогийн түлхүүр биш: буруу бичигдсэн, хүчингүй болгосон эсвэл солилтоор орлогдсон.
{
  "error": {
    "type": "authentication_error",
    "message": "Invalid API key",
    "code": "invalid_api_key",
    "param": null
  }
}
  • /v1/messages-ээс бусад бүх зам дээр error объект нь мөн code: "invalid_api_key"-ийг (түлхүүр байхгүй үед ч) болон param: null-ийг агуулна.
  • Түлхүүрийг body уншихаас өмнө шалгана. Хүчинтэй түлхүүргүй хүсэлт body нь буруу эсвэл хэт том байсан ч 401 авна.
  • sk--ээр эхлээгүй Authorization: Bearer утгыг API түлхүүр гэж үзэхгүй. Токен буруу эсвэл хугацаа нь дууссан гэсэн мессежтэй 401 авна.

Хөтөч ба CORS

  • API нь cross-origin хөтчийн хүсэлтэд зөвхөн тогтсон origin жагсаалтад хариулна. Өөр origin-ий хуудсан дээрх JavaScript /v1 хариултыг уншиж чадахгүй.
  • API-г өөрийн серверээс дуудаж, хуудсаа өөрийн сервертэйгээ харилцуулна уу. Ингэснээр түлхүүр хуудасны эх кодод орохгүй.
  • Серверийн код болон командын мөрийн хэрэгсэлд нөлөөлөхгүй: энэ дүрмийг зөвхөн хөтөч мөрддөг.
  • shannon-ai.com дээрх нэвтрэлт /v1 хүсэлтийг баталгаажуулдаггүй. Тэнд cookie уншигдахгүй; түлхүүр бол цорын ганц нэвтрэх мэдээлэл.
  • Зөвшөөрөгдсөн origin-д хөтөч content-type, authorization, x-api-key, anthropic-version, anthropic-beta, openai-beta ба x-request-id-ийг илгээж, хариултын x-request-id header-ийг унших боломжтой.

Түлхүүрийг аюулгүй хадгалах

  • Түлхүүрийг сервер дээр хадгална уу. Вэб хуудас, мобайл апп эсвэл нийтийн repository-д бүү оруул: түлхүүртэй хүн таны бүх үлдэгдлийг зарцуулж чадна.
  • Түлхүүрийг кодонд бичихийн оронд орчны хувьсагч эсвэл нууцын сангаас ачаална уу.
  • Түлхүүр алдагдсан байж магадгүй бол Түлхүүр ба хэрэглээ дээр солино уу. Хуучин түлхүүр тэр даруй ажиллахаа болино.
  • Алдагдсаны дараа Түлхүүр ба хэрэглээ дээрх хүсэлтийн жагсаалтыг уншина уу. Түлхүүрээр сүүлийн 30 хоногт хийсэн бүх хүсэлтийг харуулна.