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
API Anahtarını JWT Token ile Değiştir
API anahtarınızı
/oauth/tokenendpoint'ine göndererek JWT token alın. -
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:
- TradeWise Panonuza giriş yapın
- Profil → Geliştirici API bölümüne gidin
- "Yeni API Anahtarı Oluştur" düğmesine tıklayın
- 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:
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ç