Lingara Lingara Mwongozo Miongozo API Maktaba Programu Unda Programu ya wavuti
Lugha: Kiswahili

Tengeneza orodha ya msamiati

Toleo la API 2026-10-affable-towhee

post https://api.getlingara.com/v1/vocab/stream

Hutiririsha orodha ya maneno katika kiwango kilichoombwa. Mtiririko hutuma started pamoja na maelezo ya orodha, tukio moja la item kwa kila neno, kisha done. Hadi orodha iwe tayari, hutuma maoni ya keepalive pekee.

Wigo vocab:generate

Vigezo

Lingara-Versionheaderstringsi lazima
Toleo la API la kutumia kujibu ombi hili. Bila hilo, tokeni ya ufikiaji hupata toleo ambalo mteja wake ameunganishwa nalo, na ombi lisilo na tokeni hupata toleo la sasa. Toleo ambalo bado linaendelezwa linafikiwa tu kwa kulitaja hapa. Toleo lisilojulikana hujibiwa 400 pamoja na msimbo api_version_unknown. GET /v1/versions huorodhesha matoleo.

Mwili wa ombi application/json

levelintegerinahitajika
source_langstringinahitajika
target_langstringinahitajika
countinteger | nullsi lazima

Majibu

200 Orodha, neno moja kwa kila tukio

Matukio ya mtiririko text/event-stream

Hutuma maoni ya keepalive kila sekunde 15.

started VocabStarted
metaVocabMetainahitajika
levelintegerinahitajika
source_langstringinahitajika
target_langstringinahitajika
frameworkstringinahitajika
countintegerinahitajika
ai_generatedbooleaninahitajika
item VocabItem
wordstringinahitajika
pronunciationstring | nullsi lazima
readingstring | nullsi lazima
translationstringinahitajika
exampleVocabExample | nullsi lazima
sentencestringinahitajika
translationstringinahitajika
image_urlstring | nullsi lazima
done Done Humaliza mtiririko
error StreamError Humaliza mtiririko

Hufika ndani ya jibu la 200. Mstari wa hali umeshatumwa, kwa hivyo hitilafu baada ya mtiririko kufunguka huripotiwa kama tukio hili.

codestringinahitajika
messagestringinahitajika
plan_idstring | nullsi lazima

Hitilafu

402application/json
Simu ya mteja anayetozwa kwa matumizi imekataliwa kabla haijatumia chochote. spend_cap_reached: mteja au akaunti yake imefikia kikomo chake cha matumizi ya pesa cha kila mwezi; ongeza kikomo kwenye ukurasa wa Miunganisho. metered_billing_inactive: utozaji kwa matumizi haujawashwa kwa akaunti hii; uweke, au usasishe njia ya malipo, kwenye ukurasa wa Miunganisho.
410application/json
Toleo la API linalotumika kujibu ombi hili limesitishwa. Tuma toleo linalotumika katika Lingara-Version, au unganisha mteja na toleo lingine.
4XXapplication/json
Ombi limekataliwa. code inaeleza sababu, na error inaieleza kwa maneno.
503application/json · text/plain
Huduma haipatikani kwa muda; jaribu tena baada ya idadi ya sekunde zilizo katika Retry-After. Wakati wa matengenezo, mwili wa jibu ni maandishi ya kawaida badala ya bahasha ya hitilafu.
5XXapplication/json
Ombi limekataliwa. code inaeleza sababu, na error inaieleza kwa maneno.
codestringinahitajika

Sababu ya ombi kukataliwa, kama msimbo thabiti wa kufanyia maamuzi: kwa mfano insufficient_scope (403), rate_limited (429) na, kwa mteja anayetozwa kwa matumizi, spend_cap_reached (402) na metered_billing_inactive (402).

errorstringinahitajika

Mfano

Lugha ya mfano wa msimbo

curl

