أرسل سطرًا إلى شخصية غير لاعبة
إصدار API 2026-10-virile-dragon
يرسل line الخاص باللاعب إلى شخصية ويبث ردّها كأحداث delta، وينتهي بـ done. لا تتحدث الشخصية إلا بلغة target_lang، وبمستوى اللاعب level. لا يُخزَّن شيء: أرسل المحادثة حتى الآن في history. تُحتسب كل دورة على عميل metered؛ وأي مستدعٍ آخر يتلقى 403 embed_needs_metered.
النطاقات embed:play
المعاملات
Lingara-Versionheaderstringاختياري- إصدار API الذي يُجاب عن هذا الطلب به. بدونه، يحصل رمز الوصول على الإصدار الذي رُبط به عميله، ويحصل الطلب الذي لا رمز مميز فيه على الإصدار الحالي. لا يمكن الوصول إلى الإصدار الذي لا يزال قيد التطوير إلا بذكره هنا. الإصدار غير المعروف يُجاب عنه بـ
400مع الرمزapi_version_unknown. يسردGET /v1/versionsالإصدارات.
متن الطلب application/json
npcNpcمطلوبnamestringمطلوبpersonastring | nullاختياري
scenestring | nullاختياريsource_langstringمطلوبtarget_langstringمطلوبlevelintegerمطلوبlinestringمطلوبhistoryarray of DialogueEntryاختياريالمحادثة حتى الآن، الأقدم أولًا، بحد أقصى 12 سطرًا. أنت تحتفظ بالنافذة: لا يخزّن Lingara شيئًا بين الدورات. أعد إرسال كل رد من الشخصية مقتطعًا إلى أول 500 حرف منه.
speakerSpeakerمطلوبtextstringمطلوب
الاستجابات
200 رد الشخصية، جزءًا بعد جزء
أحداث البث text/event-stream
لا يرسل تعليقات إبقاء الاتصال (keepalive).
-
deltaTurnDelta -
textstringمطلوب
-
noticeNotice -
codestringمطلوبmessagestringمطلوب
-
doneDone ينهي البث -
errorStreamError ينهي البث -
يصل داخل استجابة 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 -N -X POST "https://api.getlingara.com/v1/embed/dialogue/turns" \
-H "Authorization: Bearer $LINGARA_TOKEN" \
-H "Content-Type: application/json" \
-d '{"npc":{"name":"Auntie Lin","persona":"a street-food vendor who likes to haggle"},"scene":"A night market in Taipei, just after rain","source_lang":"en","target_lang":"zh","level":3,"line":"How much are the dumplings?","history":[{"speaker":"npc","text":"来来来,刚出锅的饺子!"},{"speaker":"player","text":"你好!"}]}'تفضّل مكتبة؟ راجع قسم المكتبات.
مثال على البث
event: delta
data: {"text":"饺子十块钱一盘,"}
event: delta
data: {"text":"要几盘?"}
event: done
data: {}إذا اختلفت ترجمةٌ عن المرجع الإنجليزي، فالمرجع الإنجليزي هو الصحيح.