مستندات API
راهنمای کامل یکپارچهسازی با پلتفرم. پایه آدرس: https://aiplatform.porslab.com
احراز هویت درخواستها
Bearer JWT
Authorization: Bearer <access_token>از /api/auth/login دریافت میشود — برای پنل وب و اپ
API Key
Authorization: Bearer sk-...از بخش API Keys ساخته میشود — برای /v1/*
احراز هویت
ثبتنام، ورود و مدیریت توکن JWT
POST
/api/auth/registerثبتنام با ایمیل و رمزPOST
/api/auth/loginورود و دریافت access_tokenPOST
/api/auth/login/phoneورود با OTP موبایلGET
/api/auth/meپروفایل کاربر (Bearer)PATCH
/api/auth/preferencesتنظیمات کاربرنمونه کد
چت با cURLbash
curl -X POST "https://aiplatform.porslab.com/v1/chat/completions" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "openai/gpt-4o-mini",
"messages": [{"role": "user", "content": "سلام!"}],
"stream": false
}'چت با JavaScript (fetch)javascript
const res = await fetch("https://aiplatform.porslab.com/v1/chat/completions", {
method: "POST",
headers: {
Authorization: "Bearer YOUR_API_KEY",
"Content-Type": "application/json",
},
body: JSON.stringify({
model: "openai/gpt-4o-mini",
messages: [{ role: "user", content: "سلام!" }],
stream: true,
}),
});
const reader = res.body.getReader();
const decoder = new TextDecoder();
while (true) {
const { done, value } = await reader.read();
if (done) break;
console.log(decoder.decode(value));
}ورود و دریافت توکنbash
curl -X POST "https://aiplatform.porslab.com/api/auth/login" \
-H "Content-Type: application/json" \
-d '{"email": "user@example.com", "password": "your-password"}'نکات مهم
- محدودیت نرخ (rate limit) بر اساس پلن کاربر اعمال میشود.
- پاسخ stream با فرمت SSE و پیشوند
data:ارسال میشود. - کش AI: درخواستهای تکراری از Redis خوانده میشوند (هزینه صفر).
- در production، Swagger ممکن است غیرفعال باشد — از این صفحه و openapi.json استفاده کنید.