MSDK后台接口
总体说明
登录
概述
手Q鉴权[必接]
微信鉴权[必接]
游客鉴权[必接]
Apple 鉴权[必接]
获取pf和pfkey
[手Q]PC鉴权
[微信]PC鉴权
关系链
[手Q]用户信息
[手Q]同玩好友
[手Q]好友信息(未注册)
[手Q]好友信息
[手Q]会员信息
[手Q]会员详情
[手Q]工会绑群
[手Q]群关系查询
[手Q]加群
[手Q]解绑群
[手Q]拉取群列表
[手Q]绑定已有群
[手Q]提醒会长绑群
[手Q]查询绑定工会
[手Q]拉取群信息
[手Q]发送群消息
[微信]好友openid
[微信]同玩好友
[微信]同玩好友(有备注)
[微信]个人信息
[微信]查询群成员
[微信]解绑群
[微信]发送群消息
[微信]查询群状态
个人信息
[手Q]首次登录标识
[手Q]获取VIP信息
[手Q]蓝钻礼包
[手Q]wifi资格
[手Q]成就上报
[手Q]游戏中心查询
心悦超R
[微信]首次登录标识
[微信]获取特权
[微信]心悦超R
[微信]成就上报
[微信]消息订阅
[微信]批量订阅
[微信]订阅推送
[微信]订阅清理
[微信]精英查询
分享
[手Q]后台分享
[手Q]ark后台分享
免流量
查询免流量
查询ip的信息
错误码
MSDK接入层
MSDK逻辑层
手Q平台
微信平台
微信群
手Q群
手Q游戏中心
手Q分享
手Q蓝钻礼包
OIDB
心悦超R
[微信]心悦超R
MSDK后台接口 / 登录 / 概述

总体说明

1)msdk后台提供http/https接口协议,post请求;
2)请求url上是固定的get参数,包括appid,sig,timestamp,encode等;
3)body部分是json串;
4)接口中所有的参数都是utf8编码;
5)后台接口超时时间为3100ms;

1.环境

环境 内网 外网
测试 http://msdktest.tencent-cloud.net https://ap6msdktest.ssl.msdk.qq.com (Android)
https://ip6msdktest.ssl.msdk.qq.com (iOS)
正式 http://msdk.tencent-cloud.net https://ap6.ssl.msdk.qq.com (Android)
https://ip6.ssl.msdk.qq.com (iOS)

2.参数

1)固定get参数部分:
形式:

http://msdk.qq.com/modulename/interfacename?timestamp=x3&appid=x4&sig=x5&openid=x6&encode=x7&version=x8&ishttps=x9

modulename:功能分类;
interfacename:接口名;
请关注每个接口有详细描述;

参数名称 类型 描述
timestamp uint 时间戳【必填】
appid string 游戏appid(手Q或者微信)【必填】
sig string 长度为32的小写字符串,算法见sig生成规则;【必填】
openid string 用户账号,默认为空
encode string 产生sig的配置项encode=2,用msdkkey来产生sig(encode=1,用appkey来产生sig,目前版本不建议使用);【必填】
conn int 表示是否启用长连接,conn=1为长连接,可缺省,默认值为0;
msdkExtInfo string 表示透传的参数,会在返回的json中带上该透传参数,注意msdkExtInfo不能带特殊字符,只能由英文字母,数字,下划线组成,默认为空;
version string 表示携带的MSDK版本,默认为空(客户端调用都需要带上);
ishttps int 兼容https的策略,1:返回的body参数url请求的都是https,0或者不填:返回的body参数url请求是http;

2)http body(post)
body为json格式的文本字符串,默认为明文,如果http头部设置如下值,则为密文(包括回包):

Content-Encrypt=msdktea;
Accept-Encrypt=msdktea;


3)sig生成规则
当encode=1 时:sig = md5 ( appkey + timestamp )
当encode=2 时:sig = md5 ( msdkkey+ timestamp )
+ 表示两个字符串连接,非字符串"+";

4)https兼容性
目前MSDK的返回头像链接支持https,可以选择两种方式,在GET请求中携带version=2.16.0i(或以上版本)或者ishttps=1(推荐优先使用)

3.结果

通过http协议发送数据以后,获取状态码,如果为200,则表示请求正常,即可以获取http返回的内容,将json字符串解析成数组。如果不为200,表示请求失败,直接打印结果查看问题。

4.示例 (php)

<?php
require_once 'SnsNetwork.php';
$appid = "100703379";
$appKey = "f92212f75cd*********";
$openid = "F4382318AFBBD94F856E8%2066043C3472E";
$ts = time();
//md5 32位小写,例如"111111"的md5是"96e79218965e*********d5a330112";
$sig = md5($appKey.$ts);
$url= "http://msdktest.qq.com/relation/qqfriends_detail?timestamp=$ts&appid=$appid&sig=$sig&openid=$openid&encode=1";
$param = array(
    "appid"=> 100703379,
    "openid"=>"A3284A812ECA15269F85AE1C2D94EB37",
    "accessToken"=>"933FE8C9AB9C585D7EABD04373B7155F"
);
$result = SnsNetwork::makeRequest($url,json_encode($param));
print_r($result);

登录

特别说明:登录所有接口的功能分类名 auth和wxoauth效果等同,可以互换;

概述

通用登录流程:

服务端鉴权部分是登录的关键路径,游戏需要游戏后台来对接完成;

手Q鉴权[必接]

1)接口名:/auth/verify_login
2)接口说明:验证用户的登录态,判断access_token是否过期。url中带上msdkExtInfo=xxx(请求序列号),可以在后回内容中,将msdkExtInfo原数据带回来,即可实现纯异常请求。msdkExtInfo为可选参数。
3)URL格式:

http://msdktest.qq.com/auth/verify_login?timestamp=&appid=&sig=&openid=&encode=2 

4)入参说明:

参数名称 类型 描述
appid int 应用在QQ开放平台中的唯一id
openid string 普通用户唯一标识(QQ平台)
openkey string 授权凭证,即access_token
userip string 用户客户端ip

5)返回说明:

参数名称 类型 描述
ret int 返回码 0:正确,其它:失败
msg string ret非0,则表示“错误码,错误提示”,详细注释参见错误码描述

6)示例:

POST /auth/verify_login?timestamp=1478745715&appid=100703379&sig=3f046b1cdd74e44f2832c1000e11119f&openid=A3284A812ECA15269F85AE1C2D94EB37&encode=2 
HTTP/1.0
Host:msdktest.qq.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 198

{
    "appid": 100703379,
    "openid": "A3284A812ECA15269F85AE1C2D94EB37",
    "openkey": "933FE8C9AB9C585D7EABD04373B7155F",
    "userip": "192.168.5.114"
}

//返回结果:
{"ret":0,"msg":"user is logged in"}

微信鉴权[必接]

1)接口名:/auth/check_token
2)接口说明:微信检验授权凭证(access_token)是否有效。
url中带上msdkExtInfo=xxx(请求序列号),可以在后回内容中,将msdkExtInfo原数据带回来,即可实现纯异常请求。msdkExtInfo为可选参数。
3)URL格式:

http://msdktest.qq.com/auth/check_token?timestamp=&appid=&sig=&openid=&encode=2 

4)入参说明:

参数名称 类型 描述
openid string 用户在游戏中唯一id
accessToken string 登录态

5)返回说明:

参数名称 类型 描述
ret int 返回码 0:正确,其它:失败
msg string ret非0,则表示“错误码,错误提示”,详细注释参见错误码描述

6)示例:

POST /auth/check_token?timestamp=1478745715&appid=100703379&sig=3f046b1cdd74e44f2832c1000e11119f&openid=oGRTijiaT-XrbyXKozckdNHFgPyc&encode=2 HTTP/1.0
Host:msdktest.qq.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 198

{
    "accessToken": "OezXcEiiBSKSxW0eoylIeLl3C6OgXeyrDnhDI73sCBJPLafWudG-idTVMbKesBkhBO_ZxFWN4zlXCpCHpYcrXNG6Vs-cocorhdT5Czj_23QF6D1qH8MCldg0BSMdEUnsaWcFH083zgWJcl_goeBUSQ",
    "openid": "oGRTijiaT-XrbyXKozckdNHFgPyc"
}

//返回结果
{"ret":0,"msg":"ok"}

游客鉴权[必接]

1)接口名:/auth/guest_check_token
2)接口说明:游客模式下面,调用该接口鉴权。
3)URL格式:

http://msdktest.qq.com/auth/guest_check_token?timestamp=&appid=&sig=&openid=&encode=2 

4)入参说明:

参数名称 类型 描述
guestid string 游客唯一标识
accessToken string 登录态

5)返回说明:

参数名称 类型 描述
ret int 返回码 0:正确,其它:失败
msg string ret非0,则表示“错误码,错误提示”,详细注释参见错误码描述

6)示例:

POST /auth/guest_check_token?timestamp=1478745715&appid=G_100703379&sig=3f046b1cdd74e44f2832c1000e11119f&openid=G_oGRTijiaT-XrbyXKozckdNHFgPyc&encode=2 HTTP/1.0
Host:msdktest.qq.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 198

{
    "accessToken": "OezXcEiiBSKSxW0eoylIeLl3C6OgXeyrDnhDI73sCBJPLafWudG-idTVMbKesBkhBO_ZxFWN4zlXCpCHpYcrXNG6Vs-cocorhdT5Czj_23QF6D1qH8MCldg0BSMdEUnsaWcFH083zgWJcl_goeBUSQ",
    "guestid": "G_oGRTijiaT-XrbyXKozckdNHFgPyc"
}

//返回结果
{"ret":0,"msg":"ok"}

Apple 鉴权[必接]

1)接口名:/auth/apple_verify
2)接口说明:验证用户的登录态,判断access_token是否过期。
3)URL格式:

http://msdktest.qq.com/auth/apple_verify?timestamp=&appid=&sig=&openid=&encode=2 

4)入参说明:

参数名称 类型 描述
appid string 游戏的唯一标识,填写为A_手Qappid,如:A_100703379 【必填】
channel string 公共参数,一般填1001
deviceInfo object 公共参数
os string 系统,ios填写iap
platform string 平台,固定为apple_apple 【必填】
user_name string 用户名
openid string 用户的唯一标识 【必填】
access_token string 登录的access_token 【必填】
scenes int 登录场景,固定为1
isPrajna string 实名相关参数,固定为1

5)返回说明:

参数名称 类型 描述
ret int 返回码 0:正确,其它:失败
msg string ret非0,则表示“错误码,错误提示”,详细注释参见错误码描述

6)示例:

POST /auth/apple_verify/?timestamp=xx&appid=xx&sig=xx&openid=xx&encode=2 HTTP/1.0
Host:msdktest.qq.com
Content-Type: application/x-www-form-urlencoded

{
    "appid":"A_100703379",
    "channel":"1001",
    "deviceInfo":{"apkSize":"","mid":"F78A9942-A5F2-BF44820","deviceResolution":"828*1792","deviceApn":"WiFi","deviceTradeMark":"iPhone11","osVersion":"13.1.3","deviceImei":"3331B4AF3157","apkName":"","deviceName":"qinghe(UKiPhone","appVersion":"3.3.12u","osSystem":"ios","localIP":"10.2.46.93","apkVersion":""},
    "os":"iap",
    "platform":"apple_apple",
    "scenes":1,
    "isPrajna":"1",
    "user_name":"",
    "openid":"001397.7ff24f921687e60de.0342",
    "access_token":"a8056b8b672b6bb8de46.0.mrtzx.ArFaahPSGpcw"
}

//返回结果
{"ret":0,"msg":"success"}

手Q PC端登录鉴权(该接口为GET请求)

1)接口名:/pclogin/qq_check_ctk
2)接口说明:验证用户的登录态,判断accessToken是否过期。
3)URL格式:

http://msdktest.qq.com/pclogin/qq_check_ctk?timestamp=&appid=&sig=&openid=&accessToken=&encode=2 

4)入参说明:

参数名称 类型 描述
accessToken string 登录态,即 ctt_token

5)返回说明:

参数名称 类型 描述
ret int 返回码 0:正确,其它:失败
msg string ret非0,则表示“错误码,错误提示”,详细注释参见错误码描述

6)示例:

GET /pclogin/qq_check_ctk?timestamp=1547121677&appid=100703379&sig=3335177876d8djfhy09868878f18b5&openid=5D1561063D6B634017656C9A49702632&encode=2&accessToken=n8mun40EOLnv_TvfgVVhxhimG3s5xYJptaQQUI9eS6HpAPoxY9HKmg9zrFbxPjToEAs5Ux37b8x_yDLLN_7Q7bBEmvd9tz7rHd6QNYiG6RlUe8OmkRuVAjhT2zPFYsDD0a9IrQdrHbwmCb9D9SHRtbMadUE

//返回结果:
{"ret":0,"msg":"success"}

微信 PC端登录鉴权(该接口为GET请求)

1)接口名:/pclogin/wx_check_ctk
2)接口说明:验证用户的登录态,判断accessToken是否过期。
3)URL格式:

http://msdktest.qq.com/pclogin/wx_check_ctk?timestamp=&appid=&sig=&openid=&accessToken=&encode=2

4)入参说明:

参数名称 类型 描述
accessToken string 登录态,即 ctt_token

5)返回说明:

参数名称 类型 描述
ret int 返回码 0:正确,其它:失败
msg string ret非0,则表示“错误码,错误提示”,详细注释参见错误码描述
sessionkey string 客户端会话秘钥(用于客户端应用会话秘钥加密业务数据使用)

6)示例:

GET /pclogin/wx_check_ctk?timestamp=1547103632&appid=wxcde873f99466f74a&sig=9213ea2aa740a140fdsff24dff3027&openid=oGRTijrLxePOhItzzag7EYSzv8Dg&encode=1&accessToken=XYZ17_elG0Rz_GgcQ_I0XTqkaFZ5azsPj0K0xRgbVM8a_Oe5MiiSkZYzLzURe3T4x251NpzbyaRJQ5x64q8uZOzeY0i

//返回结果
{"ret":0,"msg":"success","sessionkey":"f4d3f2e9ae5e8023"}

获取pf和pfkey

1)接口名:/auth/get_pfval
2)接口说明:通过传入参数获取pf和pfkey值。
3)URL格式:

http://msdktest.qq.com/auth/get_pfval?timestamp=&appid=&sig=&openid=&encode=2 

