IM RestAPI

即时通讯IM SDK配套的服务器API,适合业务服务器调用。用于用户管理、权限管理、房间管理、消息管理、脏词管理等。

公共部分

请求URL

  • REST API的格式
    https://api.youme.im/$ver/$servicename/$command?
    appkey=$appkey&
    identifier=$identifier&
    curtime=$curtime&
    checksum=$checksum
  • 参数说明
    ver:协议版本号,固定为v1。
    servicename:内部服务器名,不同的servicename对应不同的服务器类型,目前值为im。
    command:api接口命令字,与servicename组合标识具体的业务功能,详见各api描述。
    appkey:app在游密通信云注册申请的appkey,可在游密后台进行查看。
    identifier:用户名,调用REST API一般为app管理员账号。
    curtime:当前UTC时间戳,从1970年1月1日0点0分0秒开始到现在的秒数(string类型)。
    checksum:sha1(appsecret + curtime),两个参数拼接的字符串,进行sha1计算,转化成16进制字符(string,小写)。其中appsecret可在游密后台进行查看。
    注:
    checksum有效期:出于安全考虑,每个checksum有效期为5分钟,建议每次请求都生成新的checksum,同时服务器进行NTP同步时间。

HTTP请求包体格式

REST API仅支持POST方法,其请求包体为JSON格式,具体的包体格式参见每个API的详细描述。需要特别注意的是,POST包体不能为空,即使某条协议包体中不需要携带任何信息,也需要携带一个空的JSON对象,即{}。

HTTP返回码

除非发生网络错误(例如502错误),REST API的调用结果均为200,真正的API调用错误码与错误信息是在HTTP应答包体中返回的。

HTTP应答包体格式

REST API的应答包体也是JSON格式,其格式符合如下特征:

{
    "ActionStatus": "OK" // OK表示处理成功,FAIL表示失败
    "ErrorCode": 0,      // 0为成功,其它为失败
    "ErrorInfo": "",     // 失败的情况下,会有描述
    // REST API其他应答内容
}

应答包体中包含ActionStatus、ErrorInfo、ErrorCode三个属性,其含义如下:

错误码 响应串 含义描述
ActionStatus String 请求处理的结果,OK表示处理成功,FAIL表示失败
ErrorInfo String 失败原因
ErrorCode Integer 错误码,0为成功,其他为失败,可查询错误码表得到具体的原因

用户管理

添加用户

向游密后台添加一个认证用户

  • 请求URL
    https://api.youme.im/v1/im/add_user_auth?appkey=123456789&identifier=admin&curtime=123456789&checksum=123456789abcdefg
  • header

    Content-Type: application/json
  • body
    {
    "UserList":[
    {
        "UserID":"user1",
        "NickName":"user123",
        "Token":"123456"
    },
    {
        "UserID":"user2",
        "NickName":"user1234",
        "Token":"12345"
    }]
    }

UserList: 批量认证用户列表(一次不超过100个用户),包括以下属性:
UserID: 用户ID,app内唯一,字符串。
NickName: 用户昵称,字符串。
Token: 登录token,可以由app指定,如果app未指定,游密后台自动生成token,并在创建成功后返回,字符串。

  • 响应
    响应指示设置是否成功。
    {
    "ActionStatus": "OK",
    "ErrorCode": 0,
    "ErrorInfo": "",
    "UserList":[
    {
        "UserID":"user1", 
        "NickName":"user123", 
        "Token": "123456"
    },
    {
        "UserID":"user2",
        "NickName":"user1234",
        "Token":"12345"
    }]
    }

删除用户

从游密后台删除某个已认证的用户;用途:该用户被业务侧拉黑、删除等情况下时,使用该接口通知游密后台删除该用户。

  • 请求URL
    https://api.youme.im/v1/im/delete_user_auth?appkey=123456789&identifier=admin&curtime=123456789&checksum=123456789abcdefg
  • header

    Content-Type: application/json
  • body

    {
    "UserList":[
    {
        "UserID":"user1"
    },
    {
        "UserID":"user2"
    }]
    }

    UserList: 批量认证用户列表(一次不超过100个用户),包括以下属性:
    UserID: 用户ID,app内唯一,字符串。

  • 响应
    响应指示设置是否成功。
    {
    "ActionStatus": "OK",
    "ErrorCode": 0,
    "ErrorInfo": "",
    }

获取用户在线状态

