Buat rencana pelajaran
Versi API 2026-10-affable-towhee
Mulai membuat rencana pelajaran dan mengalirkan progresnya. started menyebut rencana segera setelah ada, sehingga koneksi yang terputus dapat tersambung kembali dengan GET /v1/lesson-plans/{id}/stream. Stream berakhir dengan result atau error. Rencana yang diambil dari pustaka datang sebagai satu result saja.
Cakupan lesson_plans:write
Parameter
Lingara-Versionheaderstringopsional- Versi API yang digunakan untuk menjawab permintaan ini. Tanpanya, token akses mendapatkan versi yang disematkan pada kliennya, dan permintaan tanpa token mendapatkan versi saat ini. Versi yang masih dalam pengembangan hanya dapat dicapai dengan menyebutkannya di sini. Versi yang tidak dikenal dijawab
400dengan kodeapi_version_unknown.GET /v1/versionsmencantumkan versi-versinya.
Isi permintaan application/json
contextstringwajibsource_langstringwajibtarget_langstringwajiblevelintegerwajib
Respons
200 Progres rencana, lalu rencananya
Peristiwa stream text/event-stream
Mengirim komentar keepalive setiap 15 detik.
-
startedPlanStarted -
plan_idstringwajib
-
phasePlanPhase -
phasestringwajibattemptintegerwajib
-
resultPlanResult Mengakhiri stream -
planLessonPlanwajibidstringwajibstatusPlanStatuswajibtitlestring | nullopsionalsource_langstringwajibtarget_langstringwajiblevelintegerwajibcreated_atstringwajibcompleted_atstring | nullopsionalai_generatedbooleanwajibcontentLessonPlanContent | nullopsionalintroductionstring | nullopsionallearning_objectivesarray of stringwajibvocabularyarray of PlanWordwajibwordstringwajibpronunciationstring | nullopsionaltranslationstringwajib
setsarray of PlanSetwajibnumberintegerwajibcontextstring | nullopsionalquestionsarray of PlanQuestionwajibtypestringwajibpromptstringwajiboptionsarray of string | nullopsionalanswerstringwajibexplanationstringwajibhintstring | nullopsional
-
errorStreamError Mengakhiri stream -
Tiba di dalam respons 200. Baris status sudah dikirim, sehingga kegagalan setelah stream dibuka dilaporkan sebagai event ini.
codestringwajibmessagestringwajibplan_idstring | nullopsional
Galat
402application/json- Panggilan klien dengan penagihan per pemakaian ditolak sebelum menghabiskan apa pun.
spend_cap_reached: klien atau akunnya telah mencapai batas pengeluaran bulanannya; naikkan batasnya di halaman Integrasi.metered_billing_inactive: penagihan per pemakaian tidak aktif untuk akun ini; siapkan, atau perbarui metode pembayarannya, di halaman Integrasi. 410application/json- Versi API yang digunakan untuk menjawab permintaan ini telah dihentikan. Kirim versi yang didukung di
Lingara-Version, atau sematkan klien ke versi lain. 4XXapplication/json- Permintaan ditolak.
codemenyebutkan alasannya, danerrormenjelaskannya dengan kata-kata. 503application/json · text/plain- Layanan sementara tidak tersedia; coba lagi setelah jumlah detik di
Retry-After. Selama pemeliharaan, isi respons berupa teks biasa, bukan amplop galat. 5XXapplication/json- Permintaan ditolak.
codemenyebutkan alasannya, danerrormenjelaskannya dengan kata-kata.
codestringwajibAlasan permintaan ditolak, sebagai kode tetap untuk percabangan: misalnya
insufficient_scope(403),rate_limited(429) dan, untuk klien dengan penagihan per pemakaian,spend_cap_reached(402) danmetered_billing_inactive(402).errorstringwajib
Contoh
Lebih suka pustaka? Lihat bagian Pustaka.
Contoh stream
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."}]}]}}}Jika terjemahan berbeda dengan referensi berbahasa Inggris, referensi berbahasa Inggris yang berlaku.