跳到主要内容

服务端获取流内容

拉取流内容

此接口用于拉取流式消息的完整内容,适用于路由消息仅包含部分流内容的场景。当 App Server 需要获取完整的流式消息时,可通过该接口基于流消息的唯一标识(messageUID)实时拉取消息内容。通过 SSE(Server-Sent Events)协议,接口返回分为以下两种情况:

  • 流已接收完毕:融云服务会全量返回流内容。
  • 流正在接收中:返回 stopReason = 29001,表示流仍在生成中,需等待流生成完毕后再完整拉取。
提示

客户端与服务端的区别:

  • 客户端拉流:实时接收流内容,无需等待流生成完毕。
  • 服务端拉流:需等待流生成完毕后才可获取完整内容。

方法说明

GET: https://数据中心域名/v3/message/get_stream.json

调用频率:每秒钟限 100 次

签名规则: 所有服务端 API 请求均需要进行规则校验,详见 API 请求签名

正文参数

HTTP 请求正文数据格式为 application/json;charset=UTF-8,支持以下 Query 参数:

参数类型必传说明
messageUIDString流唯一 ID

请求示例

GET /message/get_stream.json?messageUID=XXXX-JJJJ-KKK-LLLL HTTP/1.1
Host: api.rong-api.com
App-Key: uwd1c0sxdsdlx2
Nonce: 14314
Timestamp: 1408710653491
Signature: 45beb7cc7487889a8e711219a47b7cf6a5b000e8
X-Request-ID: XXXXXXXXXXXXXXXXXXXXXXXXXXXX(最大长度36)

返回结果

HTTP 响应为 SSE 事件,支持 event 和 data 两个字段:

返回值返回类型说明
eventString事件类型为 init、delta、complete, 无 event 返回默认 delta
dataJson Object返回数据可能包含 content、stopReason、completeReason、 complete 字段

event 解析:

参数类型说明
initStringSSE 连接初始化事件,表示服务端已收到客户端的请求
deltaString增量数据事件,默认不返回 event 字段
completeString结束流事件,表示本次请求已结束

data 解析:

参数类型说明
contentString流内容
stopReasonString服务停止错误码,融云内部定义,参考融云错误码
completeReasonString异常结束错误码, 发流透传字段,由您发送结束流自定义
completeBoolean表示流是否完整

返回结果示例

HTTP/1.1 200 
Content-Type: text/event-stream;charset=UTF-8
Transfer-Encoding: chunked
Date: Thu, 16 Jan 2025 03:56:08 GMT

event:init
data:

data:{"content":"data1data2data3"}

event:complete
data:{"stopReason":29003,"complete":true}