Skip to main content
Bu rehber, sıfırdan bir OAuth uygulaması oluşturup ilk yetkilendirilmiş API isteğinizi atana kadar sizi yönlendirir. Örneklerde curl kullanılmıştır; istediğiniz HTTP istemcisini tercih edebilirsiniz.

Ön koşullar

  • https://app.flextell.ai üzerinde bir Flextell hesabı (veya sandbox’ta dev.flextell.ai)
  • Bir terminal ve curl
  • Redirect URI olarak kullanılabilecek bir uygulama URL’i (yerel geliştirme için http://localhost:3000/callback yeterlidir)
1

Bir OAuth uygulaması oluşturun

Flextell panelinde bir OAuth uygulaması açın ve client_id + client_secret değerlerini alın. Bu rehber için customers:read scope’u yeterlidir; uygulamanıza yerel geliştirme için http://localhost:3000/callback redirect URI’si ekleyin.Adım adım detay: Uygulama Oluşturma.
2

Kullanıcıyı yetkilendirme akışına yönlendirin

Kullanıcıyı Flextell’in yetkilendirme sayfasına gönderin:
https://dev.flextell.ai/oauth/authorize
  ?response_type=code
  &client_id=SIZIN_CLIENT_ID
  &redirect_uri=http://localhost:3000/callback
  &scope=customers:read
  &state=RASTGELE_STRING
Kullanıcı izin verdiğinde Flextell, belirttiğiniz redirect_uri’ye bir code ile yönlenir:
http://localhost:3000/callback?code=AUTHORIZATION_CODE&state=RASTGELE_STRING
state parametresini her zaman gönderin ve dönüşte kontrol edin. CSRF saldırılarına karşı koruma sağlar.
3

Authorization code'u access token ile değişin

code’u aldıktan sonra token endpoint’ine bir POST atın:
curl --request POST \
  --url https://dev.flextell.ai/oauth/token \
  --header "Content-Type: application/x-www-form-urlencoded" \
  --data "grant_type=authorization_code" \
  --data "code=AUTHORIZATION_CODE" \
  --data "client_id=SIZIN_CLIENT_ID" \
  --data "client_secret=SIZIN_CLIENT_SECRET" \
  --data "redirect_uri=http://localhost:3000/callback"
Başarılı yanıt örneği:
{
  "token_type": "Bearer",
  "expires_in": 1296000,
  "access_token": "eyJ0eXAiOiJKV1Q...",
  "refresh_token": "def502004d..."
}
access_token 15 gün geçerlidir; refresh_token ile yenileyebilirsiniz. Detaylar Token Yenileme sayfasında.
Scope’larınıza openid eklediyseniz yanıta ekstra bir id_token (RS256 imzalı JWT) eklenir. SPA veya native mobil uygulama geliştiriyorsanız token değişiminde client_secret yerine PKCE code_verifier’ı kullanın. Detay: OpenID Connect ve PKCE.
OIDC uçlarını (authorize, token, userinfo, jwks, end_session) kod tarafında sabitlemek yerine discovery URL’den — https://dev.flextell.ai/.well-known/openid-configuration — dinamik çekmenizi öneririz.
4

Kullanıcının erişebildiği tenant'ları listeleyin

Flextell’de her istek bir tenant (klinik) bağlamında çalışır. Kullanıcının erişebildiği tenant’ları token aldıktan hemen sonra sorgulayın:
curl --request GET \
  --url https://dev.flextell.ai/api/v1/account/tenants \
  --header "Authorization: Bearer SIZIN_ACCESS_TOKEN" \
  --header "Accept: application/json"
Bu uç X-Tenant header’ı gerektirmeyen birkaç uçtan biridir — çünkü kullanıcının hangi tenant’lara erişebildiğini öğrendiğiniz yerdir.
5

İlk tenant-aware isteğinizi atın

Bir tenant ID’si seçin ve onu X-Tenant header’ı olarak gönderin:
curl --request GET \
  --url https://dev.flextell.ai/api/v1/customers \
  --header "Authorization: Bearer SIZIN_ACCESS_TOKEN" \
  --header "X-Tenant: SECILEN_TENANT_ID" \
  --header "Accept: application/json"
Yanıt olarak müşteri listesini alırsınız. Eğer X-Tenant header’ını unutursanız 400, kullanıcının erişimi olmayan bir tenant ID gönderirseniz 404 dönüsü alırsınız.
İşte bu kadar! Artık Flextell API’ye konuşuyorsunuz.

Nereye bakmalı?

Kimlik Doğrulama

OAuth akışının tüm detayları, refresh ve revoke.

İstek Kuralları

Her istekte göndermeniz gereken header’lar ve ortak konvansiyonlar.

Multi-Tenancy

Tenant modeli, roller ve izinler.

API Referansı

Tüm endpoint’lerin şeması ve deneme alanı.