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. 进制与进制转换DAY2

    进制和进制转换 一.进制的基础 1.十进制(案例) 系数:0-9 进位规则:逢十进一 权:基数的次幂 基数:几进制基数就是几 规律:右侧第一位的权是10的0次幂,每向左移动一位次幂会+1. 进制的表示 ...

  2. python module -- sys

    sys模块主要是用于提供对python解释器相关的操作 http://www.cnblogs.com/pycode/p/sysos.html http://blog.csdn.net/pipisorr ...

  3. vue源码逐行注释分析+40多m的vue源码程序流程图思维导图 (diff部分待后续更新)

    vue源码业余时间差不多看了一年,以前在网上找帖子,发现很多帖子很零散,都是一部分一部分说,断章的很多,所以自己下定决定一行行看,经过自己坚持与努力,现在基本看完了,差ddf那部分,因为考虑到自己要换 ...

  4. 微信小程序海报生成功能

    如果是H5页面的话给大家推荐一款不错的插件html2canvas,这个插件可以将html元素转为canvas并一键生成png图片,但是本文的重点是在小程序上如何实现生成图片的功能.因为小程序没有DOM ...

  5. python setup.py 包含静态文件及模板文件

    package_data 和MANIFEST.in都写,include_package_data=True https://stackoverflow.com/a/3597263/8025086

  6. Linux安装Intel Threading Building Blocks(TBB)

    编译安装: wget https://codeload.github.com/01org/tbb/tar.gz/2019_U3 tar zxvf 2019_U3 cd tbb-2019_U3 make ...

  7. 基于innodb_print_all_deadlocks从errorlog中解析MySQL死锁日志

    本文是说明如何获取死锁日志记录的,不是说明如何解决死锁问题的. MySQL的死锁可以通过show engine innodb status;来查看,但是show engine innodb statu ...

  8. vue-cli 报Module build failed: Error: No parser and no file path given, couldn't infer a parser.错的解决方法

    出错提示如下: ERROR Failed to compile with errors :: error in ./src/App.vue Module build failed: Error: No ...

  9. C博客01--顺序、分支结构

    1.本章学习总结 1.1 思维导图 1.2 本章学习体会及代码量学习体会 1.2.1 学习体会 经过一周的初步学习,对C语言我有了一定的认识,也体验到了代码的乐趣,这应该为我以后的学习开了一个好头.在 ...

  10. 常用Macro

    [enable_if] SFINAE是英文Substitution failure is not an error的缩写. 这句话什么意思呢?当调用模板函数时编译器会根据传入参数推导最合适的模板函数, ...