119 lines
8.7 KiB
Go
119 lines
8.7 KiB
Go
package tysk
|
||
|
||
import (
|
||
"gitea.cdlsxd.cn/self-tools/tysk/tysk_constant"
|
||
"gitea.cdlsxd.cn/self-tools/tysk/tysk_entity"
|
||
)
|
||
|
||
// TyskFacade 定义了司库系统的外观接口
|
||
type TyskFacade interface {
|
||
Account //账户中心
|
||
Settle //结算中心
|
||
|
||
}
|
||
|
||
// Account 定义了账户相关的操作接口
|
||
type Account interface {
|
||
// GetAccountBalance 账户余额查询
|
||
// 查询司库中活期账户的实时余额信息。
|
||
// 注意事项:
|
||
// 1. 请求使用的银企直联用户需有相关账号的查询权限;
|
||
// 2. 每次支持不多于20个账户的查询,返回当前司库同步到的账户余额信息;
|
||
// 如果账户余额尚未查询到,司库统一返回金额字段为空。
|
||
GetAccountBalance(accountList tysk_entity.GetAccountBalanceReq) (res map[tysk_constant.AccountNo]tysk_entity.GetAccountBalanceList, err error)
|
||
|
||
// GetTodayTransHis 当日交易明细查询
|
||
// 用于查询账户的当日交易明细信息。
|
||
// 注意事项:
|
||
// 1. 请求使用的银企直联用户需有相关账号的查询权限;
|
||
// 2. 使用分页查询,起始记录号从1开始,每页最多显示100条记录;
|
||
// 报文中的交易流水号sumTranNo由司库系统产生,用于标识客户交易明细数据唯一性。
|
||
GetTodayTransHis(todayTransHisReq tysk_entity.TodayTransHisReq) (res tysk_entity.TodayTransHisResp, err error)
|
||
|
||
// GetAccountInfo 账户信息查询
|
||
// 用于查询客户在司库系统中维护的账号信息。
|
||
// 注意事项:
|
||
// 1. 请求使用的银企直联用户需有相关账号的查询权限;
|
||
// 2. 使用分页查询,起始记录号从1开始,每页最多显示20条记录。
|
||
GetAccountInfo(accountInfoReq tysk_entity.AccountInfoReq) (res tysk_entity.AccountInfoResp, err error)
|
||
|
||
// ReceiptApply 电子回单申请
|
||
// 实现司库电子回单查询申请,申请成功后需使用SKEDDQRY接口查询回单文件状态。
|
||
// 注意事项:
|
||
// 1. 账号需提前在司库系统内维护并为直联用户赋予查询权限;
|
||
// 2. 电子回单下载需三步操作:
|
||
// - SKEDDRSQ 提交查询申请
|
||
// - SKEDDQRY 查询回单准备状态
|
||
// - SKEDCDTD 下载回单文件
|
||
// 3. 接口限流:每台服务同时处理2笔交易,等待时间1秒
|
||
// 4. 访问限制:同客户每天1000次
|
||
// 5. 时间间隔最大为30天
|
||
// 6. 支持当日回单的银行:中信、招商、平安、浦发、民生、中国银行、工商银行;
|
||
// 不支持的银行返回错误码SE01100,并默认返回T-1日回单。
|
||
ReceiptApply(receiptApplyReq tysk_entity.ReceiptApplyReq) (success bool, err error)
|
||
|
||
// ReceiptQuery 电子回单查询
|
||
// 客户可使用该接口,查询SKEDDRSQ(司库电子回单查询申请)接口发出的交易请求的处理结果。若查询返回成功,可根据查询出的回单编号在SKEDCDTD(司库电子回单文件下载)接口下载对应的回单文件。交易将返回明确成功、处理中、失败等状态
|
||
// 注意事项:
|
||
//1.账号需提前在司库系统内维护并为直联用户赋予查询权限;
|
||
//2.司库电子回单下载获取需通过三部操作完成:1. SKEDDRSQ(司库电子回单查询申请)提交所需账号的电子回单查询申请;2. SKEDDQRY(司库电子回单文件查询)查询第一步中查询的电子回单信息是否准备完成,如完成则根据查询提供的分页信息返回相应的回单编号,如未完成则继续轮训该接口(若涉及的电子回单信息较多时建议适当延长轮训间隔);3. SKEDCDTD(司库电子回单文件下载)根据回单编号对需要的回单文件进行下载。
|
||
//3.接口限流机制:每台服务同时处理2笔交易,等待时间1秒
|
||
//4.接口访问限制:同客户每分钟30次
|
||
ReceiptQuery(receiptQueryReq tysk_entity.ReceiptQueryReq) (res tysk_entity.ReceiptQueryResp, err error)
|
||
|
||
// ReceiptDownload 电子回单下载
|
||
//客户可使用该接口,查询SKEDDRSQ(电子回单查询)接口发出的交易请求的处理结果。若查询返回成功,可根据查询出的回单编号在SKEDCDTD(司库电子回单文件下载)接口下载对应的回单文件。交易将返回明确成功、处理中、失败等状态
|
||
// 注意事项:
|
||
//1.账号需提前在司库系统内维护并为直联用户赋予查询权限;
|
||
//2.司库电子回单下载获取需通过三部操作完成:1. SKEDDRSQ(司库电子回单查询申请)提交所需账号的电子回单查询申请;2. SKEDDQRY(司库电子回单文件查询)查询第一步中查询的电子回单信息是否准备完成,如完成则根据查询提供的分页信息返回相应的回单编号,如未完成则继续轮训该接口(若涉及的电子回单信息较多时建议适当延长轮训间隔);3. SKEDCDTD(司库电子回单文件下载)根据回单编号对需要的回单文件进行下载。
|
||
//3.接口限流机制:每台服务同时处理2笔交易,等待时间3秒
|
||
//4.接口访问限制:同客户每分钟30次
|
||
//5.每次数量为:20条
|
||
//6.文件压缩后最大大小为:2M
|
||
//7.在输入中新增“文件格式”字段,非必输,字典项为“OFD优先”、“PDF优先”。
|
||
ReceiptDownload(receiptDownloadReq tysk_entity.ReceiptDownloadReq) (res tysk_entity.ReceiptDownloadResp, err error)
|
||
|
||
// TransHisQueryApply 历史明细查询申请
|
||
//使用该接口提交账户历史交易明细查询请求
|
||
// 注意事项:
|
||
//请求使用的银企直联用户需有相关账号的查询权限。
|
||
TransHisQueryApply(transHisReq tysk_entity.TransHisQueryApplyReq) (res tysk_entity.TransHisQueryApplyResp, err error)
|
||
|
||
// TransHisQuery 历史明细查询申请
|
||
//使该接口用于查询账户的历史交易明细信息。
|
||
// 注意事项:
|
||
//1.请求使用的银企直联用户需有相关账号的查询权限 ;
|
||
//2.该交易使用分页查询,起始记录号从1开始,每页最多显示100条记录。报文中的交易流水号sumTranNo由司库系统产生,用于标识客户交易明细数据唯一性;
|
||
//3.历史明细:申请(SKTRNHCL),查询(SKTRNHCT)可查司库已有境外银行数据(渣打、汇丰)
|
||
TransHisQuery(transHisReq tysk_entity.TransHisQueryReq) (res tysk_entity.TransHisQueryResp, err error)
|
||
|
||
// BalanceHisQueryApply 历史余额查询申请
|
||
//客户可使用该接口提交账户历史余额查询申请
|
||
// 注意事项:
|
||
//1.请求使用的银企直联用户需有相关账号的查询权限;
|
||
//2.账户历史余额查询申请每次支持不多于20个账户的查询。
|
||
//3.可向前申请1年以内的历史余额数据,并且起始日期、终止日期之间的日期间隔不得大于90天。
|
||
BalanceHisQueryApply(BalanceHisQueryApplyReq tysk_entity.BalanceHisQueryApplyReq) (res tysk_entity.BalanceHisQueryApplyResp, err error)
|
||
|
||
// BalanceHisQuery 历史余额结果查询
|
||
//客户可使用历史余额查询申请中提交的记录申请编号,来查询账户的历史余额数据。
|
||
// 注意事项:
|
||
//1.请求使用的银企直联用户需有相关账号的查询权限;
|
||
//2.余额数据支持三种来源:01银行接口返回,即通过调用各银行的历史余额接口来获取数据;02银行明细返回,当对方行没有历史余额接口,而通过其当日最后一条银行流水明细中的余额字段来获取数据;03 明细数据计算,当对方行不支持历史余额接口、其明细也没有余额字段时,通过某日的余额基准数据,结合其间交易明细轧差计算,得出的历史余额数据;
|
||
//3.数据状态01获取中,为余额数据获取的中间状态,如对方银行接口已调用,但尚未返回;02 已返回、03获取失败为余额数据获取的终态,其中返回03时,余额金额字段为空;
|
||
//4.当数据来源01和02的时候,数据状态包括02或03;数据来源是03时,数据状态根据接口调用状态分别展示01、02或03.
|
||
//5.历史余额:申请(SKBALHSQ),查询(SKBALHCX)可查司库已有境外银行数据(渣打、汇丰)
|
||
BalanceHisQuery(BalanceHisQueryReq tysk_entity.BalanceHisQueryReq) (res tysk_entity.BalanceHisQueryResp, err error)
|
||
|
||
// AccountsTransHisQuery 多账户历史明细查询
|
||
//该接口用于查询多账户的历史交易明细信息。
|
||
// 注意事项:
|
||
//1.请求使用的银企直联用户需有相关账号的查询权限;
|
||
//2.该交易使用分页查询,起始记录号从1开始,每页最多显示100条记录。报文中的交易流水号sumTranNo由司库系统产生,用于标识客户交易明细数据唯一性。
|
||
AccountsTransHisQuery(AccountsTransHisQueryReq tysk_entity.AccountsTransHisQueryReq) (res tysk_entity.AccountsTransHisQueryResp, err error)
|
||
}
|
||
|
||
type Settle interface {
|
||
SinglePay(singlePayReq tysk_entity.SinglePayReq) (res tysk_entity.SinglePayRes, err error)
|
||
}
|