Lingara Lingara Belgeler Rehberler API Kütüphaneler Uygulamalar Oluştur Web uygulaması
Dil: Türkçe

Kelime listesi oluştur

API sürümü 2026-10-affable-towhee

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

İstenen seviyede bir kelime listesini akış olarak gönderir. Akış, listenin ayrıntılarıyla birlikte started, her kelime için bir item olayı ve ardından done gönderir. Liste hazır olana kadar yalnızca keepalive yorumları gönderir.

Kapsamlar vocab:generate

Parametreler

Lingara-Versionheaderstringisteğe bağlı
Bu isteğin yanıtlanacağı API sürümü. Belirtilmezse bir erişim token'ı istemcisinin bağlı olduğu sürümü, token içermeyen bir istek ise güncel sürümü alır. Hâlâ geliştirilmekte olan sürüme yalnızca burada adı verilerek ulaşılır. Bilinmeyen bir sürüm 400 ve api_version_unknown koduyla yanıtlanır. GET /v1/versions sürümleri listeler.

İstek gövdesi application/json

levelintegerzorunlu
source_langstringzorunlu
target_langstringzorunlu
countinteger | nullisteğe bağlı

Yanıtlar

200 Liste, olay başına bir kelime

Akış olayları text/event-stream

Her 15 saniyede bir keepalive yorumu gönderir.

started VocabStarted
metaVocabMetazorunlu
levelintegerzorunlu
source_langstringzorunlu
target_langstringzorunlu
frameworkstringzorunlu
countintegerzorunlu
ai_generatedbooleanzorunlu
item VocabItem
wordstringzorunlu
pronunciationstring | nullisteğe bağlı
readingstring | nullisteğe bağlı
translationstringzorunlu
exampleVocabExample | nullisteğe bağlı
sentencestringzorunlu
translationstringzorunlu
image_urlstring | nullisteğe bağlı
done Done Akışı sonlandırır
error StreamError Akışı sonlandırır

200 yanıtının içinde gelir. Durum satırı zaten gönderilmiş olduğundan, akış açıldıktan sonraki bir hata bu olay olarak bildirilir.

codestringzorunlu
messagestringzorunlu
plan_idstring | nullisteğe bağlı

Hatalar

402application/json
Kullanım başına ücretlendirilen bir istemcinin çağrısı, hiçbir şey harcamadan reddedildi. spend_cap_reached: istemci veya hesabı aylık harcama sınırına ulaştı; sınırı Entegrasyonlar sayfasında yükseltin. metered_billing_inactive: bu hesap için kullanım başına ücretlendirme etkin değil; Entegrasyonlar sayfasında kurun veya ödeme yöntemini güncelleyin.
410application/json
Bu isteğin yanıtlandığı API sürümü sonlandırıldı. Lingara-Version içinde desteklenen bir sürüm gönderin veya istemciyi başka bir sürüme bağlayın.
4XXapplication/json
İstek reddedildi. code nedenini belirtir, error ise bunu sözcüklerle açıklar.
503application/json · text/plain
Hizmet geçici olarak kullanılamıyor; Retry-After içindeki saniye sayısı kadar bekledikten sonra yeniden deneyin. Bakım sırasında gövde, hata zarfı yerine düz metindir.
5XXapplication/json
İstek reddedildi. code nedenini belirtir, error ise bunu sözcüklerle açıklar.
codestringzorunlu

İsteğin neden reddedildiği, dallanmak için kullanılabilecek sabit bir kod olarak: örneğin insufficient_scope (403), rate_limited (429) ve kullanım başına ücretlendirilen bir istemci için spend_cap_reached (402) ile metered_billing_inactive (402).

errorstringzorunlu

Örnek

Kod örneğinin dili

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

Kütüphane mi tercih edersiniz? Kütüphaneler bölümüne bakın.

Örnek akış

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

Bir çeviri ile İngilizce referans arasında fark varsa, İngilizce referans geçerlidir.