curl -N -X POST "https://api.getlingara.com/v1/vocab/stream" \
  -H "Authorization: Bearer $LINGARA_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"level":2,"source_lang":"en","target_lang":"zh","count":8}'

TypeScript

const stream = client.generateVocabulary({ level: 2, source_lang: "en", target_lang: "zh", count: 8 });
for await (const ev of stream) {
  if (ev.event === "item") console.log(ev.data.word, ev.data.translation);
}

Rust

use lingara::models::{GenerateVocabularyEvent, VocabRequest};
use std::num::NonZeroU8;

let request = VocabRequest { level: 2, source_lang: "en".into(), target_lang: "zh".into(), count: NonZeroU8::new(8) };
let mut stream = client.generate_vocabulary(&request).await?;
while let Some(event) = stream.next().await {
    if let GenerateVocabularyEvent::Item(item) = event? {
        println!("{} {}", item.word, item.translation);
    }
}

Go

count := uint8(8)
s, err := client.GenerateVocabulary(ctx, lingara.VocabRequest{Level: 2, SourceLang: "en", TargetLang: "zh", Count: &count})
if err != nil {
	return err
}
defer s.Close()
for ev, err := range s.Events() {
	if err != nil {
		return err
	}
	if item, ok := ev.(lingara.GenerateVocabularyEventItem); ok {
		fmt.Println(item.Data.Word, item.Data.Translation)
	}
}

Java

import com.getlingara.client.model.GenerateVocabularyEvent;
import com.getlingara.client.model.VocabRequest;

VocabRequest request = new VocabRequest().level(2).sourceLang("en").targetLang("zh").count(8);
try (EventStream<GenerateVocabularyEvent> stream = client.generateVocabulary(request)) {
  for (GenerateVocabularyEvent event : stream) {
    if (event instanceof GenerateVocabularyEvent.Item item) {
      System.out.println(item.data().getWord() + " " + item.data().getTranslation());
    }
  }
}

Kotlin

import com.getlingara.kotlin.LingaraClient
import com.getlingara.kotlin.model.GenerateVocabularyEvent
import com.getlingara.kotlin.model.VocabRequest

val request = VocabRequest(level = 2, sourceLang = "en", targetLang = "zh", count = 8)
// The request is sent here; collect the stream once, inside use {}.
client.generateVocabulary(request).use { stream ->
    stream.collect { event ->
        when (event) {
            is GenerateVocabularyEvent.Item -> println("${event.data.word} ${event.data.translation}")
            is GenerateVocabularyEvent.Started -> Unit
        }
    }
}

Ruby

client.generate_vocabulary(level: 2, source_lang: "en", target_lang: "zh", count: 8) do |event|
  case event
  in Lingara::GenerateVocabularyEventItem => item then puts "#{item.data.word}: #{item.data.translation}"
  else nil
  end
end

PHP

use Lingara\Model\VocabRequest;
use Lingara\Stream\GenerateVocabularyEvent;

$request = new VocabRequest(['level' => 2, 'source_lang' => 'en', 'target_lang' => 'zh', 'count' => 8]);
foreach ($client->generateVocabulary($request) as $event) {
    if ($event instanceof GenerateVocabularyEvent\Item) {
        echo $event->data->getWord(), ': ', $event->data->getTranslation(), "\n";
    }
}

Unapendelea maktaba? Tazama sehemu ya Maktaba.

Mfano wa mtiririko

event: started
data: {"meta":{"level":2,"source_lang":"en","target_lang":"zh","framework":"HSK","count":2,"ai_generated":true}}

event: item
data: {"word":"你好","pronunciation":"nǐ hǎo","translation":"hello","example":{"sentence":"你好,我叫小明。","translation":"Hello, my name is Xiaoming."}}

event: item
data: {"word":"谢谢","pronunciation":"xiè xie","translation":"thank you"}

event: done
data: {}

Ikiwa tafsiri na marejeleo ya Kiingereza yanatofautiana, marejeleo ya Kiingereza ndiyo sahihi.