Felo API PlatformFelo API Platform

Začínáme

Ověřování

Ověřujte požadavky klíčem API, dodržujte bezpečnostní zásady a řešte chyby ověřování.

Všechny požadavky na API platformy Felo API Platform vyžadují ověření pomocí API klíče. Tato příručka vysvětluje, jak ověřovat požadavky a jak řešit běžné problémy s ověřováním.

Ověřování pomocí API klíče

Felo používá ověřování pomocí API klíče pro všechny endpointy v2. Váš API klíč identifikuje vaši aplikaci a poskytuje přístup k možnostem platformy.

Jak to funguje

  1. Získáte API klíč na stránce API klíčů Felo API Platform
  2. API klíč uvedete v hlavičce Authorization každého požadavku API
  3. Platforma ověří váš API klíč a zpracuje váš požadavek

Formát hlavičky

Uveďte svůj API klíč v hlavičce Authorization pomocí schématu ověřování Bearer:

Authorization: Bearer YOUR_API_KEY

Příklad požadavku

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?"}'

Získání API klíče

Získání API klíče:

  1. Otevřete stránku API klíčů Felo API Platform
  2. Pokud budete vyzváni, přihlaste se svým účtem Felo
  3. Zadejte název klíče a klikněte na Create Key
  4. Zkopírujte celý klíč, jakmile se zobrazí. Zobrazí se pouze jednou
  5. Klíč bezpečně uložte a používejte jej jako FELO_API_KEY

Osvědčené postupy zabezpečení

1. Ukládejte API klíče bezpečně

Nedělejte toto: natvrdo zadávejte API klíče do zdrojového kódu:

# ❌ Bad - API Key exposed in code
api_key = "sk_live_abc123xyz789"

Dělejte toto: používejte proměnné prostředí nebo bezpečnou konfiguraci:

# ✅ Good - API Key from environment
import os
api_key = os.environ.get('FELO_API_KEY')

2. Používejte proměnné prostředí

Uložte svůj API klíč do proměnných prostředí:

Linux/macOS:

export FELO_API_KEY="sk_live_abc123xyz789"

Windows (příkazový řádek):

set FELO_API_KEY=sk_live_abc123xyz789

Windows (PowerShell):

$env:FELO_API_KEY="sk_live_abc123xyz789"

3. Pravidelně rotujte klíče

Pravidelně generujte nové API klíče a rušte staré, abyste minimalizovali bezpečnostní rizika.

4. Používejte různé klíče pro různá prostředí

Vytvořte samostatné API klíče pro vývojové, testovací a produkční prostředí.

5. Nikdy neexponujte klíče v kódu na straně klienta

API klíče by měly být používány pouze v kódu na straně serveru. Nikdy je neuvádějte v:

  • JavaScriptovém kódu frontendu
  • Zdrojovém kódu mobilní aplikace
  • Veřejných repozitářích
  • Konfiguračních souborech na straně klienta

Chyby ověřování

Kompletní obálku chyb, hlavičky limitů rychlosti a zásady opakování najdete v části Chyby, limity a opakování.

Běžné kódy chyb

HTTPKódVýznam
401UNAUTHORIZEDChybějící, neplatný, expirovaný nebo zrušený klíč
429RATE_LIMITEDPříliš mnoho požadavků; viz příručka Chyby, limity a opakování

Odmítnutý požadavek vrací stav klíče v poli message:

{
  "status": 401,
  "code": "UNAUTHORIZED",
  "message": "API Key is required",
  "request_id": "..."
}

status je stavový kód HTTP. Zrušený klíč hlásí API Key has been revoked (keyPrefix=...). Větvěte podle stavu HTTP a pole code, nikoli podle přesného znění pole message.

Řešení problémů

Pokud ověření selže:

  1. Zkontrolujte, že hlavička má přesně tvar Authorization: Bearer YOUR_API_KEY.
  2. Ověřte, že klíč nebyl zrušen na stránce API klíčů.
  3. Ověřte, že prostředí používá klíč, který očekáváte.
  4. Pokud byl starý klíč smazán nebo rotován, vygenerujte nový. Celý klíč se zobrazí pouze jednou, při vytvoření.

Kontrolní seznam podle příznaků, který pokrývá ověřování i zbytek platformy, najdete v části Řešení problémů.

Příklad: ladění ověřování

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!")

Limity rychlosti

Limity rychlosti se uplatňují pro každý endpoint, nikoli globálně pro API klíč. V současnosti je uplatňuje pouze `/v2/chat`; uživatelé s aktivním placeným předplatným Felo jsou z nich vyjmuti. Ostatní endpointy /v2/** nemají vynucené limity rychlosti.

Odpověď 429 obsahuje hlavičky X-RateLimit-* a Retry-After. Efektivní limity vždy čtěte z hlaviček odpovědi, nikoli z dokumentace.

Kompletní dimenze limitů rychlosti, hlavičky a zásady opakování najdete v části Chyby, limity a opakování.

Potřebujete pomoc?

Pokud máte problémy s ověřováním:

  1. Pečlivě si projděte tuto příručku
  2. Podívejte se do příručky Začínáme
  3. Ověřte svůj API klíč na stránce API klíčů
  4. Kontaktujte podporu na [email protected] a uveďte své ID požadavku

Další kroky