4)入参说明:

参数名称 类型 描述
appid string 游戏的唯一标识
openid string 用户的唯一标识
accessToken string 登录态(qq使用paytoken,微信使用accesstoken)
platform string 平台标识(一般情况下:qq对应值为desktop_m_qq,wx对应值为desktop_m_wx,游客对应值为desktop_m_guest)
regChannel string 注册渠道
os string 系统(安卓对应android,ios对应iap)
installchannel string 安装渠道
offerid string 支付的appid

5)返回说明:

参数名称 类型 描述
ret int 返回码 0:正确,其它:失败
msg string ret非0,则表示“错误码,错误提示”,详细注释参见错误码描述
pf string 对应的pf值
pfKey string 对应的pfKey值

6)示例:

POST /auth/get_pfval/?timestamp=1491527653&appid=wxcde873f99466f74a&sig=161bb45ba800811d1220ab24acfbc83b&version=3.0.0a&encode=2 HTTP/1.0
Host:msdktest.qq.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 198

{
    "appid":"wxcde873f99466f74a",
    "openid":"oyQmcwlfqLdebciSJTiGy8Bm5N40",
    "accessToken":"u2OLuoBXgeJpL206s4Y6l1gb6vQDpL6dopCN9VGTUv7GRjUvxgxXT78Mxj-1SdYeRUObVB1FFbugXCpwYG_EPyKy0-HEnu6d861OB-xoVA8",
    "platform":"desktop_m_wx",
    "regChannel":"2002",
    "os":"android",
    "installchannel":"73213123",
    "offerid":"1104674695"
}

//返回结果
{
    "pf": "desktop_m_wx-2002-android-73213123-wx-wxcde873f99466f74a-oyQmcwlfqLdebciSJTiGy8Bm5N40",
    "pfKey": "60de2c996**********9a81f8ccb0",
    "msg": "ok",
    "ret": 0
}

关系链

[手Q]用户信息

1)接口名:/relation/qqprofile
2)接口说明:获取用户QQ账号基本信息。
3)URL格式:

http://msdktest.qq.com/relation/qqprofile?timestamp=&appid=&sig=&openid=&encode=2 

4)入参说明:

参数名称 类型 描述
appid string 游戏唯一标识
openid string 用户唯一标识
accessToken string 登录态

5)返回说明:

参数名称 类型 描述
ret int 返回码 0:正确,其它:失败
msg string ret非0,则表示“错误码,错误提示”,详细注释参见错误码描述
nickName string 用户在QQ空间的昵称(和手机QQ昵称是同步的)
gender string 性别;手Q平台2021.10.27至2022.1.1默认返回"男";2022.1.1之后,平台不再返回
picture40 string 大小为40×40像素的QQ头像URL
picture100 string 大小为100×100像素的QQ头像URL,需要注意,不是所有的用户都拥有QQ的100x100的头像,但40x40像素则是一定会有
yellow_vip int 是否是黄钻用户,0表示没有黄钻
yellow_vip_level int 黄钻等级
yellow_year_vip int 是否是年费黄钻用户,0表示否
is_lost string is_lost为1的时候表示获取的数据做了降级处理:此时业务层有缓存数据时,可以先用缓存数据;
如果没有的话,再使用当前的数据,并且该标志打上1时,不要对这个数据进行缓存

如果业务有修改手Q玩家头像尺寸需求,注意不要改变原链接字段拼接结构

以下为手Q平台侧玩家个人头像返回链接样式,供业务参考,以平台最终返回为准

  • 正常身份:http://thirdqq.qlogo.cn/g?b=oidb&k=6AJZXGDES1gHgiaK9kbIJlA&s=100&t=1466475684
  • 虚拟账号身份:http://thirdqq.qlogo.cn/qqopen/ZdvYp9s7k6o0mHZMOqNJ3Na28broRWwlTZtH7ZzuYrIibicBOy2ZNXMDlBricO1hh6G/100?v=ac9c
  • 平台兜底:https://q.qlogo.cn/qqapp/1106977030/9C38601899722D920F157C8B510F3E36/100

什么是虚拟账号,可点击查看

6) 示例:

POST /relation/qqprofile/?timestamp=*&appid=**&sig=***&openid=**&encode=1 HTTP/1.0
Host:$domain
Content-Type: application/x-www-form-urlencoded
Content-Length: 198

{
    "appid": "100703379",
    "accessToken": "FCCDE5C8CDAD70A9A0E229C367E03178",
    "openid": "69FF99F3B17436F2F6621FA158B30549"
}

//返回结果
{
    "ret": 0,
    "msg": "success",
    "nickName": "xxx",
    "gender": "",
    "picture40": "http://q.qlogo.cn/qqapp/100703379/A3284A812ECA15269F85AE1C2D94EB37/40",
    "picture100": "http://q.qlogo.cn/qqapp/100703379/A3284A812ECA15269F85AE1C2D94EB37/100",
    "yellow_vip": 0,
    "yellow_vip_level": 0,
    "yellow_year_vip": 0,
    "is_lost": "0"
}

[手Q]同玩好友

1)接口名:/relation/qqfriends_detail
2)接口说明:获取QQ同玩好友详细的个人信息接口。
3)URL格式:

http://msdktest.qq.com/relation/qqfriends_detail?timestamp=&appid=&sig=&openid=&encode=2 

4)入参说明:

参数名称 类型 描述
appid string 游戏唯一标识
openid string 用户唯一标识
accessToken string 登录态
flag int flag=1时,返回不包含自己在内的好友关系链; flag=2时,返回包含自己在内的好友关系链。其它值无效,使用当前逻辑
closefriends_flag int 是否返回亲密好友,默认为空或者0都不返回;1表示返回

5)返回说明:

参数名称 类型 描述
ret int 返回码 0:正确,其它:失败
msg string ret非0,则表示“错误码,错误提示”,详细注释参见错误码描述
lists array QQ同玩好友个人信息列表,类型vector
is_lost string is_lost为0,说明手Q返回的好友数据正常;为1说明获取的数据做了降级处理,业务可评估是否使用为1时的数据
extinfo object 对应的数据json对象
closefriend_lists array 返回的数据列表
struct QQGameFriendsList {
    string          openid;      //好友的openid
    string          nickName;   //昵称(优先输出备注,无则输出昵称)
    string          gender;      //性别,手Q平台2021.10.27至2022.1.1默认返回"男";2022.1.1之后,平台不再返回
    string          figureurl_qq;  //好友QQ头像URL,必须在URL后追加以下参数/40,/100这样可以分别获得不同规格的图片:
  40*40(/40)、100*100(/100)
};

6) 示例:

POST /relation/qqfriends_detail/?timestamp=1381288134&appid=100703379&sig=3f308f92212f75cd8d682215cb3fa852&openid=A3284A812ECA15269F85AE1C2D94EB37&encode=1

{
    "appid": "100703379",
    "openid": "A3284A812ECA15269F85AE1C2D94EB37",
    "accessToken": "933FE8C9AB9C585D7EABD04373B7155F",
    "flag": 1,
    "closefriends_flag": 1
}
//返回结果
{
    "ret": 0,
    "msg": "success",
    "lists": [
    {
        "openid": "69FF99F3B17436F2F6621FA158B30549",
        "nickName": "xxx",
        "gender": "",
        "figureurl_qq": "http://q.qlogo.cn/qqapp/100703379/69FF99F3B17436F2F6621FA158B30549/"
    }
    ],
    “extinfo”:{
        "closefriend_lists" : [
            "DB8830DFD91050D6BD9CFAC29121C98B", 
            "DB8830DFD91050D6BD9CFAC29121C98B"
        ]
    },
    "is_lost": "0"
}

[手Q]好友信息(未注册该应用)

1)接口名:/relation/qq_unreg_friends
2)接口说明:获取手Q好友列表中未注册该应用的好友信息。
备注:获取未注册好友信息是基于游戏的成就上报的,未接入成就上报(接口:/profile/qqscore_batch)则不允许调用该接口

该接口在游戏内调用时会获取未经授权的用户数据,经《个人信息保护法》评估须进行改造,已接入的业务需关注,未接入的业务,暂停接入申请。

平台侧改造方案:于2021.11.05日开始,调用该接口将返回 “无推荐好友” 的空数据,请业务关注用户界面处理,必要时需隐藏该能力入口。

3)URL格式:

http://msdktest.qq.com/relation/qq_unreg_friends?timestamp=&appid=&sig=&openid=&encode=2 

4)入参说明:

参数名称 类型 描述
accessToken string 登录态
count int 期待拉取好友的个数;不要超过20,建议使用20

5)返回说明:

参数名称 类型 描述
ret int 返回码 0:正确,其它:失败
msg string ret非0,则表示“错误码,错误提示”,详细注释参见错误码描述
friends array 好友列表,类型vector
struct QQUnregFriendsList {
    string          openid;       //好友的openid
    string          nick_name;    //好友昵称(返回的是qq的昵称,不返回备注)
    string          head_img_url; //好友头像 
};

6) 示例:

POST /relation/qq_unreg_friends/?timestamp=1381288134&appid=100703379&sig=3f308f92212f75cd8d682215cb3fa852&openid=F4382318AFBBD94F856E8%2066043C3472E&encode=2

{
    "accessToken": "933FE8C9AB9C585D7EABD04373B7155F",
    "count": 20
}
//返回结果
{
    "ret": 0,
    "msg": "success",
    "friends": [
    {
        "openid": "67063124582BE5086B203F543E4F643C",
        "nick_name": "xxx",
        "head_img_url": "http://thirdqq.qlogo.cn/qqapp/1104466820/67063124582BE5086B203F543E4F643C/100"
    }
    ]
}

[手Q]好友信息

1)接口名:/relation/qqstrange_profile
2)接口说明:获取同玩陌生人(包括好友)个人信息。
PS:1.此接口目前仅供开发了“附近的人”等功能的游戏使用
2.即需要先在客户端获取到同玩陌生人openid列表才能调用此接口


3)URL格式:

http://msdktest.qq.com/relation/qqstrange_profile?timestamp=&appid=&sig=&openid=&encode=2 

4)入参说明:

参数名称 类型 描述
appid string 游戏唯一标识
openid string 用户唯一标识
accessToken string 登录态
vcopenid array 需要查询的同玩陌生人(包括好友)的openid列表,如:vcopenid:[“${openid}”,”${openid1}”]

5)返回说明:

参数名称 类型 描述
ret int 返回码 0:正确,其它:失败
msg string ret非0,则表示“错误码,错误提示”,详细注释参见错误码描述
list array QQ同玩陌生人(包括好友)个人信息信息列表,类型vector< QQStrangeList>
is_lost string is_lost为0,说明手Q返回的好友数据正常;为1说明获取的数据做了降级处理,业务可评估是否使用为1时的数据
struct QQStrangeList {
    string          openid;          //openid
    string          gender;          //性别;手Q平台2021.10.27至2022.1.1默认返回"男";2022.1.1之后,平台不再返回
    string          nickName;        //昵称
    string          qzonepicture50;  //用户头像大小为50×50像素的好友QQ空间头像URL
    string          qqpicture40;     //用户头像大小为40×40像素的好友QQ头像URL
    string          qqpicture100;    //用户头像大小为100×100像素的好友QQ头像URL
    string          qqpicture;       //用户头像大小为自适应像素的好友QQ头像URL,必须在URL后追加以下参数/40,/100这样可以分别获得不同规格的图片:40*40(/40)、100*100(/100)
}; 

6) 示例:

POST /relation/qqstrange_profile/?timestamp=1381288134&appid=100703379&sig=3f308f92212f75cd8d682215cb3fa***&openid=F4382318AFBBD94F856E8%2066043C3472E&encode=1

{
    "appid": 100732256,
    "openid": "B9EEA5EE1E99694146AC2700BFE6B88B",
    "accessToken": "C9A1F622B7B4AAC48D0AF3F73B1A3D83",
    "vcopenid": [
    "B9EEA5EE1E99694146AC2700BFE6B88B"
    ]
}
//返回结果
{
    "ret": 0,
    "msg": "success",
    "lists": [
    {
        "openid": "B9EEA5EE1E99694146AC2700BFE6B88B",
        "gender": "",
        "nickName": "/xu゛♥快到碗里来இ",
        "qzonepicture50": "http://thirdapp1.qlogo.cn/qzopenapp/aff242e95d20fb902bedd93bb1dcd4c01ed5dc2a14b37510a81685c74529ab1e/50",
        "qqpicture40": "http://q.qlogo.cn/qqapp/100732256/B9EEA5EE1E99694146AC2700BFE6B88B/40",
        "qqpicture100": "http://q.qlogo.cn/qqapp/100732256/B9EEA5EE1E99694146AC2700BFE6B88B/100",
        "qqpicture": "http://q.qlogo.cn/qqapp/100732256/B9EEA5EE1E99694146AC2700BFE6B88B"
    }
   ],
   "is_lost": "0"
}

[手Q]会员信息

1)接口名:/relation/qqfriends_vip
2)接口说明:批量查询QQ会员信息(好友非好友均支持)。
3)URL格式:

http://msdktest.qq.com/relation/qqfriends_vip?timestamp=&appid=&sig=&openid=&encode=2 

4)入参说明:

参数名称 类型 描述
appid string 游戏唯一标识
openid string 用户唯一标识
fopenids array 待查询openid列表,每次最多可输入49个
flags string VIP业务查询标识。目前支持查询QQ会员信息:qq_vip,QQ超级会员:qq_svip。后期会支持更多业务的用户VIP信息查询。如果要查询多种VIP业务,通过“,”分隔。
userip string 调用方ip信息
pf string 玩家登录平台,默认openmobile,有openmobile_android/openmobile_ios/openmobile_wp等,该值来自客户端手Q登录返回
accessToken string 登录态

5)返回说明:

参数名称 类型 描述
ret int 返回码 0:正确,其它:失败
msg string ret非0,则表示“错误码,错误提示”,详细注释参见错误码描述
lists array 包含 :
openid(string)用户id
is_qq_vip(int) 是否为QQ会员(0:不是; 1:是)
qq_vip_level(int)QQ会员等级(如果是QQ会员才返回)
is_qq_year_vip(int)是否为年费QQ会员(0:不是; 1:是)
is_qq_svip(int)是否为QQ超级会员(0:不是; 1:是)
is_lost string is_lost为1时表示oidb获取数据超时,建议游戏业务检测到is_lost为1时做降级处理,直接读取缓存数据或默认数据

