Мазмұнға өту
Аутентификация

Аутентификация

Әр сұрау API кілтіңізді тақырыпта алып жүреді. Аккаунтқа бір кілт әр endpoint пен әр модельде екі тақырып түрінің кез келгенімен жұмыс істейді.

Тақырып · OpenAI SDK-лары
Authorization: Bearer YOUR_API_KEY
Тақырып · Anthropic SDK-лары
x-api-key: YOUR_API_KEY

Қабылданатын тақырыптар

Екі тақырып та әр /v1 endpoint-те оқылады, endpoint қай форматта сөйлесетініне қарамастан. Біреуін жіберіңіз.

Тақырып Сипаттама
Authorization: Bearer <key> Алдымен тексеріледі. Bearer сөзін бас B әрпімен және кілттің алдында бір бос орынмен жазыңыз. OpenAI SDK-лары осы тақырыпты жібереді.
x-api-key: <key> Сұрауда Authorization: Bearer тақырыбы болмағанда оқылады. Anthropic SDK-лары осы тақырыпты жібереді.

OpenAI SDK-мен кілтті және базалық 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 жоқ базалық 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 таңба.
  • Әр аккаунтта дәл бір кілт бар. Ол Keys & usage бетін алғаш ашқанда жасалады.
  • Кілт аккаунтыңыз үшін API-ге толық қолжетімділік береді: барлық endpoint, барлық модель және баланстың бәрі.
  • Кілттің жарамдылық мерзімі жоқ. Оны ауыстырғанша немесе күшін жойғанша жұмыс істейді.

Ауыстыру және күшін жою

Кілтті Keys & usage бетінде ауыстырасыз және күшін жоясыз. Keys & usage

Әрекет Не болады
Ауыстыру Жаңа кілт беріледі, ескі кілт жұмысын тоқтатады. Жаңа кілт бірден жұмыс істейді.
Күшін жою Кілт жұмысын тоқтатады, жаңа кілт берілмейді. Қайтадан жұмыс істейтін кілт алу үшін ауыстырыңыз.
  • Екеуі де бірден күшіне енеді: ескі кілтпен келесі сұраудың жауабы 401 болады. Ескі кілт барлық жерде қабылданбайтынға дейінгі жоғарғы шек ретінде 60 секундты алыңыз.
  • Аккаунттың барлық клиенті бір кілтті қолданады, сондықтан ауыстыру бәріне әсер етеді. Ауыстырғаннан кейін жаңа кілтті клиенттеріңізге бірден енгізіңіз.
  • Баланс, қолдану және flood protection кілтке емес, аккаунтқа тиесілі. Жаңа кілт сол баламен және ағымдағы минуттағы сол сұрау санымен жалғасады.

Қателер

Аутентификацияның әр сәтсіздігінің мәртебесі 401, түрі authentication_error. Жағдайларды хабарлама ажыратады.

Мәртебе Түрі Хабарлама Қашан
401 authentication_error Missing authentication Сұраудың Authorization: Bearer тақырыбы да, sk- әрпінен басталатын x-api-key тақырыбы да жоқ. Кіші әріппен жазылған 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 да болады, кілт жоқ болғанда да.
  • Кілт дене оқылмай тұрып тексеріледі. Жарамды кілті жоқ сұрау денесі жарамсыз немесе тым үлкен болса да 401 алады.
  • sk- әрпінен басталмайтын Authorization: Bearer мәні API кілті ретінде қарастырылмайды. Ол токеннің жарамсыз немесе мерзімі өткен деген хабарламамен 401 алады.

Браузерлер және CORS

  • API 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 жауап тақырыбын оқи алады.

Кілтті қауіпсіз сақтау

  • Кілтті серверде сақтаңыз. Оны веб-беттерге, мобильді қолданбаларға немесе ашық репозиторийлерге қоймаңыз: оны ұстаған кез келген адам бүкіл балансыңызды жұмсай алады.
  • Кілтті кодқа жазудың орнына орта айнымалысынан немесе құпиялар қоймасынан жүктеңіз.
  • Кілт ашылып қалуы мүмкін болса, оны Keys & usage бетінде ауыстырыңыз. Ескі кілт бірден жұмысын тоқтатады.
  • Кілт ашылып қалған соң Keys & usage ішіндегі сұраулар тізімін оқыңыз. Онда кілттің соңғы 30 күнде жасаған әр сұрауы көрсетіледі.