Mula
Pengesahan
Sahkan permintaan dengan kunci API, ikut amalan keselamatan dan kendalikan ralat pengesahan.
Semua permintaan ke API Felo API Platform memerlukan pengesahan menggunakan Kunci API. Panduan ini menerangkan cara mengesahkan permintaan anda dan mengendalikan isu pengesahan biasa.
Pengesahan Kunci API
Felo menggunakan pengesahan Kunci API untuk semua endpoint v2. Kunci API anda mengenal pasti aplikasi anda dan menyediakan akses kepada keupayaan platform.
Cara Ia Berfungsi
- Anda memperoleh Kunci API daripada halaman Kunci API Felo API Platform
- Anda menyertakan Kunci API dalam pengepala
Authorizationbagi setiap permintaan API - Platform mengesahkan Kunci API anda dan memproses permintaan anda
Format Pengepala
Sertakan Kunci API anda dalam pengepala Authorization menggunakan skema pengesahan Bearer:
Authorization: Bearer YOUR_API_KEYContoh Permintaan
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?"}'Memperoleh Kunci API Anda
Untuk mendapatkan Kunci API anda:
- Buka halaman Kunci API Felo API Platform
- Log masuk dengan akaun Felo anda jika diminta
- Masukkan nama kunci dan klik Create Key
- Salin kunci penuh apabila ia dipaparkan. Ia hanya ditunjukkan sekali
- Simpan kunci dengan selamat dan gunakannya sebagai
FELO_API_KEY
Amalan Terbaik Keselamatan
1. Simpan Kunci API dengan Selamat
Jangan hardcode Kunci API dalam kod sumber anda:
# ❌ Bad - API Key exposed in code
api_key = "sk_live_abc123xyz789"Lakukan penggunaan pembolehubah persekitaran atau konfigurasi selamat:
# ✅ Good - API Key from environment
import os
api_key = os.environ.get('FELO_API_KEY')2. Gunakan Pembolehubah Persekitaran
Simpan Kunci API anda dalam pembolehubah persekitaran:
Linux/macOS:
export FELO_API_KEY="sk_live_abc123xyz789"Windows (Command Prompt):
set FELO_API_KEY=sk_live_abc123xyz789Windows (PowerShell):
$env:FELO_API_KEY="sk_live_abc123xyz789"3. Putar Kunci Secara Berkala
Jana Kunci API baharu secara berkala dan batalkan yang lama untuk meminimumkan risiko keselamatan.
4. Gunakan Kunci Berbeza untuk Persekitaran Berbeza
Cipta Kunci API berasingan untuk persekitaran pembangunan, pentas, dan pengeluaran.
5. Jangan Dedahkan Kunci dalam Kod Sebelah Klien
Kunci API hanya boleh digunakan dalam kod sebelah pelayan. Jangan sekali-kali menyertakannya dalam:
- Kod JavaScript bahagian hadapan
- Kod sumber aplikasi mudah alih
- Repositori awam
- Fail konfigurasi sebelah klien
Ralat Pengesahan
Untuk sampul ralat penuh, pengepala had kadar, dan dasar cubaan semula, lihat Ralat, Had, dan Cuba Semula.
Kod Ralat Biasa
| HTTP | Kod | Maksud |
|---|---|---|
| 401 | UNAUTHORIZED | Kunci hilang, tidak sah, tamat tempoh, atau dibatalkan |
| 429 | RATE_LIMITED | Terlalu banyak permintaan; lihat panduan Ralat, Had, dan Cuba Semula |
Permintaan yang ditolak mengembalikan status kunci dalam message:
{
"status": 401,
"code": "UNAUTHORIZED",
"message": "API Key is required",
"request_id": "..."
}status ialah kod status HTTP. Kunci yang dibatalkan melaporkan API Key has been revoked (keyPrefix=...). Cabang berdasarkan status HTTP dan code, bukan pada perkataan tepat message.
Penyelesaian Masalah
Jika pengesahan gagal:
- Semak bahawa pengepala ialah tepat
Authorization: Bearer YOUR_API_KEY. - Sahkan kunci belum dibatalkan pada halaman Kunci API.
- Sahkan persekitaran menggunakan kunci yang anda jangkakan.
- Jana kunci baharu jika kunci lama dipadamkan atau diputar. Kunci penuh hanya ditunjukkan sekali, semasa penciptaan.
Untuk senarai semak berasaskan gejala yang merangkumi pengesahan dan seluruh platform, lihat Penyelesaian Masalah.
Contoh: Nyahpepijat Pengesahan
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!")Had Kadar
Had kadar dikuatkuasakan setiap endpoint, bukan secara global setiap Kunci API. Pada masa ini hanya `/v2/chat` menguatkuasakannya; pengguna dengan langganan Felo berbayar yang berkesan dikecualikan. Endpoint /v2/** lain tiada had kadar yang dikuatkuasakan.
Respons 429 termasuk pengepala X-RateLimit-* dan Retry-After. Sentiasa baca had berkesan daripada pengepala respons, bukan daripada dokumentasi.
Untuk dimensi had kadar penuh, pengepala, dan dasar cubaan semula, lihat Ralat, Had, dan Cuba Semula.
Perlukan Bantuan?
Jika anda mengalami isu pengesahan:
- Semak panduan ini dengan teliti
- Semak panduan Bermula
- Sahkan Kunci API anda pada halaman Kunci API
- Hubungi sokongan di [email protected] dengan ID permintaan anda
Langkah Seterusnya
- Panduan Bermula - Ketahui cara membuat panggilan API pertama anda
- Rujukan Chat API - Terokai dokumentasi Chat API