6) 示例:

POST /relation/qqfriends_vip?timestamp=1478745715&appid=100703379&sig=3f046b1cdd74e44f2832c1000e11119f&openid=A3284A812ECA15269F85AE1C2D94EB37&encode=2   HTTP/1.0
Host:msdktest.qq.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 198

{
    "appid": "100703379",
    "openid": "A3284A812ECA15269F85AE1C2D94EB37",
    "accessToken": "964EE8FACFA24AE88AEEEEBD84028E19",
    "fopenids": [
        "69FF99F3B17436F2F6621FA158B30549"
    ],
    "flags": "qq_vip,qq_svip",
    "pf": "openmobile_android",
    "userip": "127.0.0.1"
}
//返回结果
{
    "is_lost": "0",
    "lists": [
        {
            "is_qq_vip": 1,
            "is_qq_year_vip": 1,
            "openid": "69FF99F3B17436F2F6621FA158B30549",
            "qq_vip_level": 6,
            "is_qq_svip": 1
        }
    ],
    "msg": "success",
    "ret": 0
}

[手Q]会员详情

1)接口名:/relation/get_vip_rich_info
2)接口说明:查询手Q会员详细信息(充值时间&到期时间)
3)URL格式:

http://msdktest.qq.com/relation/get_vip_rich_info?timestamp=&appid=&sig=&openid=&encode=2 

4)入参说明:

参数名称 类型 描述
appid string 游戏唯一标识
openid string 玩家唯一标识
accessToken string 登录态

5)返回说明:

参数名称 类型 描述
ret int 返回码 0:正确,其它:失败
msg string ret非0,则表示“错误码,错误提示”,详细注释参见错误码描述
is_lost string 判断是否有数据丢失。如果应用不使用cache,不需要关心此参数。0或者不返回:没有数据丢失,可以缓存。1:有部分数据丢失或错误,不要缓存。
is_qq_vip string 标识是否QQ会员(0:不是; 1:是)
qq_vip_start string QQ会员最后一次充值时间,标准时间戳
qq_vip_end string QQ会员期限,标准时间戳
qq_year_vip_start string QQ年费会员最后一次充值时间,标准时间戳
qq_year_vip_end string QQ年费会员期限,标准时间戳
qq_svip_start string ret非0,则表示“错误码,错误提示”,详细注释参见错误码描述;QQ SVIP最后一次充值时间,标准时间戳
qq_svip_end string QQ SVIP期限,标准时间戳
is_qq_year_vip string 标识是否QQ年费会员(0:不是; 1:是)
is_svip string 标识是否QQ超级会员(0:不是; 1:是)

6) 示例:

POST /relation/get_vip_rich_info?timestamp=1381288134&appid=100703379&sig=3f308f92212f75cd8d682215cb3fa8&openid=F4382318AFBBD94F856E866043C3472E&encode=2 HTTP/1.0
Host:msdktest.qq.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 134

{
    "appid": "100703379",
    "accessToken": "E16A9965C446956D89303747C632C27B",
    "openid": "F4382318AFBBD94F856E866043C3472E"
}

//返回结果
{
    "is_lost": "0",
    "is_qq_vip": "0",
    "msg": "success",
    "qq_svip_end": "0",
    "qq_svip_start": "0",
    "qq_vip_end": "1448817920",
    "qq_vip_start": "1443461120",
    "qq_year_vip_end": "0",
    "qq_year_vip_start": "0",
    "ret": 0,
    "is_qq_year_vip":"1",
    "is_svip":"1"
}

[手Q]工会绑群

1)接口名:/relation/createbind_groupv2
2)接口说明:工会会长创建并直接绑定QQ群接口(新)(使用时需要申请权限)
3)URL格式:

http://msdktest.qq.com/relation/createbind_groupv2?timestamp=&appid=&sig=&openid=&encode=2 

4)入参说明:

参数名称 类型 描述
appid string 游戏唯一标识
openid string 玩家唯一标识
accessToken string 登录态
guild_id string 工会ID;字符串里需要使用数值,如:"123456"
zone_id string 区服id
guild_name string 工会名称
platid string 平台id(1:安卓2:ios)
roleid string 角色id
partition string (小区)区服id,可以不填写,暂时无用
user_zone_id string (新增,可以不填)用户区服ID,王者的会长可能转让给非本区服的人,
所以公会区服不一定是用户区服。与公会区服一样时可不填
user_label string (新增,可以不填)新增修改群名片功能,全不填为不修改群名片;任一有内容为需要修改;
样式规则:【YYYY】ZZZZ,ZZZZ指用户的游戏内昵称
YYYY指用户的游戏数据,具体内容为:
(1)RPG:游戏内职业,
(2)竞技类:游戏内段位/军衔,
(3)休闲类:游戏内排名
nick_name string (新增,可以不填)用户昵称
type string 群类型,默认为0(公会类型);当游戏内需要创建多种类型公会群时,联系手Q侧排期并由手Q侧提供具体值。选填
areaid string 测试环境使用:游戏大区ID,理论上只有1:QQ,2:微信,但是测试环境有很多虚拟的
ip string (新增,可以不填)测试环境使用:游戏idip的地址,因为各个游戏不一样,传过来方便处理
port string (新增,可以不填)测试环境使用:游戏idip的地址,因为各个游戏不一样,传过来方便处理

5)返回说明:

参数名称 类型 描述
ret int 返回码 0:正确,其它:失败
message string ret非0,则表示“错误码,错误提示”,详细注释参见错误码描述
data array gc(string),新群的群号
group_name(string),群名字

6) 示例:

POST /relation/createbind_groupv2?timestamp=1381288134&appid=100703379&sig=3f308f92212f75cd8d682215cb3fa8&openid=F4382318AFBBD94F856E866043C3472E&encode=2 HTTP/1.0
Host:msdktest.qq.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 205

{
    "appid":"100703379",
    "guild_id":"1234",
    "zone_id":"1234",
    "guild_name":"测试群功能",
    "platid":"1234",
    "roleid":"1234",
  "partition":"1234",
    "accessToken":"B8C0CB75299FFEA623D766073BE5BC99"
}
//返回结果
{
    "ret": 0,
    "message": "success",
    "data": {
        "gc": "514915385",
        "group_name": "测试中文1"
    }
}

[手Q]群关系查询

1)接口名:/relation/get_groupinfov2
2)接口说明:当工会已绑定群后,调用该接口查询用户与群关系信息接口;可返回用户与群的关系(群主、管理员、普通成员,非成员)信息(新)(使用时需要申请权限)
3)URL格式:

http://msdktest.qq.com/relation/get_groupinfov2?timestamp=&appid=&sig=&openid=&encode=2 

4)入参说明:

参数名称 类型 描述
appid string 游戏唯一标识
openid string 玩家唯一标识
accessToken string 登录态
gc string 群号

5)返回说明:

参数名称 类型 描述
ret int 返回码 0:正确,其它:失败
message string ret非0,则表示“错误码,错误提示”,详细注释参见错误码描述
data array relation(int),用户与群的关系,1:群主,2:管理员,3:普通成员,4:非成员

6) 示例:

POST /relation/get_groupinfov2?timestamp=1381288134&appid=100703379&sig=3f308f92212f75cd8d682215cb3fa8&openid=F4382318AFBBD94F856E866043C3472E&encode=2 HTTP/1.0
Host:msdktest.qq.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 98

{
    "appid":"100703379",
    "gc":"426177396",
    "accessToken":"B8C0CB75299FFEA623D766073BE5BC99"
}
//返回结果
{
    "ret": 0,
    "message": "success",
    "data": {
        "relation": 1
    }
}

[手Q]加群

1)接口名:/relation/join_groupv2
2)接口说明:游戏内工会成员加入QQ群接口;调用该接口前,先调用/relation/get_groupinfov2接口查询用户是否是群成员,当用户为非群成员身份时,显示加群按钮(新)(使用时需要申请权限)
3)URL格式:

http://msdktest.qq.com/relation/join_groupv2?timestamp=&appid=&sig=&openid=&encode=2 

4)入参说明:

参数名称 类型 描述
appid string 游戏唯一标识
openid string 玩家唯一标识
accessToken string 登录态
guild_id string 工会ID;字符串里需要使用数值,如:"123456"
zone_id string 区服id;如涉及跨服加入群,填写公会所在区服id
gc string 群号
platid string 平台id(1:安卓2:ios)
roleid string 角色id
partition string (小区)区服id,可以不填写,暂时无用
user_zone_id string (新增,可以不填;如涉及跨服加入群时必须传入,填写用户所在区服)用户区服ID,王者的会长可能转让给非本区服的人,
所以公会区服不一定是用户区服。与公会区服一样时可不填
user_label string (新增,可以不填)新增修改群名片功能,全不填为不修改群名片;任一有内容为需要修改;
样式规则:【YYYY】ZZZZ,ZZZZ指用户的游戏内昵称
YYYY指用户的游戏数据,具体内容为:
(1)RPG:游戏内职业,
(2)竞技类:游戏内段位/军衔,
(3)休闲类:游戏内排名
nick_name string (新增,可以不填)用户昵称
type string 群类型,默认为0(公会类型);当游戏内需要创建多种类型公会群时,联系手Q侧排期并由手Q侧提供具体值。选填
areaid string 测试环境使用:游戏大区ID,理论上只有1:QQ,2:微信,但是测试环境有很多虚拟的
ip string (新增,可以不填)测试环境使用:游戏idip的地址,因为各个游戏不一样,传过来方便处理
port string (新增,可以不填)测试环境使用:游戏idip的地址,因为各个游戏不一样,传过来方便处理

5)返回说明:

参数名称 类型 描述
ret int 返回码 0:正确,其它:失败
message string ret非0,则表示“错误码,错误提示”,详细注释参见错误码描述
data array empty(string),预留

6) 示例:

POST /relation/join_groupv2?timestamp=1381288134&appid=100703379&sig=3f308f92212f75cd8d682215cb3fa8&openid=F4382318AFBBD94F856E866043C3472E&encode=2 HTTP/1.0
Host:msdktest.qq.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 205

{
    "appid":"100703379",
    "guild_id":"123",
    "zone_id":"123",
    "gc":"511720053",
    "partition":"1",
    "platid":"1",
    "roleid":"1",
    "accessToken":"B8C0CB75299FFEA623D766073BE5BC99"
}
//返回结果
{
    "ret": 0,
    "message": "success",
    "data": {
        "empty": ""
    }
}

[手Q]解绑群

1)接口名:/relation/unlink_groupv2
2)接口说明:游戏内与QQ群解绑接口;如果用户解散了工会QQ群,工会和工会QQ群不会自动解绑(新)(使用时需要申请权限)
PS:如果群被解散有两种方式可以取消绑定关系:
1. 会长调用解绑接口解散群关系
2. 当工会成员调用加群接口时,此时是查询不到群ID的,则会默认进行解绑
如果QQ群被解散而没有进行过以上任意一种操作时,则绑定关系不会自动消失
3. 会长转让后,新会长也可以进行解绑操作

3)URL格式:

http://msdktest.qq.com/relation/unlink_groupv2?timestamp=&appid=&sig=&openid=&encode=2 

4)入参说明:

参数名称 类型 描述
appid string 游戏唯一标识
openid string 玩家唯一标识
accessToken string 登录态
guild_id string 工会ID;字符串里需要使用数值,如:"123456"
zone_id string 区服id
platid string 平台id(1:安卓2:ios),不能为空
roleid string 角色id,不能为空
guild_name string 工会名称
user_zone_id string (新增,可以不填)用户区服ID,王者的会长可能转让给非本区服的人,
所以公会区服不一定是用户区服。与公会区服一样时可不填
type string 群类型,默认为0(公会类型);当游戏内需要创建多种类型公会群时,联系手Q侧排期并由手Q侧提供具体值。选填
areaid string 测试环境使用:游戏大区ID,理论上只有1:QQ,2:微信,但是测试环境有很多虚拟的
ip string (新增,可以不填)测试环境使用:游戏idip的地址,因为各个游戏不一样,传过来方便处理
port string (新增,可以不填)测试环境使用:游戏idip的地址,因为各个游戏不一样,传过来方便处理

5)返回说明:

参数名称 类型 描述
ret int 返回码 0:正确,其它:失败
message string ret非0,则表示“错误码,错误提示”,详细注释参见错误码描述
data array empty(string),预留字段

6) 示例:

POST /relation/unlink_groupv2?timestamp=1381288134&appid=100703379&sig=3f308f92212f75cd8d682215cb3fa8&openid=F4382318AFBBD94F856E866043C3472E&encode=2 HTTP/1.0
Host:msdktest.qq.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 141

{
    "appid":"100703379",
    "guild_id":"123",
    "zone_id":"123",
    "platid":"1",
    "roleid":"1",
    "guild_name":"测试中文1",
    "accessToken":"B8C0CB75299FFEA623D766073BE5BC99"
}
//返回结果
{
    "ret": 0,
    "message": "success",
    "data": {
        "empty": ""
    }
}

[手Q]拉取QQ群列表接口

1)接口名:/relation/get_group_listv2
2)接口说明:当会长将工会绑定自己已经创建的QQ群时,用于拉取已创建的群列表接口
3)URL格式:

http://msdktest.qq.com/relation/get_group_listv2?timestamp=&appid=&sig=&openid=&encode=2 

4)入参说明:

参数名称 类型 描述
appid string 游戏唯一标识
openid string 玩家唯一标识
accessToken string 登录态

5)返回说明:

参数名称 类型 描述
ret int 返回码 0:正确,其它:失败
message string ret非0,则表示“错误码,错误提示”,详细注释参见错误码描述
data Object 返回的json信息
group_list array 我创建的群的列表
gc string 群号
group_name string 群名称

6) 示例:

POST /relation/get_group_listv2?timestamp=1381288134&appid=100703379&sig=3f308f92212f75cd8d682215cb3fa8&openid=F4382318AFBBD94F856E866043C3472E&encode=2 HTTP/1.0
Host:msdktest.qq.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 141

{
    "appid":"100703379",
    "accessToken":"B8C0CB75299FFEA623D766073BE5BC99"
}
//返回结果
{
    "ret": 0,
    "message": "success",
    "data": {
        "group_list": [
                        {"gc": "","group_name": ""}
                      ]

    }
}

