Joan edukira
Autentifikazioa

Autentifikazioa

Eskaera guztiek zure API gakoa daramate goiburu batean. Kontu bakoitzeko gako batek endpoint eta modelo guztietan balio du, bi goiburu-formetako edozeinetan.

Goiburua · OpenAI SDK-ak
Authorization: Bearer YOUR_API_KEY
Goiburua · Anthropic SDK-ak
x-api-key: YOUR_API_KEY

Onartutako goiburuak

Bi goiburuak /v1 endpoint guztietan irakurtzen dira, endpoint-ak formatu zein hitz egiten duen kontuan hartu gabe. Bidali bietako bat.

Goiburua Deskribapena
Authorization: Bearer <key> Lehenik egiaztatzen da. Idatzi Bearer B larriz eta tarte bakar batekin gakoaren aurretik. OpenAI SDK-ek goiburu hau bidaltzen dute.
x-api-key: <key> Eskaerak Authorization: Bearer goibururik ez duenean irakurtzen da. Anthropic SDK-ek goiburu hau bidaltzen dute.

OpenAI SDK batekin, ezarri gakoa eta base URL-a; SDK-ak Authorization: Bearer bidaltzen du.

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 batekin, ezarri gakoa eta base URL-a /v1 gabe; SDK-ak x-api-key bidaltzen du.

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

Zein endpoint-ek behar duten gakoa

Endpoint-a Gakoa
POST /v1/chat/completions Beharrezkoa
POST /v1/messages Beharrezkoa
POST /v1/responses Beharrezkoa
POST /v1/tokenize Beharrezkoa
POST /v1/messages/count_tokens Beharrezkoa
GET /v1/models Ez da behar

Zure gakoa

  • Gako bat sk- da, eta ondoren A–Z, a–z, 0–9, - eta _ multzoko 43 karaktere: 46 karaktere guztira.
  • Kontu bakoitzak gako bakar bat du. Gakoak eta erabilera irekitzen duzun lehen aldian sortzen da.
  • Gakoak zure kontuaren API-rako sarbide osoa ematen du: endpoint guztiak, modelo guztiak eta saldo osoa.
  • Gako batek ez du iraungitze-datarik. Birsortu edo indargabetu arte balio du.

Birsortu eta indargabetu

Gakoak eta erabilera orrialdean birsortzen eta indargabetzen da gakoa. Gakoak eta erabilera

Ekintza Zer gertatzen den
Birsortu Gako berri bat igortzen da eta gako zaharrak funtzionatzeari uzten dio. Gako berriak berehala funtzionatzen du.
Indargabetu Gakoak funtzionatzeari uzten dio eta ez da gako berririk igortzen. Birsortu berriro gako erabilgarri bat izateko.
  • Biek berehala dute eragina: gako zaharrarekin egindako hurrengo eskaerari 401 erantzuten zaio. Hartu 60 segundo goiko muga gisa, gako zaharra toki guztietan ukatu arte.
  • Kontuko bezero guztiek gako bera erabiltzen dute, beraz birsortzeak guztiei eragiten die. Jarri gako berria zure bezeroetan birsortu eta berehala.
  • Saldoa, erabilera eta flood protection kontuarenak dira, ez gakoarenak. Gako berriak saldo berarekin eta uneko minutuko eskaera-kopuru berarekin jarraitzen du.

Erroreak

Autentifikazio-hutsegite guztiek 401 egoera eta authentication_error mota dute. Mezuak kasuak bereizten ditu.

Egoera Mota Mezua Noiz
401 authentication_error Missing authentication Eskaerak ez du Authorization: Bearer goibururik ez sk- hasten den x-api-key goibururik. Hau da erantzuna minuskulaz idatzitako bearer-i eta Bearer gabeko Authorization balioari ere.
401 authentication_error Invalid API key Gakoa ez da kontu baten uneko gakoa: gaizki idatzita dago, indargabetu egin da, edo birsortze batek ordezkatu du.
{
  "error": {
    "type": "authentication_error",
    "message": "Invalid API key",
    "code": "invalid_api_key",
    "param": null
  }
}
  • /v1/messages izan ezik bide guztietan, error objektuak code: "invalid_api_key" ere badu, gakorik ezean ere, eta param: null.
  • Gakoa gorputza irakurri aurretik egiaztatzen da. Gako baliodunik gabeko eskaerak 401 jasotzen du gorputza baliogabea edo handiegia denean ere.
  • sk- hasten ez den Authorization: Bearer balioa ez da API gakotzat hartzen. 401 jasotzen du, tokena baliogabea edo iraungia dela dioen mezuarekin.

Nabigatzaileak eta CORS

  • API-ak jatorri arteko nabigatzaile-eskaerei jatorri-zerrenda finko batentzat bakarrik erantzuten die. Beste jatorri bateko orrialde bateko JavaScript-ek ezin ditu /v1 erantzunak irakurri.
  • Deitu API-ari zure zerbitzaritik eta utzi zure orrialdeari zure zerbitzariarekin hitz egiten. Horrek gakoa orrialdearen iturburu-kodetik kanpo ere uzten du.
  • Zerbitzari-aldeko kodeari eta komando-lerroko tresnei ez die eragiten: arau hau nabigatzaileek bakarrik aplikatzen dute.
  • shannon-ai.com-en saioa hasteak ez ditu /v1 eskaerak autentifikatzen. Han cookieak ez dira irakurtzen; gakoa da kredentzial bakarra.
  • Baimendutako jatorri batetik, nabigatzaile batek content-type, authorization, x-api-key, anthropic-version, anthropic-beta, openai-beta eta x-request-id bidal ditzake, eta x-request-id erantzun-goiburua irakur dezake.

Gakoa seguru gordetzea

  • Gorde gakoa zerbitzari batean. Ez jarri web-orrietan, mugikorreko aplikazioetan edo biltegi publikoetan: daukanak zure saldo osoa gastatu dezake.
  • Kargatu gakoa ingurune-aldagai batetik edo sekretu-biltegi batetik, kodean idatzi beharrean.
  • Gakoa ihes egin badu, birsortu Gakoak eta erabilera orrialdean. Gako zaharrak berehala uzten dio funtzionatzeari.
  • Ihes baten ondoren, irakurri Gakoak eta erabilera orrialdeko eskaera-zerrenda. Gakoak azken 30 egunetan egindako eskaera guztiak erakusten ditu.