Felo API PlatformFelo API Platform

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

  1. API anahtarınızı Felo API Platform API Anahtarları sayfasından alırsınız
  2. API anahtarını her API isteğinin Authorization başlığına eklersiniz
  3. 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:

  1. Felo API Platform API Anahtarları sayfasını açın
  2. İstenirse Felo hesabınızla oturum açın
  3. Bir anahtar adı girin ve Create Key düğmesine tıklayın
  4. Anahtar göründüğünde tamamını kopyalayın. Yalnızca bir kez gösterilir
  5. Anahtarı güvenli bir şekilde saklayın ve FELO_API_KEY olarak 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_abc123xyz789

Windows (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ı

HTTPKodAnlamı
401UNAUTHORIZEDAnahtar eksik, geçersiz, süresi dolmuş veya iptal edilmiş
429RATE_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:

  1. Başlığın tam olarak Authorization: Bearer YOUR_API_KEY olduğunu kontrol edin.
  2. Anahtarın API Anahtarları sayfasında iptal edilmediğini doğrulayın.
  3. Ortamın beklediğiniz anahtarı kullandığını doğrulayın.
  4. 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:

  1. Bu kılavuzu dikkatlice gözden geçirin
  2. Başlangıç kılavuzuna bakın
  3. API anahtarınızı API Anahtarları sayfasında doğrulayın
  4. İstek kimliğinizle birlikte [email protected] adresine başvurun

Sonraki Adımlar