一、简介
如果游戏涉及跨端时,此份文档需配合《服务端接口文档》一起使用
此文档描述了使用SDK的CP(内容提供商)用到的与WINGSDK后台交付的所有接口的详细定义。接口分两种:
1、WINGSDK后台实现,CP后台调用。
2、CP后台实现,WINGSDK后台调用。
名词说明:
| 名词 | 说明 | 
|---|---|
| CP | 内容提供商(Content Provider)游戏、应用等 | 
| 第三方平台登录 | 通过第三方社交平台的OAuth authentication登录第三方帐号,并绑定WINGSDK帐号 | 
二、登录
1、第三方帐号登录
接口说明:
| 类别 | 参数 | 
|---|---|
| 接口提供方 | WINGSDK平台 | 
| 接口调用方 | CP | 
| 接口实现方式 | HTTP/POST | 
| 接口描述 | 第三方帐号登录。请在服务端调用,WINGSDK平台可能会加上IP限制 | 
| 生产环境 | https://api.wingsdk.com/cpapi/v2/init.do | 
| 测试环境 | 暂无 | 
| 支持Http Method | POST | 
| 返回信息格式 | JSON | 
输入参数说明:
| 参数名 | 类型 | 是否必须 | 参数说明 | 
|---|---|---|---|
| appId | String | Y | Sdk平台分配的应用id | 
| platform | String | Y | 登录平台:FACEBOOK,APPSELF(应用内登录),VK(俄罗斯社交平台) | 
| accessToken | String(200) | N | 第三方平台accessToken,应用内登录,此字段即为CP验证用户信息字段 | 
| ghwToken | String | N | |
| userId | Long | N | GHW 用户Id,ghwToken不为空;ghwToken必须跟userId匹配才能登录成功。 | 
| puserId | String | N | 第三方平台openId,(VK登录此参数必须) | 
| extInfo | String | N | 额外信息,不参与签名,用于回传给CP | 
| userIp | String | N | 客户端用户IP | 
| osign | String | Y | 验证用的加密串 Md5( appId+ secureKey + platform+ accessToken+ ghwToken+ userId)  | 
注意:
1、如果请求有token参数,则必须带上userId参数,并且未过期,平台会判断token与userId是否匹配,不匹配视为非法请求。
2、每次登录成功,平台会记录登录日志。
返回结果说明: JSON 格式
失败返回错误码,请参照三、返回状态码说明;
| 参数名 | 类型 | 是否必须 | 参数说明 | 
|---|---|---|---|
| code | String | Y | 状态码,请参照三、返回状态码说明 | 
| msg | String | Y | 结果描述 | 
| userId | Long | N | 用户Id,(注册)登录成功的时候返回 | 
| token | String | N | 在线token,(注册)登录成功的时候返回,如果传入的token未过期,而且userId没变(非新设备,非新用户)直接返回原来的token,否则返回更新后的token | 
| puserId | String | N | 用户在第三方平台的Id,访客登录返回NULL;如果是应用内登录,即返回CP 用户ID | 
| platform | String | N | 平台标识 FACEBOOK, APPLE, GOOGLE,GUEST,APPSELF | 
| isFirstLogin | int | N | 是否是首次登录,0 否 1 是 | 
2、获取用户的第三方绑定帐号列表
接口说明:
| 类别 | 参数 | 
|---|---|
| 接口提供方 | WINGSDK平台 | 
| 接口调用方 | CP | 
| 接口实现方式 | HTTP/POST | 
| 接口描述 | 第三方帐号登录。请在服务端调用,WINGSDK平台可能会加上IP限制 | 
| 生产环境 | https://api.wingsdk.com/cpapi/v2/bind_list.do | 
| 测试环境 | 暂无 | 
| 支持Http Method | POST | 
| 返回信息格式 | JSON | 
输入参数说明:
| 参数名 | 类型 | 是否必须 | 参数说明 | 
|---|---|---|---|
| appId | String | Y | Sdk平台分配的应用id | 
| userId | Long | Y | 需要绑定平台帐号的用户Id(SDK) | 
| ghwToken | String(100) | Y | GHW 在线token,不能为空,token过期(code=4014)不能解绑 | 
| userIp | String | N | 客户端用户IP | 
| osign | String | Y | 验证用的加密串 Md5( appId+ secureKey + ghwToken + userId ) 参数为空用空字符串””代替参与签名  | 
返回结果说明: JSON 格式
失败返回错误码,请参照三、返回状态码说明;
| 
					 1 2 3 4 5 6 7 8 9  | 
						{  code:200,//查询结果,非200表示查询异常  size:3,//绑定帐号数量 data:[{      puserId:G:123453q45,//第三方平台openId,当平台为GUEST时,puserId即为deviceId      platform: GOOGLE,//绑定平台标识 FACEBOOK、   APPLE、GOOGLE、GUEST     },{},...] }  | 
					
3、解绑第三方平台账户接口
接口说明:
| 类别 | 参数 | 
|---|---|
| 接口提供方 | WINGSDK平台 | 
| 接口调用方 | CP | 
| 接口实现方式 | HTTP/POST | 
| 接口描述 | 第三方帐号登录。请在服务端调用,WINGSDK平台可能会加上IP限制 | 
| 生产环境 | https://api.wingsdk.com/cpapi/v2/disbind.do | 
| 测试环境 | 暂无 | 
| 支持Http Method | POST | 
| 返回信息格式 | JSON | 
输入参数说明:
| 参数名 | 类型 | 是否必须 | 参数说明 | 
|---|---|---|---|
| appId | String | Y | Sdk平台分配的应用id | 
| userId | long | Y | 需要解绑平台帐号的用户Id(SDK) | 
| platform | String | Y | 需要解绑帐号的平台标识,FACEBOOK、 APPLE、GOOGLE、GUEST(访客) | 
| puserId | String | Y | 需要绑定平台帐号Id | 
| ghwToken | String | Y | GHW 在线token,不能为空,token过期(code=4014)不能解绑 | 
| userIp | String | N | 客户端用户IP | 
| osign | String | Y | 验证用的加密串 Md5( appId+ secureKey + ghwToken+ platform+ pUserId+ userId ) 参数为空用空字符串””代替参与签名  | 
返回结果说明: JSON 格式
失败返回错误码,请参照三、返回状态码说明;
| 参数名 | 类型 | 是否必须 | 参数说明 | 
|---|---|---|---|
| code | String | Y | 状态码,请参照三、返回状态码说明 | 
| msg | String | Y | 结果描述 | 
4、绑定平台账户接口
接口说明:
| 类别 | 参数 | 
|---|---|
| 接口提供方 | WINGSDK平台 | 
| 接口调用方 | CP | 
| 接口实现方式 | HTTP/POST | 
| 接口描述 | 第三方帐号登录。请在服务端调用,WINGSDK平台可能会加上IP限制 | 
| 生产环境 | https://api.wingsdk.com/cpapi/v2/binding.do | 
| 测试环境 | 暂无 | 
| 支持Http Method | POST | 
| 返回信息格式 | JSON | 
输入参数说明:
| 参数名 | 类型 | 是否必须 | 参数说明 | 
|---|---|---|---|
| appId | String | Y | Sdk平台分配的应用id | 
| userId | long | Y | 需要绑定平台帐号的用户Id(SDK) | 
| preUserId | String | Y | 已绑定的其它第三方平台的用户ID,用于验证,如果以前是访客登录,此参数与userId一致 | 
| prePlatform | String | Y | 已绑定的其它第三方平台标识,FACEBOOK,APPLE,GOOGLE,GUEST(访客) | 
| userIp | String | N | 客户端用户IP | 
| puserId | String | N | 要绑定的第三方平台openId, 绑定VK帐号必须有此字段 | 
| platform | String | Y | 需要绑定帐号的平台标识,FACEBOOK、 APPLE、GOOGLE、GUEST(访客), VK | 
| accessToken | String(100) | N | 第三方验证token,Game Center登录将验证信息转成JSON传入此参数 | 
| extInfo | String | N | 额外信息,不参与签名,用于回传给CP | 
| osign | String | Y | 验证用的加密串 Md5( appId+ secureKey + accessToken+ platform+ prePlatform+ preUserId+ userId ) 参数为空用空字符串””代替参与签名  | 
返回结果说明: JSON 格式
失败返回错误码,请参照三、返回状态码说明;
| 参数名 | 类型 | 是否必须 | 参数说明 | 
|---|---|---|---|
| code | String | Y | 状态码,请参照三、返回状态码说明 | 
| mssg | String | Y | 结果描述 | 
| puserId | String | N | 绑定的第三方平台帐号 | 
三、返回状态码说明
通用返回状态码说明(参考了Http状态码设计):
| 状态码code | 说明 | 
|---|---|
| 200 | 成功 | 
| 400 | 错误请求:请求参数有错,头信息有误等,导致请求无法被正确理解 | 
| 401 | 请求未认证:访问受限资源是缺少认证信息,或者认证未通过 | 
| 403 | 禁止访问:由于应用上下文原因或请求端上下文的原因被禁止访问资源,例如IP限制等; | 
| 404 | 找不到被访问资源:接口不存在、页面不存在或对应的业务实体找不到 | 
| 500 | 服务器内部故障 | 
| 501 | 所请求接口或页面未实现 | 
平台自定义状态码说明:
| 状态码code | 说明 | 
|---|---|
| 4010 | 无效appId: appId不存在或未开启 | 
| 4011 | 无效osign:osign校验失败 | 
| 4012 | 请求已过期:ots校验失败 | 
| 4013 | 第三方平台验证失败 | 
| 4014 | 客户端token过期 | 
| 4015 | 用户已经绑定此平台帐号 | 
| 4016 | prePlatform验证失败 | 
| 4017 | 未找到用户 | 
| 4018 | 此平台的已经有其它帐号绑定了该用户 | 
| 4019 | 无效orderId | 
| 4020 | 订单验证失败 | 
| 4021 | FB邀请奖励事件未找到奖励政策 | 
| 4022 | 闪退发送报告重复 | 
| 4023 | 未找到渠道信息 | 
| 4024 | 不可以进行解绑操作 | 
| 4025 | 汇率转换失败 | 
| 4026 | 支付渠道已关闭 |