Felo API PlatformFelo API Platform

آغاز

تصدیق

درخواستوں کی API کلیدوں کے ساتھ تصدیق کریں، حفاظتی اصول اپنائیں، اور تصدیق کی خرابیاں سنبھالیں۔

Felo API Platform APIs کو بھیجی جانے والی تمام درخواستوں کے لیے API کلید کے ذریعے تصدیق لازمی ہے۔ یہ گائیڈ بتاتی ہے کہ اپنی درخواستوں کی تصدیق کیسے کریں اور تصدیق کے عام مسائل کیسے سنبھالیں۔

API کلید کے ذریعے تصدیق

Felo تمام v2 endpoints کے لیے API کلید کی تصدیق استعمال کرتا ہے۔ آپ کی API کلید آپ کی ایپلیکیشن کی شناخت کرتی ہے اور پلیٹ فارم کی صلاحیتوں تک رسائی دیتی ہے۔

یہ کیسے کام کرتا ہے

  1. آپ Felo API Platform API Keys صفحے سے API کلید حاصل کرتے ہیں
  2. آپ ہر API درخواست کے Authorization ہیڈر میں API کلید شامل کرتے ہیں
  3. پلیٹ فارم آپ کی API کلید کی توثیق کرتا ہے اور آپ کی درخواست پر کارروائی کرتا ہے

ہیڈر کا فارمیٹ

Bearer authentication اسکیم استعمال کرتے ہوئے اپنی API کلید 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 کلید حاصل کرنا

اپنی API کلید حاصل کرنے کے لیے:

  1. Felo API Platform API Keys صفحہ کھولیں
  2. اگر کہا جائے تو اپنے Felo اکاؤنٹ سے سائن اِن کریں
  3. کلید کا نام درج کریں اور Create Key پر کلک کریں
  4. کلید ظاہر ہونے پر مکمل کاپی کریں۔ یہ صرف ایک بار دکھائی جاتی ہے
  5. کلید کو محفوظ طریقے سے رکھیں اور FELO_API_KEY کے طور پر استعمال کریں

سیکیورٹی کی بہترین مشقیں

1. API کلیدیں محفوظ طریقے سے رکھیں

ایسا نہ کریں کہ API کلیدیں اپنے سورس کوڈ میں ہارڈ کوڈ کریں:

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

ایسا کریں کہ environment variables یا محفوظ کنفیگریشن استعمال کریں:

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

2. environment variables استعمال کریں

اپنی API کلید environment variables میں رکھیں:

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. کلیدیں باقاعدگی سے بدلتے رہیں

سیکیورٹی کے خطرات کم کرنے کے لیے وقتاً فوقتاً نئی API کلیدیں بنائیں اور پرانی منسوخ کریں۔

4. مختلف ماحول کے لیے مختلف کلیدیں استعمال کریں

ڈویلپمنٹ، اسٹیجنگ اور پروڈکشن ماحول کے لیے الگ الگ API کلیدیں بنائیں۔

5. کلیدیں کبھی کلائنٹ سائیڈ کوڈ میں ظاہر نہ کریں

API کلیدیں صرف سرور سائیڈ کوڈ میں استعمال ہونی چاہئیں۔ اِنہیں کبھی اِن میں شامل نہ کریں:

  • فرنٹ اینڈ JavaScript کوڈ
  • موبائل ایپ کے سورس کوڈ
  • عوامی ریپوزٹریز
  • کلائنٹ سائیڈ کنفیگریشن فائلیں

تصدیق کی خرابیاں

مکمل ایرر انویلپ، ریٹ کی حد کے ہیڈرز اور دوبارہ کوشش کی پالیسی کے لیے ایررز، حدود اور دوبارہ کوششیں دیکھیں۔

عام ایرر کوڈز

HTTPکوڈمطلب
401UNAUTHORIZEDکلید غائب، غلط، میعاد ختم شدہ یا منسوخ ہے
429RATE_LIMITEDبہت زیادہ درخواستیں؛ ایررز، حدود اور دوبارہ کوششیں گائیڈ دیکھیں

مسترد شدہ درخواست message میں کلید کی حالت واپس کرتی ہے:

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

status HTTP اسٹیٹس کوڈ ہے۔ منسوخ شدہ کلید API Key has been revoked (keyPrefix=...) بتاتی ہے۔ فیصلہ HTTP اسٹیٹس اور code کی بنیاد پر کریں، message کے الفاظ کی بنیاد پر نہیں۔

مسائل کا حل

اگر تصدیق ناکام ہو:

  1. چیک کریں کہ ہیڈر بالکل Authorization: Bearer YOUR_API_KEY ہے۔
  2. تصدیق کریں کہ کلید API Keys صفحے پر منسوخ نہیں ہوئی۔
  3. تصدیق کریں کہ ماحول وہی کلید استعمال کر رہا ہے جس کی آپ توقع رکھتے ہیں۔
  4. اگر پرانی کلید حذف یا تبدیل ہو گئی ہو تو نئی کلید بنائیں۔ مکمل کلید صرف تخلیق کے وقت ایک بار دکھائی جاتی ہے۔

علامات کی بنیاد پر ترتیب دی گئی اُس چیک لسٹ کے لیے جو تصدیق اور پلیٹ فارم کے باقی حصوں کا احاطہ کرتی ہے، مسائل کا حل دیکھیں۔

مثال: تصدیق کی ڈیبگنگ

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 کلید عالمی طور پر۔ فی الحال صرف `/v2/chat` اِنہیں نافذ کرتا ہے؛ جن صارفین کے پاس موثر بامعاوضہ Felo سبسکرپشن ہے وہ مستثنیٰ ہیں۔ دیگر /v2/** endpoints پر کوئی نافذ شدہ ریٹ کی حد نہیں۔

429 جواب میں X-RateLimit-* ہیڈرز اور Retry-After شامل ہوتے ہیں۔ موثر حدود ہمیشہ جواب کے ہیڈرز سے پڑھیں، دستاویزات سے نہیں۔

ریٹ کی حد کی مکمل جہتوں، ہیڈرز اور دوبارہ کوشش کی پالیسی کے لیے ایررز، حدود اور دوبارہ کوششیں دیکھیں۔

مدد چاہیے؟

اگر آپ کو تصدیق کے مسائل پیش آ رہے ہیں:

  1. اِس گائیڈ کا بغور جائزہ لیں
  2. آغاز کریں گائیڈ دیکھیں
  3. API Keys صفحے پر اپنی API کلید کی تصدیق کریں
  4. اپنے request ID کے ساتھ [email protected] پر معاونت سے رابطہ کریں

اگلے مراحل