查询指定 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"
}