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) }