查询原始对话消息

最近更新时间:2026-05-26 21:12:01

我的收藏

接口介绍

本接口(/conversation/query)用于按条件分页查询原始对话消息。在请求体顶层平铺分页参数与筛选参数,即可一次返回命中条件的消息列表与命中总数:
分页控制:通过 limit 指定单页条数、offset 指定起始偏移;不传时按默认值 limit=20offset=0 返回第一页。
筛选条件:通过 session_id 限定会话,time_start / time_end 限定时间窗(含端点)。三者均可选,全部缺省时等价于不加筛选,仅按分页返回。

Method 与 URL

POST https://{服务访问地址}/v2/conversation/query

使用示例

curl -i -k -X POST \\
-H 'Content-Type: application/json' \\
-H 'Authorization: Bearer ******************************' \\
-H "x-tdai-service-id: mem-8i8t****" \\
https://memory.tdai.tencentyun.com/v2/conversation/query \\
-d '{
"session_id": "session-trip-202604",
"limit": 20,
"offset": 0,
"time_start": "2026-04-20T00:00:00Z",
"time_end": "2026-04-20T23:59:59Z"
}'
说明:
鉴权说明:所有接口都必须在请求头中携带 Authorization: Bearer <API Key>x-tdai-service-id: <Service_ID>,否则将返回鉴权失败。

请求参数

参数名
类型
必填
默认值
描述说明
session_id
str
-
会话 ID。传入后仅返回该特定会话下的历史消息;若不传或传 None,则默认查询所有会话。
limit
int
20
单页返回的条数。
限制:最大支持 100 条。
注意:若传 None,服务端将自动采用默认值 20。
offset
int
0
分页起始偏移量。表示跳过前多少条数据(常用于传统分页)。
time_start
str
-
时间筛选起点(包含该时刻)。
格式要求:需符合 ISO 8601 标准。
例如:"2026-05-25T10:00:00Z" 或 "2026-05-25T18:00:00+08:00"。
time_end
str
-
时间筛选终点(包含该时刻)。与 time_start 配合组成闭区间时间窗。格式要求:需符合 ISO 8601 标准。

响应示例

{
"code": 0,
"message": "ok",
"request_id": "req-7fd3b2dd",
"data": {
"messages": [
{
"id": "msg-aaaa",
"role": "user",
"content": "我打算 5 月份去日本旅游 7 天,预算 1.5 万元,请帮我推荐路线。",
"timestamp": "2026-04-20T10:00:00Z"
},
{
"id": "msg-bbbb",
"role": "assistant",
"content": "建议关西线路:大阪 - 京都 - 奈良,5 月气候宜人,预算充足。",
"timestamp": "2026-04-20T10:00:05Z"
}
],
"total": 2
}
}
字段名
类型
说明
data.messages
List
历史消息列表。
排序规则:列表内的消息默认按时间先后顺序排列。
数据结构:每条消息包含以下完整字段:
id (str): 消息的唯一主键 ID。
role (str): 发送者角色,可选值为 "user"、"assistant" 或 "system"。
content (str): 消息的具体文本内容。
timestamp (str): 消息产生的时间戳(ISO 8601 格式)。
data.total
int
满足筛选条件的消息总条数。
注意:该值为全量数据总数,完全不受当前请求中 limit(单页条数)和 offset(偏移量)的分页限制。
应用场景:前端可直接利用该数值来计算并渲染传统的分页组件(如:总页数 = total / limit)。