[手Q]绑定已创建的QQ群接口

1)接口名:/relation/bind_existing_groupv2
2)接口说明:会长可将工会绑定到自己已经创建的QQ群接口;调用该接口前先调用/relation/get_group_listv2接口拉取已创建的群列表
3)URL格式:

http://msdktest.qq.com/relation/bind_existing_groupv2?timestamp=&appid=&sig=&openid=&encode=2 

4)入参说明:

参数名称 类型 描述
appid string 游戏唯一标识
openid string 玩家唯一标识
accessToken string 登录态
guild_id string 工会ID;字符串里需要使用数值,如:"123456"
zone_id string 区服id
gc string 群号
group_name string 群名称
platid string 平台id
roleid string 角色id
user_zone_id string 用户区服ID,王者的会长可能转让给非本区服的人,
所以公会区服不一定是用户区服。与公会区服一样时可不填
type string 群类型,默认为0(公会类型);当游戏内需要创建多种类型公会群时,联系手Q侧排期并由手Q侧提供具体值。选填
areaid string 测试环境使用:游戏大区ID,理论上只有1:QQ,2:微信,但是测试环境有很多虚拟的
ip string (可以不填)测试环境使用:游戏idip的地址,因为各个游戏不一样,传过来方便处理
port string (可以不填)测试环境使用:游戏idip的地址,因为各个游戏不一样,传过来方便处理

5)返回说明:

参数名称 类型 描述
ret int 返回码 0:正确,其它:失败
message string ret非0,则表示“错误码,错误提示”,详细注释参见错误码描述
data array empty(string),预留

6) 示例:

POST /relation/bind_existing_groupv2?timestamp=1381288134&appid=100703379&sig=3f308f92212f75cd8d682215cb3fa8&openid=F4382318AFBBD94F856E866043C3472E&encode=2 HTTP/1.0
Host:msdktest.qq.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 141

{
    "appid":"100703379",
    "guild_id":"123",
    "zone_id":"123",
    "gc":"511720053",
    "partition":"1",
    "platid":"1",
    "roleid":"1",
    "accessToken":"B8C0CB75299FFEA623D766073BE5BC99"
}
//返回结果
{
    "ret": 0,
    "message": "success",
    "data": {
        "empty": ""
    }
}

[手Q]提醒会长绑群接口

1)接口名:/relation/remind_leader_bindv2
2)接口说明:当工会未绑群时,会员可提醒会长绑群接口;把工会绑定到我已创建的QQ群,通过公众号“QQ手游"接收通知,频率限制每天只收到一条;校验提醒者和被提醒者为必须为工会成员,游戏方来保证被提醒人为工会会长
3)URL格式:

http://msdktest.qq.com/relation/remind_leader_bindv2?timestamp=&appid=&sig=&openid=&encode=2 

4)入参说明:

参数名称 类型 描述
appid string 游戏唯一标识
openid string 玩家唯一标识
accessToken string 登录态
guild_id string 工会ID;字符串里需要使用数值,如:"123456"
zone_id string 区服id
platid string 平台id
roleid string 角色id
rolename string 角色名称,消息文案使用
user_zone_id string 用户区服ID,王者的会长可能转让给非本区服的人,
所以公会区服不一定是用户区服。与公会区服一样时可不填
type string 群类型,默认为0(公会类型);当游戏内需要创建多种类型公会群时,联系手Q侧排期并由手Q侧提供具体值。选填
leaderOpenid string 公会会长的openId
leaderRoleid string 公会会长的roleid
leaderZoneid string 会长区服信息,会长可能转让给非本区服的人,与公会区服一样时可不填
areaid string 测试环境使用:游戏大区ID,理论上只有1:QQ,2:微信,但是测试环境有很多虚拟的
ip string (可以不填)测试环境使用:游戏idip的地址,因为各个游戏不一样,传过来方便处理
port string (可以不填)测试环境使用:游戏idip的地址,因为各个游戏不一样,传过来方便处理

5)返回说明:

参数名称 类型 描述
ret int 返回码 0:正确,其它:失败
message string ret非0,则表示“错误码,错误提示”,详细注释参见错误码描述
data Object 返回的Object

6) 示例:

POST /relation/remind_leader_bindv2?timestamp=1381288134&appid=100703379&sig=3f308f92212f75cd8d682215cb3fa8&openid=F4382318AFBBD94F856E866043C3472E&encode=2 HTTP/1.0
Host:msdktest.qq.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 141

{
    "appid":"100703379",
    "guild_id":"123",
    "zone_id":"123",
    "gc":"511720053",
    "partition":"1",
    "platid":"1",
    "roleid":"1",
    "accessToken":"B8C0CB75299FFEA623D766073BE5BC99"
}
//返回结果
{
    "ret": 0,
    "message": "success",
    "data": {
        "empty": ""
    }
}

[手Q]查询群绑定的工会

1)接口名:/relation/query_bind_unionv2
2)接口说明:根据群ID查询绑定的工会信息
3)URL格式:

http://msdktest.qq.com/relation/query_bind_unionv2?timestamp=&appid=&sig=&openid=&encode=2 

4)入参说明:

参数名称 类型 描述
appid string 游戏唯一标识
openid string 玩家唯一标识
accessToken string 登录态
gc string 群号
type string 群类型,默认为0(公会类型);当游戏内需要创建多种类型公会群时,联系手Q侧排期并由手Q侧提供具体值。选填

5)返回说明:

参数名称 类型 描述
ret int 返回码 0:正确,其它:失败
message string ret非0,则表示“错误码,错误提示”,详细注释参见错误码描述
data Object 返回的json数据
union_id string 公会/队伍/赛事ID
union_name string 公会/队伍/赛事 名称

6) 示例:

POST /relation/query_bind_unionv2?timestamp=1381288134&appid=100703379&sig=3f308f92212f75cd8d682215cb3fa8&openid=F4382318AFBBD94F856E866043C3472E&encode=2 HTTP/1.0
Host:msdktest.qq.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 141

{
    "appid":"100703379",
    "guild_id":"123",
    "zone_id":"123",
    "gc":"511720053",
    "type":"0",
    "accessToken":"B8C0CB75299FFEA623D766073BE5BC99"
}
//返回结果
{
    "ret": 0,
    "message": "success",
    "data": {
        "union_id": "xxx",
        "union_name": "xxx"
    }
}

[手Q]拉取群信息(该接口为v2接口)

1)接口名:/relation/get_groupcode
2)接口说明:通过公会ID能拉取到QQ群的群号码,则有绑群;在创建群时候若没有输入公会名称,则此时获取的群名称为空。
3)URL格式:

http://msdktest.qq.com/relation/get_groupcode?timestamp=&appid=&sig=&openid=&encode=2 

4)入参说明:

参数名称 类型 描述
appid string 游戏唯一标识
openid string 玩家唯一标识
accessToken string 登录态
guild_id string 工会ID;字符串里需要使用数值,如:"123456"
zone_id string 大区ID,这里是公会的区服ID
type string 群类型,默认为0(公会类型);当游戏内需要创建多种类型公会群时,联系手Q侧排期并由手Q侧提供具体值。选填

5)返回说明:

参数名称 类型 描述
ret int 返回码 0:正确,其它:失败
message string ret非0,则表示“错误码,错误提示”,详细注释参见错误码描述
data Object 返回的json数据
gc string 群号
group_name string 群名称
group_key string 和游戏公会ID绑定的QQ群的group_key
group_openid string 和游戏公会ID绑定的QQ群的group_openid

6) 示例:

POST /relation/get_groupcode?timestamp=1381288134&appid=100703379&sig=3f308f92212f75cd8d682215cb3fa8&openid=F4382318AFBBD94F856E866043C3472E&encode=2 HTTP/1.0
Host:msdktest.qq.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 141

{
    "appid":"100703379",
    "guild_id":"123",
    "zone_id":"123",
    "type":"0",
    "accessToken":"B8C0CB75299FFEA623D766073BE5BC99"
}
//返回结果
{
    "ret": 0,
    "message": "success",
    "data": {
        "gc": "xxx",
        "group_name": "xxx",
        "group_key": "xxx",
        "group_openid": "xxx"

    }
}

[手Q]发送群消息

1)接口名:/relation/send_groupmsg
2)接口说明:群obj消息推送(使用时需要申请权限,在申请权限时,要将回调地址提供给手Q侧配置,若回调地址为空,则无法申请到权限)
3)URL格式:

http://msdktest.qq.com/relation/send_groupmsg?timestamp=&appid=&sig=&openid=&encode=2 

4)入参说明:

参数名称 类型 描述
appid string 应用在平台的唯一id
openid string 用户在某个应用的唯一标识
accessToken string 用户在应用中的登录凭据
pf string 应用的来源平台(不知道平台可以填写:qqqun)
group_openid string 分享指定群的key(群openid)
title string 消息标题,最长45字节
desc string 消息摘要,最长60字节
image_url string 消息左侧缩略图URL
redirect_url string 回调地址 (第三方应用在上架时配置的回调地址,不得填写其它域名地址)
param string redirect_url的输入参数,第三方可根据此参数来跳转到不同详情页(默认可传空"")

5)返回说明:

参数名称 类型 描述
ret int 返回码 0:正确,其它:失败
message string ret非0,则表示“错误码,错误提示”,详细注释参见错误码描述
is_lost 表示是否丢数据,1表示丢数据,0表示数据完整

6) 示例:

POST /relation/send_groupmsg?timestamp=*&appid=**&sig=***&openid=**&encode=1 HTTP/1.0
Host:$domain
Content-Type: application/x-www-form-urlencoded
Content-Length: 132

{
    "appid":"1104359534",
    "accessToken":"4F05D9EFF140E2BB6527F266B1E674F1",
    "pf":"qqqun",
    "group_openid":"C672A42F0595BC8309D079D68F45B8CF",
    "title":"11",
    "desc":"11",
    "redirect_url":"http://www.qq.com/",
    "image_url":"http://p.qlogo.cn/gh/31asdasd0/312248990/100",
    "param":"11"
}

//返回结果
{
    "ret": 0,
    "message": "success",
    "is_lost": "1"
}

[微信]好友openid

1)接口名:/relation/wxfriends
2)接口说明:获取微信同玩好友的openid列表,获取列表后可用/relation/wxprofile接口批量查询好友基本信息
3)URL格式:

http://msdktest.qq.com/relation/wxfriends?timestamp=&appid=&sig=&openid=&encode=2 

4)入参说明:

参数名称 类型 描述
appid string 游戏唯一标识
accessToken string 登录态
openid string 用户在某个应用的唯一标识

5)返回说明:

参数名称 类型 描述
ret int 返回码 0:正确,其它:失败
msg string ret非0,则表示“错误码,错误提示”,详细注释参见错误码描述
openids vector 好友列表

6) 示例:

POST /relation/wxfriends/?timestamp=*&appid=**&sig=**&openid=**&encode=1 HTTP/1.0
Host:$domain
Content-Type: application/x-www-form-urlencoded
Content-Length: 198

{
    "openid": "oGRTijiaT-XrbyXKozckdNHFgPyc",
    "accessToken": "OezXcEiiBSKSxW0eoylIeLl3C6OgXeyrDnhDI73sCBJPLafWudG-idTVMbKesBkhaKJhRmjhioMlDM_zBq_SxfYO2jdJKzAR6DSHL5-02O6oATRKHf57K-teO6bPsB1RHjH5Z0I1TzMn4DllSYrf3Q"
}

//返回结果
{
    "ret": 0,
    "msg": "success",
    "openids": ["oy6-ljtb1PKnNtRKlouJAj952hlg", "oy6-ljrzoW6jjxS2jI2LHZvGdsqA", "oy6-ljqJeurpVex1kyRAZl5blq3U", "oy6-ljoHSdnupQFMgHNTWoqSXXVg", "oy6-ljl-aYH1tl3L2clpVhhVXHtY"]
}

[微信]同玩好友信息(仅供精品游戏使用,无备注)

1)接口名:/relation/wxprofile
2)接口说明:获取微信账号同玩好友基本资料,无备注,不可获取陌生人信息
3)URL格式:

http://msdktest.qq.com/relation/wxprofile?timestamp=&appid=&sig=&openid=&encode=2 

4)入参说明:

参数名称 类型 描述
appid string 游戏唯一标识
accessToken string 登录态
openids vector 需要拉取的openid账号列表
(如果想获取当前登录用户的沃卡信息,请将用户openid放在首位,
因为只有首位的openid才能获取到沃卡信息,其后的openid无法获取到沃卡信息)

5)返回说明:

参数名称 类型 描述
ret int 返回码 0:正确,其它:失败
msg string ret非0,则表示“错误码,错误提示”,详细注释参见错误码描述
lists 信息列表vector<WXInfo>类型
privilege 用户特权信息,json 数组,如微信沃卡用户为(chinaunicom)只返回首位openid对应的沃卡信息,其后的openid无法获取到沃卡信息
struct WXInfo {
    string          nickName;       //仅返回昵称
    int             sex;           //性别1男2女,用户未填则默认0
    string          picture;        //用户头像URL,必须在URL后追加以下参数/0,/132,/96,/64,这样可以分别获得不同规格的图片:原始图片(/0)、132*132(/132)、96*96(/96)、64*64(/64)、46*46(/46)
    string          provice;        //省份
    string          city;           //城市
    string          openid;         //用户标识
    string          country         //国家
    string          language       //语言
};

6) 示例:

POST /relation/wxprofile/?timestamp=*&appid=**&sig=***&openid=**&encode=1 HTTP/1.0
Host:$domain
Content-Type: application/x-www-form-urlencoded
Content-Length: 198
{
    "accessToken": "OezXcEiiBSKSxW0eoylIeLl3C6OgXeyrDnhDI73sCBJYyBcXKXYWTlxU_BAMfu7Rzsr51Nu-CarhcPT6zYlD9FrWRzuA0ccQMgrTGqpao2Ccq_dcbciAvC8frI3gYk5d2p6pDFy-bOqyPTNysUxOQg",
    "openids": ["oGRTijrV0l67hDGN7dstOl8CphN0", "oGRTijlTxQPrvr-H5-pgoZMhZgog"]
}