批量获取用户在线状态信息。

  • 请求URL
    https://api.youme.im/v1/im/query_im_user_state?appkey=123456789&identifier=admin&curtime=123456789&checksum=123456789abcdefg
  • header

    Content-Type: application/json
  • body

    {
    "UserList":[
    {
        "UserID":"user1"
    },
    {
        "UserID":"user2"
    }]
    }

    body为json格式,各个字段解释如下:
    UserList: 批量认证用户列表(一次不超过100个用户),包括以下属性:
    UserID: 用户ID,app内唯一,字符串。

  • 响应
    {
    "ActionStatus": "OK",
    "ErrorCode": 0,
    "ErrorInfo": "",
    "QueryResult":[
    {
                "UserID":"user1", 
                "State":"Online"
    },
    {
        "UserID":"user2",
        "State":" Offline"
    }]
    }

设置IM抄送地址

设置IM的登录登出消息相关抄送地址。

  • 请求URL
    https://api.youme.im/v1/im/set_im_cc_addr?appkey=123456789&identifier=admin&curtime=123456789&checksum=123456789abcdefg
  • header

    Content-Type: application/json
  • body
    {
    "CCAddr": "http://msg.recv.addr.com/xxx/yyy",
    "CCType": "1,2,3,4"
    }

    body为json格式,各个字段解释如下:
    CCAddr: 抄送地址,字符串,必选字段。
    CCType: 需要接收的抄送消息类型,字符串,必选字段,以英文逗号间隔,空字符串则为取消消息抄送,类型取以下值:

抄送消息 抄送消息类型
用户登录 1
用户退出 3
发送文本消息 6
发送声音信息 7
发送文件信息 8
发送二进制消息 12
发送礼物消息 15
发送离线文本信息 -6
发送离线声音信息 -7
发送离线文件信息 -8
发送离线二进制信息 -12
发送离线礼物信息 -15

触发了抄送消息后,发给指定抄送地址的消息格式为json格式,详见文档“游密登录登出用户状态信息接收文档”和“游密消息抄送功能使用说明”(请咨询游密商务或技术支持同事)。

  • 响应
    {
    "ActionStatus" : "OK",
    "ErrorCode" : 0,
    "ErrorInfo" : ""
    }

权限管理

IM禁言用户

批量禁言IM用户。

  • 请求URL
    https://api.youme.im/v1/im/forbid_im_send_msg?appkey=123456789&identifier=admin&curtime=123456789&checksum=123456789abcdefg
  • header

    Content-Type: application/json
  • body

    {
    "ChannelID":"channel123","ChannelDescription":"ios-1",
    "ShutUpTime":259200,
            "UserList":[
    {
                "UserID":"zhubo"
            },
            {
                "UserID":"test1"
            }]
    }

    body为json格式,各个字段解释如下:
    Totally: 可选字段,填非0时表示封禁用户所有发言,无符号整型,谨慎使用。
    ChannelID: 可选字段,用户所在频道ID,字符串;为“@_all”时代表操作的对象是所有频道,为“@_private”时代表操作的对象是所有个人私聊(谨慎使用)。
    ChannelDescription: 可选字段,用户所在频道描述,字符串。
    ShutUpTime: 可选字段,设置权限生效时间段(单位秒),不设置默认为永久。
    UserList: 用户列表(一次不超过100个用户),包括以下属性:
    UserID: 用户ID, app内唯一,字符串;为“@_all”时代表操作的对象是频道中的所有用户,用来设置频道的默认权限。
    注:设置权限,设置的对象是以channel id + user id标记的组合;设置的权限数量不能太多,否则会影响服务器的处理效率。

  • 响应
    无特殊响应字段。

封禁一个IM聊天频道

封禁某一个频道使频道内用户无法再发送消息。

  • 请求URL
    https://api.youme.im/v1/im/forbid_im_channel_send_msg?appkey=123456789&identifier=admin&curtime=123456789&checksum=123456789abcdefg
  • header

    Content-Type: application/json
  • body

    {
            "ChannelID":"channel123",
            "ChannelDescription":"ios-1",
    "ShutUpTime":259200
    }

    body为json格式,各个字段解释如下:
    ChannelID:             用户所在频道ID,字符串;为“@_all”时代表操作的对象是所有频道(谨慎使用)。
    ChannelDescription: 用户所在频道描述,字符串。
    ShutUpTime 可选字段,设置权限生效时间段(单位秒),不设置默认为永久。
    注:设置权限,设置的对象是以channel id + user id标记的组合;设置的权限数量不能太多,否则会影响服务器的处理效率。

  • 响应
    无特殊响应字段。

