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

यदि किसी अनुवाद और अंग्रेज़ी संदर्भ में अंतर हो, तो अंग्रेज़ी संदर्भ ही मान्य है।