message_type 走不同分支:normal:必须带 normal_message_info(from_title 必填)。content 静默截断前 500 字落工作项(建议 ≤500)。agent:必须带 agent_message_info(ws_agent_key 必填)。content 原文写入 chat 表(assistant 消息),工作项存「去 Markdown 后的前 500 字」。thread_key 时同 (workspace, user, thread_key) 只保留一条,重推刷新内容并浮回(重推即复活:已核销/勾掉的条目重推后回到待处理并重置未读)。批量场景用 POST /message/batch。emoo_user_id,未传时取请求头 Emoo-User-Id,两者都没有返 4084。Authorization: Bearer ********************{
"message_type": "normal",
"content": "您有一条新的审批待办",
"thread_key": "oa:approval-8821",
"due_at": "2026-09-10T18:00:00+08:00",
"normal_message_info": {
"from_title": "OA 系统",
"detail_link": "https://example.com/detail"
}
}curl --location 'https://app.emooai.com/open-api/v1/message' \
--header 'Emoo-User-Id: ' \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"message_type": "normal",
"content": "您有一条新的审批待办",
"thread_key": "oa:approval-8821",
"due_at": "2026-09-10T18:00:00+08:00",
"normal_message_info": {
"from_title": "OA 系统",
"detail_link": "https://example.com/detail"
}
}'{
"code": 200,
"message": "success",
"data": {
"item_id": 1001,
"chat_id": null,
"chat_message_id": null
}
}