İçeriğe geç
Sursa Developers

Anahtar kapsamları

Kapsam, bir anahtarın çağırabileceği API bölümünü adlandırır. API başvurusundaki her uç nokta, ihtiyaç duyduğu tek kapsamı belirtir. Bu kapsama sahip olmayan bir anahtarla yapılan istek, herhangi bir şey okunmadan ya da değiştirilmeden önce api_keys.scope koduyla 403 yanıtı alarak reddedilir.

Kapsamlar, bir anahtarın hangi işlemleri çağırabileceğini belirler. Bu işlemlerin hangi nesnelere ulaşacağını ise yine anahtarın rolü, veri profili ve koleksiyonları belirler: cards:write kapsamına ve viewer rolüne sahip bir anahtar kartları değiştiremez, tek bir koleksiyonla sınırlı bir anahtar da diğer koleksiyonlara erişemez.

Kapsamlar

Kapsamİzin verdiği
cards:readKartları, koleksiyonları ve klasörleri okuma.
cards:writeKart, koleksiyon ve klasör oluşturma, değiştirme ve silme.
searchBilgi tabanında arama (POST /v1/search).
askAsistana soru sorma (POST /v1/ask, POST /v1/chat).
import:writeKuruluşun özel kaynaklarına yazma: senkronizasyonlar, toplu gönderimler ve silinenler; ayrıca bunların durumunu okuma. Kaynak ve kaynak anahtarları oluşturmak için admin gerekir.
webhooks:manageWebhook’ları yönetme ve olay beslemesini okuma (GET /v1/webhook-events). İkisi için de ayrıca admin rolü gerekir.
users:readKullanıcıları ve grupları okuma.
users:writeKullanıcıları ve grupları değiştirme.
analytics:readAnalitik verilerini okuma.
audit:readDenetim kaydını okuma.
finance:readFinansal raporları, faturaları ve ödemeleri okuma.
catalog:readHizmet kataloğunu okuma.
files:readDışa aktarılan yanıtlar gibi üretilmiş dosyaları okuma.
files:writeÜretilmiş dosyaları değiştirme ve silme.
permissions:manageNesnelerde izin atama ve izinleri kaldırma.
adminKuruluşun ayarları ve API anahtarları. admin kapsamına sahip bir anahtar diğer tüm kapsamlara da sahiptir.

Arama ve soru sorma, niteliği bakımından okuma işlemleridir: yalnızca okuma yapabilen bir anahtar da arama yapabilir ve soru sorabilir.

Kapsamları seçme

Bir entegrasyona yalnızca kullandığı kapsamları verin, fazlasını vermeyin:

EntegrasyonKapsamlar
Sohbet aracında soru-cevap botusearch, ask
Belge sisteminizden içe aktarmacards:write (kart API’si) ya da import:write (özel kaynak)
Veri ambarına aktarmacards:read, users:read ve olay beslemesi için webhooks:manage
İnsan kaynakları sisteminizden kullanıcı hesapları oluşturmausers:write

Kapsam listesini anahtarı oluştururken gönderin:

curl -X POST https://api.sursa.com/v1/api-keys \
  -H "Authorization: Bearer $SURSA_ADMIN_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name": "Support bot", "role": "viewer", "scopes": ["search", "ask"]}'

Eski kapsamlar

Kapsamlar bölünmeden önce oluşturulmuş anahtarlar çalışmaya devam eder. Bu anahtarların read, write ve admin kapsamları şu kümelere karşılık gelir:

Eski kapsamAnlamı
readcards:read, search, ask, users:read, analytics:read, finance:read, catalog:read, files:read
writeread kapsamındaki her şey ve ek olarak cards:write, files:write, users:write, permissions:manage
admintüm kapsamlar

Açıkça kapsam belirtilmeden oluşturulan bir anahtar kapsamlarını rolünden alır: admin rolü admin kapsamını, editor ve verifier rolleri write kapsamını, viewer rolü read kapsamını alır.

Bir anahtarın kapsamlarını görme

GET /v1/me, isteği yapan anahtarın kapsamları ne olursa olsun bu anahtarın kapsamlarını döndürür. Açık kapsamlar belirtilmeden oluşturulmuş bir anahtar için bunlar, rolünün read ve write gibi önceki kapsamlarıdır; ne anlama geldiklerini yukarıdaki tablo gösterir. Bir işlem api_keys.scope koduyla başarısız olduğunda error.message alanı eksik olan kapsamı belirtir.