• 历史消息
    • 参数列表
      • 备注:
    • 拉取单聊消息记录
      • 如下为拉取[utcFromTime, utcToTime)的单聊消息记录
      • 备注
    • 拉取指定数目单聊消息记录
      • 如下为拉取utcToTime向前count条的单聊消息记录
      • 备注
    • 拉取指定序列号单聊消息记录
      • 如下为拉取[startSeq, stopSeq)的单聊消息记录
      • 备注
    • 拉取群聊消息记录
      • 如下为拉取群聊消息记录
      • 备注
    • 拉取指定数目群聊消息记录
      • 如下为拉取utcToTime向前count条的群聊消息记录
      • 备注
    • 拉取指定序列号群聊消息记录
      • 如下为拉取[startSeq, stopSeq)的群聊消息记录
      • 备注

    历史消息

    参数列表

    Variable Meanings
    $appId 小米开放平台申请的AppId
    $token 查询方的token(使用user.getToken()获取)
    $account 查询方在APP系统内唯一ID
    $fromAccount 消息发送方在APP帐号系统内唯一ID
    $toAccount 消息接收方在APP帐号系统内唯一ID
    $topicId 表示群ID
    $utcFromTime 表示查询开始时间,UTC时间,单位毫秒
    $utcToTime 表示查询结束时间,UTC时间,单位毫秒
    $startSeq 表示查询开始序列号
    $stopSeq 表示查询结束序列号
    $count 表示查询的消息条数
    $row 表示返回的消息条数
    $timestamp 表示返回的消息中最早的时间戳
    $messages 表示返回的消息集合
    $sequence sequence主要用来做消息的排序和去重,全局唯一
    $payload 表示经过Base64编码的消息体,app端需要进行Base64解码
    $ts 表示消息时间戳

    备注:

    1. 消息漫游为用户保存最近半年的历史消息

    拉取单聊消息记录

    1. 指的是拉取从utcFromTimeutcToTime的时间范围内的AB之间的聊天记录,单聊是相对于群聊而言的一对一聊天。

    如下为拉取[utcFromTime, utcToTime)的单聊消息记录

    • HTTPS请求(POST)
    1. curl https://mimc.chat.xiaomi.net/api/msg/p2p/query/ -XPOST
    2. -d '{"appId":$appId,"toAccount":$toAccount,"fromAccount":$fromAccount,"utcFromTime":$utcFromTime,"utcToTime":$utcToTime}'
    3. -H "Content-Type: application/json;charset=UTF-8"
    4. -H "Accept:application/json;charset=UTF-8"
    5. -H "token:$token"
    1. curl https://mimc.chat.xiaomi.net/api/msg/p2p/queryOnTime -XPOST
    2. -d '{"appId":$appId,"toAccount":$toAccount,"fromAccount":$fromAccount,"utcFromTime":$utcFromTime,"utcToTime":$utcToTime}'
    3. -H "Content-Type: application/json;charset=UTF-8"
    4. -H "Accept:application/json;charset=UTF-8"
    5. -H "token:$token"
    • JSON结果示例
    1. {
    2. "code": 200,
    3. "message": "success",
    4. "data": {
    5. "appId": $appId,
    6. "messages": [
    7. {
    8. "sequence": $sequence,
    9. "payload": $payload,
    10. "ts": $ts,
    11. "fromAccount":$fromAccount,
    12. "toAccount": $toAccount,
    13. }
    14. ],
    15. "row": $row
    16. }
    17. }

    备注

    1. utcFromTimeutcToTime的时间间隔不能超过24小时,查询状态为[utcFromTime,utcToTime);
    2. timestamp字段在这个请求的响应中没有意义。

    拉取指定数目单聊消息记录

    1. 指的是拉取从指定的时间戳utcToTime(不包含utcToTime)向前count条的AB之间的聊天记录。

    如下为拉取utcToTime向前count条的单聊消息记录

    • HTTPS请求(POST)
    1. curl https://mimc.chat.xiaomi.net/api/msg/p2p/queryOnCount/ -XPOST
    2. -d '{"appId":$appId,"toAccount":$toAccount,"fromAccount":$fromAccount,"utcToTime":$utcToTime,"count":$count}'
    3. -H "Content-Type: application/json;charset=UTF-8"
    4. -H "Accept:application/json;charset=UTF-8"
    5. -H "token:$token"
    • JSON结果示例
    1. {
    2. "code": 200,
    3. "message": "success",
    4. "data": {
    5. "appId": $appId,
    6. "messages": [
    7. {
    8. "sequence": $sequence,
    9. "payload": $payload,
    10. "ts": $ts,
    11. "fromAccount":$fromAccount,
    12. "toAccount": $toAccount,
    13. }
    14. ],
    15. "row": $row,
    16. "timestamp":$timestamp
    17. }
    18. }

    备注

    1. timestamp字段在这个请求的响应中表示当前的聊天记录最早的时间戳(单位:毫秒)。

    拉取指定序列号单聊消息记录

    1. 指的是拉取从startSeqstopSeq之间的AB之间的聊天记录。

    如下为拉取[startSeq, stopSeq)的单聊消息记录

    • HTTPS请求(POST)
    1. curl https://mimc.chat.xiaomi.net/api/msg/p2p/queryOnSequence/ -XPOST
    2. -d '{"appId":$appId,"toAccount":$toAccount,"fromAccount":$fromAccount,"startSeq":$startSeq,"stopSeq":$stopSeq}'
    3. -H "Content-Type: application/json;charset=UTF-8"
    4. -H "Accept:application/json;charset=UTF-8"
    5. -H "token:$token"
    • JSON结果示例
    1. {
    2. "code": 200,
    3. "message": "success",
    4. "data": {
    5. "appId": $appId,
    6. "messages": [
    7. {
    8. "sequence": $sequence,
    9. "payload": $payload,
    10. "ts": $ts,
    11. "fromAccount":$fromAccount,
    12. "toAccount": $toAccount,
    13. }
    14. ],
    15. "row": $row,
    16. "timestamp":$timestamp
    17. }
    18. }

    备注

    1. timestamp字段表示当前的聊天记录最早的时间戳(单位:毫秒)。

    拉取群聊消息记录

    如下为拉取群聊消息记录

    • HTTPS请求(POST)
    1. curl https://mimc.chat.xiaomi.net/api/msg/p2t/query/ -XPOST
    2. -d '{"appId":$appId,"account":$account,"topicId":$topicId,"utcFromTime":$utcFromTime,"utcToTime":$utcToTime}'
    3. -H "Content-Type: application/json;charset=UTF-8"
    4. -H "Accept:application/json;charset=UTF-8"
    5. -H "token:$token"
    6. curl https://mimc.chat.xiaomi.net/api/msg/p2t/queryOnTime/ -XPOST
    7. -d '{"appId":$appId,"account":$account,"topicId":$topicId,"utcFromTime":$utcFromTime,"utcToTime":$utcToTime}'
    8. -H "Content-Type: application/json;charset=UTF-8"
    9. -H "Accept:application/json;charset=UTF-8"
    10. -H "token:$token"
    1. PSURL中的$account$token需要相匹配(即$token应该是$account用户的token信息)。
    • JSON结果示例
    1. {
    2. "code": 200,
    3. "message": "success",
    4. "data": {
    5. "appId": $appId,
    6. "topicId": $topicId,
    7. "row": $row,
    8. "messages": [
    9. {
    10. "sequence": $sequence,
    11. "fromAccount": $fromAccount,
    12. "payload": $payload,
    13. "ts": $ts
    14. },
    15. {
    16. "sequence": $sequence,
    17. "fromAccount": $fromAccount,
    18. "payload": $payload,
    19. "ts": $ts
    20. }
    21. ]
    22. }
    23. }

    备注

    1. timestamp字段在这个请求的响应中没有意义。

    拉取指定数目群聊消息记录

    1. 指的是拉取从指定的时间戳utcToTime(不包含utcToTime)向前count条的指定的topicId的群聊天记录。

    如下为拉取utcToTime向前count条的群聊消息记录

    • HTTPS请求(POST)
    1. curl https://mimc.chat.xiaomi.net/api/msg/p2t/queryOnCount/ -XPOST
    2. -d '{"appId":$appId,"account":$account,"topicId":$topicId,"utcToTime":$utcToTime,"count":$count}'
    3. -H "Content-Type: application/json;charset=UTF-8"
    4. -H "Accept:application/json;charset=UTF-8"
    5. -H "token:$token"
    1. PSURL中的$account$token需要相匹配(即$token应该是$account用户的token信息)。
    • JSON结果示例
      1. {
      2. "code": 200,
      3. "message": "success",
      4. "data": {
      5. "appId": $appId,
      6. "messages": [
      7. {
      8. "sequence": $sequence,
      9. "payload": $payload,
      10. "ts": $ts,
      11. "fromAccount":$fromAccount,
      12. }
      13. ],
      14. "row": $row,
      15. "timestamp":$timestamp
      16. }
      17. }

      备注

      1. timestamp字段在这个请求的响应中表示当前的聊天记录最早的时间戳(单位:毫秒)。

    拉取指定序列号群聊消息记录

    1. 指的是拉取从startSeqstopSeq之间的指定的topicId的群聊天记录。

    如下为拉取[startSeq, stopSeq)的群聊消息记录

    • HTTPS请求(POST)

      1. curl https://mimc.chat.xiaomi.net/api/msg/p2t/queryOnSequence/ -XPOST
      2. -d '{"appId":$appId,"account":$account,"topicId":$topicId,"startSeq":$startSeq,"stopSeq":$stopSeq}'
      3. -H "Content-Type: application/json;charset=UTF-8"
      4. -H "Accept:application/json;charset=UTF-8"
      5. -H "token:$token"
      1. PSURL中的$account$token需要相匹配(即$token应该是$account用户的token信息)。
    • JSON结果示例

      1. {
      2. "code": 200,
      3. "message": "success",
      4. "data": {
      5. "appId": $appId,
      6. "messages": [
      7. {
      8. "sequence": $sequence,
      9. "payload": $payload,
      10. "ts": $ts,
      11. "fromAccount":$fromAccount,
      12. "toAccount": $toAccount,
      13. }
      14. ],
      15. "row": $row,
      16. "timestamp":$timestamp
      17. }
      18. }

    备注

    1. timestamp字段表示当前的聊天记录最早的时间戳(单位:毫秒);
    2. fromAccount字段表示当前消息所在群的topicId