Məzmuna keç
Doğrulama

Doğrulama

Hər sorğu API açarınızı başlıqda daşıyır. Hesab başına bir açar hər endpoint və hər modeldə, iki başlıq formasından hər hansı birində işləyir.

Başlıq · OpenAI SDK-ları
Authorization: Bearer YOUR_API_KEY
Başlıq · Anthropic SDK-ları
x-api-key: YOUR_API_KEY

Qəbul edilən başlıqlar

Hər iki başlıq endpoint hansı formatda danışırsa danışsın, hər /v1 endpoint-də oxunur. Onlardan birini göndərin.

Başlıq Təsvir
Authorization: Bearer <key> Birinci yoxlanılır. Bearer sözünü böyük B ilə və açardan əvvəl bir boşluqla yazın. OpenAI SDK-ları bu başlığı göndərir.
x-api-key: <key> Sorğuda Authorization: Bearer başlığı olmadıqda oxunur. Anthropic SDK-ları bu başlığı göndərir.

OpenAI SDK ilə açarı və əsas URL-i təyin edin; SDK Authorization: Bearer göndərir.

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 ilə açarı və /v1 olmadan əsas URL-i təyin edin; SDK x-api-key göndərir.

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"))

Hansı endpoint-lərə açar lazımdır

Endpoint Açar
POST /v1/chat/completions Məcburi
POST /v1/messages Məcburi
POST /v1/responses Məcburi
POST /v1/tokenize Məcburi
POST /v1/messages/count_tokens Məcburi
GET /v1/models Lazım deyil

Açarınız

  • Açar sk- və ardınca A–Z, a–z, 0–9, - və _ simvollarından 43 simvoldur: cəmi 46 simvol.
  • Hər hesabın dəqiq bir açarı var. O, Keys & usage səhifəsini ilk dəfə açdığınız zaman yaradılır.
  • Açar hesabınız üçün API-yə tam giriş verir: hər endpoint, hər model və balansın hamısı.
  • Açarın bitmə tarixi yoxdur. Siz onu yeniləyənə və ya ləğv edənə qədər işləyir.

Yeniləmə və ləğv etmə

Açarı Keys & usage səhifəsində yeniləyir və ləğv edirsiniz. Keys & usage

Əməliyyat Nə baş verir
Yeniləmək Yeni açar verilir və köhnə açar işləməyi dayandırır. Yeni açar dərhal işləyir.
Ləğv etmək Açar işləməyi dayandırır və yeni açar verilmir. İşləyən açar almaq üçün yeniləyin.
  • Hər ikisi dərhal qüvvəyə minir: köhnə açarla növbəti sorğuya 401 cavabı verilir. Köhnə açarın hər yerdə rədd edilməsi üçün yuxarı hədd kimi 60 saniyəni qəbul edin.
  • Hesabın bütün klientləri eyni açardan istifadə edir, buna görə yeniləmə hamısına təsir edir. Yenilədikdən dərhal sonra yeni açarı klientlərinizə qoyun.
  • Balans, istifadə və flood protection açara yox, hesaba aiddir. Yeni açar eyni balans və cari dəqiqə üçün eyni sorğu sayı ilə davam edir.

Xətalar

Hər doğrulama xətasının statusu 401, tipi isə authentication_error-dur. Halları mesaj bir-birindən ayırır.

Status Tip Mesaj Nə vaxt
401 authentication_error Missing authentication Sorğuda nə Authorization: Bearer başlığı, nə də sk- ilə başlayan x-api-key başlığı var. Bu, kiçik hərflə yazılmış bearer üçün və Bearer olmayan Authorization dəyəri üçün də cavabdır.
401 authentication_error Invalid API key Açar hesabın cari açarı deyil: səhv yazılıb, ləğv edilib və ya yeniləmə ilə əvəz olunub.
{
  "error": {
    "type": "authentication_error",
    "message": "Invalid API key",
    "code": "invalid_api_key",
    "param": null
  }
}
  • /v1/messages istisna olmaqla hər yolda error obyektində həmçinin code: "invalid_api_key" və param: null olur, açar olmadıqda da.
  • Açar gövdə oxunmazdan əvvəl yoxlanılır. Etibarlı açarı olmayan sorğu, gövdəsi yanlış və ya çox böyük olsa belə, 401 alır.
  • sk- ilə başlamayan Authorization: Bearer dəyəri API açarı sayılmır. O, tokenin yanlış və ya müddətinin bitmiş olduğunu bildirən mesajla 401 alır.

Brauzerlər və CORS

  • API cross-origin brauzer sorğularına yalnız sabit mənşə siyahısı üçün cavab verir. Başqa mənşəli səhifədəki JavaScript /v1 cavablarını oxuya bilməz.
  • API-ni serverinizdən çağırın və səhifənizin serverinizlə əlaqə qurmasına icazə verin. Bu, həm də açarı səhifə mənbəyindən kənarda saxlayır.
  • Server tərəfindəki kod və komanda sətri alətlərinə bu təsir etmir: bu qaydanı yalnız brauzerlər tətbiq edir.
  • shannon-ai.com saytında daxil olmaq /v1 sorğularını doğrulamır. Cookie-lər orada oxunmur; açar yeganə etibarnamədir.
  • İcazə verilmiş mənşə üçün brauzer content-type, authorization, x-api-key, anthropic-version, anthropic-beta, openai-beta və x-request-id göndərə, x-request-id cavab başlığını isə oxuya bilər.

Açarın təhlükəsizliyini qorumaq

  • Açarı serverdə saxlayın. Onu veb səhifələrə, mobil tətbiqlərə və ya ictimai repozitoriyalara qoymayın: ona sahib olan hər kəs bütün balansınızı xərcləyə bilər.
  • Açarı koda yazmaq əvəzinə mühit dəyişənindən və ya secret store-dan yükləyin.
  • Açar sızmış ola bilərsə, onu Keys & usage səhifəsində yeniləyin. Köhnə açar dərhal işləməyi dayandırır.
  • Sızmadan sonra Keys & usage səhifəsindəki sorğu siyahısını oxuyun. O, açarın son 30 gündə etdiyi hər sorğunu göstərir.