跳到主要内容

服务端获取流内容

此接口用于拉取流式消息的完整内容,适用于路由消息仅包含部分流内容的场景。当应用服务端需要获取完整的流式消息时,可通过该接口基于流消息的唯一标识(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

请求示例

HTTP
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 事件,支持 eventdata 两个字段:

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

event 解析:

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

data 解析:

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

返回结果示例

HTTP
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}