Felo API PlatformFelo API Platform

शुरुआत

प्रमाणीकरण

API key से अनुरोध प्रमाणित करें, सुरक्षा प्रथाओं का पालन करें और प्रमाणीकरण त्रुटियां संभालें।

Felo API Platform API के सभी अनुरोधों के लिए API Key से प्रमाणीकरण ज़रूरी है। यह गाइड बताती है कि अपने अनुरोधों को कैसे प्रमाणित करें और आम प्रमाणीकरण समस्याओं को कैसे संभालें।

API Key प्रमाणीकरण

Felo सभी v2 endpoint के लिए API Key प्रमाणीकरण का उपयोग करता है। आपकी API Key आपके एप्लिकेशन की पहचान करती है और प्लेटफ़ॉर्म की क्षमताओं तक पहुंच देती है।

यह कैसे काम करता है

  1. आप Felo API Platform API Keys पेज से API Key प्राप्त करते हैं
  2. आप हर API अनुरोध के Authorization हेडर में API Key शामिल करते हैं
  3. प्लेटफ़ॉर्म आपकी API Key को सत्यापित करता है और आपका अनुरोध संसाधित करता है

हेडर का प्रारूप

Bearer प्रमाणीकरण योजना का उपयोग करते हुए अपनी API Key को Authorization हेडर में शामिल करें:

Authorization: Bearer YOUR_API_KEY

उदाहरण अनुरोध

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 Key प्राप्त करना

अपनी API Key पाने के लिए:

  1. Felo API Platform API Keys पेज खोलें
  2. अगर कहा जाए तो अपने Felo खाते से साइन इन करें
  3. key का नाम दर्ज करें और Create Key पर क्लिक करें
  4. key दिखने पर पूरी key कॉपी करें। यह केवल एक बार दिखाई जाती है
  5. key को सुरक्षित रखें और इसे FELO_API_KEY के रूप में इस्तेमाल करें

सुरक्षा की सर्वोत्तम प्रथाएं

1. API Key सुरक्षित रूप से संग्रहित करें

न करें API Key को अपने सोर्स कोड में हार्डकोड करें:

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

करें environment variable या सुरक्षित कॉन्फ़िगरेशन का उपयोग करें:

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

2. Environment Variable का उपयोग करें

अपनी API Key को environment variable में रखें:

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. Key नियमित रूप से बदलें

सुरक्षा जोखिम कम करने के लिए समय-समय पर नई API Key बनाएं और पुरानी रद्द करें।

4. अलग-अलग वातावरण के लिए अलग Key का उपयोग करें

development, staging और production वातावरण के लिए अलग-अलग API Key बनाएं।

5. Key कभी client-side कोड में न दिखाएं

API Key का उपयोग केवल server-side कोड में होना चाहिए। इनमें इन्हें कभी शामिल न करें:

  • Frontend JavaScript कोड
  • मोबाइल ऐप का सोर्स कोड
  • सार्वजनिक रेपो
  • Client-side कॉन्फ़िगरेशन फ़ाइलें

प्रमाणीकरण त्रुटियां

पूरे error envelope, rate-limit हेडर और पुनः प्रयास नीति के लिए Errors, Limits, and Retries देखें।

सामान्य त्रुटि कोड

HTTPकोडअर्थ
401UNAUTHORIZEDkey गुम, अमान्य, समाप्त या रद्द है
429RATE_LIMITEDबहुत ज़्यादा अनुरोध; Errors, Limits, and Retries गाइड देखें

अस्वीकृत अनुरोध message में key की स्थिति लौटाता है:

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

status HTTP स्टेटस कोड है। रद्द की गई key API Key has been revoked (keyPrefix=...) बताती है। HTTP स्टेटस और code के आधार पर शाखा बनाएं, message के सटीक शब्दों के आधार पर नहीं।

समस्या निवारण

अगर प्रमाणीकरण विफल हो:

  1. जांचें कि हेडर ठीक Authorization: Bearer YOUR_API_KEY है।
  2. पुष्टि करें कि key API Keys पेज पर रद्द नहीं हुई है।
  3. पुष्टि करें कि वातावरण वही key इस्तेमाल कर रहा है जिसकी आपको अपेक्षा है।
  4. अगर पुरानी key हटाई या बदली गई थी तो नई key बनाएं। पूरी key केवल बनाते समय एक बार दिखाई जाती है।

लक्षण-आधारित चेकलिस्ट के लिए जिसमें प्रमाणीकरण और बाकी प्लेटफ़ॉर्म शामिल हैं, Troubleshooting देखें।

उदाहरण: प्रमाणीकरण डिबग करना

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

दर सीमा

दर सीमाएं प्रति endpoint लागू होती हैं, API Key के लिए वैश्विक रूप से नहीं। वर्तमान में केवल `/v2/chat` इन्हें लागू करता है; जिन उपयोगकर्ताओं के पास प्रभावी सशुल्क Felo सदस्यता है वे इससे मुक्त हैं। अन्य /v2/** endpoint पर कोई लागू दर सीमा नहीं है।

429 प्रतिक्रिया में X-RateLimit-* हेडर और Retry-After शामिल होते हैं। प्रभावी सीमाएं हमेशा प्रतिक्रिया हेडर से पढ़ें, दस्तावेज़ से नहीं।

पूरे rate-limit आयाम, हेडर और पुनः प्रयास नीति के लिए Errors, Limits, and Retries देखें।

मदद चाहिए?

अगर आपको प्रमाणीकरण संबंधी समस्याएं आ रही हैं:

  1. इस गाइड को ध्यान से पढ़ें
  2. Getting Started गाइड देखें
  3. API Keys पेज पर अपनी API Key सत्यापित करें
  4. अपने request ID के साथ [email protected] पर सहायता से संपर्क करें

आगे के कदम