sone centralgeliştirici

Kimlik doğrulama ve anahtarlar

Sunucu anahtarı ile tarayıcı anahtarı arasındaki fark, anahtarın nasıl gönderildiği, izin verilen siteler ve anahtarın nasıl iptal edildiği.

İki anahtar türü

Sunucu anahtarıTarayıcı anahtarı
Biçimsk-sone-v1- ve 48 harf ya da rakampk-sone-v1- ve 48 harf ya da rakam
NeredeArka uç kodu, sunucusuz işlev, betikSitenizdeki sohbet penceresi
TarayıcıdanReddedilir (403 secret_key_in_browser)Yalnız izin verilen sitelerden
user ile sohbet bulmaVarYok, gönderilen değer yok sayılır
Geliştirici bağlamıVarYok, gönderilen bağlam yok sayılır
Yeni sohbete aktarılan geçmişZiyaretçi ve asistan satırlarıYalnız ziyaretçinin satırları
İstek sınırıAnahtar başına dakikada 120Ziyaretçi adresi başına dakikada 30; anahtar başına saatte 1.200 istek ve 20.000 okuma
Otomatik yanıt sınırıÇalışma alanının sınırı: saatte 60, günde 300 turBu sınırın içinde bütün tarayıcı anahtarlarının ortak payı: saatte 40, günde 200 tur

Anahtarları Sonecentral'da Metin asistanı sayfasının API anahtarları bölümünde oluşturur, düzenler ve iptal edersiniz. Bu bölümü yalnız çalışma alanının yöneticileri görür. Bir çalışma alanında aynı anda en fazla 50 etkin anahtar olabilir; iptal edilen anahtarlar bu sayıya girmez.

Anahtarı göndermek

Anahtarı Authorization başlığında taşıyın:

Authorization: Bearer sk-sone-v1-...

x-api-key başlığı da kabul edilir. İkisi birden gelirse Authorization kullanılır.

x-api-key: sk-sone-v1-...

OpenAI SDK'ları ve Vercel AI SDK, apiKey seçeneğine verdiğiniz değeri zaten Authorization: Bearer olarak gönderir.

Anahtar ne zaman gösterilir

Anahtarın tamamı yalnız oluşturulduğu anda, bir kez gösterilir. Sonecentral onu saklamaz, yalnız özetini tutar; listede ilk karakterleri ve son dört karakteri görürsünüz. İstek kayıtlarımız da anahtarı tutmaz; Authorization ile de, x-api-key ile de gönderilse. Anahtarı kaybettiyseniz yenisini oluşturup eskisini iptal edin.

Anahtarın ayarları

Anahtar oluşturulurken şunlar seçilir:

  • Ad. Anahtarı listede tanımanız için, en fazla 80 karakter. GET /key yanıtında da görünür; gizli bilgi yazmayın.
  • Tür. Sunucu anahtarı ya da tarayıcı anahtarı. Tür sonradan değiştirilemez; gerekirse yeni anahtar oluşturun.
  • Asistanlar. Anahtarın çağırabileceği asistanlar. Hepsi seçilirse çalışma alanında yayında olan bütün asistanlar, sonradan yayınlananlar da. Henüz yayında olmayan bir asistan da seçilebilir; anahtar onunla asistan yayınlandığında çalışır.
  • İzin verilen siteler. Yalnız tarayıcı anahtarında. En az bir, en fazla 20 site.
  • Sipariş ve randevu talebi alabilir. Açıksa asistan bu sohbetlerde yeni sipariş ya da randevu talebi açabilir; talepler ekibinizin onayını bekler. Kapalıysa asistan isteği ayrıntılarıyla ekibe iletir. Varsayılan olarak açıktır. Ayrıntılar: Siparişler, randevular ve gizlilik.

Tür dışındaki ayarlar sonradan düzenlenebilir; değişiklik bir sonraki istekte geçerli olur.

İzin verilen siteler

Tarayıcı, siteler arası her istekte Origin başlığını kendisi gönderir. Tarayıcı anahtarı yalnız Origin değeri listedeki sitelerden biriyle aynıysa kabul edilir. Origin başlığı olmayan bir istekte tarayıcı anahtarı kullanılamaz.

Site adresleri şöyle yazılır:

  • https://www.ornek.com gibi, yalnız şema ve alan adı. Alan adında en az bir nokta olmalıdır. 443 dışında bir port gerekiyorsa https://www.ornek.com:8443 gibi yazılır.
  • Yol, sorgu, * joker karakteri, IP adresi ve https://localhost kabul edilmez.
  • https://ornek.com ile https://www.ornek.com iki ayrı sitedir; ikisini de kullanıyorsanız ikisini de ekleyin.
  • Geliştirme için yalnız http://localhost ve http://127.0.0.1 eklenebilir, portlu ya da portsuz: http://localhost:3000, http://127.0.0.1:5173. Bunun dışında http kabul edilmez.

