Appearance
发发记账独立部署版记账API接口
如果你是技术大佬,想开发自动记账、机器人记账等外部插件,我们也提供了开发API接口。
自动记账API为提供了一个基于HTTP的API调用,允许开发者通过发送和接收JSON对象来实现与发发记账服务端进行数据交互,以便实现自动记账功能。
JSON是一种开放的标准数据格式,它是轻量级的,而且是人类可读的。当向API发送内容或请求时,响应将以JSON形式返回。
我们提供了两类接口,作为开发人员,只需要写前端代码即可完成。而不需要关注后端。
| 操作 | 请求 | 地址 | 说明 |
|---|---|---|---|
| 登录并获取设置信息 | POST | www.xxxxxx.com:5188/autoapi/login1 | 登录并获取设置信息 |
| 登录并获取设置信息 | POST | www.xxxxxx.com:5188/autoapi/login2 | 适用iPhone快捷命令记账 |
| 登录并获取设置信息 | POST | www.xxxxxx.com:5188/autoapi/login3 | 登录并获取设置信息 |
| 记账入库 | POST | www.xxxxxx.com:5188/autoapi/autojizhang | 记账入库 |
登录获取相关账本信息API
为适配不同的开发需求,登录并获取设置信息共设置了3个接口,根据需求任选一个即可,主要差别在返回收支类别数据时候,返回类型不一样。
通过请求地址,传递用户账号、密码,后端返回自动记账的相关参数信息。
后端返回token、当前账本名称、记账设置的所有参数信息(收支类别、账户列表、成员、商家、项目等信息)。
1-请求参数
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| username | string | 是 | 用户登录名 |
| password | string | 是 | 用户登录密码 |
2-返回值
| 名称 | 类型 | 说明 |
|---|---|---|
| status | number | 返回后端登录状态,返回值5001、5002、5003中的一个数字 |
| message | string | 如status值为5001, message显示用户名不存在;如status值为5002, message显示登录成功; 如status值为5003, message显示用户名或密码错误; |
| token | string | 返回token(status值为5002时) |
| nicheng | string | 用户昵称(status值为5002时) |
| zhangbenname | string | 当前使用账本名称(status值为5002时) |
| classlists | object | 返回一个对象,当前使用账本的相关设置内容,用于记账时候选择相关参数。普通账户列表,债权债务账户列表,收入类别、支出类别、商家名称列表、成员名称列表,项目名称列表(与发发记账APP中的“我的”菜单下的“记账设置”一致) |
记一笔账
通过请求地址,传递用户记账相关的参数信息。后端返回是否记账成功,如果入库成功,你将在记账系统流水页面看到相关流水信息。
1-请求参数
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| mytoken | string | 是 | 传递token(后端会根据token判断用户及用户的当前账本) |
| type | number | 是 | 1支出、2收入、3转账、4借入、5借出、6还款、7收债 |
| zhiclass | string | 是 | 支出类别名称 |
| shouclass | string | 是 | 收入类别名称 |
| number | number | 是 | 金额(数字且为正数,后端会根据不同收支类型自动处理正负问题) |
| zhuzhanghu | string | 是 | 主账户名称 |
| liuzhanghu | string | 是 | 流向账户名称(当为收入、支出、转账类别时候,可不传递该参数) |
| chengyuan | string | 是 | 成员名称 |
| shangjia | string | 是 | 商家名称 |
| xiangmu | string | 是 | 项目名称 |
| beizhu | string | 是 | 备注信息 |
关于请求参数说明:
包括mytoken在内,上面所有参数均需向服务端传参,后端采用req.body接收参数。
当type值为1、2、3、4、5、6、7时,chengyuan,shangjia,xiangmu,beizhu是非必填项,传递空字符即可。
当type值为1时,zhiclass、zhuzhanghu、number为必填,shouclass、liuzhanghu为非必填项,传递空字符即可。
当type值为2时,shouclass、zhuzhanghu、number为必填,zhiclass、liuzhanghu为非必填项,传递空字符即可。
当type值为3、4、5、6、7时,zhuzhanghu、liuzhanghu、number为必填,shouclass、zhiclass为非必填项,传递空字符即可。
主账户和流向账户的区别,指的是资金流动方向,详细为:
收支和支出类型记账时候,只涉及主账户,不涉及流向账户。
转账、借入、借出、还款、收债类型记账则涉及主账户和流向账户。
如对应web端记账,在转账记账时候,资金流向由“转出账户”到“转入账户”。则主账户就是“转出账户”,流向账户就是“转入账户”。
特别说明
zhiclass、shouclass、zhuzhanghu、liuzhanghu、chengyuan,shangjia,xiangmu传参时候的名称,必须与 autoapi/login 请求接收参数classlists值中的一致,后端才能识别。
换句话说,收支类别、账户名称、成员、商家、项目必须与对应账本设置中的名称一样,否则后端无法识别。
上述记账数据会自动记在“当前账本”里面。如需更换账本,请登录web端,在“账本管理”菜单页面里,切换当前账本。
2-返回值
| 名称 | 类型 | 说明 |
|---|---|---|
| status | number | 返回状态码200、2001-2006、2008 |
| message | string | 200 采集入库成功 |
| 2001 找不到主账户 | ||
| 2002 找不到流向账户 | ||
| 2003 找不到支出类别 | ||
| 2004 找不到收入类别 | ||
| 2005 金额不能为负数 | ||
| 2006 两个账户不能相同 | ||
| 2008 采集失败 |
iphone自动记账
目前我们在iphone上利用快捷指令的方式已经实现了自动记账,详见相关对应帮助说明。
安卓(鸿蒙)自动记账
目前暂未开发出理想效果的自动记账功能,期望如果是技术大佬的你参与。
