Crea un piano di lezione
Versione API 2026-10-affable-towhee
Avvia la generazione di un piano di lezione e ne trasmette l'avanzamento. started indica il piano non appena esiste, così una connessione interrotta può riconnettersi con GET /v1/lesson-plans/{id}/stream. Lo stream termina con result o error. Un piano servito dalla libreria arriva come un unico result.
Scope lesson_plans:write
Parametri
Lingara-Versionheaderstringfacoltativo- La versione dell'API con cui rispondere a questa richiesta. Senza di essa, un token di accesso riceve la versione a cui è associato il suo client e una richiesta senza token riceve la versione corrente. La versione ancora in sviluppo si raggiunge solo indicandola qui. Una versione sconosciuta risponde
400con il codiceapi_version_unknown.GET /v1/versionselenca le versioni.
Corpo della richiesta application/json
contextstringobbligatoriosource_langstringobbligatoriotarget_langstringobbligatoriolevelintegerobbligatorio
Risposte
200 L'avanzamento del piano, poi il piano
Eventi dello stream text/event-stream
Invia un commento keepalive ogni 15 secondi.
-
startedPlanStarted -
plan_idstringobbligatorio
-
phasePlanPhase -
phasestringobbligatorioattemptintegerobbligatorio
-
resultPlanResult Termina lo stream -
planLessonPlanobbligatorioidstringobbligatoriostatusPlanStatusobbligatoriotitlestring | nullfacoltativosource_langstringobbligatoriotarget_langstringobbligatoriolevelintegerobbligatoriocreated_atstringobbligatoriocompleted_atstring | nullfacoltativoai_generatedbooleanobbligatoriocontentLessonPlanContent | nullfacoltativointroductionstring | nullfacoltativolearning_objectivesarray of stringobbligatoriovocabularyarray of PlanWordobbligatoriowordstringobbligatoriopronunciationstring | nullfacoltativotranslationstringobbligatorio
setsarray of PlanSetobbligatorionumberintegerobbligatoriocontextstring | nullfacoltativoquestionsarray of PlanQuestionobbligatoriotypestringobbligatoriopromptstringobbligatoriooptionsarray of string | nullfacoltativoanswerstringobbligatorioexplanationstringobbligatoriohintstring | nullfacoltativo
-
errorStreamError Termina lo stream -
Arriva all'interno della risposta 200. La riga di stato è già stata inviata, quindi un errore dopo l'apertura dello stream viene segnalato come questo evento.
codestringobbligatoriomessagestringobbligatorioplan_idstring | nullfacoltativo
Errori
402application/json- La chiamata di un client con fatturazione a consumo è stata rifiutata prima che spendesse qualcosa.
spend_cap_reached: il client o il suo account ha raggiunto il limite di spesa mensile; alza il limite nella pagina Integrazioni.metered_billing_inactive: la fatturazione a consumo non è attiva per questo account; configurala o aggiorna il metodo di pagamento nella pagina Integrazioni. 410application/json- La versione dell'API con cui si risponde a questa richiesta è stata dismessa. Invia una versione supportata in
Lingara-Version, oppure associa il client a un'altra versione. 4XXapplication/json- La richiesta è stata rifiutata.
codedice il motivo, eerrorlo spiega a parole. 503application/json · text/plain- Il servizio è temporaneamente non disponibile; riprova dopo il numero di secondi indicato in
Retry-After. Durante la manutenzione il corpo è testo semplice anziché l'envelope di errore. 5XXapplication/json- La richiesta è stata rifiutata.
codedice il motivo, eerrorlo spiega a parole.
codestringobbligatorioPerché la richiesta è stata rifiutata, come codice stabile su cui diramare la logica: per esempio
insufficient_scope(403),rate_limited(429) e, per un client con fatturazione a consumo,spend_cap_reached(402) emetered_billing_inactive(402).errorstringobbligatorio
Esempio
Preferisci una libreria? Vedi la sezione Librerie.
Esempio di 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."}]}]}}}In caso di discrepanza tra una traduzione e il riferimento in inglese, fa fede il riferimento in inglese.