0. 公共部分

请求url
  • {apiRoot}/{method}?ver={version}&appkey={appkey}&sign={sign}
参数名 说明 示例
apiRoot 根地址 http://localhost:9000
method 方法名 /voucher/save
version 版本号 1.0
appkey AppKey FinanceClient
sign 签名 5D3AA349E953AF0C15E38C147B15EE35
参数
参数名 必选 类型 说明
Content Content 内容
Token string 鉴权令牌,登录后获取
返回
参数名 必选 类型 说明
Result int 结果码
ErrMsg string 错误描述
Solution string 解决建议
结果码
结果码 描述 说明
0 SUCCESS 成功
1000 NULL_DTL 没有导入的实现
1001 FILE_NOT_EXISST 文件不存在
1002 RECORD_NOT_EXIST 记录不存在
1003 RECORD_EXIST 记录已存在
1004 IMPERFECT_DATA 不完美的数据
1005 SERVICE_TIMEOUT 超时
1006 NULL 空的请求
1007 INCORRECT_STATE 当前状态不符合预期
1008 AMMOUNT_IMBALANCE 借贷不平衡
1009 LINKED_DATA 有关联的业务
3000 NOT_SUPPORT 不支持
3001 SYSTEM_ERROR 未知的系统错误
3002 AUTHENTICATION_ERROR 无效的签名
签名算法
string SignRequest(string body)
{
StringBuilder query = new StringBuilder(Secret);
query.Append(body);
query.Append(Secret);
MD5 md5 = MD5.Create();
byte[] bytes = md5.ComputeHash(Encoding.UTF8.GetBytes(query.ToString())); StringBuilder result = new StringBuilder();
for (int i = 0; i < bytes.Length; i++)
{
result.Append(bytes[i].ToString("X2"));
} return result.ToString();
}

1. 保存凭证

方法
  • /voucher/save
请求方式
  • POST
参数
  • Content
参数名 必选 类型 说明
header VoucherHeader 表头
entries List 分录
udefenties Map<string,<string,object>> 自定义扩展字段
  • VoucherHeader
参数名 必选 类型 说明
id int ID(为0即为新增,否则为修改的内码)
word string 凭证字:“记”
note string 备注
reference string 参考信息
year int 年度
period int 期间
businessDate dateTime 业务日期(2019-03-05T00:00:00)
date dateTime 日期(2019-03-05T00:00:00)
creatTime dateTime 创建时间(2019-03-05T00:00:00)
creater int 创建人
cashier string 出纳
agent string 经办人
  • VoucherEntry
参数名 必选 类型 说明
index int 分录号
accountSubjectNo string 科目代号
explanation string 摘要
amount decimal 金额
direction int 方向:1(借方),-1(贷方 )
uniqueKey string 唯一码(uuid),作为自定义内容的键值
返回
参数名 必选 类型 说明
Id 条件 int 如果成功,返回凭证内码
示例
{
"Content" : {
"header" : {
"id" : 0,
"word" : "记",
"note" : null,
"reference" : "参考信息",
"year" : 2019,
"period" : 3,
"businessDate" : "2019-03-05T00:00:00",
"date" : "2019-03-05T00:00:00",
"creatTime" : "2019-03-05T23:46:01",
"creater" : 13594,
"cashier" : "出纳",
"agent" : "经办"
},
"entries" : [{
"index" : 1,
"accountSubjectNo" : "1001",
"explanation" : "摘要",
"amount" : 200.0,
"direction" : 1,
"uniqueKey": "afffc876a94049afaa7275c7c7d8d76f"
}, {
"index" : 2,
"accountSubjectNo" : "1002",
"explanation" : "摘要",
"amount" : 200.0,
"direction" : -1,
"uniqueKey": "7761b2300fdb48bd991e570c0f8fc39f"
}
],
"udefenties": {
"afffc876a94049afaa7275c7c7d8d76f": {
"cust": "",
"price": 4.0,
"qty": 78.0
},
"7761b2300fdb48bd991e570c0f8fc39f": {
"cust": null,
"price": 0.0,
"qty": 0.0
}
}
},
"Token" : "3AIavxSAoaJhuBB1o4hc6fw4hNlpC4KoXgfT1mpu1hyQiA_lqKNKOkNDtC_mKdHiWEAHooTE1vZAtsYhz4g_jNoNR5JBkp9UHXZSYFbSuj0j38muKaMbFhTRMEZ_xqd4znSY_Fcp8V96hto4VpLWqh0__yHKFoRZQ0DGS5HcrpQ="
}
  • 返回

    {
    "id" : 233,
    "Result" : 0,
    "ErrMsg" : null,
    "Solution" : null
    }

