总体说明
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 | 微信同玩好友个人信息列表,类型 |
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的定向分享能力。
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"}
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": "广东省"
}
}