Skip to Content
شروع سریع

شروع سریع

در این صفحه یک‌بار کل مسیر را طی می‌کنیم: ساخت یک کلید، پیدا کردن یک دستیار، گفتگو با آن، و مدیریت هم مسیر موفق و هم یک خطا. ده دقیقه، کاملاً قابل کپی‌کردن.

ساخت یک کلید API

وارد کنسول پلکسیت  شوید (یا ثبت‌نام کنید )، به تنظیمات ← API و اتصال  بروید و کلیدی با نام «Quickstart» بسازید.

کلید خامی را که کنسول نمایش می‌دهد کپی کنید — فقط یک‌بار نمایش داده می‌شود. برای جزئیات کامل این مرحله به احراز هویت مراجعه کنید.

export PLEXIT_API_KEY="pk_live_..."

فهرست دستیارهای خود

curl
curl https://api.plexit.ir/v1/assistants \ -H "Authorization: Bearer $PLEXIT_API_KEY"
{ "data": { "list": [ { "id": "3f9a2c1e5b7d4a6f8c0e2b4d6f8a1c3e", "name": "Support Bot", "instruction": "Answer questions about our product using the knowledge base.", "model": "sol", "reasoning": "low", "status": "active", "description": "Customer support assistant", "personality": "friendly", "language": "en", "avatarUrl": "https://api.plexit.ir/avatars/3f9a2c1e.png", "createdAt": "2026-05-01T09:00:00.000Z" } ], "count": 1 }, "response": { "status": "success", "message": "..." } }

مقدار id دستیار را یادداشت کنید (در URLهای زیر به‌عنوان :assistantCode استفاده می‌شود — «assistant code» و id دستیار در اینجا یک مقدار یکسان‌اند).

ارسال اولین پیام گفتگو

curl -X POST "https://api.plexit.ir/v1/assistants/3f9a2c1e5b7d4a6f8c0e2b4d6f8a1c3e/chat" \ -H "Authorization: Bearer $PLEXIT_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "principal": "user-42", "message": "What are your business hours?" }'

فیلد principal رشته‌ای است که شما انتخاب می‌کنید تا مشخص کند کدام‌یک از کاربران نهاییِ خودتان در حال گفتگو است. برای توضیح کامل اینکه چرا این فیلد وجود دارد و چگونه فضانام‌گذاری می‌شود به POST /v1/assistants/:assistantCode/chat مراجعه کنید.

پاسخ:

{ "data": { "conversationId": "9c1e3f5a7b9d2c4e6f8a0b2d4f6a8c0e", "text": "We're open Monday–Friday, 9am–6pm.", "sources": [ { "fileId": "a1b2c3d4e5f60718293a4b5c6d7e8f90", "path": "/faq/hours.md", "chunk": 2 } ], "model": "sol", "reasoning": "low", "degraded": false, "quota": { "...": "وضعیت مبهم دفتر هزینه، توضیح در ادامه" } }, "response": { "status": "success", "message": "..." } }

فیلد quota عیناً از دفتر هزینه‌ی سرویس retrieval عبور داده می‌شود — شکل آن عمداً بخشی از قرارداد این API نیست، پس فیلدهای خاصی از آن را تجزیه نکنید؛ فقط آن را به‌عنوان یک شیء مبهم لاگ کنید یا منتقل نمایید. مقدار degraded: true به این معناست که پاسخ از یک مسیر تنزل‌یافته (مثلاً یک مسیر جایگزین/Fallback) سرو شده است؛ ارزش لاگ‌کردن را دارد، اما مجموعه‌ای مستند و پایدار از دلایل آن وجود ندارد.

اگر می‌خواهید همین مکالمه را بعداً ادامه دهید، conversationId را ذخیره کنید — به ادامه‌ی یک مکالمه مراجعه کنید.

مدیریت خطاها

هر پاسخ — چه موفق چه ناموفق — از یک قالب یکسان استفاده می‌کند. در صورت شکست، data برابر null است و response.message یک رشته‌ی خوانا برای انسان و از پیش ترجمه‌شده است:

{ "data": null, "response": { "status": "not_found", "message": "Assistant not found." } }
const { data, response } = await res.json(); if (!res.ok) { // response.status یک مقدار enum قابل‌خواندن توسط ماشین است (رجوع کنید به /errors) // response.message برای انسان خواناست و نمایش/لاگ آن بی‌خطر است. console.error(response.status, response.message); return; }

جزئیات کامل، شامل رفتار ۴۰۱ عمومی و قالب خطاهای اعتبارسنجی، در صفحه‌ی خطاها آمده است.

همین است، کل مسیر. هر چیز دیگری در این API — بارگذاری اسناد، پایش وضعیت Job، فهرست/حذف اسناد — روی همین دو مفهومِ پایه سوار است: یک assistantCode و کلید Bearer شما.

مراحل بعدی