//返回结果
{
    "country": "CN",
    "language": "zh_CN",
    "lists": [
    {
        "city": "Shenzhen",
        "nickName": "憨特",
        "openid": "oGRTijrV0l67hDGN7dstOl8CphN0",
        "picture": "http://wx.qlogo.cn/mmhead/RpIhxf6qwjeF1QA6YxVvE8El3ySJHWCJia63TePjLSIc",
        "provice": "",
        "sex": 1
    },
    {
        "city": "Zhongshan",
        "nickName": "WeGame测试",
        "openid": "oGRTijlTxQPrvr-H5-pgoZMhZgog",
        "picture": "",
        "provice": "",
        "sex": 2
    }
    ],
    "msg": "success",
    "privilege": [],
    "ret": 0
}

[微信]同玩好友信息(有备注)

1)接口名:/relation/wxfriends_profile
2)接口说明:获取微信个人及同玩好友基本信息
3)URL格式:

http://msdktest.qq.com/relation/wxfriends_profile?timestamp=&appid=&sig=&openid=&encode=2 

4)入参说明:

参数名称 类型 描述
appid string 游戏唯一标识
openid string 用户唯一标识
accessToken string 登录态
closefriends_flag int 是否返回亲密好友,默认为空或者0都不返回;1表示返回

5)返回说明:

参数名称 类型 描述
ret int 返回码 0:正确,其它:失败
msg string ret非0,则表示“错误码,错误提示”,详细注释参见错误码描述
lists vector 微信同玩好友个人信息列表,类型vector<WXInfo>
privilege array 用户特权信息,json数组,如微信沃卡用户为(chinaunicom)
只返回首位openid对应的沃卡信息,其后的openid无法获取到沃卡信息
country string 国家;平台固定返回空字符串
language string 语言
extinfo object 对应的数据json对象
closefriend_lists array 返回的数据列表

struct WXInfo {
	string          nickName;      //昵称(该字段默认优先使用好友备注,若没有备注则使用好友昵称;该字段会随时根据策略进行管控,如有明确使用备注的需求,请务必使用friendRemark字段获取备注)
	string          picture;       //用户头像URL,必须在URL后追加以下参数/0,/132,/96,/64,这样可以分别获得不同规格的图片:原始图片(/0)、132*132(/132)、96*96(/96)、64*64(/64)、46*46(/46)
	string          provice;       //省份(平台固定返回空字符串)
	string          openid;        //用户标识
	string          friendRemark;  //好友备注(权限正常且微信正常返回备注时该字段才存在;该字段于2022.9月份开始新增,默认不返回,如业务需要使用,需联系MSDK侧对业务进行配置)
};

6) 示例:

POST /relation/wxfriends_profile/?timestamp=1380018062&appid=wxcde873f99466f74a&sig=dc5a6330d54682c88846b1294fbd5fde&openid=oGRTijrV0l67hDGN7dstOl8CphN0&encode=2
{
    "accessToken": "OezXcEiiBSKSxW0eoylIeLl3C6OgXeyrDnhDI73sCBJYyBcXKXYWTlxU_BAMfu7Rzsr51Nu76pqG7N3Mh6ZI79VLoFSM7wdVpS4bz61Vg",
    "openid": "oGRTijrV0l67hDGN7dstOl8CphN0",
	"closefriends_flag": 1
}
//返回结果
{
    "country": "",
    "language": "",
    "ret": 0,
    "msg": "success",
    "lists": [{
	"nickName": "ufo",
	"picture": "http:\/\/wx.qlogo.cn\/mmhead\/LwcbhAmMnZBAqZyUkv1z3qJibczZRdrZRkTgcNnqKqovicmDxLmyffdQ",
	"provice": "",
	"openid": "oy6-ljl-aYH1tl3L2clpVhhVXHtY",
	"friendRemark": "兔兔"
    },
    {
	"nickName": "Lewis",
	"picture": "http:\/\/wx.qlogo.cn\/mmhead\/zreQPiaCicYfReYeU0sicsc92cfBdMejRFsicXK1fZibP7aM",
	"provice": "",
	"openid": "oy6-ljoHSdnupQFMgHNTWoqSXXVg",
	"friendRemark": "zhuzhu"
    }],
    "privilege": [],
	“extinfo”:{
		"closefriend_lists":[
       		{"openid":"OPENID1"},     
       		{"openid":"OPENID2"}
   		]
	}
}

[微信]个人信息(非精品业务使用)

1)接口名:/relation/wxuserinfo
2)接口说明:获取微信的个人信息,提供给 "非精品业务使用"
3)URL格式:

http://msdktest.qq.com/relation/wxuserinfo?timestamp=&appid=&sig=&openid=&encode=2 

4)入参说明:

参数名称 类型 描述
appid string 游戏唯一标识
accessToken string 登录态
openid string 用户在某个应用的唯一标识

5)返回说明:

参数名称 类型 描述
ret int 返回码 0:正确,其它:失败
msg string ret非0,则表示“错误码,错误提示”,详细注释参见错误码描述
nickname string 昵称
picture string 用户头像URL
province string 省份;平台固定返回空字符串
city string 城市;平台固定返回空字符串
country string 国家;平台固定返回空字符串
sex string 性别;平台固定返回0, 0表示未知
unionid string 用户统一标识。针对一个微信开放平台账号下的应用,同一用户的unionid是唯一的
privilege array 用户特权信息,json 数组,如微信沃卡用户为(chinaunicom)只返回首位openid对应的沃卡信息,其后的openid无法获取到沃卡信息
language string 语言(有可能为空)
gpsCity string 通过GPS获得的城市
openid string 用户在应用的唯一标识

6) 示例:

POST /relation/wxuserinfo/?timestamp=*&appid=**&sig=***&openid=**&encode=1 HTTP/1.0
Host:$domain
Content-Type: application/x-www-form-urlencoded
Content-Length: 198

{
    "appid": "wxcde873f99466f74a",
    "openid": "oGRTijrV0l67hDGN7dstOl8CphN0",
    "accessToken": "OezXcEiiBSKSxW0eoylIeLl3C6OgXeyrDnhDI73sCBJYyBcXKXYWTlxU_BAMfu7Rzsr51Nu-CarhcPT6zYlD9FrWRzuA0ccQMgrTGqpao2C-TqXCXdT-DZ44iKkidglb5Q9jQbXnMPrSTck_DUdGMg"
}

//返回结果
{
    "city": "",
    "country": "",
    "msg": "success",
    "nickname": "xxx",
    "picture": "http://wx.qlogo.cn/mmopen/uQDECzzFUic3xMCxSqQwsgXZqgCB2MtscmicF20OGZiaKia6fMlqOLuGjlibiaUnVPk0GoGwkKWv2MIa8e4BSwXRHn7ia7zRn1bVz9E/0",
    "privilege": [],
    "province": "",
    "ret": 0,
    "sex": "0",
    "unionid": "o1A_BjhwQHB2BUyasZ_Lb2rkkOpE"
}

[微信]查询群成员信息

1)接口名:/relation/wxget_groupinfo
2)接口说明:当工会已绑定群后,调用该接口查询用户与群关系信息接口;可返回用户是否是群成员信息
3)URL格式:

http://msdktest.qq.com/relation/wxget_groupinfo?timestamp=&appid=&sig=&openid=&encode=2 

4)入参说明:

参数名称 类型 描述
appid string 游戏唯一标识
openid string 玩家唯一标识
accessToken string 登录态
groupid string 公会id
openidlist string 公会成员openid,以逗号分隔,待验证是否为群成员

5)返回说明:

参数名称 类型 描述
ret int 返回码 0:正确,其它:失败
message string ret非0,则表示“错误码,错误提示”,详细注释参见错误码描述
platCode string 平台返回参数,当ret非0时关注
openidlist string 已存在群的成员列表,以逗号分隔。未存在的openid不返回
membercount int 群成员个数

6) 示例:

POST /relation/wxget_groupinfo?timestamp=1507881410&appid=wxcde873f99466f74a&sig=b98ea62991568a72b09f7e2675014a6d&openid=oGRTijuUl6Peo6lybWyGQfNC9_WE&encode=2 HTTP/1.0
Host:msdktest.qq.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 98

{
      "accessToken":"-2aMHhqC8Mmqsuw_1h3Fd_VRb232WayUbBmrtSnPNiHAOqvNN8oUU8tnMgkZOyEmcqpwDtMuyj63aeVywIAASg",
      "groupid": "110",
      "appid": "wxcde873f99466f74a",
      "openid": "oGRTijuUl6Peo6lybWyGQfNC9_WE",
      "openidlist": "oGRTijuUl6Peo6lybWyGQfNC9_WE"
}

//返回结果

   {  "membercount":2,
      "msg":"success",
      "openidlist":"oGRTijuUl6Peo6lybWyGQfNC9_WE",
      "platCode":"",
      "ret":0
      }

[微信]解绑群

1)接口名:/relation/wxunlink_group
2)接口说明:微信解绑群
3)URL格式:

http://msdktest.qq.com/relation/wxunlink_group?timestamp=&appid=&sig=&openid=&encode=2 

4)入参说明:

参数名称 类型 描述
appid string 游戏唯一标识
accessToken string 登录态
groupid string 公会的id

5)返回说明:

参数名称 类型 描述
ret int 返回码 0:正确,其它:失败
msg string ret非0,则表示“错误码,错误提示”,详细注释参见错误码描述

6) 示例:

POST /relation/wxunlink_group?timestamp=*&appid=**&sig=***&openid=**&encode=2 HTTP/1.0
Host:$domain
Content-Type: application/x-www-form-urlencoded
Content-Length: 198

{
    "appid":"wxcde873f99466f74a",
    "accessToken": "OezXcEiiBSKSxW0eoylIeLl3C6OgXeyrDnhDI73sCBJhKgRRgn5ztwrcCr1jwFWMow9ZDDD69U1GlL6tPS4GLX4nk6rIKoCEMz5ScKJ6bFmn0uT_eu0yhklQxkkhxjQS8v-ul7-ZEVHQleIchtSTyg",
    "groupid" : "2147521896"
}

//返回结果
{
    "ret": 0,
    "msg":"success"
}

[微信]查询群状态

1)接口名:/relation/wxget_groupstatus
2)接口说明:查询群状态
3)URL格式:

http://msdktest.qq.com/relation/wxget_groupstatus?timestamp=&appid=&sig=&openid=&encode=2 

4)入参说明:

参数名称 类型 描述
appid string 游戏唯一标识
accessToken string 登录态
groupid string 公会的id
op_type int 0:查询是否建群 1:查询是否加群

5)返回说明:

参数名称 类型 描述
ret int 返回码 0:正确,其它:失败
msg string ret非0,则表示“错误码,错误提示”,详细注释参见错误码描述
is_has int ret为0才表示正确的值,0表示没有创建群或者加群,1表示已经创建群或者加群

6) 示例:

POST /relation/wxget_groupstatus?timestamp=*&appid=**&sig=***&openid=**&encode=2 HTTP/1.0
Host:$domain
Content-Type: application/x-www-form-urlencoded
Content-Length: 198

{
    "appid":"wxcde873f99466f74a",
    "accessToken": "OezXcEiiBSKSxW0eoylIeLl3C6OgXeyrDnhDI73sCBJhKgRRgn5ztwrcCr1jwFWMow9ZDDD69U1GlL6tPS4GLX4nk6rIKoCEMz5ScKJ6bFmn0uT_eu0yhklQxkkhxjQS8v-ul7-ZEVHQleIchtSTyg",
    "groupid": "2147521896",
    "op_type": 0
}

//返回结果
{
    "ret": 0,
    "msg": "success",
    "is_has": 0
}

[微信]发送群消息

1)接口名:/relation/wxsend_groupmsg
2)接口说明:发送群消息
3)URL格式:

http://msdktest.qq.com/relation/wxsend_groupmsg?timestamp=&appid=&sig=&openid=&encode=2 

4)入参说明:

参数名称 类型 描述
appid string 游戏唯一标识
accessToken string 微信的accesstoken
openid string 用户在某个应用的唯一标识
reqBody json 请求到微信的json Object数据

json 数据说明

数据json格式:
{
    "reqBody":{
        "msg_type" : 1, //int,消息类型, 1:结构化分享 2:link链接分享 
        "sub_type" : 2, //int,分享类型, 邀请1,炫耀2,赠送3,索要4
        "appid" : "wxa28d26b2e31a21c4", //string,微信的appid
        "groupid" : "mt2group", //string,公会的id
        "open" : {
            "title" : "test1", //string,消息的title
            "desc" : "test2", //string,消息的介绍
            "share_url" : "https://game.weixin.qq.com/cgi-bin/act?noticeid=90103953&actid=7006&k=Q6EgQ_8DgubBRXGb1vmTBw&q=0&jsapi_ticket=1&hongbaoid=8CF558E6633CCB020796260075B95465#wechat_redirect", //string,跳转链接,msg_type等于1时不需要带;msg_type等于2时必须要带
            "ext_info" : "test3", //string,第三方程序自定义简单数据,微信会回传给第三方程序处理,长度限制2k, 客户端点击的时候可以获取到这个字段
            "message_ext" : "test4", //string,消息额外字段
            "media_tag_name" : "test5", //string,区分游戏消息类型,用于数据统计
        }
    }
}

5)返回说明:

参数名称 类型 描述
ret int 返回码 0:正确,其它:失败
msg string ret非0,则表示“错误码,错误提示”,详细注释参见错误码描述
platCode string 平台错误码,当ret非0时关注

6) 示例:

POST /relation/wxsend_groupmsg?timestamp=*&appid=**&sig=***&openid=**&encode=2 HTTP/1.0
Host:$domain
Content-Type: application/x-www-form-urlencoded
Content-Length: 198

{
    "appid": "wxcde873f99466f74a",
    "openid": "oGRTijrV0l67hDGN7dstOl8CphN0",
    "accessToken": "OezXcEiiBSKSxW0eoylIeLl3C6OgXeyrDnhDI73sCBJYyBcXKXYWTlxU_BAMfu7Rzsr51Nu-CarhcPT6zYlD9FrWRzuA0ccQMgrTGqpao2AFUqpPDuHWnG-7zOK_CIkx0PWh694IgF0gRriiB4qj3A",
    "reqBody":{
        "msg_type" : 1,
        "sub_type" : 2,
        "appid" : "wxcde873f99466f74a",
        "groupid" : "mt2group",
        "open" : {
            "title" : "test1",
            "desc" : "test2",
            "share_url" : "https://game.weixin.qq.com/cgi-bin/act?noticeid=90103953&actid=7006&k=Q6EgQ_8DgubBRXGb1vmTBw&q=0&jsapi_ticket=1&hongbaoid=8CF558E6633CCB020796260075B95465#wechat_redirect",
            "ext_info" : "test3",
            "message_ext" : "test4",
            "media_tag_name" : "test5",
        }
    }
}

