শুরু
অথেন্টিকেশন
API key দিয়ে অনুরোধ অথেন্টিকেট করুন, নিরাপত্তা অনুশীলন মেনে চলুন এবং অথেন্টিকেশন ত্রুটি সামলান।
Felo API Platform API-তে সব অনুরোধের জন্য API Key দিয়ে প্রমাণীকরণ প্রয়োজন। এই গাইডে ব্যাখ্যা করা হয়েছে কীভাবে আপনার অনুরোধ প্রমাণীকৃত করবেন এবং সাধারণ প্রমাণীকরণ সমস্যা সামলাবেন।
API key প্রমাণীকরণ
Felo সব v2 endpoint-এর জন্য API Key প্রমাণীকরণ ব্যবহার করে। আপনার API Key আপনার অ্যাপ্লিকেশন শনাক্ত করে এবং প্ল্যাটফর্মের সক্ষমতাগুলোতে প্রবেশাধিকার দেয়।
এটি কীভাবে কাজ করে
- আপনি Felo API Platform API Keys পেজ থেকে একটি API Key নেন
- প্রতিটি API অনুরোধের
Authorizationheader-এ আপনি API Key অন্তর্ভুক্ত করেন - প্ল্যাটফর্ম আপনার API Key যাচাই করে আপনার অনুরোধ প্রসেস করে
Header ফরম্যাট
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 পেতে:
- Felo API Platform API Keys পেজ খুলুন
- অনুরোধ এলে আপনার Felo অ্যাকাউন্ট দিয়ে সাইন ইন করুন
- একটি key-এর নাম লিখুন এবং Create Key ক্লিক করুন
- key দেখানো হলে সম্পূর্ণটি কপি করুন। এটি কেবল একবারই দেখানো হয়
- 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_abc123xyz789Windows (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 | কোড | অর্থ |
|---|---|---|
| 401 | UNAUTHORIZED | key অনুপস্থিত, অবৈধ, মেয়াদোত্তীর্ণ বা প্রত্যাহৃত |
| 429 | RATE_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-এর ভিত্তিতে শাখা তৈরি করুন।
সমস্যা সমাধান
প্রমাণীকরণ ব্যর্থ হলে:
- header ঠিক
Authorization: Bearer YOUR_API_KEYকি না দেখুন। - API Keys পেজে key প্রত্যাহার করা হয়নি তা নিশ্চিত করুন।
- পরিবেশটি আপনার প্রত্যাশিত key ব্যবহার করছে কি না নিশ্চিত করুন।
- পুরোনো 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 দেখুন।
সহায়তা দরকার?
আপনি প্রমাণীকরণ সমস্যায় পড়লে:
- এই গাইডটি মনোযোগ দিয়ে পড়ুন
- Getting Started গাইড দেখুন
- API Keys পেজে আপনার API Key যাচাই করুন
- আপনার request ID সহ [email protected] ঠিকানায় সহায়তার জন্য যোগাযোগ করুন
পরবর্তী ধাপ
- Getting Started গাইড - আপনার প্রথম API কল কীভাবে করবেন তা জানুন
- Chat API রেফারেন্স - Chat API ডকুমেন্টেশন দেখুন