11/08/2024 16:35:55
服务端API
一、接入流程
请在企业微信上联系 MSDK助手
二、后台接入方式
http(rest api)模式,直接 game server 上调用 http 接口进行鉴权及好友关系链拉取的方式
三、总体说明
- HTTP/HTTPS接口协议,POST请求;
- 请求URL携带固定参数,包括:os、gameid、channelid、version、sig、ts等;
- POST body是json串;
- 接口中所有的参数都是utf8编码;
- 后台接口超时时间为3100ms;
3.1 环境
MSDK_URL:
环境(域名) | HTTP内网 | HTTPS外网 |
---|---|---|
测试环境 | http://hktest.itop.tencent-cloud.net | https://hktest.itop.qq.com |
国内正式环境 | http://itop.tencent-cloud.net | https://itop.qq.com / https://ipv6-sh.itop.qq.com |
新加坡正式环境 | 无 | https://sg.itopsdk.com |
硅谷正式环境 | 无 | https://us.itopsdk.com |
注意:后台环境与 客户端环境(MSDK_URL) 需要保持一致。
建议后台使用内网域名
MSDK_POP_URL:
环境(域名) | HTTPS外网 |
---|---|
业务联调环境 | https://pop-hktest.itop.qq.com |
国内正式环境 | https://pop-release.itop.qq.com |
新加坡正式环境 | https://pop-sg.itopsdk.com |
MSDK_PIX_FAAS_HOST:
环境(域名) | HTTPS外网 |
---|---|
国内环境 | https://publicfaas.game.qq.com |
海外环境 | https://sg.msdkfaas.com |
3.2 请求URL
- URL格式:http://xxxxx/v2/modulename/interfacename?channelid=1&gameid=11&os=1&source=0&ts=1528097722&version=0.1&sig=xx
- modulename:功能分类;
- interfacename:接口名;
- 固定参数说明;
参数 | 类型 | 描述 |
---|---|---|
os | string | 【必填】 操作系统标示 1 - Android, 2 - iOS, 3 - Web,4 - Linux, 5 - windows .... |
gameid | string | 【必填】 MSDK分配的游戏id |
channelid | int | 【必填】 登录渠道id 1 - 微信(WeChat),2 - 手Q(mqq),3 - 游客(Guest),4 - Facebook,5 - GameCenter,6 - GooglePlay,7 - IEGPass,9 - Twitter,10 - garena,11 - SelfAccount,12 - EGame,14 - Line,15 - Signin with Apple,19 - VK,21 - steam |
ts | uint32 | 【必填】Unix time |
version | string | 表示携带的SDK版本,默认为空( 客户端调用都需要带上!) |
sig | string | 【必填】 签名字段签名算法为md5(path + "?" + params + body + sigkey), 1、path: 接口路径,比如鉴权接口名 /v2/auth/verify_login 2、params:需要两步;a. 除sig之外的接口请求参数(即除sig之外的与当前接口调用中url中的其他参数保持一致),b. 参数按照字典排序 3、body:post的body部分,body部分不需要字典排序,顺序按照接口参数顺序依次传递即可 4、sigkey:sigkey 与 source 字段强相关,MSDK 后台校验 sig 时,取 source 对应的 sigkey 进行 sig 计算, 当source不填或者为0时,对应sigkey使用飞鹰系统参数中的MSDK_SDK_KEY; 当source为1时,对应sigkey使用飞鹰系统参数中的MSDK_SERVER_KEY; 当 source为2时,对应的sigkey使用飞鹰系统参数中的MSDK_MIDAS_KEY; 5、md5 计算 举例:/v2/auth/verify_login?channelid=1&conn=&gameid=11&os=2&seq=&source=0&ts=1556072078&version={"openid":"11219380013689673060","token":"B8D116F42A6A8116398C40AED587195C"}sigkey 可在飞鹰系统>MSDK接入>MSDK工具>V5工具,进行服务端接口调用模拟,然后查看url中系统计算出来的sig值和业务自己计算的sig进行比对验证。 如果后台请求返回 ["ret":1008,"msg":"invalid sig!"],可以使用V5签名工具(飞鹰系统>MSDK接入>MSDK工具>V5签名)进行检查,系统会根据业务自己拼接的 URL 和 PostBody,帮助业务计算出正确的 sig,方便业务排查 sig 计算错误的原因。 消息解密接口(/v2/auth/decrypt) 的签名方法与其他不同,方法为:md5(timestamp+加密数据+sigkey)。 |
seq | string | 表示透传的参数,会在返回的json中带上该透传参数,用于调用方异步,只能由英文字母,数字,下划线组成,默认为空 |
source | int | 【必填】 访问来源。取值范围: 0或不填 - 客户端,签名密钥使用 MSDK_SDK_KEY 的值, 1 - 后台,签名密钥使用 MSDK_SERVER_KEY 的值 2 - Midas, 签名密钥使用 MSDK_MIDAS_KEY 的值 |
cgsource | string | 【云游戏鉴权必填,其他请求不要携带该字段】 示例:cgsource=xxxx |
3.3 回包及错误描述
通过http协议发送数据以后,获取状态码,如果为200,则表示请求正常,即可以获取http返回的内容,将json字符串解析成数组。如果不为200,表示请求失败,直接打印结果查看问题。 回包格式如下:
{
"ret":0,
"msg":"user is logged in",
.................
}
- ret = 0,表示请求成功,可以解析相关返回字段信息;
- ret != 0,表示请求逻辑失败,msg里面有具体错误信息,没有其它字段返回。
Copyright © 2024 MSDK.
All rights reserved.
All rights reserved.