Skip to main content
Bir scope, access token’ın hangi endpoint ailelerini çağırabileceğini belirler. Bu sayfa, uygulamanızı oluştururken ve yetkilendirme isteğinde scope parametresini doldururken kullanacağınız tüm scope’ları, her birinin açtığı endpoint’leri ve çağrının başarılı olması için kullanıcıda bulunması gereken izinleri listeler.
Tablolardaki izinler istek doğrulamasından ve politikalardan çıkarılmıştır. Bir endpoint’in kesin izin ve görünürlük kuralı için ilgili kaynak sayfasına bakın. Aksi belirtilmedikçe endpoint yolları https://app.flextell.ai/api/v1 altındadır.

Scope adlandırması

Scope’lar kaynak:eylem biçimindedir. Kimlik scope’ları (openid, profile, email, phone) bu biçimi izlemez. Bir endpoint yalnızca kendi eyleminin scope’unu ister. GET çağrıları :read, POST, PUT ve DELETE çağrıları :write ister. Bu yüzden :write tek başına okuma yetkisi vermez.

Scope seçme önerileri

1

Gerçekten çağıracağınız kaynaklarla başlayın

Entegrasyonunuzun kullandığı kaynakların scope’larını isteyin. Kullanıcı yetkilendirme ekranında istediğiniz scope’ları kaynak adına göre gruplanmış, okuma ve yazma rozetiyle görür. Gereksiz scope istemeyin.
2

Birlikte gereken scope'ları atlamayın

Bazı endpoint’ler iki scope’u birden ister. Aşağıdaki “Birlikte gereken scope’lar” tablosuna bakın.
3

Okuma ve yazmayı ayrı düşünün

Yalnızca rapor çeken bir entegrasyon :write scope’u istememelidir. Veri yazan bir entegrasyon genellikle aynı kaynağın :read scope’una da ihtiyaç duyar.
4

Geçerli scope listesini sorgulayın

Uygulamanızın isteyebileceği scope’ları GET /oauth/scopes ile alın. İstek oauth_clients:read scope’u, View:Client izni ve X-Tenant başlığı ister. Yanıt scope ve description alanlarından oluşur; kimlik scope’ları listede yer almaz.
Yetkilendirme isteğinde bilinmeyen, devre dışı veya uygulamanıza tanımlı olmayan tek bir scope bile varsa istek tümüyle invalid_scope hatasıyla reddedilir. Yetkilendirme isteğinde scope’lar sessizce düşürülmez.
Scope listesiyle ilgili diğer kurallar:
  • Uygulamayı oluştururken scopes alanına en az bir uygulama scope’u yazılır. Geçersiz değer 422 OAUTH_SCOPE_INVALID döndürür ve data.invalid_scopes içinde listelenir. Kimlik scope’larını listeye yazmazsınız.
  • Uygulamanın scope listesini PUT /oauth/clients/{id}/scopes ile değiştirirsiniz. Değişiklik yeni yetkilendirmelerde ve yenilemelerde hemen etkili olur. Verilmiş access token’lar süresi dolana kadar eski scope’larıyla çalışır.
  • Token yenilerken scope gönderirseniz değerler ilk yetkilendirmenin alt kümesi olmalıdır. Yenileme scope’ları yalnızca daraltır; yeni scope için kullanıcıyı yeniden yetkilendirmeye yönlendirin.
  • Scope eksikse API 403 FORBIDDEN ve İngilizce Invalid scope(s) provided. mesajını döndürür. Mesaj Accept-Language başlığından etkilenmez.

Birlikte gereken scope’lar

Aşağıdaki endpoint’lerde listelenen scope’lardan biri yeterlidir:

Kimlik scope’ları

Bu scope’lar kimlik bilgisi içindir ve hiçbir /api/v1 endpoint’ine erişim vermez. Her uygulama için her zaman kullanılabilir; uygulamanızın scope listesine eklemezsiniz. Ayrıntılar için OpenID Connect sayfasına bakın. scope parametresi boş bırakılırsa token hiçbir scope taşımaz.

Kaynak scope’ları

Tablolarda okuma izni ve yazma izni sütunları, ilgili scope ile açılan endpoint’lerin kullanıcıda aradığı izinlerdir. — işareti, endpoint’in scope ve klinik üyeliği dışında izin kontrolü yapmadığını gösterir. Tabloların çoğundaki endpoint’ler X-Tenant başlığı ister; bkz. Klinikler ve X-Tenant. İstisnalar /account endpoint’leri (GET /account/roles hariç) ve bu sayfanın sonunda listelenen scope’suz çağrılardır.

Hasta, lead ve satış ekibi

Randevu ve klinik kadrosu

Sohbet, kanal ve bildirim

Satış, fatura ve finans

Ürün ve stok

AI, rapor ve istatistik

Hesap, klinik ve yönetim

activity_logs:write katalogda bulunur ancak hiçbir endpoint onu kontrol etmez; bu scope’u istemenize gerek yoktur.

Scope gerektirmeyen çağrılar

Bearer token ister, ancak scope kontrolü yapmaz:
  • GET /general/cities, /countries, /currencies, /districts, /exchange-rates, /product-types, /unit-codes, /withholding-codes
  • GET ve POST /api/broadcasting/auth (özel gerçek zamanlı kanallar)

Scope ve izin ilişkisi

Scope ve izin iki ayrı denetimdir. Çağrının başarılı olması için ikisi de gerekir. Scope kullanıcıya izin kazandırmaz; yalnızca uygulamanın kullanıcı adına neleri deneyebileceğini sınırlar. customers:write scope’una sahip bir token, Delete:Customer iznine sahip olmayan kullanıcı adına hasta silemez. Aynı scope birden çok izni kapsayabilir. Örneğin appointments:write ile POST /appointments/{id}/cancel çağrısı için kullanıcıda Cancel:Appointment, revert-cancel için RevertCancel:Appointment izni gerekir; PUT /appointments/{id} ile durumu cancelled yapmak için Update ve Cancel izinleri birlikte aranır. Benzer şekilde conversations:write ile bir sohbete mesaj göndermek Send:Message, sohbeti arşivlemek Archive:Conversation ister. Kullanıcı kliniği değiştirdiğinde aynı token kullanılmaya devam eder. Scope’lar değişmez, izinler seçilen kliniğe göre değişir. Bu yüzden aynı token bir klinikte çalışıp diğerinde 403 alabilir. İzinlerin çağrıları kayıt düzeyinde nasıl sınırladığı (örneğin yalnızca kendi leadleri) için İzinler ve görünürlük sayfasına bakın.

İlgili sayfalar

Uygulama oluşturma

scopes listesiyle OAuth uygulaması kaydedin.

Yetkilendirme kodu ve PKCE

scope parametresiyle yetkilendirme isteği gönderin.

Tokenlar

Token yenilerken scope’ları daraltın.

İzinler ve görünürlük

İzinlerin kayıt görünürlüğünü nasıl etkilediğini görün.