# 财务对账数据接入规范【黄金审计】
## 第一章 概述
**财务对账**
数据中心财务对账是为了确保财务入账的充值和消耗数据正确,目前从两个方面保证,一是核查游戏内充值用户钻石产销存相关数据;二是比对计费数据、SDK数据、GM后台各数据源充值相关数据之间的差异。财务对账需要接入以下两部分数据
· 黄金审计数据
· 黄金消耗明细日志
**黄金审计数据**
数据统一为北京时间,粒度为游戏、天、运营商、服务器,统计对象仅为各游戏充值用户(付费用户)的充值、赠送、消耗、非专充及期初期末留存黄金数。
**黄金消耗明细日志**
玩家黄金消耗的详细日志,用于财务审计
## **第二章** **财务黄金审计接口**
**接口定义**
1.传输协议: HTTP
2.请求方式: POST
3.请求地址:
o 内网地址:http://ba.youzu.com/api/datafeed/goldcheck?sign=SIGN
o 外网地址:http://ba-public.youzu.com/api/datafeed/goldcheck?sign=SIGN
4.请求包体:
o 格式: JSON
样例:
`{`
`" row_cnt ": 2,`
`"game_id": 135,`
`"date": "2016-01-01",`
`"author": "zhaoyun",`
`"rows": [{`
`"op_id": "2201",`
`"server_id": "1232",`
`"frequency": "day",`
`"intial_gold": 10000,`
`"excharge_gold": 1000,`
`"gift_gold": 1000,`
`"consume_gold": 1000,`
`"extra_gold": 1000,`
`"final_gold": 1000`
`}, {`
`"op_id": "2201",`
`"server_id": "1232",`
`"frequency": "day",`
`"intial_gold": 10000,`
`"excharge_gold": 1000,`
`"gift_gold": 1000,`
`"consume_gold": 1000,`
`"extra_gold": 1000,`
`"final_gold": 1000`
`}]`
`}`
**参数说明**
| 参数 | 描述 | 必输项 | 类型 | 说明 |
| ------------- | ---------------------------------------------------------- | ------ | ------ | ------------------------------------------------------------ |
| row_cnt | 记录数 | 是 | int | 传输的记录数, 等同于服务器数量。必须与rows中的记录行数相同 |
| date | 日期 | 是 | string | 格式: yyyy-MM-dd 2016-01-01 |
| game_id | 游戏id | 是 | int | 135 |
| op_id | 运营商id | 是 | string | 运营商id |
| server_id | 服务器id | 是 | string | 服务器id |
| frequency | 标明是每日黄金审计或每月黄金审计数据 | 是 | string | 数据范围:day、month |
| intial_gold | 上个月或昨日期末的所有充值玩家的存量黄金数 | 是 | int | 1000 |
| excharge_gold | 当月或当日充值的黄金数 | 是 | int | 1000 |
| gift_gold | 当月或当日赠送的黄金数 | 是 | int | 1000 |
| consume_gold | 截止本月底或本日所有充值玩家在当月的黄金消耗数 | 是 | int | 1000 |
| extra_gold | 本月或本日从非付费玩家变为付费玩家在月初或昨日的存量黄金数 | 是 | int | 1000 |
| final_gold | 本月底或当日所有充值玩家的存量黄金数 | 是 | int | 1000 |
| author | 录入人 | 是 | string | 填写公司邮箱@前的姓名缩写。例如,邮箱为zhaoyun@youzu.com,则该字段填入zhaoyun |
| sign | 记录签名 | 是 | string | 该字段无需放入请求包体,紧随访问地址,以get形式传入。计算方式,详见说明① |
说明① sign计算方式:
1) 在请求体的末尾拼上数据中心提供的KEY,进行SHA-1加密
比如:请求体是{"row_cnt":1,"date":"2020-03-16","game_id":374,"author":"abc@yoozoo.com","rows":[{"op_id":"1","server_id":"1","frequency":"day","intial_gold":0,"excharge_gold":0,"gift_gold":0,"consume_gold":0,"extra_gold":0,"final_gold":0}]},key是12345678,则对字符串:
{"row_cnt":1,"date":"2020-03-16","game_id":374,"author":"abc@yoozoo.com","rows":[{"op_id":"1","server_id":"1","frequency":"day","intial_gold":0,"excharge_gold":0,"gift_gold":0,"consume_gold":0,"extra_gold":0,"final_gold":0}]}12345678 进行加密。
2) 将加密后的字符转换为大写,填入sign字段返回说明JSON格式
{"retcode":"00","retmsg":"数据传输成功"}
**字段说明**
| 参数 | 说明 |
| ------- | ------------------------------------------------------------ |
| retcode | 请求返回值。00表示成功, 其余均为失败 |
| retmsg | 返回描述。字典值如下: 01- 签名有误 02- 参数记录有误,请与数据中心联系! 03- 字段不符合输入要求,以及具体说明 04- 传输记录行数与预期不符 |
## **第三章** **黄金消耗明细日志**
接入规范见 《数据中心标准生态日志》中RoleGold