Kimlik Doğrulama

OAuth 2.0 ve JWT token'ları kullanarak API isteklerinizin kimliğini nasıl doğrulayacağınızı öğrenin.

Genel Bakış

TradeWise API, kimlik doğrulama için OAuth 2.0 Client Credentials akışı kullanır. Bu iki adımlı bir süreçtir:

  1. 1
    API Anahtarını JWT Token ile Değiştir

    API anahtarınızı /oauth/token endpoint'ine göndererek JWT token alın.

  2. 2
    API İstekleri için JWT Token Kullan

    Sonraki tüm API çağrıları için Authorization header'ında JWT token'ı ekleyin.

Güvenlik Notu: API çağrılarında doğrudan API anahtarı kullanımı desteklenmez. Önce API anahtarınızı JWT token ile değiştirmelisiniz.

API Anahtarları

API Anahtarınızı Alma

API anahtarınızı almak için:

  1. TradeWise Panonuza giriş yapın
  2. Profil → Geliştirici API bölümüne gidin
  3. "Yeni API Anahtarı Oluştur" düğmesine tıklayın
  4. API anahtarınızı kopyalayın ve güvenli bir şekilde saklayın

API Anahtarı Formatı

TradeWise API anahtarları aşağıdaki formatta gelir:

API Anahtarı

tw_live_xxxxxxxxxx

Gerçek veri ve işlemlerle kullanım için.

OAuth 2.0 Akışı

Kimlik doğrulama akışının görsel temsili:

Uygulamanız
/oauth/token
POST X-API-Key: tw_live_xxxxx
/oauth/token
Uygulamanız
Yanıt { access_token, refresh_token, expires_in, token_type }
Uygulamanız
/api/v1/*
GET/POST Authorization: Bearer {access_token}
/api/v1/*
Uygulamanız
Yanıt { success: true, data: {...} }

JWT Token Alma

API anahtarınızı JWT token ile değiştirmek için POST metodu ile /oauth/token endpoint'ine istek yapın. API anahtarı X-API-Key header'ında gönderilir ve grant_type parametresi JSON body olarak gönderilir:

İstek (POST)

Endpoint: POST /oauth/token

Header: X-API-Key: tw_live_*

Content-Type: application/json

Body: {"grant_type": "api_key"}

curl -X POST https://devapi.tradewise.com.tr/oauth/token \
  -H "X-API-Key: tw_live_api_anahtariniz" \
  -H "Content-Type: application/json" \
  -d '{"grant_type": "api_key"}'

Yanıt

{
  "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
  "token_type": "Bearer",
  "expires_in": 86400,
  "refresh_token": "rf_PAKhXhWmSeeicx6bAb1pg1FroLm1ig7jyMOpe...",
  "refresh_expires_in": 2592000,
  "issued_at": "2026-01-14T12:00:00Z"
}

Token Süreleri

Token Süre Kullanım
access_token 24 saat / 86400 saniye Tüm API çağrılarında Authorization: Bearer header'ı ile gönderilir.
refresh_token 30 gün / 2592000 saniye Access token süresi dolmadan yeni token seti almak için kullanılır.

Token Süresi: Developer API JWT access token'ları 24 saat (86400 saniye) sonra sona erer. Uygulamanız expires_in alanını takip edip süre dolmadan refresh token ile yeni token seti almalıdır.

JWT Token Kullanma

JWT token'ı Authorization header'ına Bearer öneki ile ekleyin:

Örnek İstek

curl -X GET https://devapi.tradewise.com.tr/api/v1/symbol-lists \
  -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..." \
  -H "Content-Type: application/json"

Token Yenileme

TradeWise API, token yenileme için iki farklı yöntem sunar:

Önemli: Access token 24 saat, refresh token 30 gün geçerlidir. Refresh token kullanımı önerilir çünkü API anahtarınızı tekrar göndermek yerine mevcut refresh token ile yeni token seti alırsınız.

Yöntem 1: Refresh Token Kullanarak (Önerilen)

İlk authentication sırasında aldığınız refresh_token'ı kullanarak yeni access token alabilirsiniz. Bu istek POST metodu ile yapılır ve parametreler JSON body olarak gönderilir:

İstek (POST)

Endpoint: POST /oauth/token

Content-Type: application/json

curl -X POST https://devapi.tradewise.com.tr/oauth/token \
  -H "Content-Type: application/json" \
  -d '{
    "grant_type": "refresh_token",
    "refresh_token": "rf_PAKhXhW........HBWYHvjQObVw5hA"
  }'

Yanıt

{
  "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
  "token_type": "Bearer",
  "expires_in": 86400,
  "refresh_token": "rf_YENİ_REFRESH_TOKEN...",
  "refresh_expires_in": 2592000,
  "issued_at": "2026-01-20T12:00:00Z"
}

Not: Refresh token kullandığınızda hem yeni bir access token hem de yeni bir refresh token alırsınız. Eski refresh token tek kullanımlıktır ve başarılı yenilemeden sonra geçersiz olur. Aynı refresh token tekrar kullanılırsa güvenlik olayı olarak değerlendirilir ve ilgili token ailesi iptal edilir.

Yöntem 2: API Anahtarı Kullanarak

Refresh token'ınızı kaybettiyseniz veya süresi dolduysa, API anahtarınızı kullanarak yeni bir token seti alabilirsiniz. Bu istek de POST metodu ile yapılır ve X-API-Key header'ı ile birlikte JSON body gönderilir:

İstek (POST)

Endpoint: POST /oauth/token

Header: X-API-Key

Content-Type: application/json

curl -X POST https://devapi.tradewise.com.tr/oauth/token \
  -H "X-API-Key: tw_live_api_anahtariniz" \
  -H "Content-Type: application/json" \
  -d '{"grant_type": "api_key"}'

Token Süresinin Dolması

JWT token'ınızın süresi dolduğunda 401 Unauthorized yanıtı alırsınız:

{
  "success": false,
  "error": {
    "code": "UNAUTHORIZED",
    "message": "Token'ın süresi doldu"
  }
}

İpucu: expires_in alanını kontrol ederek access token süresi dolmadan birkaç dakika önce refresh token ile yeni token isteyin. Yanıttaki yeni refresh token'ı kalıcı olarak saklayın ve eski refresh token'ı kullanmayı bırakın.

Güvenlik Önerileri

API Anahtarınızı Asla İfşa Etmeyin

API anahtarlarını versiyon kontrolüne eklemeyin, herkese açık olarak paylaşmayın veya istemci tarafı kodunda kullanmayın.

Ortam Değişkenlerini Kullanın

API anahtarlarını ortam değişkenlerinde veya güvenli yapılandırma yönetim sistemlerinde saklayın.

Sadece HTTPS Kullanın

Transit halindeki verileri şifrelemek için API isteklerinde her zaman HTTPS kullanın.

Anahtarları Düzenli Olarak Değiştirin

Güvenlik risklerini en aza indirmek için periyodik olarak yeni API anahtarları oluşturun ve eskileri iptal edin.

API Kullanımını İzleyin

Şüpheli aktiviteleri tespit etmek için panoda API kullanımınızı düzenli olarak kontrol edin.

Kimlik Doğrulama Konusunda Yardıma mı İhtiyacınız Var?

Destek ekibimiz başlamanıza yardımcı olmak için burada.

Destek Ekibiyle İletişime Geç