在IM所有聊天频道禁言用户

在所有IM频道批量禁言用户。

  • 请求URL
    https://api.youme.im/v1/im/forbid_im_user_send_channel_msg?appkey=123456789&identifier=admin&curtime=123456789&checksum=123456789abcdefg
  • header

    Content-Type: application/json
  • body

    {
    "ShutUpTime":259200,
    "UserList":[
    {
                "UserID":"zhubo"
            },
            {
                "UserID":"test1"
            }]
    }

    body为json格式,各个字段解释如下:
    ShutUpTime: 可选字段,设置权限生效时间段(单位秒),不设置默认为永久。
    UserList: 用户列表(一次不超过100个用户),包括以下属性:
    UserID: 用户ID, app内唯一,字符串;为“@_all”时代表操作的对象是频道中的所有用户,用来设置频道的默认权限。
    注:设置权限,设置的对象是以channel id + user id标记的组合;设置的权限数量不能太多,否则会影响服务器的处理效率。

  • 响应
    无特殊响应字段。

查询封禁记录操作列表

获取封禁记录操作列表。

  • 请求URL
    https://api.youme.im/v1/im/query_forbid_record_list?appkey=123456789&identifier=admin&curtime=123456789&checksum=123456789abcdefg
  • header

    Content-Type: application/json
  • body

    {
    "RecordSeq" : 0,
    "Limit" : 10,
    "OrderBy" : "updatetime"
    }

    body为json格式,各个字段解释如下:
    RecordSeq: 记录数序号,无符号整型,用于分页查询操作。
    Limit: 本次查询的消息条数上限(最多100条),小于等于0或者大于100会提示参数错误,整型。
    OrderBy: 排序依据 ,字符串,可选字段,合法参数:userid(用户名排序)updatetime(更新时间排序)。

  • 响应
    {
    "RecordCount" : 2,
    "RecordList" : [
      {
         "ChannelID" : "222",
         "ExpireTime" : "9999-12-31 23:59:59",
         "ShutupTime" : 251906641285,
         "UserID" : "sanji"
      },
      {
         "ChannelID" : "333",
         "ExpireTime" : "9999-12-31 23:59:59",
         "ShutupTime" : 251906641285,
         "UserID" : "sanji"
      }]
    }

    RecordList:操作记录列表信息。

获取用户被封禁的IM聊天频道列表

获取某一用户被封禁的所有房间列表。

  • 请求URL
    https://api.youme.im/v1/im/get_forbid_im_channel_list?appkey=123456789&identifier=admin&curtime=123456789&checksum=123456789abcdefg
  • header

    Content-Type: application/json
  • body

    {
    "RecordSeq" : 0,
    "Limit" : 10,
    "UserID":"zhubo"
    }

    body为json格式,各个字段解释如下:
    UserList: 批量认证用户列表(一次不超过100个用户),包括以下属性:
    UserID: 用户ID,app内唯一,字符串。

  • 响应
    
    {
    "ChannelIDList" : [
      {
         "ChannelID" : "222",
         "ExpireTime" : "9999-12-31 23:59:59",
         "ShutupTime" : 251906641285
      },
      {
         "ChannelID" : "333",
         "ExpireTime" : "9999-12-31 23:59:59",
         "ShutupTime" : 251906641285
      }]
    }
`ChannelIDList`:频道列表信息。

## 房间管理
### 获取房间列表
获取游戏内所有房间列表。