Alan adı küçük harfe çevrilerek karşılaştırılır. Listede olmayan bir siteden gelen istek 403 origin_not_allowed ile reddedilir.

Sunucu anahtarı tarayıcıda çalışmaz

Sunucu anahtarı sitenizin koduna girerse onu herkes okuyabilir ve sizin adınıza istek gönderebilir. Bunun önüne geçmek için Sonecentral, Origin başlığında anahtarın listelemediği bir site taşıyan istekte sunucu anahtarını 403 secret_key_in_browser ile reddeder. Panel sunucu anahtarına site eklemez; bu yüzden tarayıcıdan gelen her istek reddedilir. Tarayıcıda her zaman tarayıcı anahtarını kullanın.

Bu bir güvenlik ağıdır, garanti değildir. Bilgisayardaki bir dosyadan ya da korumalı bir çerçeveden açılan sayfalar Origin: null gönderir. Sonecentral böyle bir isteği sunucudan gelen bir istekten ayıramaz ve reddetmez. Sunucu anahtarını tarayıcıya, mobil uygulama paketine ya da herkese açık bir depoya hiçbir zaman koymayın.

Tarayıcıdaki kodunuz yanıtın şu başlıklarını okuyabilir: x-request-id, retry-after, x-should-retry ve x-sone-conversation-id.

Geliştirici bağlamı

Sunucu anahtarıyla gönderdiğiniz system ve developer rolündeki mesajlar, Responses'taki instructions alanı ve Vercel AI SDK'daki context alanı asistana yalnız bilgi olarak iletilir. Örneğin ziyaretçinin hangi ürün sayfasında olduğunu ya da uygulamanızdaki dil tercihini bildirebilirsiniz.

Bu metin işletmenin talimatını ve kurallarını değiştiremez; içindeki talimatlara uyulmaz. Birden çok bağlam alt alta birleştirilir ve en fazla 2.000 karakteri dikkate alınır. Responses'taki instructions 2.000 karakterden ya da JSON olarak 4 KB'tan uzunsa istek 400 instructions_too_long alır. Bağlam, gönderildiği tur için geçerlidir: sonraki istekte göndermezseniz kalkar.

Tarayıcı anahtarıyla gönderilen geliştirici bağlamı yok sayılır ve saklanmaz, çünkü onu ziyaretçi de değiştirebilir.

İptal

Anahtarı API anahtarları bölümünden iptal ettiğiniz anda kullanılamaz olur; sonraki istekler 401 revoked_api_key alır. İptal geri alınmaz, iptal edilen anahtar düzenlenemez; gerekirse yeni anahtar oluşturun. Anahtarın açtığı sohbetler Mesajlar ekranında kalır.

İptal edilen anahtarın sakladığı yanıtlar 30 gün sonra kendiliğinden silinir. Aynı asistanı çağırabilen yeni bir anahtar onları okuyabilir ve previous_response_id ile sürdürebilir, ama silemez; instructions, safety_identifier ve user alanlarını da göremez: Saklanan yanıtlar.

Anahtarı denetlemek

GET /key kullandığınız anahtarın özetini döner. Anahtarın doğru çalışma alanına ve asistanlara bağlı olduğunu kurulumda bununla doğrulayabilirsiniz.

curl https://pb.sonecentral.com/api/v1/key \
  -H "Authorization: Bearer $SONE_API_KEY"
{
  "data": {
    "label": "pk-sone-v1-Ab3…",
    "name": "Web sitesi sohbeti",
    "kind": "publishable",
    "assistants": ["k3m9x2p7q1w8e4r"],
    "requests": true,
    "allowed_origins": ["https://www.ornek.com"],
    "limits": {
      "requests_per_minute_per_visitor": 30,
      "requests_per_hour": 1200,
      "read_requests_per_hour": 20000,
      "assistant_turns_per_hour": 60,
      "assistant_turns_per_day": 300,
      "browser_assistant_turns_per_hour": 40,
      "browser_assistant_turns_per_day": 200
    }
  }
}

Alan

Tür

Sunucu anahtarında limits şöyledir:

{ "requests_per_minute": 120, "assistant_turns_per_hour": 60, "assistant_turns_per_day": 300 }

GET /key isteği de bir okumadır ve anahtarın sınırına sayılır: Limitler.

Hatalar

DurumcodeNe zaman
401missing_api_keyAnahtar gönderilmedi.
401invalid_api_keyAnahtar tanınmadı, biçimi bozuk ya da öneki türüyle uyuşmuyor.
401revoked_api_keyAnahtar iptal edilmiş.
403origin_not_allowedTarayıcı anahtarı listede olmayan bir siteden ya da Origin başlığı olmadan kullanıldı.
403secret_key_in_browserSunucu anahtarı, anahtarın listelemediği bir sitedeki tarayıcıdan kullanıldı.
429rate_limit_exceededAnahtarın istek ya da okuma sınırı aşıldı. Retry-After kadar bekleyin.

Bütün hata kodları: Hatalar.

Bu sayfada