Ders planı oluştur
API sürümü 2026-10-affable-towhee
Bir ders planı oluşturmaya başlar ve ilerlemesini akış olarak gönderir. started, plan oluşur oluşmaz planı adlandırır; böylece kopan bir bağlantı GET /v1/lesson-plans/{id}/stream ile yeniden bağlanabilir. Akış result veya error ile sona erer. Kütüphaneden sunulan bir plan tek bir result olarak gelir.
Kapsamlar lesson_plans:write
Parametreler
Lingara-Versionheaderstringisteğe bağlı- Bu isteğin yanıtlanacağı API sürümü. Belirtilmezse bir erişim token'ı istemcisinin bağlı olduğu sürümü, token içermeyen bir istek ise güncel sürümü alır. Hâlâ geliştirilmekte olan sürüme yalnızca burada adı verilerek ulaşılır. Bilinmeyen bir sürüm
400veapi_version_unknownkoduyla yanıtlanır.GET /v1/versionssürümleri listeler.
İstek gövdesi application/json
contextstringzorunlusource_langstringzorunlutarget_langstringzorunlulevelintegerzorunlu
Yanıtlar
200 Planın ilerlemesi, ardından plan
Akış olayları text/event-stream
Her 15 saniyede bir keepalive yorumu gönderir.
-
startedPlanStarted -
plan_idstringzorunlu
-
phasePlanPhase -
phasestringzorunluattemptintegerzorunlu
-
resultPlanResult Akışı sonlandırır -
planLessonPlanzorunluidstringzorunlustatusPlanStatuszorunlutitlestring | nullisteğe bağlısource_langstringzorunlutarget_langstringzorunlulevelintegerzorunlucreated_atstringzorunlucompleted_atstring | nullisteğe bağlıai_generatedbooleanzorunlucontentLessonPlanContent | nullisteğe bağlıintroductionstring | nullisteğe bağlılearning_objectivesarray of stringzorunluvocabularyarray of PlanWordzorunluwordstringzorunlupronunciationstring | nullisteğe bağlıtranslationstringzorunlu
setsarray of PlanSetzorunlunumberintegerzorunlucontextstring | nullisteğe bağlıquestionsarray of PlanQuestionzorunlutypestringzorunlupromptstringzorunluoptionsarray of string | nullisteğe bağlıanswerstringzorunluexplanationstringzorunluhintstring | nullisteğe bağlı
-
errorStreamError Akışı sonlandırır -
200 yanıtının içinde gelir. Durum satırı zaten gönderilmiş olduğundan, akış açıldıktan sonraki bir hata bu olay olarak bildirilir.
codestringzorunlumessagestringzorunluplan_idstring | nullisteğe bağlı
Hatalar
402application/json- Kullanım başına ücretlendirilen bir istemcinin çağrısı, hiçbir şey harcamadan reddedildi.
spend_cap_reached: istemci veya hesabı aylık harcama sınırına ulaştı; sınırı Entegrasyonlar sayfasında yükseltin.metered_billing_inactive: bu hesap için kullanım başına ücretlendirme etkin değil; Entegrasyonlar sayfasında kurun veya ödeme yöntemini güncelleyin. 410application/json- Bu isteğin yanıtlandığı API sürümü sonlandırıldı.
Lingara-Versioniçinde desteklenen bir sürüm gönderin veya istemciyi başka bir sürüme bağlayın. 4XXapplication/json- İstek reddedildi.
codenedenini belirtir,errorise bunu sözcüklerle açıklar. 503application/json · text/plain- Hizmet geçici olarak kullanılamıyor;
Retry-Afteriçindeki saniye sayısı kadar bekledikten sonra yeniden deneyin. Bakım sırasında gövde, hata zarfı yerine düz metindir. 5XXapplication/json- İstek reddedildi.
codenedenini belirtir,errorise bunu sözcüklerle açıklar.
codestringzorunluİsteğin neden reddedildiği, dallanmak için kullanılabilecek sabit bir kod olarak: örneğin
insufficient_scope(403),rate_limited(429) ve kullanım başına ücretlendirilen bir istemci içinspend_cap_reached(402) ilemetered_billing_inactive(402).errorstringzorunlu
Örnek
Kütüphane mi tercih edersiniz? Kütüphaneler bölümüne bakın.
Örnek akış
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."}]}]}}}Bir çeviri ile İngilizce referans arasında fark varsa, İngilizce referans geçerlidir.