//返回结果
{
    "ret":0,
    "msg":"success",
    "platCode":""
}

个人信息

[手Q]获取玩家实名注册后首次登录标识

1)接口名:/profile/qqget_first_reg
2)接口说明:获取玩家实名注册后首次登录标识。
3)URL格式:

http://msdktest.qq.com/profile/qqget_first_reg?timestamp=&appid=&sig=&openid=&encode=2 

4)入参说明:

参数名称 类型 描述
accessToken string 登录态

5)返回说明:

参数名称 类型 描述
ret int 返回码 0:正确,其它:失败
msg string ret非0,则参见msg中返回的错误描述
need_pop string 是否需要弹窗标识,"1":需要; 其他:不需要 备注:只有明确成功收到"1"的时候才弹窗,其它值或异常情况一律不做弹窗
realname_flag string 实名制标识,"1": 已实名; 其他:未实名
mobile_flag string 是否手机号注册标识,"1":是手机号注册; 其他:非手机号注册

6) 示例:

POST /profile/qqget_first_reg?timestamp=1510046500&appid=100703379&sig=b6080f45265d07fe5a48028cf59d8507&openid=061C8A0EC0E107B058960FBF2B3A3C41&encode=2 HTTP/1.0
Host:msdktest.qq.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 77
{
    "accessToken":"0F6D3680BE37ADB831480D4D394F0614"
}
//返回结果
{
    "ret":0,
    "msg":"success",
    "need_pop":"0",
    "realname_flag":"1",
    "mobile_flag":"1"

}

[手Q]获取VIP信息

1)接口名:/profile/query_vip
2)接口说明:获取QQ账号VIP信息(带登录态)。
3)URL格式:

http://msdktest.qq.com/profile/query_vip?timestamp=&appid=&sig=&openid=&encode=2 

4)入参说明:

参数名称 类型 描述
appid string 游戏唯一标识
openid string 玩家唯一标识
accessToken string 登录态
vip int 查询类型:
会员:vip&0x01 !=0;
QQ等级:vip&0x02!=0;
蓝钻:vip&0x04 != 0;
红钻:vip&0x08 != 0;
超级会员:vip&0x10 != 0;
心悦:vip&0x40 != 0;
黄钻:vip&0x80 != 0;
动漫:vip&0x100 != 0;
心悦等级(新接口):vip&0x200 != 0;心悦游戏家等级说明,数字越大,等级越高,具体描述如下:
1:游戏家G1
2:游戏家G2
3:游戏家G3
4:游戏家G4
5:心悦vip1
6:心悦vip2
7:心悦vip3
以上可任意组合(逻辑与),如需同时查询会员和蓝钻则(vip&0x01 !=0) && (vip&0x04 != 0) 为真,(备注:请求时请只填相关的标识位)
xinyue_upgrade int 值为1时,表示使用心悦新接口

5)返回说明:

参数名称 类型 描述
ret int 返回码 0:正确,其它:失败
msg string ret非0,则表示“错误码,错误提示”,详细注释参见错误码描述
lists array flag (int);
isvip (int) 判断用户VIP状态的唯一标识,(0否,1是);
year (int)是否年费(0否,1是); 
level (int) VIP等级;
当请求参数xinyue_upgrade=1时,level的值为心悦的新等级,如下:1:游戏家,2:游戏家Pro,3:V1,4:V2,5:V3,6:V4,7:V5
luxury (int) 是否豪华版(0否,1是);

flag 值说明:

  VIP_NORMAL(会员) = 1,
  VIP_QQ_LEVEL(QQ等级) = 2,  //QQ等级,只需要关注level参数,其它无效
  VIP_BLUE(蓝钻) = 4,
  VIP_RED (红钻)= 8, //红钻没有年费会员标识返回
  VIP_SUPER (超级会员)= 16,  //QQ超级会员,只有isvip有效
  VIP_XINYUE = 64,   //心悦俱乐部特权会员,该标志位请求时只有isvip及level有效
  VIP_YELLOW = 128,  //黄钻会员
    VIP_ANIMIC = 256,  //动漫会员,只有isvip有效
    VIP_XINYUE_NEW = 512,  //心悦等级(新接口),只有level有效

6) 示例:

POST /profile/query_vip?timestamp=1381288134&appid=100703379&sig=3f308f92212f75cd8d682215cb3fa8&openid=F4382318AFBBD94F856E866043C3472E&encode=2 HTTP/1.0
Host:msdktest.qq.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 198
{
    "appid": "100703379",
    "openid": "A3284A812ECA15269F85AE1C2D94EB37",
    "vip": 512,
    "accessToken":"A3284A812ECA15A3284A812ECA15269F85AE1C2D94EB37269F85AE1C2D94EB37"
}
//返回格式
{
    "ret": 0,
    "msg": "",
    "lists": [{
        "flag": 1,
        "year": 0,
        "level": 0,
        "luxury": 0,
        "isvip": 0
    },{
        "flag": 2,
        "year": 0,  
        "level": 10, 
        "luxury": 0, 
        "isvip": 1  
    },
    {
        "flag": 4,
        "year": 0,
        "level": 0,
        "luxury": 0,
        "isvip": 0
    },
    {
        "flag": 8,
        "year": 0,
        "level": 0,
        "luxury": 0,
        "isvip": 0
    },
    {
        "flag": 512,
        "year": 0,
        "level": 0,
        "luxury": 0,
        "isvip": 0
    }]
}

[手Q]蓝钻礼包

1)接口名:/profile/get_gift
2)接口说明:领取蓝钻礼包,调用一次过后就清空了礼包。
3)URL格式:

http://msdktest.qq.com/profile/get_gift?timestamp=&appid=&sig=&openid=&encode=2 

4)入参说明:

参数名称 类型 描述
appid string 游戏唯一标识
openid string 玩家唯一标识

5)返回说明:

参数名称 类型 描述
ret int 返回码 0:正确,其它:失败
msg string ret非0,则表示“错误码,错误提示”,详细注释参见错误码描述
GiftPackList array giftId(string) 礼包id
giftCount(string) 对应礼包个数

6) 示例:

POST /profile/get_gift?timestamp=1381288134&appid=100703379&sig=3f308f92212f75cd8d682215cb3fa8&openid=F4382318AFBBD94F856E866043C3472E&encode=2 HTTP/1.0
Host:msdktest.qq.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 77
{
    "appid": "100703379",
    "openid": "F4382318AFBBD94F856E866043C3472E"
}
//返回结果
{
    "GiftPackList": [
        {
            "giftCount": "1",
            "giftId": "1001"
        }
    ],
    "msdkExtInfo": "testhunter",
    "msg": "success",
    "ret": 0
}

[手Q]wifi资格

1)接口名:/profile/get_wifi
2)接口说明:获取随身wifi的资格。
3)URL格式:

http://msdktest.qq.com/profile/get_wifi?timestamp=&appid=&sig=&openid=&encode=2 

4)入参说明:

参数名称 类型 描述
appid string 游戏唯一标识
openid string 玩家唯一标识

5)返回说明:

参数名称 类型 描述
ret int 返回码 0:正确,其它:失败
msg string ret非0,则表示“错误码,错误提示”,详细注释参见错误码描述
wifiVip int 1:表示是wifivip资格,0:表示非wifivip资格

6) 示例:

POST /profile/get_wifi?timestamp=1381288134&appid=100703379&sig=3f308f92212f75cd8d682215cb3fa8&openid=F4382318AFBBD94F856E866043C3472E&encode=2 HTTP/1.0
Host:msdktest.qq.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 77
{
    "appid": "100703379",
    "openid": "F4382318AFBBD94F856E866043C3472E"
}
//返回结果
{
    "msg": "success",
    "ret": 0,
    "wifiVip": 1
}

[手Q]成就上报

1)接口名:/profile/qqscore_batch
2)接口说明:上报玩家成就到QQ平台,在QQ游戏中心显示好友分数排行。(实时生效,可以通过该页面验证是否成功上报: http://gpmmobile.oa.com/index.php?module=tools&action=query_achieve&func=query_achieve 备注:如没有权限,请联系MSDK助手对接)
3)URL格式:

http://msdktest.qq.com/profile/qqscore_batch?timestamp=&appid=&sig=&openid=&encode=2 

4)入参说明:

参数名称 类型 描述
appid string 游戏唯一标识
openid string 玩家唯一标识
accessToken string 登录态
param array data(string) 成就值;
expires(string) unix时间戳,单位s,表示哪个时间点数据过期,0时标识永不超时,不传递则默认为0 ;
type(int) 上传字段对应的类型,具体类型参照手Q游戏中心给出的文档,如1代表等级;
bcover(int) 与排行榜有关的数据bcover=0,其他bcover=1。游戏中心排行榜与游戏排行榜保持一致;1表示覆盖上报,本次上报会覆盖以前的数据,不传递或者传递其它值表示增量上报,只会记录比上一次更高的数据

5)返回说明:

参数名称 类型 描述
ret int 返回码 0:正确,其它:失败
msg string ret非0,则表示“错误码,错误提示”,详细注释参见错误码描述

6) 示例:

POST/profile/qqscore_batch?timestamp=1381288134&appid=100703379&sig=3f308f92212f75cd8d682215cb3fa8**&openid=F4382318AFBBD94F856E866043C3472E&encode=2 HTTP/1.0
Host:msdktest.qq.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 418
{
    "appid": "100703379",
    "accessToken": "E16A9965C446956D89303747C632C27B",
    "openid": "F4382318AFBBD94F856E866043C3472E",
    "param": [
        {
            "type": 3,
            "bcover": 1,
            "data": "999",
            "expires": "123459751"
        },
        {
            "type": 2,
            "bcover": 1,
            "data": "1999",
            "expires": "123459751"
        }
    ]
}

//返回结果
{"msg":"success","ret":0}

[手Q]游戏中心查询

1)接口名:/profile/game_center_query
2)接口说明:主要用于给手Q游戏中心接口透传数据。例如,通过接口查询礼包状态。手Q游戏中心接口说明可参考:https://iwiki.woa.com/pages/viewpage.action?pageId=444693252 手Q具体接口人请咨询 MSDK 助手。
3)URL格式:

http://msdktest.qq.com/profile/game_center_query?timestamp=&appid=&sig=&openid=&encode=2 

4)入参说明:

参数名称 类型 描述
accessToken string 登录态
interfaceid string 手Q游戏中心接口名(对应手Q游戏中心的 interfaceId)
interface_param object 手Q游戏中心接口所需的参数,json 对象(对应手Q游戏中心的 interfaceParam)

5)返回说明:

参数名称 类型 描述
ret int 返回码 0:正确,其它:失败
msg string ret非0,则表示“错误码,错误提示”,详细注释参见错误码描述
data object 手Q游戏中心接口的返回参数,json 对象(对应手Q游戏中心的 data)

6) 示例:

POST /profile/game_center_query?timestamp=1626847879&appid=100703379&sig=dc5a6330d546b1294fbd5fde&openid=17D93A8B4235DF07D395B8DF92&encode=2 HTTP/1.0
Host:msdktest.qq.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 176
{
    "accessToken": "DC6C3259D67CC08A7B33D50CC",
    "interfaceid": "/trpc.gamecenter.sgame_subscribe_activity.SgameSubscribeActivity/CheckIfSubscribeAccount",
    "interface_param":{"ext":"string"}
}

//返回结果
{
    "ret":0,
    "msg":"success",
    "data": {
        "has_subscribe": true,
        "ext":"string"     
    }
}

获取心悦超R玩家会员标识(该接口为GET请求)

1)接口名:/profile/get_xinyue_super
2)接口说明:获取心悦超R玩家会员等级信息。
3)URL格式:

http://msdktest.qq.com/profile/get_xinyue_super?timestamp=&appid=&sig=&openid=&encode=2 

4)入参说明:

参数名称 描述
appid 游戏唯一标识
access_token 登录态
access_type 访问类型,1:手Q登录,2:微信登录
trace_id 调用唯一串码,建议为"业务简称-openid-YYYYMMDDHHMMSS-xxxxxx(6位随机数)"

5)返回说明:

参数名称 描述
ret 返回码 0:正确,其它:失败
msg ret非0,则表示“错误码,错误提示”,详细注释参见错误码描述
ilevel 超R会员等级,10:超R,11:顶R,0:非超R会员,接口返回失败此字段默认0
openid 请求串透传
trace_id 请求串透传

6) 示例:

GET
http://msdktest.qq.com/profile/get_xinyue_super?timestamp=1516607574&appid=100703379&sig=f5aa90f284adaf00173fe9e09a94f554&openid=E1FBBD6FCDC5D68B47A376FBE041D181&access_type=1&access_token=25600878E96CB97745BFC04C26E37891&trace_id=msdkdemo-E1FBBD6FCDC5D68B47A376FBE041D181-20180116155309-123456&encode=2 

//返回结果
{
    "ret":0,"openid":"E1FBBD6FCDC5D68B47A376FBE041D181","ilevel":0,"trace_id":"msdkdemo-E1FBBD6FCDC5D68B47A376FBE041D181-20180116155309-123456","msg":"success"
}

获取心悦微信平台玩家会员标识(该接口为GET请求)

1)接口名:/profile/get_wx_xinyue_vip
2)接口说明:获取心悦微信平台玩家会员等级信息。
3)URL格式:

http://msdktest.qq.com/profile/get_wx_xinyue_vip?timestamp=&appid=&sig=&openid=&access_token=&serial=&seven_flag=&encode=2 

4)入参说明:

参数名称 描述
appid 游戏唯一标识
access_token 登录态
serial 流水号,建议为"业务简称_YYYYMMDD_HHMMSS_xxxxxx(6位随机数)"
seven_flag 值为1时,返回7段心悦vip会员信息(1:游戏家G1;2:游戏家G2;3:游戏家G3;4:游戏家G4;5:心悦vip1;6:心悦vip2;7:心悦vip3);
其它值返回3段vip会员信息(1-心悦vip1;2-心悦vip2;3-心悦vip3)
当请求参数xinyue_upgrade=1时,为心悦的新等级,如下:1:游戏家,2:游戏家Pro,3:V1,4:V2,5:V3,6:V4,7:V5
xinyue_upgrade int,值为1时,表示使用心悦新接口