Finance API文档的更多相关文章

  1. Java在DOS命令下的运行及其API文档制作过程

    该文档主要描述java程序在DOS命令下的运行,以及一些常用的命令 常用DOS命令: d: 回车 盘符切换 dir(directory):列出当前目录下的文件以及文件夹 md (make direct ...

  2. 在ASP.NET Core Web API上使用Swagger提供API文档

    我在开发自己的博客系统(http://daxnet.me)时,给自己的RESTful服务增加了基于Swagger的API文档功能.当设置IISExpress的默认启动路由到Swagger的API文档页 ...

  3. 利用sphinx为python项目生成API文档

    sphinx可以根据python的注释生成可以查找的api文档,简单记录了下步骤 1:安装 pip install -U Sphinx 2:在需要生成文档的.py文件目录下执行sphinx-apido ...

  4. 如何使 WebAPI 自动生成漂亮又实用在线API文档

    1.前言 1.1 SwaggerUI SwaggerUI 是一个简单的Restful API 测试和文档工具.简单.漂亮.易用(官方demo).通过读取JSON 配置显示API. 项目本身仅仅也只依赖 ...

  5. Android多媒体--MediaCodec 中文API文档

    *由于工作需要,需要利用MediaCodec实现Playback及Transcode等功能,故在学习过程中翻译了Google官方的MediaCodec API文档,由于作者水平限制,文中难免有错误和不 ...

  6. 新手如何查看API文档?

    Java API文档为例: 1:知道包名,可以在Overview里直接找到这个包,然后去查这个包下面的类和方法.2:知道类名和方法名,可以在Index.html里直接去找这个类或方法,然后查看.3:如 ...

  7. Bullet的学习资源(用Doxygen生成API文档)

    Bullet 全称 Bullet Physics Library,是著名的开源物理引擎(可用于碰撞检测.刚体模拟.可变形体模拟),这里将bullet的学习资源整理一下,希望能帮助入门者少走弯路. 看下 ...

  8. [API]使用Blueprint来高雅的编写接口文档 前后端api文档,移动端api文档

    网址:http://apiary.io/ 介绍:一款非常强大的前后端交互api设计编辑工具(编辑器采用Markdown类似的描述标记,非常高效),高颜值的api文档,还能生成多种语言的测试代码. 中文 ...

  9. jQuery MiniUI开发系列之:使用API文档

    jQuery MiniUI在组件设计上,是简约.独立的,没有复杂的继承体系. 比如使用DataGrid,可以在api文档的datagrid部分,查找到datagrid的所有属性.方法.事件,而无需关注 ...

随机推荐

  1. CI/CD

    CI/CD 啥是CI/CD CI: continuous integration, 持续集成.就是频繁地把开发的工作提交到主线代码.主要是为了解决集成问题.什么是集成问题呢,白话说,就是从你本地的代码 ...

  2. Spring Boot 初识

    发展到今天,spring已经是一个大家族了,如果想要使用其中的两到三个组件就会有多复杂的配置,有时候还有会版本不一致的错误,让人很无奈.于是,就有了spring Boot,spring  Boot   ...

  3. python大法好——Python 正则表达式

    Python 正则表达式 正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配. Python 自1.5版本起增加了re 模块,它提供 Perl 风格的正则表达式模式. r ...

  4. Vsftpd服务重启、暂停命令

    VSFTP是一个基于GPL发布的类Unix系统上使用的FTP服务器软件,它的全称是Very Secure FTP 从此名称可以看出来,编制者的初衷是代码的安全. 在使用Vsftp服务是经常需要启动.停 ...

  5. nginx内容

    nginx工作在7层:web server(静态内容 static contents)web reverse proxy(反向代理http,https,mail),cache(带缓存功能) proxy ...

  6. css样式的书写顺序及原理——很重要!

    记得刚开始学习前端的时候,每次写css样式都是用到什么就在样式表后添加什么,完全没有考虑到样式属性的书写顺序对网页加载代码的影响.后来逐渐才知道正确的样式顺序不仅易于查看,并且也属于css样式优化的一 ...

  7. DEPLOY YOUR WEBSITE TO GITHUB PAGES

    DEPLOY YOUR WEBSITE TO GITHUB PAGES Review Fantastic! You now have your site published on the public ...

  8. 拾遗----javascript一些实用方法

    1. join() join() 方法用于把数组中的所有元素放入一个字符串.元素是通过指定的分隔符进行分隔的. var ids = [];                 for(var i = 0 ...

  9. spring boot常用注解小计

    @Async 需要执行异步方法时,在方法上加上@Async之后,底层使用多线程技术 .启动类上需要加上 @EnableAsync 注意:异步执行方法,不能与引用方法同在一个类里 @Transactio ...

  10. android sdk更新后出现please update ADT to the latest version的解决方法

    参考:https://www.cnblogs.com/wicub/p/3613353.html 把 1.修改android-sdk-windows/tools/lib下的plugin.pro文件,用记 ...