* **请求URL**
```http
https://api.youme.im/v1/im/get_room_list?appkey=123456789&identifier=admin&curtime=123456789&checksum=123456789abcdefg
  • header

    Content-Type: application/json
  • body

    {
    }

    空的json

  • 响应
    {
    "room_cnt" : 2,
    "room_list " : [
    {
        "member_cnt" : 123,
        "room_name" : "jjj"
    },
      {
        "member_cnt" : 456,
            "room_name" : "kkk"
    }
    ]
    }

    room_cnt: number(房间数目)。 room_list:房间列表信息(number不为0时存在)。

请求加入频道

请求加入IM频道。

  • 请求URL
    https://api.youme.im/v1/im/query_im_enter_channel?appkey=123456789&identifier=admin&curtime=123456789&checksum=123456789abcdefg
  • header

    Content-Type: application/json
  • body

    {
    "UserID": "9999",
    "ChannelID": "chat_qzone",
    "UserIDList":["9999"]
    }

    body为json格式,各个字段解释如下:
    UserID: 用户ID,app内唯一,选填,字符串。
    ChannelID: 频道ID,app内唯一,字符串。
    UserIDList: 用户ID列表,app内唯一,字符串数组,UserID和UserIDList字段选择一个进行填写。

  • 响应
    无特殊响应字段。

请求退出频道

请求退出IM频道。

  • 请求URL
    https://api.youme.im/v1/im/query_im_leave_channel?appkey=123456789&identifier=admin&curtime=123456789&checksum=123456789abcdefg
  • header

    Content-Type: application/json
  • body

    {
    "UserID": "9999",
    "ChannelID": "chat_qzone",
    "UserIDList":["9999"]
    }

    body为json格式,各个字段解释如下:
    UserID: 用户ID,app内唯一,字符串。
    ChannelID: 频道ID,app内唯一,字符串。
    UserIDList: 用户ID列表,app内唯一,字符串数组,UserID和UserIDList字段选择一个进行填写。

  • 响应
    无特殊响应字段。

获取IM用户所在房间列表

获取IM用户所在房间列表。

  • 请求URL
    https://api.youme.im/v1/im/get_im_room_list_of_user?appkey=YOUMEBC2B3171A7A165DC10918A7B50A4B939F2A187D0&identifier=admin&curtime=1500353004&checksum=1f49288242073d8efc50944d9a2e0cb68825e067"
  • header

    Content-Type: application/json
  • body

    {
    "UserID":"jason",
    }

    body为json格式,各个字段解释如下:
    UserID:用户ID,字符串。

  • 响应
    无特殊响应字段。

获取IM房间用户列表

获取IM房间用户列表。

  • 请求URL
    https://api.youme.im/v1/im/get_im_user_list_of_room?appkey=YOUMEBC2B3171A7A165DC10918A7B50A4B939F2A187D0&identifier=admin&curtime=1500353004&checksum=1f49288242073d8efc50944d9a2e0cb68825e067"
  • header

    Content-Type: application/json
  • body

    {
    "RoomID":"jason_room"
    "Limit":10
    }

    body为json格式,各个字段解释如下:
    RoomID: 房间ID,app内唯一,字符串。
    Limit: 要获取的用户数目,整数,负数表示获取房间所有用户。

  • 响应
    无特殊响应字段。

检查IM用户是否在某一房间

检查IM用户是否在某一房间。

  • 请求URL
    https://api.youme.im/v1/im/check_im_user_in_room?appkey=YOUMEBC2B3171A7A165DC10918A7B50A4B939F2A187D0&identifier=admin&curtime=1500353004&checksum=1f49288242073d8efc50944d9a2e0cb68825e067"
  • header

    Content-Type: application/json
  • body

    {
    "UserID":"jason", 
    "RoomID":"jason_room"
    }

    body为json格式,各个字段解释如下:
    RoomID: 房间ID,app内唯一,字符串。
    UserID: 用户名,字符串。

  • 响应
    无特殊响应字段。

设置房间信息

设置房间信息,如设置房间模式(游戏模式/社交模式)。

  • 请求URL
    https://api.youme.im/v1/im/set_room_info?appkey=123456789&identifier=admin&curtime=123456789&checksum=123456789abcdefg
  • header

    Content-Type: application/json
  • body

    {
    "RoomID": "room_1001",
    "Mode": 1
    }

    body为json格式,各个字段解释如下:
    RoomID: 房间ID,字符串,必选字段。
    Mode: 房间模式,整型,必选字段:1社交模式。若使用游戏模式,不需要设置该房间信息。

  • 响应
    无特殊响应字段。

消息管理

查询用户私聊消息(IM)

根据时段段查询用户发送的私聊消息。最多返回100条,时间跨度不超过86400秒。

  • 请求URL
    https://api.youme.im/v1/im/query_im_user_private_msg?appkey=123456789&identifier=admin&curtime=123456789&checksum=123456789abcdefg
  • header

    Content-Type: application/json
  • body

    {
    "UserID": "528",
    "MsgSeq": 0,
    "Limit": 3,
    "BeginTime": 1487931492,
    "EndTime": 1488009600,
    "Reverse": 1
    }

    body为json格式,各个字段解释如下:
    UserID: 用户ID,app内唯一,字符串。
    MsgSeq: 消息序号,通常用于分页查询。
    Limit: 本次查询的消息条数上限(最多100条),小于等于0或者大于100会提示参数错误,整型。
    BeginTime: 开始时间,时间戳秒数,整型。
    EndTime: 结束时间,时间戳秒数,整型。
    Reverse: 1按时间降序排列,0按时间正序排列,默认按降序排列。整型,可选字段。

  • 响应
    {
    "msg_cnt": 3,
    "msg_total": 3,
    "msg_list": [
        {
            "create_time": "1487932242",
            "msg_content": "https://cn-s-youme-im.s3.cn-north-1.amazonaws.com.cn/a5/a5435d7be84640270eb3dccd3d673694.amr?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAPNCTFJWBUFW4LOPA%2F20170224%2Fcn-north-1%2Fs3%2Faws4_request&X-Amz-Date=20170224T103040Z&X-Amz-Expires=604800&X-Amz-SignedHeaders=host&X-Amz-Signature=4ac85810ccecc6ce7d738fd0dbf47cc0f682715ae90101df532abf5e6dd37152",
            "msg_id": "53653387866288152",
            "msg_type": "Voice",
            "recv_id": "688"
        },
        {
            "create_time": "1487931743",
            "msg_content": "开会",
            "msg_id": "53651294732431389",
            "msg_type": "Text",
            "recv_id": "688"
        },
        {
            "create_time": "1487931735",
            "msg_content": "刚刚好",
            "msg_id": "53651264554414107",
            "msg_type": "Text",
            "recv_id": "688"
        }
    ]
    }

    msg_cnt:当前返回消息条数。
    msg_total:符合查询条件的消息总条数。
    msg_list:消息对象列表。

查询用户会话消息

根据时段段查询用户发送到某一用户的会话消息。最多返回100条,时间跨度不超过86400秒。

  • 请求URL
    https://api.youme.im/v1/im/query_im_session_msg?appkey=123456789&identifier=admin&curtime=123456789&checksum=123456789abcdefg
  • header

    Content-Type: application/json
  • body

    {
    "SendID": "528",
    "RecvID": "526",
    "MsgSeq": 0,
    "Limit": 3,
    "BeginTime": 1487931492,
    "EndTime": 1488009600,
    "Reverse": 1
    }

    body为json格式,各个字段解释如下:
    SendID: 发送用户ID,app内唯一,字符串。
    RecvID: 接收用户ID,app内唯一,字符串。
    MsgSeq: 消息序号,通常用于分页查询。
    Limit: 本次查询的消息条数上限(最多100条),小于等于0或者大于100会提示参数错误,整型。
    BeginTime: 开始时间,时间戳秒数,整型。
    EndTime: 结束时间,时间戳秒数,整型。
    Reverse: 1按时间降序排列,0按时间正序排列,默认按降序排列。整型,可选字段。

  • 响应
    {
    "msg_cnt": 3,
    "msg_total": 3,
    "msg_list": [
        {
            "create_time": "1487931511",
            "msg_content": "实时闲聊,娱乐近距离!",
            "msg_id": "53650324732522522",
            "msg_type": "Text"
        },
        {
            "create_time": "1487931510",
            "msg_content": "实时通话,让沟通回归简单!",
            "msg_id": "53650318558507033",
            "msg_type": "Text"
        },
        {
            "create_time": "1487931508",
            "msg_content": "目前已服务的游戏玩家超过10,000,000!",
            "msg_id": "53650312556458008",
            "msg_type": "Text"
        }
    ]
    }

    msg_cnt:当前返回消息条数。
    msg_total:符合查询条件的消息总条数。
    msg_list:消息对象列表。

查询用户频道消息

根据时段段查询用户发送到某一频道的消息。最多返回100条,时间跨度不超过86400秒。

  • 请求URL
    https://api.youme.im/v1/im/query_im_user_channel_msg?appkey=123456789&identifier=admin&curtime=123456789&checksum=123456789abcdefg
  • header

    Content-Type: application/json
  • body

    {
    "UserID": "zoro3000",
    "MsgSeq": 0,
    "Limit":3,
    "BeginTime": 1487922310,
    "EndTime": 1488005911,
    "Reverse": 1
    }

    body为json格式,各个字段解释如下:
    UserID: 用户ID,app内唯一,字符串。
    MsgSeq: 消息序号,通常用于分页查询。
    Limit: 本次查询的消息条数上限(最多100条),小于等于0或者大于100会提示参数错误,整型。
    BeginTime: 开始时间,时间戳秒数,整型。
    EndTime: 结束时间,时间戳秒数,整型。
    Reverse: 1按时间降序排列,0按时间正序排列,默认按降序排列。整型,可选字段。

  • 响应
    {
    "msg_cnt": 1,
    "msg_total": 3,
    "msg_list": [
        {
            "create_time": "1487923111",
            "msg_content": "show me the money",
            "msg_id": "53615092713140250",
            "msg_type": "Text",
            "recv_id": "2011234"
        }
    ]
    }

    msg_cnt:当前返回消息条数。
    msg_total:符合查询条件的消息总条数。
    msg_list:消息对象列表。

查询频道消息

根据时段段查询某一频道的消息记录。最多返回100条,时间跨度不超过86400秒。

  • 请求URL
    https://api.youme.im/v1/im/query_im_channel_msg?appkey=123456789&identifier=admin&curtime=123456789&checksum=123456789abcdefg
  • header

    Content-Type: application/json
  • body

    {
    "ChannelID": "2011234",
    "MsgSeq": 0,
    "Limit": 3,
    "BeginTime": 1487924438,
    "EndTime": 1488009600,
    "Reverse": 1
    }

    body为json格式,各个字段解释如下:
    ChannelID: 频道ID,app内唯一,字符串。
    MsgSeq: 消息序号,通常用于分页查询。
    Limit: 本次查询的消息条数上限(最多100条),小于等于0或者大于100会提示参数错误,整型。
    BeginTime: 开始时间,时间戳秒数,整型。
    EndTime: 结束时间,时间戳秒数,整型。
    Reverse: 1按时间降序排列,0按时间正序排列,默认按降序排列。整型,可选字段。

  • 响应
    {
    "msg_cnt": 1,
    "msg_total": 3,
    "msg_list": [
        {
            "create_time": "1487924524",
            "msg_content": "z这是来自web 的消息",
            "msg_id": "53621015984746534",
            "msg_type": "Text",
            "send_id": "sanji"
        }
    ]
    }

    msg_cnt:当前返回消息条数。
    msg_total:符合查询条件的消息总条数。
    msg_list:消息对象列表。

请求发送消息

请求发送IM消息。

  • 请求URL
    https://api.youme.im/v1/im/query_im_send_msg?appkey=123456789&identifier=admin&curtime=123456789&checksum=123456789abcdefg
  • header

    Content-Type: application/json
  • body

    {
    "MsgSeq": "99807732",
    "ChatType": 2,
    "SendID": "abc",
    "RecvID" : "chat_qzone",
    "Content" : "这是测试",
    "DoCC" : 0,
    "Comment":{
       "AttachParam":"你好!"
       }
    }

    body为json格式,各个字段解释如下:
    MsgSeq: 消息序列号,数字组成的字符串。
    ChatType: 聊天类型,1 私聊 2 频道聊天。
    SendID: 发送用户ID。
    RecvID: 接收用户ID。
    Content: 发送消息内容,字符串。
    DoCC: 选填字段,1:发送抄送消息,0或者不填:不发送抄送消息,(若需要发送抄送消息需要先联系游密进行抄送功能开启)。
    Base64: 发送消息是否Base64加密,整型,0:非Base64加密;非0:Base64加密(可选)。
    Comment:{
    AttachParam:
    }
    附加字段参数(可选),需要在Comment里传入AttachParam,则对应SDK接收端的附加字段参数。
    PrivateMsgMode: 私聊消息场景模式,选填字段,1:社交模式,0或者不填:游戏模式。

  • 响应
    无特殊响应字段。

请求发送文件消息

请求发送IM文件消息。

  • 请求URL
    https://api.youme.im/v1/im/query_im_send_file_msg?appkey=123456789&identifier=admin&curtime=123456789&checksum=123456789abcdefg
  • header

    Content-Type: application/json
  • body

    {
    "MsgSeq": "99807732",
    "ChatType": 2,
    "SendID": "admin",
    "RecvID" : "444455555",
    "Content" : "https://s1.youme.im/keyword/keywrods20180210.zip",
    "DoCC" : 0,
    "Comment":{
       "FileSize":"1M",
       "FileType":"0"
       }
    }

    body为json格式,各个字段解释如下:
    MsgSeq: 消息序列号,数字组成的字符串。
    ChatType: 聊天类型,1 私聊 2 频道聊天。
    SendID: 发送用户ID。
    RecvID: 接收用户ID。
    Content: 发送消息内容,字符串。
    DoCC: 选填字段,1:发送抄送消息,0或者不填:不发送抄送消息,(若需要发送抄送消息需要先联系游密进行抄送功能开启)。
    Base64: 发送消息是否Base64加密,整型,0:非Base64加密;非0:Base64加密(可选)。
    Comment:{
    AttachParam:
    }
    附加字段参数(可选),需要在Comment里传入AttachParam,则对应SDK接收端的附加字段参数。
    PrivateMsgMode: 私聊消息场景模式,选填字段,1:社交模式,0或者不填:游戏模式。

  • 响应
    无特殊响应字段。

请求发送语音消息

请求发送IM语音消息。

  • 请求URL
    https://api.youme.im/v1/im/query_im_send_voice_msg?appkey=123456789&identifier=admin&curtime=123456789&checksum=123456789abcdefg
  • header

    Content-Type: application/json
  • body

    {
    "MsgSeq": "99807732",
    "ChatType": 2,
    "SendID": "admin",
    "RecvID" : "444455555",
    "Content" : "https://cn-s-youme-im.s3.cn-north-1.amazonaws.com.cn/c5/c503c4336e48aeb92bbfc7363b8a93d8.amr?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAPNCTFJWBUFW4LOPA%2F20210827%2Fcn-north-1%2Fs3%2Faws4_request&X-Amz-Date=20210827T075607Z&X-Amz-Expires=604800&X-Amz-SignedHeaders=host&X-Amz-Signature=f7a1910e714acebe105199cb5eefa6010301ade4a45e801ded1c9daa6967466d",
    "DoCC" : 0,
    "Comment":{
       "Param":"test voice"
       }
    }

    body为json格式,各个字段解释如下:
    MsgSeq: 消息序列号,数字组成的字符串。
    ChatType: 聊天类型,1 私聊 2 频道聊天。
    SendID: 发送用户ID。
    RecvID: 接收用户ID。
    Content: 发送消息内容,字符串。
    DoCC: 选填字段,1:发送抄送消息,0或者不填:不发送抄送消息,(若需要发送抄送消息需要先联系游密进行抄送功能开启)。
    Base64: 发送消息是否Base64加密,整型,0:非Base64加密;非0:Base64加密(可选)。
    Comment:{
    AttachParam:
    }
    附加字段参数(可选),需要在Comment里传入AttachParam,则对应SDK接收端的附加字段参数。
    PrivateMsgMode: 私聊消息场景模式,选填字段,1:社交模式,0或者不填:游戏模式。

  • 响应
    无特殊响应字段。

查询用户最近会话消息

查询用户发送到某一用户的最近会话消息。最多返回100条,支持分页查询。

  • 请求URL
    https://api.youme.im/v1/im/query_im_last_session_msg?appkey=123456789&identifier=admin&curtime=123456789&checksum=123456789abcdefg
  • header

    Content-Type: application/json
  • body

    {
    "SendID": "528",
    "RecvID": "526",
    "CurMsgId": 0,
    "Limit": 100
    }

    body为json格式,各个字段解释如下:
    SendID: 发送用户ID,app内唯一,字符串。
    RecvID: 接收用户ID,app内唯一,字符串。
    CurMsgId: 消息序号,通常用于分页查询,表示64位整型的字符串。
    Limit: 本次查询的消息条数上限(最多100条),小于等于0或者大于100会提示参数错误,整型。

  • 响应
    {
    "cur_msg_id" : "1510122344380",
    "msg_cnt" : 3,
    "msg_list" : [
      {
         "create_time" : "1510114133",
         "msg_content" : "噜啦噜啦",
         "msg_id" : "1510114133324",
         "msg_type" : "Text"
      },
      {
         "create_time" : "1510122289",
         "msg_content" : "相逢何必曾相识",
         "msg_id" : "1510122289373",
         "msg_type" : "Text"
      },
      {
         "create_time" : "1510122344",
         "msg_content" : "问苍茫大地",
         "msg_id" : "1510122344380",
         "msg_type" : "Text"
      }
    ],
    "msg_total" : 3
    }}

    msg_cnt:当前返回消息条数。
    msg_total:符合查询条件的消息总条数。
    msg_list:消息对象列表。