Lingara Lingara بەڵگەنامەکان ڕێنماییەکان API کتێبخانەکان ئەپەکان دروستکردن ئەپی وێب
زمان: سۆرانی

دروستکردنی لیستی وشە

وەشانی API 2026-10-affable-towhee

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

لیستێک وشە لە ئاستی داواکراودا بە شێوەی ستریم دەنێرێت. ستریمەکە started لەگەڵ وردەکارییەکانی لیستەکە، یەک ڕووداوی item بۆ هەر وشەیەک، و پاشان done دەنێرێت. تا لیستەکە ئامادە دەبێت، تەنها لێدوانی keepalive دەنێرێت.

مەوداکانی دەسەڵات vocab:generate

پارامەترەکان

Lingara-Versionheaderstringئارەزوومەندانە
ئەو وەشانەی API کە ئەم داواکارییەی پێ وەڵام دەدرێتەوە. بەبێ ئەمە، تۆکنی دەستگەیشتن ئەو وەشانە وەردەگرێت کە کڕیارەکەی پێیەوە بەستراوە، و داواکارییەکی بێ تۆکن وەشانی ئێستا وەردەگرێت. وەشانێک کە هێشتا لە گەشەپێداندایە تەنها بە ناوهێنانی لێرە دەگەیەندرێت. وەشانێکی نەناسراو بە 400 لەگەڵ کۆدی api_version_unknown وەڵام دەدرێتەوە. GET /v1/versions وەشانەکان لیست دەکات.

ناوەڕۆکی داواکاری application/json

levelintegerپێویست
source_langstringپێویست
target_langstringپێویست
countinteger | nullئارەزوومەندانە

وەڵامەکان

200 لیستەکە، یەک وشە بۆ هەر ڕووداوێک

ڕووداوەکانی ستریم text/event-stream

هەر 15 چرکە جارێک لێدوانێکی keepalive دەنێرێت.

started VocabStarted
metaVocabMetaپێویست
levelintegerپێویست
source_langstringپێویست
target_langstringپێویست
frameworkstringپێویست
countintegerپێویست
ai_generatedbooleanپێویست
item VocabItem
wordstringپێویست
pronunciationstring | nullئارەزوومەندانە
readingstring | nullئارەزوومەندانە
translationstringپێویست
exampleVocabExample | nullئارەزوومەندانە
sentencestringپێویست
translationstringپێویست
image_urlstring | nullئارەزوومەندانە
done Done پەخشەکە کۆتایی پێدەهێنێت
error StreamError پەخشەکە کۆتایی پێدەهێنێت

لەناو وەڵامی 200 دا دەگات. هێڵی دۆخ پێشتر نێردراوە، بۆیە هەر شکستێک دوای کرانەوەی پەخشەکە وەک ئەم ڕووداوە ڕاپۆرت دەکرێت.

codestringپێویست
messagestringپێویست
plan_idstring | nullئارەزوومەندانە

هەڵەکان

402application/json
بانگکردنێکی کلاینتێکی پێوانەکراو ڕەتکرایەوە پێش ئەوەی هیچ خەرج بکات. spend_cap_reached: کلاینتەکە یان هەژمارەکەی گەیشتووەتە سنووری خەرجیی مانگانەی؛ لە پەڕەی یەکخستنەکان سنوورەکە بەرز بکەرەوە. metered_billing_inactive: پارەدانی بەپێی بەکارهێنان بۆ ئەم هەژمارە چالاک نییە؛ لە پەڕەی یەکخستنەکان ڕێکی بخە یان شێوازی پارەدان نوێ بکەرەوە.
410application/json
ئەو وەشانەی API کە ئەم داواکارییەی پێ وەڵام دەدرێتەوە ڕاگیراوە. وەشانێکی پشتگیریکراو لە Lingara-Version بنێرە، یان کڕیارەکە بە وەشانێکی ترەوە ببەستەوە.
4XXapplication/json
داواکارییەکە ڕەتکرایەوە. code هۆکارەکەی دەڵێت، و error بە وشە ڕوونی دەکاتەوە.
503application/json · text/plain
خزمەتگوزارییەکە بە شێوەیەکی کاتی بەردەست نییە؛ دوای ئەو ژمارە چرکەیەی کە Retry-After دیاری دەکات دووبارە هەوڵ بدەرەوە. لە کاتی چاککردنەوەدا، ناوەڕۆکی وەڵامەکە دەقی سادەیە نەک پێچراوەی هەڵە.
5XXapplication/json
داواکارییەکە ڕەتکرایەوە. code هۆکارەکەی دەڵێت، و error بە وشە ڕوونی دەکاتەوە.
codestringپێویست

هۆکاری ڕەتکردنەوەی داواکارییەکە، وەک کۆدێکی جێگیر بۆ لقبوونەوە لەسەری: بۆ نموونە insufficient_scope (403)، rate_limited (429) و، بۆ کلاینتێکی پێوانەکراو، spend_cap_reached (402) و metered_billing_inactive (402).

errorstringپێویست

نموونە

زمانی نموونەی کۆد

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";
    }
}

کتێبخانەیەکت پێ باشترە؟ بەشی کتێبخانەکان ببینە.

نموونەی ستریم

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: {}

ئەگەر وەرگێڕانێک و سەرچاوە ئینگلیزییەکە جیاواز بن، سەرچاوە ئینگلیزییەکە دروستە.