Lingara Lingara مستندات رهنماها API کتابخانه‌ها اپلیکیشن‌ها ساختن اپلیکیشن وب
زبان: دری

فرستادن رویداد

نسخهٔ API 2026-10-affable-towhee

post https://api.getlingara.com/v1/events

به Lingara می‌گوید در بازی شما چه اتفاق افتاده است، مثلاً اینکه آموزنده به جای تازه‌ای داخل شده است. رویداد یک بار ثبت می‌شود و با 202 جواب داده می‌شود. با generate: true Lingara یک پلان درسی را هم آغاز می‌کند که به lesson_plans:write ضرورت دارد و محدودیت و بلِ آن مانند POST /v1/lesson-plans است: reaction نام پلان را می‌گوید و بعد از آن lesson_plan.ready یا lesson_plan.failed می‌آید. جهان را توصیف کنید، هرگز نام یا گفتگوی یک بازیکن را نفرستید.

حوزه‌های دسترسی events:write

پارامترها

Lingara-Versionheaderstringاختیاری
نسخهٔ API‌ای که این درخواست با آن جواب داده می‌شود. بدون آن، توکن دسترسی نسخه‌ای را می‌گیرد که کلاینت آن به آن وصل است، و درخواستی بدون توکن نسخهٔ فعلی را می‌گیرد. به نسخه‌ای که هنوز در حال انکشاف است تنها با نام‌بردن آن در اینجا می‌توان رسید. نسخهٔ ناشناخته با 400 و کد api_version_unknown جواب داده می‌شود. GET /v1/versions نسخه‌ها را فهرست می‌کند.
Idempotency-Keyheaderstringضروری
ارزشی که برای هر رویداد انتخاب می‌کنید و هنگام کوشش دوباره همان را می‌فرستید: ۱ تا ۲۵۵ حرف ASCII قابل دید، مانند یک UUID. کوشش دوباره با همان کلید، جواب اول را پس می‌گیرد و دوباره بل نمی‌شود، حتی اگر محتوایش فرق داشته باشد. بدون کلید معتبر، درخواست با 400 و کود idempotency_key_required جواب داده می‌شود.

بدنهٔ درخواست application/json

typestringضروری
dataWorldPracticeRequestedضروری
topicstringضروری
source_langstringضروری
target_langstringضروری
levelintegerضروری
tagsarray of stringاختیاری
generateboolean | nullاختیاری

پاسخ‌ها

202 رویداد ثبت شد

idstringضروری
typestringضروری
created_atstringضروری
reactionReactionReport | nullاختیاری
statusReactionStatusضروری
plan_idstring | nullاختیاری
plan_statusPlanStatus | nullاختیاری

حالت پلان در زمان پذیرفتن رویداد. تنها generating وعده می‌دهد که lesson_plan.ready یا lesson_plan.failed خواهد آمد. هر ارزش دیگر پلانی از کتابخانه است که همین حالا می‌توانید با GET /v1/lesson-plans/{id} بخوانید.

codestring | nullاختیاری
errorstring | 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 -X POST "https://api.getlingara.com/v1/events" \
  -H "Authorization: Bearer $LINGARA_TOKEN" \
  -H "Idempotency-Key: $IDEMPOTENCY_KEY" \
  -H "Content-Type: application/json" \
  -d '{"type":"world.context_changed","data":{"scene":"A night market in Taipei, just after rain","npc":{"name":"Auntie Lin","persona":"a street-food vendor who likes to haggle"},"source_lang":"en","target_lang":"zh","level":3,"tags":["market","food","chapter-2"],"generate":true}}'

کتابخانه را ترجیح می‌دهید؟ بخش کتابخانه‌ها را ببینید.

اگر ترجمه با مرجع انگلیسی فرق داشته باشد، مرجع انگلیسی درست است.