Felo API PlatformFelo API Platform

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

  1. Anda memperoleh Kunci API daripada halaman Kunci API Felo API Platform
  2. Anda menyertakan Kunci API dalam pengepala Authorization bagi setiap permintaan API
  3. 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_KEY

Contoh 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:

  1. Buka halaman Kunci API Felo API Platform
  2. Log masuk dengan akaun Felo anda jika diminta
  3. Masukkan nama kunci dan klik Create Key
  4. Salin kunci penuh apabila ia dipaparkan. Ia hanya ditunjukkan sekali
  5. 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_abc123xyz789

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

HTTPKodMaksud
401UNAUTHORIZEDKunci hilang, tidak sah, tamat tempoh, atau dibatalkan
429RATE_LIMITEDTerlalu 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:

  1. Semak bahawa pengepala ialah tepat Authorization: Bearer YOUR_API_KEY.
  2. Sahkan kunci belum dibatalkan pada halaman Kunci API.
  3. Sahkan persekitaran menggunakan kunci yang anda jangkakan.
  4. 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:

  1. Semak panduan ini dengan teliti
  2. Semak panduan Bermula
  3. Sahkan Kunci API anda pada halaman Kunci API
  4. Hubungi sokongan di [email protected] dengan ID permintaan anda

Langkah Seterusnya