• IM REST Report
    • 消息历史
      • HTTP 验证
    • 获取消息
      • Example Request
        • Request Header
        • Request Body
        • Request Params
      • Example Response
        • Response Header
        • Response Data
    • 获取用户消息
      • Example Request
        • Request Header
        • Request Body
        • Request Params
      • Example Response
        • Response Header
        • Response Data

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