礼包兑换服务API接口

一、文档说明

1.1 修订记录

日期
修订内容
说明
2022-11-15 v1.0.0 版本文档完成

二、报文格式

  • 请求方式: POST
  • 编码格式: application/json
  • 响应结构: JSON

2.1 请求地址

key
value
说明
URL http://m-uat.roc.games/api 测试环境
URL 生成环境

2.2 接口响应说明

2.2.1 成功

{
    "success": true,
    "errCode": 0,
    "errMsg": "SUCCESS",
    "data":{}
}

2.2.2 失败

{
    "success": false,
    "data": {},
    "errCode": "-100001",
    "errMsg": "Validation errors"
}

2.3 签名机制

2.3.1 概述

系统使用MD5签名验签技术保障双方的身份可靠性和数据完整性。
对于报文的签名处理机制如下:
(1)将报文除签名域(sign)外的所有取值不为空(空是指null或"",不包含"null"和 空格)的数据元,按照报文域第一个字符的键值ASCII码递增排序(字母升序排序),如果遇到相同字符则按照第二个字符的键值ASCII码递增排序,依次类推。
(2)将排序后的数据元与其对应值,组合成“参数=参数值”的格式,并把这些参数用&字符连接起来,此时生成的字符串作为待签名的字符串。
(3)对待签名字符串追加&key=signKey,使用MD5算法做摘要。
(4)将生成的签名赋值给sign报文域,拼接到请求报文中。

2.3.2 签名 signKey

key value 说明
signKey 签名 signKey

2.3.3 加密方式

  • 待签名数据

      {
          "role_id":"角色ID",
          "role_server":"游戏区服",
          "prop":[
                      {
                        "name":"道具名称",
                        "num":"1"
                      }
                  ],
        "order_id":"订单ID",
        "channel":"渠道",
        "extra":"扩展信息",
        "sign":"签名"
      }
    
  • 拼装成待验签的字符串如下

    $string = 'channel=渠道&exOrderId=订单ID&extra=扩展信息&prop=[{"name":"道具名称","num":"1"}]&roleId=角色ID&roleServer=游戏区服&key=4b275ac216d7d8385206c9766485db6f';

  • md5签名

    $sign = md5($string);

三、使用礼包码

3.1 请求地址

URL:/gift/codeUse

3.2 请求参数

字段 类型 必填 说明 签名
gameId int 游戏编号 Y
exCode string 礼包码 Y
roleId int 角色ID Y
roleServer int 角色区服ID Y
roleGrade int 角色等级 Y
sign string 签名 N

3.3 请求示例

    {
      "gameId":"1015",
      "exCode":"CXPIYFLW",
      "roleId":"角色ID",
      "roleServer":"兑换区服ID",
      "roleGrade":"角色等级",
      "sign":"4297f44b13955235245b2497399d7a93"
    }

四、查询礼包码

4.1 请求地址

URL:/gift/codeQuery

4.2 请求参数

字段 类型 必填 说明 签名
gameId int 游戏编号 Y
exCodeMulti string 礼包码,多个码使用【,】分割,数量 <= 10 Y
sign string 签名 N

3.3 请求示例

    {
      "gameId":"1015",
      "exCodeMulti":"CXPIYFLW,MO2F66U2",
      "sign":"4297f44b13955235245b2497399d7a93"
    }

五、礼包发货

5.1 请求地址

URL:游戏提供道具发货接口

5.2 请求参数

字段 类型 必填 说明 签名
gameId int 游戏编号 Y
roleId int 角色ID Y
roleServer int 角色区服ID Y
prop 礼包 Y
prop.name string 道具名称 Y
prop.num int 数量 Y
exOrderNo string 兑换订单编号 Y
exCode string 礼包码 Y
channel string 渠道:rocgame Y
extra string 扩展信息 Y
sign string 签名 N

5.3 请求示例

    {
      "gameId":"1015",
      "roleId":"角色ID",
      "roleServer":"角色区服ID",
      "prop":[
        {
          "name":"道具名称",
          "num":"1"
        },
        {
          "name":"道具名称",
          "num":"1"
        }
      ],
      "exOrderId":"兑换订单编号",
      "exCode":"礼包码",
      "channel":"rocgame",
      "extra":"扩展信息",
      "sign":"签名"
}
Copyright © ROC Games 2022            此页面修订于: 2023-05-12 10:33:00

results matching ""

    No results matching ""