5)返回说明:

参数名称 描述
ret 返回码 0:正确,其它:失败
msg ret非0,则表示“错误码,错误提示”,详细注释参见错误码描述
ilevel 心悦等级,非心悦用户返回0;等级对应查看入参seven_flag说明
serial 请求串透传

6) 示例:

GET
http://msdktest.qq.com/profile/get_wx_xinyue_vip?timestamp=1521454585&appid=wxd477edab60670232&sig=3fe590a9a0308fcc29785db6b51d6655&openid=oKdX1jiB72W-4E16xBa5jFFEl-4g&access_token=8_navsBc9yyjjABA_SWUTXgrRzrkDv562EG8-q15ZEz3ETKbZL52Z2rQexWaqitBD0eXespWD5PbI5hk2SNRBPtCg_2nX5_S_4j0wRBsF6jh0&serial=MSDK_20180327_181625_123456&seven_flag=1&encode=2 

//返回结果
{
    "ret":0,"ilevel":0,"serial":"MSDK_20180327_181625_123456","msg":"success."
}

[微信]获取特权

1)接口名:/profile/wxget_vip
2)接口说明:获取微信特权
3)URL格式:

http://msdktest.qq.com/profile/wxget_vip?timestamp=&appid=&sig=&openid=&encode=2 

4)入参说明:

参数名称 类型 描述
appid string 游戏唯一标识
openid string 玩家唯一标识
accessToken string 登录态
json array 请求json,内容为:{"optype":1} :表示获取自己和同玩好友, 暂时没有其他值

5)返回说明:

参数名称 类型 描述
ret int 返回码 0:正确,其它:失败
msg string ret非0,则表示“错误码,错误提示”,详细注释参见错误码描述
data array 特权信息 vipinfo

vipinfo说明

    //vipinfo数组中第一条记录默认为请求者,好友排在其后;若没有数据,则data为空
    "vipinfo": [    
        {
            "openid": "xxx",
            "level": 1,            //等级
            "score": 310,          //积分
            "nick": "VIP1",        //vip名称
            "logo_url": "xxxx",    //vip logo图片url
            "logo_faceurl": "xxx"  //用于嵌入头像的vip logo图片url
            //logo_url及logo_faceurl参数暂时不可用,无需关注
        },
                {
            "openid": "xxx",
            "level": 0,
            "score": 0,
            "nick": "VIP0",
            "logo_url": "xxxx",
            "logo_faceurl": "xxx"
        }
    ]

6) 示例:

POST /profile/wxget_vip?timestamp=1380018062&appid=wxcde873f99466f74a&sig=dc5a6330d54682c88846b1294fbd5fde&openid=A3284A812E%20CA15269F85AE1C2D94EB37&encode=2 HTTP/1.0
Host:msdktest.qq.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 298

{
    "appid": "wxcde873f99466f74a",
    "openid": "oGRTijrV0l67hDGN7dstOl8CphN0",
    "accessToken": "OezXcEiiBSKSxW0eoylIeLl3C6OgXeyrDnhDI73sCBJYyBcXKXYWTlxU_BAMfu7Rzsr51Nu-CarhcPT6zYlD9FrWRzuA0ccQMgrTGqpao2C-TqXCXdT-DZ44iKkidglb5Q9jQbXnMPrSTck_DUdGMg",
    "json": {
        "optype": 1
    }
}

//返回结果
{
    "msg": "success",
    "ret": 0,
    "data":{
        "vipinfo": [
            {
                "openid": "xxx",
                "level": 1,            
                "score": 310,        
                "nick": "VIP1",        
                "logo_url": "xxxx", 
                "logo_faceurl": "xxx" 
            },
            {
                "openid": "xxx",
                "level": 0,
                "score": 0,
                "nick": "VIP0",
                "logo_url": "xxxx",
                "logo_faceurl": "xxx"
            }
        ]
    }
}

[微信]获取玩家实名注册后首次登录标识

1)接口名:/profile/wxget_first_reg
2)接口说明:获取玩家实名注册后首次登录标识。
3)URL格式:

http://msdktest.qq.com/profile/wxget_first_reg?timestamp=&appid=&sig=&openid=&encode=2 

4)入参说明:

参数名称 类型 描述
accessToken string 登录态

5)返回说明:

参数名称 类型 描述
ret int 返回码 0:正确,其它:失败
msg string ret非0,则参见msg中返回的错误描述
need_pop string 是否需要弹窗标识,"1":需要; 其他:不需要 备注:只有明确成功收到"1"的时候才弹窗,其它值或异常情况一律不做弹窗
realname_flag string 实名制标识,"1": 已实名; 其他:未实名
mobile_flag string 是否手机号注册标识,"1":是手机号注册; 其他:非手机号注册

6) 示例:

POST /profile/wxget_first_reg?timestamp=1510046500&appid=wxcde873f99466f74a&sig=dc5a6330d54682c88846b1294fbd5f&openid=A3284A812E%20CA15269F85AE1C2D94EB37&encode=2 HTTP/1.0
Host:msdktest.qq.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 77
{
    "accessToken":"OezXcEiiBSKSxW0eoylIeLl3C6OgXeyrDnhDI73sCBJYyBcXKXYWTlxU_BAMfu7Rzsr51Nu-CarhcPT6zYlD9FrWRzuA0ccQMgrTGqpao2C-TqXCXdT-DZ44iKkidglb5Q9jQbXnMPrSTck_DUdGMg"
}
//返回结果
{
    "ret":0,
    "msg":"success",
    "need_pop":"0",
    "realname_flag":"1",
    "mobile_flag":"1"

}

[微信]成就上报

1)接口名:/profile/wxbattle_report
2)接口说明:上报游戏成就信息(分数、对战等)到微信游戏中心,上报时机为每局、每关、或每回合完成后的时间点,或由游戏自定义合理的上报时机。上报哪些数据由微信游戏平台侧(可联系MSDK助手对接)提出需求,双方沟通OK后再上报。 以《全民飞机大战》为例,金币、体力属于游戏个性数据,并选取分数做为微信好友排行依据(尽量同游戏保持一致)。
3)URL格式:

http://msdktest.qq.com/profile/wxbattle_report?timestamp=&appid=&sig=&openid=&encode=2 

4)入参说明:

参数名称 类型 描述
appid string 游戏唯一标识
openid string 玩家唯一标识
json json 战斗json数据

json 数据说明

上报数据json格式(单个用户数据):
{
    "baseinfo": {
        "gamename":"全民飞机大战", //字符串型,游戏名称,建议填上
        "platid": 0, //整型,平台类型 0:iOS 1:Andriod,必填
        "partitionid": "9", //字符串型,分区ID,游戏没有分区概念可省略该项,如果有则建议填上
        "roleid": "wongcai", //字符串型,角色ID,游戏没有角色概念可省略该项,如果有则建议填上
        "level": 2 //整型,用户等级,游戏用户没有等级概念可省略该项,如果有则建议填上
    },
    "battleinfo": {
        "score": 4288625, //整型,该数值影响微信游戏排行榜,非必填,但没有该数据就没有排行榜(以《全民飞机大战》为例,该项填游戏中获得的分数)
        "iswin": true //布尔型,当前局是否胜利,适合棋牌类,没有胜局概念可省略该项,如果有则建议填上
    },
    "userdefined": { //游戏自定义数据,由平台侧提需求上报,游戏侧暂无需自主上报,比如平台要求《全民飞机大战》上报金币、体力、战机等自定义数据,其中value类型一般为整型或字符串型:
        "goldcoin": { //自定义数据ID1
            "name": "金币", //字符串型,数据名称
            "value": 358267, //整型,数据数值
        },
        "power": { //自定义数据ID2
            "name": "体力", //字符串型,数据名称
            "value": 86542, //整型,数据数值
        },
        "plane": { //自定义数据ID3
            "name": "战机", //字符串型,数据名称
            "value": "炽天使", //字符串型,数据内容
        },
        //自定义数据可不断扩展
     }
}
//同时支持多个用户批量数据,可将以上多个单例组合成json数组格式:[{用户数据1},{用户数据2},...]

5)返回说明:

参数名称 类型 描述
ret int 返回码 0:正确,其它:失败
msg string ret非0,则表示“错误码,错误提示”,详细注释参见错误码描述

6) 示例:

POST /profile/wxbattle_report?timestamp=1380018062&appid=wxcde873f99466f74a&sig=dc5a6330d54682c88846b1294fbd5fde&openid=A3284A812E%20CA15269F85AE1C2D94EB37&encode=2 HTTP/1.0
Host:msdktest.qq.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 372
{
    "appid": "wxcde873f99466f74a",
    "openid": "oGRTijrV0l67hDGN7dstOl8CphN0",
    "json":{
        "baseinfo": { 
            "gamename": "xxx",
            "platid": 0,
            "partitionid": "9",
            "roleid": "hunter",
            "level": 2 
        },
        "battleinfo": {
            "score": 4288625,
            "iswin": true
        }
    }
}

//返回结果
{
    "msg": "success",
    "ret": 0
}

[微信]消息订阅

1)接口名:/profile/subscribe_getlist
2)接口说明:订阅消息列表
3)URL格式:

http://msdktest.qq.com/profile/subscribe_getlist?timestamp=&appid=&sig=&openid=&encode=2 

4)入参说明:

参数名称 类型 描述
appid string 游戏唯一标识
openid string 玩家唯一标识,用于MSDK后台标识信息来源(如果没有则为空)
accessToken string 登录态

5)返回说明:

参数名称 类型 描述
ret int 返回码 0:正确,其它:失败
msg string ret非0,则表示“错误码,错误提示”,详细注释参见错误码描述
subscribeList array 订阅的列表信息
more bool 是否还有更多的列表,true:有,false:无

subscribeList 说明:

"subscribeList": [
    {
        "id": 19,            //消息id
        "title": "2111",        //消息标题
        "status": false        //是否已订阅 true:已订阅 false:没有订阅
    },
    {
        "id": 43,
        "title": "test_msg",
        "status": false
    }
]

6) 示例:

POST /profile/subscribe_getlist?timestamp=1380018062&appid=wxcde873f99466f74a&sig=dc5a6330d54682c88846b1294fbd5fde&openid=A3284A812E%20CA15269F85AE1C2D94EB37&encode=2 HTTP/1.0
Host:msdktest.qq.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 257
{
    "appid": "wxcde873f99466f74a",
    "openid": "oGRTijrV0l67hDGN7dstOl8CphN0",
    "accessToken": "OezXcEiiBSKSxW0eoylIeLl3C6OgXeyrDnhDI73sCBJYyBcXKXYWTlxU_BAMfu7Rzsr51Nu-CarhcPT6zYlD9FrWRzuA0ccQMgrTGqpao2C-TqXCXdT-DZ44iKkidglb5Q9jQbXnMPrSTck_DUdGMg"
}

//返回结果
{
"ret":0,
"msg":"success",
"subscribeList": [
    {
        "id": 19,            //消息id
        "title": "2111",        //消息标题
        "status": false        //是否已订阅 true:已订阅 false:没有订阅
    },
    {
        "id": 43,
        "title": "test_msg",
        "status": false
    }
],
"more": false
}

[微信]批量订阅

1)接口名:/profile/subscribe_setlist
2)接口说明:批量订阅设置
3)URL格式:

http://msdktest.qq.com/profile/subscribe_setlist?timestamp=&appid=&sig=&openid=&encode=2 

4)入参说明:

参数名称 类型 描述
appid string 游戏唯一标识
openid string 玩家唯一标识,用于MSDK后台标识信息来源(如果没有则为空)
accessToken string 登录态
msgId array 请求的消息ID列表,如[1,2,3]
opType int 操作类型 0-订阅, 1-取消

5)返回说明:

参数名称 类型 描述
ret int 返回码 0:正确,其它:失败
msg string ret非0,则表示“错误码,错误提示”,详细注释参见错误码描述

6) 示例:

POST http://msdktest.qq.com/profile/subscribe_setlist?timestamp=1380018062&appid=wxcde873f99466f74a&sig=dc5a6330d54682c88846b1294fbd5fde&openid=A3284A812E%20CA15269F85AE1C2D94EB37&encode=2 HTTP/1.0
Host:msdktest.qq.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 293
{
    "appid": "wxcde873f99466f74a",
    "openid": "oGRTijrV0l67hDGN7dstOl8CphN0",
    "accessToken": "OezXcEiiBSKSxW0eoylIeLl3C6OgXeyrDnhDI73sCBJYyBcXKXYWTlxU_BAMfu7Rzsr51Nu-CarhcPT6zYlD9FrWRzuA0ccQMgrTGqpao2C-TqXCXdT-DZ44iKkidglb5Q9jQbXnMPrSTck_DUdGMg",
    "msgId": [77],
    "opType": 1
}

//返回结果
{
"ret":0,
"msg":"success"
}

[微信]订阅推送

1)接口名:/profile/subscribe_push
2)接口说明:订阅消息推送,推送给所有订阅的用户
3)URL格式:

http://msdktest.qq.com/profile/subscribe_push?timestamp=&appid=&sig=&openid=&encode=2 

4)入参说明:

参数名称 类型 描述
appid string 游戏唯一标识
openid string 玩家唯一标识,用于MSDK后台标识信息来源(如果没有则为空)
msgId int 请求的消息ID列表,如77

5)返回说明:

参数名称 类型 描述
ret int 返回码 0:正确,其它:失败
msg string ret非0,则表示“错误码,错误提示”,详细注释参见错误码描述

6) 示例:

POST /profile/subscribe_push?timestamp=1380018062&appid=wxcde873f99466f74a&sig=dc5a6330d54682c88846b1294fbd5fde&openid=A3284A812E%20CA15269F85AE1C2D94EB37&encode=2  HTTP/1.0
Host:msdktest.qq.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 101

{
    "appid": "wxcde873f99466f74a",
    "openid": "oGRTijrV0l67hDGN7dstOl8CphN0",
    "msgId": 77
}

//返回结果
{
"ret":0,
"msg":"success"
}

[微信]订阅清理

1)接口名:/profile/subscribe_clear
2)接口说明:清理消息订阅用户
3)URL格式:

http://msdktest.qq.com/profile/subscribe_push?timestamp=&appid=&sig=&openid=&encode=2 

4)入参说明:

参数名称 类型 描述
appid string 游戏唯一标识
openid string 玩家唯一标识,用于MSDK后台标识信息来源(如果没有则为空)
msgId int 请求的消息ID列表,如77

5)返回说明:

参数名称 类型 描述
ret int 返回码 0:正确,其它:失败
msg string ret非0,则表示“错误码,错误提示”,详细注释参见错误码描述

6) 示例:

POST /profile/subscribe_clear?timestamp=1380018062&appid=wxcde873f99466f74a&sig=dc5a6330d54682c88846b1294fbd5fde&openid=A3284A812E%20CA15269F85AE1C2D94EB37&encode=2 HTTP/1.0
Host:msdktest.qq.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 101

{
    "appid": "wxcde873f99466f74a",
    "openid": "oGRTijrV0l67hDGN7dstOl8CphN0",
    "msgId": 77
}

//返回结果
{
    "ret":0,
    "msg":"success"
}

[微信]精英查询

1)接口名:/profile/wxget_eliteinfo
2)接口说明:查询微信精英用户接口
3)URL格式:

http://msdktest.qq.com/profile/wxget_eliteinfo?timestamp=&appid=&sig=&openid=&encode=2 

4)入参说明:

参数名称 类型 描述
appid string 游戏唯一标识
openid string 玩家唯一标识
accessToken string 登录态

5)返回说明:

参数名称 类型 描述
ret int 返回码 0:正确,其它:失败
msg string ret非0,则表示“错误码,错误提示”,详细注释参见错误码描述
data array 包括:
wx_elite(int): 0表示用户非微信精英,1表示用户是微信精英;
game_elite(int ):0表示用户非游戏精英,1表示用户是游戏精英

6) 示例:

POST /profile/wxget_eliteinfo?timestamp=1380018062&appid=wxcde873f99466f74a&sig=dc5a6330d54682c88846b1294fbd5fde&encode=2 HTTP/1.0
Host:msdktest.qq.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 176
{
    "accessToken": "OezXcEiiBSKSxW0eoylIeLl3C6OgXeyrDnhDI73sCBJYyBcXKXYWTlxU_BAMfu7Rzsr51Nu-CarhcPT6zYlD9FrWRzuA0ccQMgrTGqpao2C-TqXCXdT-DZ44iKkidglb5Q9jQbXnMPrSTck_DUdGMg"
}

//返回结果
{
    "ret":0,
    "msg":"success",
    "data": {
        "wx_elite": 0,        //0表示用户非微信精英,1表示用户是微信精英
        "game_elite": 0        //0表示用户非游戏精英,1表示用户是游戏精英    
    }
}

分享

提供手机QQ和手机Qzone的定向分享能力。

[手Q]后台分享

1)接口名:/share/qq
2)接口说明:点对点定向分享(分享消息给手机QQ好友,在好友的会话中显示或者公众账号“QQ手游”中显示)。
该接口平台侧已不再接受游戏接入,如有特殊需求请联系手Q游戏中心对接(已接入游戏可继续使用)。ark 分享可调用 /share/qqark 接口。

接入须知:
1、分享的内容只有手机QQ上才可以看到,PC QQ上看不到。
2、收发限制:
(1)结构化消息:
同一对号码发送接收,互动次数是一天一次
接收方,每天最多接收 5 条,每周最多接收 20 条
发送方,每天发给不同用户,最多发送 10 条,每周最多发送 40 条
(2)ark消息:
接收方,每天最多接收 5 条,接收自同一用户最多 3 条
发送方,每天最多 30 条,每周最多 100 条
3、通过"QQ手游"公众号接收的消息,平台侧会延时下发,于每日固定三个时间段(当前是每天12点,20点,22点)通过公众号下发,单用户每天最多收到3条公众号消息。
4、手Q后端分享提供了新的接入流程,新游接入时按照以下流程接入(已上线游戏没有影响),以下流程均需要业务对应腾讯接口人联系手Q游戏中心对接
(1)提供图片文案及申请gametag
(2)新增appid录入到AMS流程
(3)配置测试用游戏中心详情页(后续可更换为正式详情页)
(4)接口接入完成后验证分享是否成功

3)URL格式:

http://msdktest.qq.com/share/qq?timestamp=&appid=&sig=&openid=&encode=2 

4)入参说明:

参数名称 类型 描述
openid string 玩家唯一标识
userip string 用户客户端ip
act int 跳转行为(1:APP跳转,统一填写1,拉起游戏)
oauth_consumer_key int appid(应用在QQ平台的唯一id)
dst int msf-手q(包括iphone, android qq等),目前只能填1001
flag int 漫游 (0:是;1:否. 目前只能填1)
image_url string 分享图片url (图片尺寸规格为128*128;需要保证网址可访问;且图片大小不能超过2M)
access_token string 登录态
src int 消息来源 (默认值:0)
summary string 摘要,长度不超过45字节
target_url string 游戏中心详情页的URL,具体配置请参考这里 :
https://msdk.oa.com/Unity/share.html#Unity_QGameCenter,长度不超过256字节

注意:URL中的ADTAG跟game_tag都为平台需要的区分消息类型必填项,必须包含以下之一:(后台接口内暂时只有4种,大小写不能变)
送心:ADTAG=gameobj.msg_heart;对应的game_tag=MSG_HEART_SEND
好友召回:ADTAG=gameobj.msg_invite;对应的game_tag=MSG_INVITE
超越:ADTAG=gameobj.msg_exceed;对应的game_tag=MSG_FRIEND_EXCEED
挑战:ADTAG=gameobj.msg_pvp;对应的game_tag=MSG_SHARE_FRIEND_PVP
title string 分享标题,长度不能超过45字节
fopenids vector或json Json数组,数据格式为 [{"openid":"","type":0}],openid为好友openid,type固定传0 .只支持分享给一个好友
previewText string 不需要填写
game_tag string 必填。game_tag用于平台对分享类型的统计,比如送心分享、超越分享,该值由游戏制定并同步给手Q平台,目前的值有多种,仅列出部分参考,可同手Q平台沟通后填写:
1.通过公众号收到推送消息:
"MSG_INVITE":邀请
"MSG_FRIEND_EXCEED":超越炫耀
"MSG_HEART_SEND":送心
"MSG_SHARE_FRIEND_PVP":PVP对战
2.通过C2C推送收到结构化消息:
"MSG_RECALL":召回
"MSG_INVITE_NEW":邀请
3.ark消息:
"MSG_RECALL_ARK":召回
"MSG_INVITE_ARK":邀请
"MSG_INVITE_FRIEND_ARK":拉新

5)返回说明:

参数名称 类型 描述
ret int 返回码 0:正确,其它:失败
msg string ret非0,则表示“错误码,错误提示”,详细注释参见错误码描述

6) 示例:

POST 
/share/qq?timestamp=1380018062&appid=100703379&sig=dc5a6330d54682c88846b1294fbd5fde&encode=2 HTTP/1.0
Host:msdktest.qq.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 198

{
    "userip":"192.168.5.114",
    "act": 1,
    "oauth_consumer_key": 100703379,
    "dst": 1001,
    "flag": 1,
    "image_url": "http://mat1.gtimg.com/www/images/qq2012/erweimaVideoPic.png",
    "openid": "A3284A812ECA15269F85AE1C2D94EB37",
    "access_token": "933FE8C9AB9C585D7EABD04373B7155F",
    "src": 0,
    "summary": "摘要",
    "target_url": "gamecenterhttps://speed.gamecenter.qq.com/pushgame/v1/detail?appid=100703379&_wv=2164260896&_wwv=448&autodownload=1&autolaunch=1&autosubscribe=1&ADTAG=gameobj.msg_invite&gamedata=gamedata",
    "title": "test by hunter",
    "fopenids": [{"openid":"69FF99F3B17436F2F6621FA158B30549","type":0}],//json数组
    "game_tag":"MSG_FRIEND_EXCEED"
}

//返回结果
{"ret":0,"msg":"success"}

[手Q] ark后台分享

1)接口名:/share/qqark
2)接口说明:手Q ark分享接口。

接入须知:
1、该接口提供了ark消息C2C分享能力(分享消息给手机QQ好友,在好友会话框中显示),在绿洲平台申请sceneid,发送ark类型消息。以下流程均需要联系腾讯对接人:
(1)接入方联系QQ平台运营录入信息,QQ平台运营将信息提交给平台流程组录入;
(2)接口接入完成后验证分享是否成功。
2、分享的内容只有手机QQ上才可看到,PC QQ上看不到。
3、收发限制:
接收方,每天最多接收 5 条,接收自同一个人最多 3 条。
发送方,每天最多 30 条,每周最多 100 条。

3)URL格式:

http://msdktest.qq.com/share/qqark?timestamp=&appid=&openid=&sig=&encode=2 

4)入参说明:

参数名称 类型 描述
appid string 游戏appid
openid string 发送分享的用户id
accessToken string 用户登录态
fopenid string 接收分享的好友用户id
extra string 手Q侧的ark分享模板协议;在手Q绿洲平台赋值协议,去掉协议中的注释并进行urlencode加密

5)返回说明:

参数名称 类型 描述
ret int 返回码 0:正确,其它:失败
msg string ret非0,则表示“错误码,错误提示”,详细注释参见错误码描述

6) 示例:

POST 
http://msdktest.qq.com/share/qqark?timestamp=1637581226&appid=100703379&sig=dc5a6330d54682cws451294fbd5fde&encode=2&openid=E2FB89ECD8845569447823EB2AD2F805

{
    "appid":"100703379",
    "openid":"E2FB89ECD88455647823EB2AD2F805",
    "accessToken":"08C59126F6D67E356A119BDA43768A",
    "fopenid":"EFT43BCD8845569447823EBD2F805",
    "extra":"%7B%22app%22%3A%22com.tencent.gamecenter.qqsy%22%2C%22view%22%3A%22picView2%22%2C%22desc%22%3A%22%E6%B8%B8%E6%88%8F%E5%88%86%E4%BA%AB%22%2C%22ver%22%3A%221.0.0.1%22%2C%22config%22%3A%7B%22forward%22%3A0%2C%22type%22%3A%22normal%22%7D%2C%22meta%22%3A%7B%22shareData%22%3A%7B%22appid%22%3A%22100703379%22%2C%22openId%22%3A%22%22%2C%22scene%22%3A%22918%22%2C%22url%22%3A%22%22%2C%22extData%22%3A%7B%7D%7D%7D%7D"
}

//返回结果
{"ret":0,"msg":"success"}

免流量

查询免流量

1)接口名:/freeflow/getinfo
2)接口说明:根据openid查询该用户的免流量信息,MSDK后台根据用户订购关系返回相应的免流信息。

3)URL格式:

http://msdktest.qq.com/freeflow/getinfo?timestamp=&appid=&sig=&openid=&encode=2 

4)入参说明:

参数名称 类型 描述
appid string 游戏appid
access_token string 登录态(2018年9月后游戏必须提交登录态)
openid string 用户的openid

5)返回说明:

参数名称 描述
ret 返回码 0:正确,其它:失败
msg ret非0,则表示“错误码,错误提示”,详细注释参见错误码描述
freeFlowInfo 免流量信息
ipList string,游戏当前的所有免流域名或者ip信息
isFree int,是否为免流,如果为0表示非免流用户,为1表示为免流用户
ccType int,当前用户订购关系的运营商类型,0表示联通,1表示电信,2表示移动
ltList string,游戏当前配置的联通免流域名或者ip信息
dxList string,游戏当前配置的电信免流域名或者ip信息
ydList string,游戏当前配置的移动免流域名或者ip信息
expire int,当前返回信息的过期时间,表示调用方需要过expire时间需要再次查询该用户的免流信息

6) 示例:

POST /freeflow/getinfo/?timestamp=1104680867&appid=110***&sig=***&openid=23F7F96A4920872EA3CA2DB6CB8EFE04&encode=1 HTTP/1.0
Host:$domain
Content-Type: application/x-www-form-urlencoded
Content-Length: 135
{
    "appid": "100703379",
    "access_token": "23F7F96A4920872EA3CA2DB6CB8EFE04",
    "openid": "69FF99F3B17436F2F6621FA158B30549"
}
//返回结果
{
    "ret": 0,
    "msg": "success",
    "freeFlowInfo": {
    "ipList": "***",
    "isFree": 1,
    "ccType": 1,
    "ltList": "***",
    "dxList": "***",
    "ydList": "***",
    "expire": 1535359920
    }
}

查询ip的信息

1)接口名:/freeflow/get_ccinfo
2)接口说明:根据输入ip或者客户端ip查询该ip的详细,包括运营商,地区等,该接口仅限免流量功能使用。该接口下游平台已不做维护,接口已废弃。

3)URL格式:

http://msdktest.qq.com/freeflow/get_ccinfo?timestamp=&appid=&sig=&openid=&encode=2 

4)入参说明:

参数名称 类型 描述
openid string 用户的openid
ip string 非必填,如果该字段为空则取当前发起网络请求的ip(该模式下信息不一定准确,一般推荐用法将ip字段填空)

5)返回说明:

参数名称 描述
ret 返回码 0:正确,其它:失败
msg ret非0,则表示“错误码,错误提示”,详细注释参见错误码描述
data 当前ip信息
apn string,如果是网关,这里就是有值的,除此之外则认为是wifi,默认值为unknown
city string,城市 (国内)
country string,国家
district string,地区(国内)
extend string,学校或单位或者网关名称(国内)
nettype string,网络类型,默认为unknown
oper string,运营商字段
province string,省会或直辖市(国内)

6) 示例:

POST /freeflow/get_ccinfo/?timestamp=1104680867&appid=110***&sig=***&openid=23F7F96A4920872EA3CA2DB6CB8EFE04&encode=1&ip=59.37.125.72 HTTP/1.0
Host:$domain
Content-Type: application/x-www-form-urlencoded
{
    "openid": "69FF99F3B17436F2F6621FA158B30549"
}

//返回结果
{
    "ret": 0,
    "msg": "success",
    "data": {
    "apn": "unknown",
    "city": "深圳市",
    "country": "中国",
    "district": "南山区",
    "extend": "unknown",
    "nettype": "unknown",
    "oper": "中国电信",
    "province": "广东省"
    }
}