IM REST Report

特别提示:v1 版本获取数据有数量限制,此版本将不再提供新功能,仅维护因 bug 导致的问题,请正在使用此版本的开发者尽快升级到 v2 版本。

消息历史

目前只保存最近60天消息,这类 API 地址统一为(注意与 Push API 不同):https://report.im.jpush.cn/v1

HTTP 验证

验证采用 HTTP Basic 机制,即 HTTP Header(头)里加一个字段(Key/Value对):Authorization: Basic base64_auth_string其中 base64_auth_string 的生成算法为:base64(appKey:masterSecret)即,对 appKey 加上冒号,加上 masterSecret 拼装起来的字符串,再做 base64 转换。

温馨提示:

使用此接口,传递给JMessage的URL需要经过URL Encode处理,例如时间格式中的空格需要被转义为 %20

获取消息

  1. GET /messages?&start=0&count=500&begin_time={begin_time}&end_time={end_time}

Example Request

Request Header

  1. GET /messages?start=0&count=500&begin_time=2015-11-02 10:10:10&end_time=2015-11-02 10:10:12

Request Body

N/A

Request Params

  • start (必填)查询的起始纪录
  • count (必填)查询的总条数 一次最多1000
  • begin_time (可选) 记录开始时间 格式 yyyy-MM-dd HH:mm:ss 设置筛选条件大于等于begin time 不设置不生效
  • end_time (可选) 记录结束时间 格式 yyyy-MM-dd HH:mm:ss 设置筛选条件小于等于end time 不设置不生效
  • end time begin time 都不设置的话 说明两个条件都不生效,则查询服务端保存的所有消息
  • 查询的消息按发送时间升序排序

Example Response

Response Header

  1. HTTP/1.1 200
  2. Content-Type: application/json; charset=utf-8

Response Data

  1. {
  2. "total": 3000, "start": 0, "count": 1,
  3. "messages": [
  4. { "target_type": "single",
  5. "msg_type": "text",
  6. "target_name": "",
  7. "target_id": "10010648",
  8. "from_id": "868802000386631",
  9. "from_name": "868802000386631",
  10. "from_type": "user",
  11. "from_platform": "a",
  12. "msg_body": {
  13. "text": "text",
  14. "extras": { }
  15. },
  16. "create_time": 1446016259,
  17. "version": 1,
  18. "msgid": 13242735,
  19. "msg_level" : 0, // 0代表应用内消息 1代表跨应用消息
  20. "msg_ctime" : 1466866468352 // 服务器接收到消息的时间,单位毫秒
  21. }
  22. ]
  23. }

获取用户消息

  1. GET /users/{username}/messages?start=0&count=500&begin_time={begin_time}&end_time={end_time}

Example Request

Request Header

  1. GET /users/caiyh/messages?start=0&count=500&begin_time=2015-11-02 10:10:10&end_time=2015-11-02 10:10:12

Request Body

N/A

Request Params

  • start (必填)查询的起始纪录
  • count (必填)查询的总条数 一次最多1000
  • begin_time (可选) 记录开始时间 格式 yyyy-MM-dd HH:mm:ss 设置筛选条件大于begin time 不设置不生效
  • end_time (可选) 记录结束时间 格式 yyyy-MM-dd HH:mm:ss 设置筛选条件小于end time 不设置不生效
  • end time begin time 都不设置的话 说明两个条件都不生效,则查询服务端保存的所有消息
  • 使用此接口,传递给JPush的URL需要经过URL Encode处理,例如时间格式中的空格需要被转义为 %20
  • 查询的消息按发送时间升序排序

Example Response

Response Header

  1. HTTP/1.1 200
  2. Content-Type: application/json; charset=utf-8

Response Data

  1. {
  2. "total": 3000, "start": 0, "count": 1,
  3. "messages": [
  4. { "target_type": "single",
  5. "msg_type": "text",
  6. "target_name": "",
  7. "target_id": "10010648",
  8. "from_id": "868802000386631",
  9. "from_name": "868802000386631",
  10. "from_type": "user",
  11. "from_platform": "a",
  12. "from_appkey": "4f7aef34fb361292c566a1cd",
  13. "target_appkey": "4f7aef34fb361292c566a1cd",
  14. "msg_body": {
  15. "text": "text",
  16. "extras": { }
  17. },
  18. "create_time": 1446016259,
  19. "version": 1 ,
  20. "msgid": 13242735,
  21. "msg_level" : 0 // 0代表应用内消息 1代表跨应用消息
  22. "msg_ctime" : 1466866468352 // 服务器接收到消息的时间,单位毫秒
  23. }
  24. ]
  25. }