ساختن پلان درسی
نسخهٔ API 2026-10-affable-towhee
ساختن یک پلان درسی را آغاز میکند و پیشرفت آن را به صورت جریانی میفرستد. started به محض ایجاد پلان، آن را معرفی میکند تا اتصال قطعشده بتواند با GET /v1/lesson-plans/{id}/stream دوباره وصل شود. جریان با result یا error پایان مییابد. پلانی که از کتابخانه ارائه شود، به صورت یک result تنها میرسد.
حوزههای دسترسی lesson_plans:write
پارامترها
Lingara-Versionheaderstringاختیاری- نسخهٔ APIای که این درخواست با آن جواب داده میشود. بدون آن، توکن دسترسی نسخهای را میگیرد که کلاینت آن به آن وصل است، و درخواستی بدون توکن نسخهٔ فعلی را میگیرد. به نسخهای که هنوز در حال انکشاف است تنها با نامبردن آن در اینجا میتوان رسید. نسخهٔ ناشناخته با
400و کدapi_version_unknownجواب داده میشود.GET /v1/versionsنسخهها را فهرست میکند.
بدنهٔ درخواست application/json
contextstringضروریsource_langstringضروریtarget_langstringضروریlevelintegerضروری
پاسخها
200 پیشرفت پلان، سپس خود پلان
رویدادهای جریان text/event-stream
هر 15 ثانیه یک یادداشت keepalive میفرستد.
-
startedPlanStarted -
plan_idstringضروری
-
phasePlanPhase -
phasestringضروریattemptintegerضروری
-
resultPlanResult جریان را پایان میدهد -
planLessonPlanضروریidstringضروریstatusPlanStatusضروریtitlestring | nullاختیاریsource_langstringضروریtarget_langstringضروریlevelintegerضروریcreated_atstringضروریcompleted_atstring | nullاختیاریai_generatedbooleanضروریcontentLessonPlanContent | nullاختیاریintroductionstring | nullاختیاریlearning_objectivesarray of stringضروریvocabularyarray of PlanWordضروریwordstringضروریpronunciationstring | nullاختیاریtranslationstringضروری
setsarray of PlanSetضروریnumberintegerضروریcontextstring | nullاختیاریquestionsarray of PlanQuestionضروریtypestringضروریpromptstringضروریoptionsarray of string | nullاختیاریanswerstringضروریexplanationstringضروریhintstring | nullاختیاری
-
errorStreamError جریان را پایان میدهد -
در داخل پاسخ 200 میرسد. خط وضعیت قبلاً فرستاده شده است، بنابراین هر ناکامی پس از باز شدن جریان بهعنوان این رویداد گزارش میشود.
codestringضروریmessagestringضروریplan_idstring | nullاختیاری
خطاها
402application/json- فراخوانی یک کلاینت مصرفی پیش از آنکه چیزی مصرف کند رد شد.
spend_cap_reached: کلاینت یا حساب آن به سقف مصارف ماهانهٔ خود رسیده است؛ سقف را در صفحهٔ یکپارچهسازیها بلند ببرید.metered_billing_inactive: صورتحساب مصرفی برای این حساب فعال نیست؛ آن را در صفحهٔ یکپارچهسازیها تنظیم کنید یا روش پرداخت را تازه کنید. 410application/json- نسخهٔ APIای که این درخواست با آن جواب داده میشود متوقف شده است. یک نسخهٔ پشتیبانیشده را در
Lingara-Versionبفرستید، یا کلاینت را به نسخهٔ دیگری وصل کنید. 4XXapplication/json- درخواست رد شد.
codeدلیل را مشخص میکند وerrorآن را با کلمات بیان میکند. 503application/json · text/plain- خدمات به طور موقت در دسترس نیست؛ پس از تعداد ثانیههای ذکرشده در
Retry-Afterدوباره کوشش کنید. در زمان ترمیمات، بدنهٔ پاسخ به جای پاکت خطا، متن ساده است. 5XXapplication/json- درخواست رد شد.
codeدلیل را مشخص میکند وerrorآن را با کلمات بیان میکند.
codestringضروریدلیل رد شدن درخواست، به شکل کدی ثابت که میتوان بر اساس آن تصمیم گرفت: برای مثال
insufficient_scope(403)،rate_limited(429) و، برای یک کلاینت مصرفی،spend_cap_reached(402) وmetered_billing_inactive(402).errorstringضروری
نمونه
کتابخانه را ترجیح میدهید؟ بخش کتابخانهها را ببینید.
نمونهٔ جریان
event: started
data: {"plan_id":"3f1c2a9e-5b7d-4e21-9a0c-6d8e4f2b1a37"}
event: phase
data: {"phase":"selecting_vocabulary","attempt":1}
event: result
data: {"plan":{"id":"3f1c2a9e-5b7d-4e21-9a0c-6d8e4f2b1a37","status":"complete","title":"At the night market","source_lang":"en","target_lang":"zh","level":2,"created_at":"2026-09-23T10:00:00Z","completed_at":"2026-09-23T10:00:41Z","ai_generated":true,"content":{"introduction":"Order food and ask prices at a night market.","learning_objectives":["Ask how much something costs"],"vocabulary":[{"word":"多少钱","pronunciation":"duōshao qián","translation":"how much"}],"sets":[{"number":1,"questions":[{"type":"multiple_choice_word","prompt":"Which word asks for a price?","options":["多少钱","谢谢"],"answer":"多少钱","explanation":"多少钱 means how much money."}]}]}}}اگر ترجمه با مرجع انگلیسی فرق داشته باشد، مرجع انگلیسی درست است.