Skip to main content
post/chat-messages
Request example
Response
post/chat-messages

Authorization

Authorizationstringheaderrequired#

每个请求都通过 API Key 认证:Authorization: Bearer {API_KEY}。应用接口使用应用 API Key,知识库接口使用知识库 API Key(快速开始)。

API Key 应保存在服务端,切勿嵌入客户端代码。缺失或无效的 Key 会返回 HTTP 401(unauthorized)。

Body

application/json
auto_generate_nameboolean#
自动生成会话标题。如果为 false,请使用 重命名会话 API 并设置 auto_generate: true 来异步生成标题。

Default: true

conversation_idstring#
要继续的会话 ID。省略此字段或传入空字符串可开始新会话;响应会返回一个 conversation_id,在下一条消息中带上它即可。要恢复较早的会话,可从 获取会话列表 获取其 ID。
filesobject[]#
要附加到消息的文件。本地文件需先通过 上传文件 上传,再将返回的 id 作为 upload_file_id 引用,并设置 transfer_method: local_file。Agent 应用接受文件引用,但不会处理其内容。
inputsobjectrequired#
应用输入变量的值,以变量名为键。变量名称和类型可从 获取应用参数 响应中的 user_input_form 字段获取。
querystringrequired#
用户发送的消息。
response_modeenum<string>#

响应返回模式。省略时默认为阻塞式返回。

  • streaming(推荐):回复以 Server-Sent Events 形式返回。
  • blocking:生成完成后一次性返回。生成时间较长时有中断风险:在 Dify Cloud 上,如果边缘代理在超时时间内未收到响应,就可能中断连接。
  • 旧版 Agent 和 Agent 应用仅支持 streaming;使用 blocking 会返回 400。
Options:streamingblocking
userstringrequired#
终端用户标识,由你的应用定义,需在应用内唯一。会话、消息和文件仅对携带相同 user 的请求可见。参见 终端用户身份。
workflow_idstring#
仅适用于 Chatflow 应用。 指定要执行的已发布工作流版本 ID。如果未提供,将使用最新发布的版本。在 Dify Cloud 上,指定版本需要付费套餐。

Responses

请求成功。内容类型和结构取决于请求中的 response_mode 参数。

  • 如果 response_mode 为 blocking,返回 application/json 和 ChatCompletionResponse 对象。
  • 如果 response_mode 为 streaming,返回 text/event-stream 和服务器发送事件流。
answerstring#
完整的响应内容。
conversation_idstring#
会话 ID。
created_atinteger#
消息创建时间戳(Unix 纪元秒)。
eventstring#
事件类型,固定为 message。
idstring#
该响应事件的唯一 ID。
message_idstring#
唯一的消息 ID。调用反馈或推荐问题接口时,将此值作为 message_id 参数使用。
metadataobject#
包含用量和检索资源的元数据。
modestring#
应用模式。chat 表示聊天助手应用,agent-chat 表示旧版 Agent 应用,advanced-chat 表示 Chatflow 应用。
task_idstring#
用于请求追踪和停止响应 API 的任务 ID。