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 header-এ আপনি API Key অন্তর্ভুক্ত করেন
  3. প্ল্যাটফর্ম আপনার API Key যাচাই করে আপনার অনুরোধ প্রসেস করে

Bearer প্রমাণীকরণ স্কিম ব্যবহার করে Authorization header-এ আপনার API Key অন্তর্ভুক্ত করুন:

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 দেখানো হলে সম্পূর্ণটি কপি করুন। এটি কেবল একবারই দেখানো হয়
  5. key-টি নিরাপদে সংরক্ষণ করুন এবং FELO_API_KEY হিসেবে ব্যবহার করুন

নিরাপত্তার সর্বোত্তম অনুশীলন

1. API key নিরাপদে সংরক্ষণ করুন

আপনার সোর্স কোডে API Key হার্ডকোড করবেন না:

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

পরিবেশ চলক বা নিরাপদ কনফিগারেশন ব্যবহার করুন:

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

2. পরিবেশ চলক ব্যবহার করুন

আপনার API Key পরিবেশ চলকে সংরক্ষণ করুন:

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 ব্যবহার করুন

ডেভেলপমেন্ট, স্টেজিং ও প্রোডাকশন পরিবেশের জন্য আলাদা API Key তৈরি করুন।

5. ক্লায়েন্ট-সাইড কোডে কখনো key প্রকাশ করবেন না

API Key কেবল সার্ভার-সাইড কোডে ব্যবহার করা উচিত। এগুলো কখনো অন্তর্ভুক্ত করবেন না:

  • ফ্রন্টএন্ড JavaScript কোডে
  • মোবাইল অ্যাপের সোর্স কোডে
  • পাবলিক রিপোজিটরিতে
  • ক্লায়েন্ট-সাইড কনফিগারেশন ফাইলে

প্রমাণীকরণ ত্রুটি

সম্পূর্ণ error envelope, রেট-সীমা header ও রিট্রাই নীতির জন্য 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=...)। message-এর সঠিক শব্দবিন্যাসের বদলে HTTP স্ট্যাটাস ও code-এর ভিত্তিতে শাখা তৈরি করুন।

সমস্যা সমাধান

প্রমাণীকরণ ব্যর্থ হলে:

  1. header ঠিক Authorization: Bearer YOUR_API_KEY কি না দেখুন।
  2. API Keys পেজে key প্রত্যাহার করা হয়নি তা নিশ্চিত করুন।
  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-* header ও Retry-After থাকে। কার্যকর সীমা সবসময় ডকুমেন্টেশন থেকে নয়, রেসপন্স header থেকে পড়ুন।

সম্পূর্ণ রেট-সীমা মাত্রা, header ও রিট্রাই নীতির জন্য Errors, Limits, and Retries দেখুন।

সহায়তা দরকার?

আপনি প্রমাণীকরণ সমস্যায় পড়লে:

  1. এই গাইডটি মনোযোগ দিয়ে পড়ুন
  2. Getting Started গাইড দেখুন
  3. API Keys পেজে আপনার API Key যাচাই করুন
  4. আপনার request ID সহ [email protected] ঠিকানায় সহায়তার জন্য যোগাযোগ করুন

পরবর্তী ধাপ