查询指定 vchannel 下的消息列表。支持以下几种查询算法:
查询 vchannel 下最新的消息,支持参数:
limit: 查询数量限制,最大值为 100, 默认 20
从指定位置开始拉取若干条消息,支持参数:
key: 开始位置的消息 key, 不可以和ts同时使用ts: 开始位置的消息 ts, 不可以和ts同时使用forward: 向前(时间发生方向)获取条数backward: 向后(时间发生方向)获取条数
注意:
- 使用
key查询时,查询区间不包括 key 对应的消息 - 使用
ts查询时,查询区间包括 ts 对应的消息 forward/backward参数可以同时使用forward/backward参数最大值为 100,forward/backward均未指定时,默认使用forward=100
拉取一定时间窗口内的消息,支持参数:
from_key/to_key: 窗口区间的消息 keyfrom_ts/to_ts: 窗口区间的消息 tsforward: 从 from 方向往 to 方向取的消息数backward: 从 to 方向往 from 方向取的消息数
注意:
{from,to}_key和{from,to}_ts不可以混用- 使用
{from,to}_key查询时,查询区间不包括 key 对应的消息 - 使用
{from,to}_ts查询时,查询区间包括 ts 对应的消息 forward和backward参数只能选其中一个forward/backward均未指定时,默认使用forward=100- 如果查询区间开始值比结束值大,返回空结果
POST {base_url}/message.query
需要登录
| 参数名称 | 参数类型 | 参数是否必须? | 说明 | 样例 |
|---|---|---|---|---|
vchannel_id |
string |
是 | 待查询 vchannel_id | =bw52O |
query |
string |
是 |
// latest
{
"vchannel_id": "=bw52O",
"query": {
"latest": {
"limit": 10
}
}
}
// since
{
"vchannel_id": "=bw52O",
"query": {
"since": {
"ts": 1485236262366
}
}
}
// window
{
"vchannel_id": "=bw52O",
"query": {
"window": {
"from_ts": 1485236262366,
"to_ts": 1485236362366,
"forward": 100
}
}
}{
"messages": [
{
"key": "1485236262366.0193",
"updated": "2017-01-24T13:37:42.000+0000",
"is_channel": false,
"uid": "=bw52O",
"fallback": null,
"attachments": [],
"created": "2017-01-24T13:37:42.000+0000",
"vchannel_id": "=bw52O",
"refer_key": null,
"robot_id": null,
"created_ts": 1485236262366,
"team_id": "=bw52O",
"subtype": "normal",
"text": "hello"
}
]
}{
"code": // error code,
"error": "unexpected error"
}