مستندات 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_token
POST/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 استفاده کنید.