傳送事件
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必填- 你為每個事件選定、重試時原樣再送的值:1 到 255 個可見 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}}'如譯文與英文參考文件有出入,以英文參考文件為準。