Başlangıç
Kimlik doğrulama
İsteklerin kimliğini API anahtarıyla doğrulayın, güvenlik uygulamalarına uyun ve kimlik doğrulama hatalarını yönetin.
Felo API Platform API'lerine yapılan tüm istekler, bir API anahtarıyla kimlik doğrulaması gerektirir. Bu kılavuz, isteklerinizde kimlik doğrulamanın nasıl yapılacağını ve yaygın kimlik doğrulama sorunlarının nasıl ele alınacağını açıklar.
API Anahtarıyla Kimlik Doğrulama
Felo, tüm v2 endpoint'lerinde API anahtarı kimlik doğrulamasını kullanır. API anahtarınız uygulamanızı tanımlar ve platformun yeteneklerine erişim sağlar.
Nasıl Çalışır
- API anahtarınızı Felo API Platform API Anahtarları sayfasından alırsınız
- API anahtarını her API isteğinin
Authorizationbaşlığına eklersiniz - Platform API anahtarınızı doğrular ve isteğinizi işler
Başlık Biçimi
API anahtarınızı Bearer kimlik doğrulama şemasıyla Authorization başlığına ekleyin:
Authorization: Bearer YOUR_API_KEYÖrnek İstek
curl -X POST https://openapi.felo.ai/v2/chat \
-H "Authorization: Bearer sk_live_abc123xyz789" \
-H "Content-Type: application/json" \
-d '{"query": "What is machine learning?"}'API Anahtarınızı Alma
API anahtarınızı almak için:
- Felo API Platform API Anahtarları sayfasını açın
- İstenirse Felo hesabınızla oturum açın
- Bir anahtar adı girin ve Create Key düğmesine tıklayın
- Anahtar göründüğünde tamamını kopyalayın. Yalnızca bir kez gösterilir
- Anahtarı güvenli bir şekilde saklayın ve
FELO_API_KEYolarak kullanın
Güvenlik En İyi Uygulamaları
1. API Anahtarlarını Güvenli Şekilde Saklayın
Yapmayın: API anahtarlarını kaynak kodunuzda sabit kodlamayın:
# ❌ Bad - API Key exposed in code
api_key = "sk_live_abc123xyz789"Yapın: ortam değişkenlerini veya güvenli yapılandırmayı kullanın:
# ✅ Good - API Key from environment
import os
api_key = os.environ.get('FELO_API_KEY')2. Ortam Değişkenlerini Kullanın
API anahtarınızı ortam değişkenlerinde saklayın:
Linux/macOS:
export FELO_API_KEY="sk_live_abc123xyz789"Windows (Komut İstemi):
set FELO_API_KEY=sk_live_abc123xyz789Windows (PowerShell):
$env:FELO_API_KEY="sk_live_abc123xyz789"3. Anahtarları Düzenli Olarak Döndürün
Güvenlik risklerini en aza indirmek için düzenli olarak yeni API anahtarları oluşturun ve eskilerini iptal edin.
4. Farklı Ortamlar için Farklı Anahtarlar Kullanın
Geliştirme, hazırlık (staging) ve üretim ortamları için ayrı API anahtarları oluşturun.
5. Anahtarları İstemci Tarafı Kodunda Asla Açığa Çıkarmayın
API anahtarları yalnızca sunucu tarafı kodunda kullanılmalıdır. Bunları asla şunlara dahil etmeyin:
- Ön uç JavaScript kodu
- Mobil uygulama kaynak kodu
- Herkese açık depolar
- İstemci tarafı yapılandırma dosyaları
Kimlik Doğrulama Hataları
Tam hata zarfı, hız sınırı başlıkları ve yeniden deneme ilkesi için Hatalar, Sınırlar ve Yeniden Denemeler bölümüne bakın.
Yaygın Hata Kodları
| HTTP | Kod | Anlamı |
|---|---|---|
| 401 | UNAUTHORIZED | Anahtar eksik, geçersiz, süresi dolmuş veya iptal edilmiş |
| 429 | RATE_LIMITED | Çok fazla istek; Hatalar, Sınırlar ve Yeniden Denemeler kılavuzuna bakın |
Reddedilen bir istek, anahtar durumunu message alanında döndürür:
{
"status": 401,
"code": "UNAUTHORIZED",
"message": "API Key is required",
"request_id": "..."
}status HTTP durum kodudur. İptal edilmiş bir anahtar API Key has been revoked (keyPrefix=...) bildirir. HTTP durumuna ve code alanına göre dallanın, message metninin tam ifadesine göre değil.
Sorun Giderme
Kimlik doğrulama başarısız olursa:
- Başlığın tam olarak
Authorization: Bearer YOUR_API_KEYolduğunu kontrol edin. - Anahtarın API Anahtarları sayfasında iptal edilmediğini doğrulayın.
- Ortamın beklediğiniz anahtarı kullandığını doğrulayın.
- Eski anahtar silindiyse veya döndürüldüyse yeni bir anahtar oluşturun. Tam anahtar yalnızca oluşturma sırasında bir kez gösterilir.
Kimlik doğrulamayı ve platformun geri kalanını kapsayan belirti odaklı bir kontrol listesi için Sorun Giderme bölümüne bakın.
Örnek: Kimlik Doğrulamada Hata Ayıklama
import requests
url = "https://openapi.felo.ai/v2/chat"
api_key = "YOUR_API_KEY"
# Correct format
headers = {
"Authorization": f"Bearer {api_key}",
"Content-Type": "application/json"
}
response = requests.post(url, headers=headers, json={"query": "test"})
if response.status_code == 401:
error = response.json()
print(f"Authentication failed: {error['code']}")
print(f"Message: {error['message']}")
print(f"Request ID: {error['request_id']}")
else:
print("Authentication successful!")Hız Sınırları
Hız sınırları API anahtarı başına global olarak değil, endpoint başına uygulanır. Şu anda bunları yalnızca `/v2/chat` uygular; geçerli bir ücretli Felo aboneliği olan kullanıcılar muaftır. Diğer /v2/** endpoint'lerinde uygulanan bir hız sınırı yoktur.
429 yanıtı X-RateLimit-* başlıklarını ve Retry-After başlığını içerir. Geçerli sınırları her zaman belgelerden değil, yanıt başlıklarından okuyun.
Hız sınırı boyutlarının tamamı, başlıklar ve yeniden deneme ilkesi için Hatalar, Sınırlar ve Yeniden Denemeler bölümüne bakın.
Yardım mı Gerekiyor?
Kimlik doğrulama sorunları yaşıyorsanız:
- Bu kılavuzu dikkatlice gözden geçirin
- Başlangıç kılavuzuna bakın
- API anahtarınızı API Anahtarları sayfasında doğrulayın
- İstek kimliğinizle birlikte [email protected] adresine başvurun
Sonraki Adımlar
- Başlangıç Kılavuzu - İlk API çağrınızı nasıl yapacağınızı öğrenin
- Chat API Referansı - Chat API belgelerini inceleyin