Lingara Lingara Belge Rêbername API Pirtûkxane Sepan Avakirin Sepana webê
Ziman: Kurdî

Ji nû ve bi planeke dersê ve girê bide

Guhertoya API 2026-10-affable-towhee

get https://api.getlingara.com/v1/lesson-plans/{id}/stream

Ji nû ve beşdarî streama pêşketinê ya planeke ku hê tê çêkirin dibe. Planeke qediyayî bi resultekî bersiv dide. Planeke ku hê tê çêkirin û streameke zindî ya beşdarbûnê tune bi pendingekî bersiv dide; heta ku biqede GET /v1/lesson-plans/{id} dubare bipirse.

Scope lesson_plans:read

Parametre

Lingara-Versionheaderstringvebijarkî
Guhertoya API ya ku ev daxwaz pê tê bersivandin. Bêyî wê, tokena gihîştinê guhertoya ku klientê wê pê ve girêdayî ye distîne, û daxwazeke bê token guhertoya niha distîne. Guhertoya ku hîn di pêşxistinê de ye tenê bi binavkirina wê li vir tê gihîştin. Guhertoyeke nenas bi 400 û koda api_version_unknown tê bersivandin. GET /v1/versions guhertoyan rêz dike.
idpathstringpêwîst

Bersiv

200 Pêşketina mayî ya planê, paşê plan

Bûyerên streamê text/event-stream

Her 15 çirkeyan şîroveyeke keepalive dişîne.

started PlanStarted
plan_idstringpêwîst
phase PlanPhase
phasestringpêwîst
attemptintegerpêwîst
result PlanResult Weşanê diqedîne
planLessonPlanpêwîst
idstringpêwîst
statusPlanStatuspêwîst
titlestring | nullvebijarkî
source_langstringpêwîst
target_langstringpêwîst
levelintegerpêwîst
created_atstringpêwîst
completed_atstring | nullvebijarkî
ai_generatedbooleanpêwîst
contentLessonPlanContent | nullvebijarkî
introductionstring | nullvebijarkî
learning_objectivesarray of stringpêwîst
vocabularyarray of PlanWordpêwîst
wordstringpêwîst
pronunciationstring | nullvebijarkî
translationstringpêwîst
setsarray of PlanSetpêwîst
numberintegerpêwîst
contextstring | nullvebijarkî
questionsarray of PlanQuestionpêwîst
typestringpêwîst
promptstringpêwîst
optionsarray of string | nullvebijarkî
answerstringpêwîst
explanationstringpêwîst
hintstring | nullvebijarkî
pending PlanPending Weşanê diqedîne
plan_idstringpêwîst
statusPlanStatuspêwîst
error StreamError Weşanê diqedîne

Di nav bersiva 200 de tê. Rêza rewşê berê hatiye şandin, ji ber vê yekê têkçûnek piştî vebûna weşanê wekî vê bûyerê tê ragihandin.

codestringpêwîst
messagestringpêwîst
plan_idstring | nullvebijarkî

Çewtî

410application/json
Guhertoya API ya ku ev daxwaz pê tê bersivandin hate rawestandin. Guhertoyeke piştgirîkirî di Lingara-Version de bişîne, an klientê bi guhertoyeke din ve girê bide.
4XXapplication/json
Daxwaz hate redkirin. code sedemê dibêje, û error wê bi gotinan dibêje.
503application/json · text/plain
Xizmet bi demkî ne berdest e; piştî hejmara çirkeyên di Retry-After de dîsa biceribîne. Di dema lênêrînê de naverok nivîsa sade ye, ne zerfa çewtiyê.
5XXapplication/json
Daxwaz hate redkirin. code sedemê dibêje, û error wê bi gotinan dibêje.
codestringpêwîst

Çima daxwaz hat redkirin, wek kodeke domdar ku mirov li gorî wê şax dike: bo nimûne insufficient_scope (403), rate_limited (429) û, ji bo klienteke pîvandî, spend_cap_reached (402) û metered_billing_inactive (402).

errorstringpêwîst

Mînak

Zimanê mînaka kodê

curl

curl -N "https://api.getlingara.com/v1/lesson-plans/$ID/stream" \
  -H "Authorization: Bearer $LINGARA_TOKEN"

TypeScript

for await (const ev of client.streamLessonPlan({ id: planId })) {
  if (ev.event === "result") console.log("ready:", ev.data.plan.title);
  if (ev.event === "pending") console.log("still", ev.data.status, "- try again later");
}

Rust

use lingara::models::StreamLessonPlanEvent;

let mut stream = client.stream_lesson_plan(&plan_id).await?;
while let Some(event) = stream.next().await {
    match event? {
        StreamLessonPlanEvent::Result(result) => println!("ready: {}", result.plan.title.unwrap_or_default()),
        StreamLessonPlanEvent::Pending(pending) => println!("still {:?} - try again later", pending.status),
        _ => {}
    }
}

Go

// Rejoin a plan still generating, with the plan_id from its started event.
s, err := client.StreamLessonPlan(ctx, "3f1c2a9e-5b7d-4e21-9a0c-6d8e4f2b1a37")
if err != nil {
	return err
}
defer s.Close()
for ev, err := range s.Events() {
	if err != nil {
		return err
	}
	switch e := ev.(type) {
	case lingara.StreamLessonPlanEventResult:
		fmt.Println("ready:", e.Data.Plan.ID)
	case lingara.StreamLessonPlanEventPending:
		fmt.Println("still", e.Data.Status, "- rejoin later")
	}
}

Java

import com.getlingara.client.model.StreamLessonPlanEvent;

try (EventStream<StreamLessonPlanEvent> stream = client.streamLessonPlan(planId)) {
  for (StreamLessonPlanEvent event : stream) {
    if (event instanceof StreamLessonPlanEvent.Result result) {
      System.out.println(result.data().getPlan().getTitle());
    } else if (event instanceof StreamLessonPlanEvent.Pending pending) {
      // Still generating elsewhere: ask again later.
      System.out.println("pending: " + pending.data().getStatus());
    }
  }
}

Kotlin

import com.getlingara.kotlin.LingaraClient
import com.getlingara.kotlin.model.StreamLessonPlanEvent

client.streamLessonPlan(planId).use { stream ->
    stream.collect { event ->
        when (event) {
            is StreamLessonPlanEvent.Result -> println(event.data.plan.title)
            // Still generating elsewhere: ask again later.
            is StreamLessonPlanEvent.Pending -> println("pending: ${event.data.status}")
            else -> Unit
        }
    }
}

Ruby

client.stream_lesson_plan(plan_id) do |event|
  case event
  in Lingara::StreamLessonPlanEventResult => result then puts "ready: #{result.data.plan.title}"
  in Lingara::StreamLessonPlanEventPending => pending then puts "still #{pending.data.status}, try again later"
  else nil
  end
end

PHP

use Lingara\Stream\StreamLessonPlanEvent;

foreach ($client->streamLessonPlan($planId) as $event) {
    if ($event instanceof StreamLessonPlanEvent\Result) {
        echo 'ready: ', $event->data->getPlan()->getTitle(), "\n";
    } elseif ($event instanceof StreamLessonPlanEvent\Pending) {
        echo 'still ', $event->data->getStatus()->value, ", try again later\n";
    }
}

Pirtûkxaneyek tercîh dikî? Beşa Pirtûkxaneyan bibîne.

Mînaka streamê

event: pending
data: {"plan_id":"3f1c2a9e-5b7d-4e21-9a0c-6d8e4f2b1a37","status":"generating"}

Ger wergerek û referansa Îngilîzî ji hev cuda bin, referansa Îngilîzî rast e.