影像系统对接
变更历史
日期 | 变更描述 | 变更人 | 版本 |
---|---|---|---|
2021/06/06 | 接口规范初版 | 曹云 | V1.6.0 |
2021/08/18 | 添加签名方式 | 雷权春 | V1.8.0 |
2021/12/13 | 接口补充 | 曹云 | V2.0.0 |
对接约定
获取影像tokn授权
发票云API采用RESTfull的设计方式,客户端通过HTTP协议的GET、POST(目前主要是这两种)方法请求进行调用。
Restful:参考资料
http://www.infoq.com/cn/articles/designing-restful-http-apps-roth
API的调用地址基本上遵循如下约定的方式:
API地址前缀+ 服务 + 资源+ 参数
私有化环境: baseUrl = {现场部署影像系统的ip或域名:现场部署影像系统的端口}
测试环境: baseUrl = https://api-dev.piaozone.com/test
正式环境: baseUrl = https://api.piaozone.com
对接过程中需要: 发票云授权标识(client_id)、授权密钥(client_secret)、加密密钥(encrypt_key)进行授权,每个环境的授权不同,获取方式可以找实施人员协助提供
接口返回约定: 若无特别说明,接口返回如下
{
"errcode": "0000", ///成功时为0000, 失败时为非0000
"description": "操作成功", //描述,失败时可以根据这个字段进行提示
"data": "" //请求的返回实际数据
}
签名方式
- 由client_id + client_secret + timestamp的值MD5加密生成sign。
- String checkSign = MD5.md5crypt(client_id + client_secret + timestamp);
获取影像token授权
请求地址:
类型 | Post |
---|---|
IP:端口 | baseUrl |
路径 | /archivebase/scan/login/token |
请求参数格式 | Content-Type: application/json; charset=utf-8 |
请求参数:
{
"clientId":"vc0c6hjl23gnKCic",
"sign":"8b9c78fccedbb72eff1106c57505b8f6",
"timestamp":1463468225650,
"fsource":2,
"fuserName":"Demo",
"fphoneNumber":"13826485326",
"feasUid":1463468225650,
"ftaxNo":"91500000747150346A",
"language":" zh-CN"
}
请求参数说明:
字段名称 | 字段类型 | 是否必填 | 说明 |
---|---|---|---|
clientId | String | 是 | 企业授权,税号维度 |
sign | String | 是 | 签名(由client_id + client_secret + timestamp的值MD5加密生成) |
timestamp | Long | 是 | 私有部署可为空,云服务必须传企业授权, 时间戳 |
fphoneNumber | String | 是 | 用户手机号码 |
fuserName | String | 是 | 用户名称 |
fuserEmail | String | 否 | 用户邮箱 |
ftaxNo | String | 否 | 用户所在组织企业 |
feasUid | String | 否 | 该用户在对接系统的用户唯一ID |
fsource | Integer | 是 | 操作系统来源:1-发票云 2-eas 3-星空 4-苍穹 5-OA 6国信 7道克维斯 8单多啦 9优易迅 10 金茂 15 汉德 99其他 |
language | String | 否 | 语言版本默认中国, zh-CN:中国、en-US:美国、es-ES :西班牙、fr-FR:法国、de-DE :德国 |
返回结果:
{
"data":{
"accessToken":"7ffe2cced2a0e3615a24705ee3",
"expiresTime":43200,
"topic":"影像支撑系统token"
},
"errcode":"0000",
"description":"操作成功"
}
返回字段说明:
字段名称 | 字段类型 | 说明 |
---|---|---|
accessToken | string | 授权token |
expiresTime | Long | 有效时间(秒) |
文件上传(带文件加密)
说明:文件上传有两种方式:
1.通过MultipartFile对象上传文件
2.通过文件访问地址上传文件
文件上传(文件方式)
请求地址:
类型 | Post |
---|---|
IP:端口 | baseUrl |
路径 | /imgsys/bill/outside/file/upload?access_token={ access_token } |
请求参数格式 | Content-Type: multipart/form-data; charset=utf-8 |
请求参数:
{
"file":"选择的文件",
"hashType":2
}
请求参数说明:
字段名称 | 字段类型 | 是否必填 | 说明 |
---|---|---|---|
file | MultipartFile | 是 | 文件 |
hashType | int | 是 | 加密方式:0-无 1-MD5 2-SHA-256 |
返回结果:
{
"errcode": "0000",
"description": "操作成功",
"data": {
"fileId": "1bce618476fb45fc96ceb9d89847d9e20",
"hashCode": "04e699ff70fe9f22a763af91cd4b88caa6c4f45c3734bf373d35b4fc2968b862"
}
}
返回字段说明:
字段名称 | 字段类型 | 说明 |
---|---|---|
fileId | String | 文件存储fileId |
hashCode | String | 文件加密后的值 |
文件上传(url方式)
请求地址:
类型 | Post |
---|---|
IP:端口 | baseUrl |
路径 | /imgsys/bill/outside/file/uploadByUrl?access_token={ access_token } |
请求参数格式 | Content-Type: application/json; charset=utf-8 |
请求参数:
{
"url":"http://test.com.cn/a.jpg",
"hashType":2,
"fileName": "a.jpg"
}
请求参数说明:
字段名称 | 字段类型 | 是否必填 | 说明 |
---|---|---|---|
url | String | 是 | 文件 |
hashType | int | 是 | 加密方式:0-无 1-MD5 2-SHA-256 |
fileName | String | 否 | 文件名 |
返回结果:
{
"errcode": "0000",
"description": "操作成功",
"data": {
"fileId": "1bce618476fb45fc96ceb9d89847d9e20",
"hashCode": "04e699ff70fe9f22a763af91cd4b88caa6c4f45c3734bf373d35b4fc2968b862"
}
}
返回字段说明:
字段名称 | 字段类型 | 说明 |
---|---|---|
fileId | String | 文件存储fileId |
hashCode | String | 文件加密后的值 |
绑定单据影像关系
请求地址:
类型 | Post |
---|---|
IP:端口 | baseUrl |
路径 | /imgsys/bill/outside/scanbill/add?access_token={ access_token } |
请求参数格式 | Content-Type: application/json; charset=utf-8 |
请求参数:
{
"fscanBillNo":"KDKDBX-2008-8888",
"scanOutsideFileVoList":[
{
"coverFlag":0,
"fileId":"f004fd6898bf426ebf728df0e3865a6f0"
},
{
"coverFlag":1,
"fileId":"7d4ec48045a54d0f913105b713bae08f0"
}
]
}
请求参数说明:
字段名称 | 字段类型 | 是否必填 | 说明 |
---|---|---|---|
fscanBillNo | String | 是 | 影像编号 |
scanOutsideFileVoList | List | 是 | 影像集合 |
scanOutsideFileVoList集合内对象字段说明如下:
字段名称 | 字段类型 | 是否必填 | 说明 |
---|---|---|---|
coverFlag | Int | 是 | 是否是封面:0-发票 1-封面 2-附件(同一影像编号下只能有一个封面) |
fileId | String | 是 | 文件fileId |
返回结果:
{
"errcode": "0000",
"description": "操作成功"
}
对外影像附件上传api接口
请求地址:
类型 | Post |
---|---|
IP:端口 | baseUrl |
路径 | /imgsys/bill/outside/attachment/upload?access_token={ access_token } |
请求参数格式 | Content-Type: multipart/form-data; charset=utf-8 |
请求参数:
{
"file":"选择的文件",
"fscanBillNo":"KDKDBX-2008-8888"
}
请求参数说明:
字段名称 | 字段类型 | 是否必填 | 说明 |
---|---|---|---|
file | MultipartFile | 是 | 文件 |
fscanBillNo | String | 是 | 影像编号 |
返回结果:
{
"errcode": "0000",
"description": "操作成功"
}
删除影像
请求地址:
类型 | Post |
---|---|
IP:端口 | baseUrl |
路径 | /imgsys/bill/outside/scanbill/delete?access_token={ access_token } |
请求参数格式 | Content-Type: application/json; charset=utf-8 |
请求参数:
{
"fscanBillNo":"KDKDBX-2008-8888",
"fileIds":[
"1ecc1a7977b147c2ac81b2f9e41eaae00","44281dd7dc2f45c79368731f49a3a2770"
]
}
请求参数说明:
字段名称 | 字段类型 | 是否必填 | 说明 |
---|---|---|---|
fscanBillNo | String | 是 | 影像编号 |
fileIds | List<String> | 否 | 需要删除的影像fileId集合(为空则根据影像编号删除整单) |
返回结果:
{
"errcode": "0000",
"description": "操作成功"
}
删除单据影像-整单删除(独立接口,不可逆)
类型 | Post |
---|---|
IP:端口 | baseUrl |
路径 | /imgsys/bill/outside/delete?access_token={ access_token } |
请求参数格式 | Content-Type: application/json; charset=utf-8 |
请求参数:
{
"scanBillNo": "KDKDC-02-20190328-03096",
"deleteReason": "理由"
}
请求参数说明:
字段名称 | 字段类型 | 是否必填 | 说明 |
---|---|---|---|
scanBillNo | String | 是 | 影像编号 |
deleteReason | String | 否 | 删除单据原因 |
返回结果:
{
"errcode": "0000",
"description": "操作成功"
}
更新影像状态
请求地址:
类型 | Post |
---|---|
IP:端口 | baseUrl |
路径 | /imgsys/bill/outside/scanbill/updateStatus?access_token={ access_token } |
请求参数格式 | Content-Type: application/json; charset=utf-8 |
请求参数:
{
"fscanBillNo":"KDKDBX-2008-8888",
"fscanStatus":4,
"rejectReason":"不同意"
}
请求参数说明:
字段名称 | 字段类型 | 是否必填 | 说明 |
---|---|---|---|
fscanBillNo | String | 是 | 影像编号 |
fscanStatus | Int | 是 | 影像状态:2-影像已提交完毕(影像提交EAS后) 3-影像审核完成(ERP返回审核通过) 4-影像有误待重扫(影像被打回) |
rejectReason | string | 否 | 退扫原因fscanStatus=4时可传 |
返回结果:
{
"errcode": "0000",
"description": "操作成功"
}
影像驳回(单功能接口)
说明:联调方传回扫描件影像编号,将单据状态改为待重扫。注意做单据鉴权,是否有权限修改该单据状态。
请求地址:
类型 | Post |
---|---|
IP:端口 | baseUrl |
路径 | /imgsys/bill/outside/reject?access_token={ access_token } |
请求参数格式 | Content-Type: application/json; charset=utf-8 |
请求参数:
{
"scanBillNo": "KDKDC-02-20190328-03096",
"rejectReason": "驳回原因"
}
请求参数说明:
字段名称 | 字段类型 | 是否必填 | 说明 |
---|---|---|---|
scanBillNo | String | 是 | 影像编号 |
rejectReason | string | 是 | 驳回原因 |
返回结果:
{
"errcode": "0000",
"description": "操作成功"
}
撤销影像驳回(单功能接口)
说明:联调方传回扫描件影像编号,撤销上一次的驳回操作,将单据状态改为已提交。注意做单据鉴权,是否有权限修改该单据状态。
请求地址:
类型 | Post |
---|---|
IP:端口 | baseUrl |
路径 | /imgsys/bill/outside/reject/cancel?access_token={ access_token } |
请求参数格式 | Content-Type: application/json; charset=utf-8 |
请求参数:
{
"scanBillNo": "KDKDC-02-20190328-03096",
"cancelRejectReason": "驳回撤销原因"
}
请求参数说明:
字段名称 | 字段类型 | 是否必填 | 说明 |
---|---|---|---|
scanBillNo | String | 是 | 影像编号 |
cancelRejectReason | string | 是 | 驳回撤销原因 |
返回结果:
{
"errcode": "0000",
"description": "操作成功"
}
单据审核通过-(单功能接口)
说明:对接方传回影像单据编号,将单据状态改为已审核
请求地址:
类型 | Post |
---|---|
IP:端口 | baseUrl |
路径 | /imgsys/bill/outside/review?access_token={ access_token } |
请求参数格式 | Content-Type: application/json; charset=utf-8 |
请求参数:
{
"scanBillNo": "KDKDC-02-20190328-03096"
}
请求参数说明:
字段名称 | 字段类型 | 是否必填 | 说明 |
---|---|---|---|
scanBillNo | String | 是 | 影像编号 |
返回结果:
{
"errcode": "0000",
"description": "操作成功"
}
获取单据影像明细
请求地址:
类型 | Post |
---|---|
IP:端口 | baseUrl |
路径 | /imgsys/bill/outside/scanbill/getInfo?access_token={ access_token } |
请求参数格式 | Content-Type: application/json; charset=utf-8 |
请求参数:
{
"fscanBillNo":"KDKDBX-2008-8888"
}
请求参数说明:
字段名称 | 字段类型 | 是否必填 | 说明 |
---|---|---|---|
fscanBillNo | String | 是 | 影像编号 |
返回结果:
{
"data": {
"fscanBillNo": "KDKDBX-2008-8888",
"scanOutsideFileVoList": [
{
"ffileType": 2,
"fileId": "0738c130ccb14486a10ad77a15c521020",
"fileName": "捕获.PNG",
"fscanOrderNo": 0,
"fscanType": 2,
"hashCode": "78cf534661d2bd4b91c38d3949a9db9de45097585ac5bd7db567ea5ebcfd46de",
"hashType": 2,
"uploadMode": 0,
"fscanFileAngle": "",
"labelList": [
{
"labelCode": "标签编号1",
"labelName": "标签名称1"
}
]
},
{
"ffileType": 2,
"fileId": "a12fc2a6deb54c098b5ff63eb9a346480",
"fileName": "微信图片_22222.jpg",
"fscanOrderNo": 2,
"fscanType": 1,
"hashCode": "139f3a962c41a179a4c11fcba62dd31dfb7811c4736a897d0b0c92ed9bad47d4",
"hashType": 2,
"uploadMode": 1,
"fscanFileAngle": "-90",
"labelList": [
{
"labelCode": "标签编号2",
"labelName": "标签名称2"
}
]
}
]
},
"description": "操作成功",
"errcode": "0000"
}
返回字段说明:
字段名称 | 字段类型 | 说明 |
---|---|---|
fscanBillNo | String | 影像编号 |
scanOutsideFileVoList | 集合 | 影像文件明细 |
scanOutsideFileVoList集合内单个对象字段说明如下:
字段名称 | 字段类型 | 说明 |
---|---|---|
fileId | String | 文件存储fileId |
hashType | Int | 加密方式:0-无 1-MD5 2-SHA-256 |
hashCode | String | 文件加密后的值 |
fscanType | Int | 扫描影像类型:1为发票、2为附件 |
ffileType | Int | 文件类型: 1-pdf 2-图片 3-其他 4-Excel 5-word 6-ppt |
fscanOrderNo | Int | 上传序号 |
fileName | String | 文件名 |
uploadMode | Int | 影像采集渠道 0.扫描页面-导入附件 1.扫描页面-导入发票 2.扫描页面-启动扫描 3.扫描页面-新增封面-本地上传 4.扫描页面-新增封面-扫描仪上传 5.扫描页面-补扫影像-本地上传-发票 18.扫描页面-补扫影像-本地上传-附件 6.扫描页面-补扫影像-扫描仪导入 7.扫描页面-替扫影像-本地导入 8.扫描页面-替扫影像-扫描仪导入 9.补改页面-启动扫描 10.补改页面-本地导入 11.补改页面-替换封面-本地导入 12.补改页面-替换封面-扫描仪导入 13.收票同步 14.收单机 15.外部接口 16.附件助手 17.其他 |
fscanFileAngle | String | 文件旋转角度 |
labelList | 集合 | 文件标签集合 |
labelList集合内单个对象字段说明如下:
字段名称 | 字段类型 | 说明 |
---|---|---|
labelCode | String | 标签编号 |
labelName | String | 标签名称 |
影像文件下载
请求地址:
类型 | Get |
---|---|
IP:端口 | baseUrl |
路径 | /imgsys/bill/outside/scanbill/getFile?access_token={ access_token }&fileId=b56f8d7e67c945d7b9a263b69abb9e870 |
请求参数格式 | Content-Type: application/json; charset=utf-8 |
请求参数:
fileId=b56f8d7e67c945d7b9a263b69abb9e870
请求参数说明:
字段名称 | 字段类型 | 是否必填 | 说明 |
---|---|---|---|
fileId | String | 是 | 文件fileId |
返回结果:
文件输出流
获取影像调阅页面地址
请求地址:
类型 | Post |
---|---|
IP:端口 | baseUrl |
路径 | /imgsys/bill/outside/getScanUrl?access_token={ access_token } |
请求参数格式 | Content-Type: application/json; charset=utf-8 |
请求参数:
{
"scanBillNo":"KDKDC-04-20210310-00105, KDKDC-04-20210310-00106",
"fetchSource":null,
"isAllowRescan": false,
"isAllowEdit": true,
"isAllowRemark": false
}
请求参数说明:
字段名称 | 字段类型 | 是否必填 | 说明 |
---|---|---|---|
scanBillNo | String | 是 | 影像编号,多个用逗号隔开 |
fetchSource | Integer | 否 | 仅当匹配模式下生效:1、展示报销岗的数据 2、展示扫描岗的数据,默认展示扫描岗的数据 |
isAllowRemark | Boolean | 否 | 是否允许批注,不填的情况下默认以用户角色权限来控制 |
isAllowEdit | Boolean | 否 | 是否允许打回重扫,不填的情况下默认以用户角色权限来控制 |
isAllowRescan | Boolean | 否 | 是否允许编辑,不填的情况下默认以用户角色权限来控制 |
返回结果:
{
"errcode": "0000",
"data": {
"url": "http://172.18.8.123:10024/imgsys-web/main/imgapprove/?userKey=158702021050816441791437"
},
"description": "SUCCESS(操作成功)"
}
返回字段说明:
字段名称 | 字段类型 | 说明 |
---|---|---|
url | String | 调阅页面地址 |
对外根据文件id获取文件加密hash值
请求地址:
类型 | Post |
---|---|
IP:端口 | baseUrl |
路径 | /imgsys/bill/outside/scanbill/getFileHashCode?access_token={ access_token } |
请求参数格式 | Content-Type: application/json; charset=utf-8 |
请求参数:
{
"fileId":"a0c01862bbc94ccf94bce8e3ad0440990",
"hashType":2
}
请求参数说明:
字段名称 | 字段类型 | 是否必填 | 说明 |
---|---|---|---|
fileId | String | 是 | 文件fileId |
hashType | Int | 是 | 加密方式: 1-MD5 2-SHA-256 |
返回结果:
{
"errcode": "0000",
"description": "操作成功",
"data": {
"ffileId": "a0c01862bbc94ccf94bce8e3ad0440990",
"fhashCode": "6621d1abfcaf654a9eb5e515ee4eb27db0a6bf0f5383f2e7cb5c2b854ae1824a"
}
}
同步收票影像通知
接口说明:报销单导入发票完毕,提交单据后通知影像系统同步报销单影像内容。(注意:单据关联发票、附件变更时,需要同步通知影像系统。)
请求地址:
类型 | Post |
---|---|
IP:端口 | baseUrl |
路径 | /imgsys/outside/match/fpzs/inform?access_token={ access_token } |
请求参数格式 | Content-Type: application/json; charset=utf-8 |
请求参数:
{
"fclientId":"2pUf42GBaudn0Y7I1yQN",
"sign":"298e426464245a92f7a3f9eac8ac5510",
"fexpenseId":"/rfjhwlTTqKnCIvWU9aO/kpE9J8=",
"fexpenseNum":"BXD-2020-10-29-00000087",
"fscanBillNo":"KDBABXD-2020-10-29-00000087",
"fsource":2,
"timestamp":"1603971353050",
"fcreatorId":"6Ygb9exz",
"fcreatorName":"老王",
"fcreatorPhone":"17299999999",
"fcreatorEmail":"adc@kingdee.com"
}
请求参数说明:
字段名称 | 字段类型 | 是否必填 | 说明 |
---|---|---|---|
fclientId | String | 是 | 授权ID |
sign | String | 是 | 授权签名,详情见对接约定中的签名规则部分 |
timestamp | String | 是 | 时间戳 |
fexpenseId | String | 是 | 报销单ID |
fexpenseNum | String | 是 | 报销单编号 |
fscanBillNo | String | 是 | 影像编号 |
fsource | int | 是 | 来源类型操作系统来源 1-发票云 2-eas 3-星空 4-苍穹 5-OA 6国信 7道克维斯 8单多啦 9优易迅 10 金茂 15 汉德 99其他 |
fcreatorId | String | 否 | 制单人ID |
fcreatorName | String | 是 | 制单人姓名 |
fcreatorPhone | String | 是 | 制单人电话号码 |
fcreatorEmail | String | 否 | 制单人邮箱 |
返回结果:
{
"errcode": "0000",
"description": "操作成功"
}
{
"errcode": "1301",
"description": "参数校验失败"
}
{
"errcode": "1302",
"description": "报销单获取失败"
}
银行回单ocr识别接口
请求地址:
类型 | Post |
---|---|
IP:端口 | baseUrl |
路径 | /imgsys/bill/ocr/bankOcr?access_token={ access_token } |
请求参数格式 | Content-Type: application/json; charset=utf-8 |
请求参数:
{
"fileName": "aa.pdf",
"fileBase64": ""
}
请求参数说明:
字段名称 | 字段类型 | 是否必填 | 说明 |
---|---|---|---|
fileName | String | 是 | 文件名 |
fileBase64 | String | 是 | 文件转化的base64字符串 |
返回结果:
{
"errcode":"0",
"description":"ok",
"data":[
{
"ftradeId":"22705784-270",
"fpayeeBank":"中国银行深圳科技园支行",
"fpaymentBank":"招商银行",
"fpayeeAccount":"758857937943",
"fpayeeName":"金蝶软件(中国)有限公司",
"fpaymentAccount":"6214830236421219",
"famount":"CNY2,588.50",
"fpaymentName":"王荣",
"ftradeDate": null,
"fcurrency": null,
"floanSign": null,
"fbusinessNum": null,
"fabstract": null,
"fused": null,
"ffileName":"aa.pdf",
"fticketType":"中国银行_国内支付业务收款回单"
},
{
"ftradeId":"26306422-268",
"fpayeeBank":"中国银行深圳科技园支行",
"fpaymentBank":"招商银行",
"fpayeeAccount":"758857937943",
"fpayeeName":"金蝶软件(中国)有限公司",
"fpaymentAccount":"6214857822022325",
"famount":"CNY2,059.90",
"fpaymentName":"张聪",
"ftradeDate": null,
"fcurrency": null,
"floanSign": null,
"fbusinessNum": null,
"fabstract": null,
"fused": null,
"ffileName":"aa.pdf",
"fticketType":"中国银行_国内支付业务收款回单"
}
]
}
返回字段说明:
字段名称 | 字段类型 | 说明 |
---|---|---|
ftradeId | String | 交易流水号 |
fpayeeBank | String | 收款银行 |
fpaymentBank | String | 付款银行 |
fpayeeAccount | String | 收款账户 |
fpayeeName | String | 收款人 |
fpaymentAccount | String | 付款账号 |
fpaymentName | String | 付款人 |
famount | String | 金额 |
ftradeDate | String | 交易日期 |
fcurrency | String | 币种 |
floanSign | String | 借贷标记 |
fbusinessNum | String | 业务编号 |
fabstract | String | 摘要 |
fused | String | 用途 |
ffileName | String | 文件名 |
fticketType | String | 回单类型 |
获取移动端影像调阅地址接口
请求地址:
类型 | Post |
---|---|
IP:端口 | baseUrl |
路径 | /imgsys/bill/h5/getH5ViewPageUrl?access_token={ access_token } |
请求参数格式 | Content-Type: application/json; charset=utf-8 |
请求参数
{
"scanBillNo":"KDBABXD-2020-10-29-00000076",
"isRemark":false,
"isRescan":false,
"isEdit":false,
"language":"zh_CN"
}
请求参数说明:
字段名称 | 字段类型 | 是否必填 | 说明 |
---|---|---|---|
scanBillNo | String | 是 | 影像编号 |
isRemark | Boolean | 是 | 是否允许批注 |
isRescan | Boolean | 是 | 是否允许打回重扫 |
isEdit | Boolean | 是 | 是否允许编辑 |
language | String | 是 | 语言 |
返回结果
{
"errcode": "0000",
"description": "操作成功",
"data": {
"url": "http://172.17.3.27:81/imgasst-web/tabpanel?userKey=955562021020410442174937"
}
}
说明:userKey对应的缓存数据格式:
{
"system":"1",
"scanBillNo":"KDBABXD-2020-10-29-00000076",
"accessToken":"323ae962df0dded40a1bbc301379446a"
}
返回字段说明:
字段名称 | 字段类型 | 说明 |
---|---|---|
h5ViewPageUrl | String | 移动调阅页面地址 |
获取银行回单助手页面地址接口
说明:可用于采集银行回单影像采集
请求地址:
类型 | Get |
---|---|
IP:端口 | baseUrl |
路径 | /imgsys/bill/erp/bankReceipt/bankReceiptPageUrl?access_token={ access_token } |
请求参数格式 | Content-Type: application/json; charset=utf-8 |
返回:
{
"errcode": "0000",
"description": "操作成功",
"data":{
"bankReceiptPageUrl": "http://202.104.120.128:10022/archive-web/main/overView?userKey=633272020120714181465111"
}
}
返回字段说明:
字段名称 | 字段类型 | 说明 |
---|---|---|
bankReceiptPageUrl | String | 银行回单采集页面地址 |
银行回单查看详情接口
请求地址:
类型 | POST |
---|---|
IP:端口 | baseUrl |
路径 | /imgsys/bill/erp/bankReceipt/detail?access_token={ access_token } |
请求参数格式 | Content-Type: application/json; charset=utf-8 |
请求参数
{
"fcode": "2020120417144698"//单据编号
}
返回:
{
"errcode": "0000",
"description": "操作成功",
"data": {
"fid": "11",
"fcode": "2020120417144698",
"ftenantNum": "1",
"ticketTypeNo": 22,
"ticketType": "中国银行_国内支付业务收款回单",
"ftradeId": "",
"fpayeeAccount": "4132558368839",
"fpayeeBank": "中国银行厦门开元支行蓄业部",
"fpayeeName": "厦门国贸集团股份有限公司",
"fpaymentAccount": "02-01430104000005",
"fpaymentBank": "中国农业银行股份有限公司天津新天地支",
"fpaymentName": "天津津通报关股份有限公剪",
"famount": 3245.88,
"fcurrency": "",
"ftradeDate": "2020年09月08日",
"ftradeDateTime": 1599494400000,
"ftradeType": "贷",
"ftradeTypeFlag": 1,
"ftradeNumber": "号;",
"fuse": "TH/10792604472020090875600027485029062",
"ffileName": "银行回单test1.PNG",
"fabstract": "",
"fuserId": 1,
"fuserName": "默认管理员账号",
"fcreateTime": 1607073246000,
"fupdateTime": 1607073246000
}
}
返回字段说明:
字段名称 | 字段类型 | 说明 |
---|---|---|
fcode | String | 实例对象唯一编号 |
ticketType | String | 回单类型中文描述 |
ftradeId | String | 银行交易流水号 |
fpayeeAccount | String | 收款人账号 |
fpayeeBank | String | 收款方开户行名称 |
fpayeeName | String | 收款人户名 |
fpaymentAccount | String | 付款人账号 |
fpaymentBank | String | 付款方开户行名称 |
fpaymentName | String | 付款人户名 |
famount | Decimal | 交易金额 |
fcurrency | String | 币种 |
ftradeDate | String | 交易日期 |
ftradeType | String | 借贷标记 |
ftradeNumber | String | 业务参考号 |
fuse | String | 用途 |
ffileName | String | 回单文件名 |
fabstract | String | 摘要 |
fileId | String | 扫描件原件存储服务器的文件id |
银行回单文件调阅接口
请求地址:
类型 | Get |
---|---|
IP:端口 | baseUrl |
路径 | /imgsys/bill/erp/bankReceipt/view?access_token={ access_token } |
请求参数格式 | Content-Type: application/json; charset=utf-8 |
请求参数
{
"fileId": "043fda29a97440bd9cdb083a9538a7430"
}
请求参数说明:
字段名称 | 字段类型 | 是否必填 | 说明 |
---|---|---|---|
fileId | String | 是 | 银行回单fileId |
返回:
文件流
银行回单回推调用方接口
说明:推荐使用以下格式接收银行回单明细数据
请求地址:
类型 | POST |
---|---|
IP:端口 | baseUrl |
路径 | |
请求参数格式 | Content-Type: application/json; charset=utf-8 |
请求参数
{
"datas": {
"infos": [
{
"fabstract": "",
"famount": 3245.88,
"fcode": "2012171652516679043",
"fcreateTime": 1608195166000,
"fcurrency": "",
"fdelFlag": 0,
"ffileName": "test1.PNG",
"fid": 19,
"fileId": "f38fc6f2cd9340bdb1831b29287398ac0",
"fpayeeAccount": "4132558368839",
"fpayeeBank": "中国银行厦门开元支行蓄业部",
"fpayeeName": "xx股份有限公司",
"fpaymentAccount": "02-01430104000005",
"fpaymentBank": "xx份有限公司天津新天地支",
"fpaymentName": "xx",
"fpushErpFlag": 0,
"ftenantNum": 1,
"ftradeDate": "2020年09月08日",
"ftradeDateTime": 1599494400000,
"ftradeId": "",
"ftradeNumber": "号;",
"ftradeType": "贷",
"ftradeTypeFlag": 1,
"fupdateTime": 1608195166000,
"fuse": "TH10792604472020090875600027485029062",
"fuserId": 155,
"fuserName": "liuguangzhong",
"ticketType": "中国银行_国内支付业务收款回单",
"ticketTypeNo": 22
}
]
}
}
请求参数说明:
参数名 | 类型 | 说明 |
---|---|---|
fileId | String | 原件存储服务器的文件id |
ticketType | String | 回单类型中文描述 |
ftradeId | String | 银行交易流水号 |
fpayeeAccount | String | 收款人账号 |
fpayeeBank | String | 收款方开户行名称 |
fpayeeName | String | 收款人户名 |
fpaymentAccount | String | 付款人账号 |
fpaymentBank | String | 付款方开户行名称 |
fpaymentName | String | 付款人户名 |
famount | String | 交易金额 |
fcurrency | String | 币种 |
ftradeDate | String | 交易日期 |
ftradeType | String | 借贷标记---借或者贷 |
ftradeNumber | String | 业务参考号 |
fuse | String | 用途 |
ffileName | String | 回单文件名 |
fabstract | String | 摘要 |
返回:
{
"errcode": "0000",
"description": "操作成功"
}
获取扫描页面地址
请求地址:
类型 | Post |
---|---|
IP:端口 | baseUrl |
路径 | /imgsys/bill/outside/getHomeUrl?access_token={access_token} |
请求参数格式 | Content-Type: application/json; charset=utf-8 |
请求参数:
{
"scanBillNo":"KDKDC-02-20190328-03072"
}
请求参数说明:
字段名称 | 字段类型 | 是否必填 | 说明 |
---|---|---|---|
scanBillNo | String | 是 | 影像编号(正规流程可以不传此body参数。主要用于兼容扫描时,已经明确影像编号且只采集该影像单据的场景。) |
返回结果:
{
"errcode": "0000",
"data": {
"url": "{URL}?userKey=747592019122417190049511"
},
"description": "操作成功"
}
返回字段说明:
字段名称 | 字段类型 | 说明 |
---|---|---|
url | String | 扫描页面地址 |
大文件上传
说明:大文件上传接口需要调用三个接口才能完成一次上传,按先后顺序调用三个接口如下:
1.获取文件上传id
2.分片上传
3.分片合并成大文件
获取文件上传id
请求地址:
类型 | Post |
---|---|
IP:端口 | baseUrl |
路径 | /imgsys/bill/outside/largeFile/getUploadId?access_token={ access_token } |
请求参数格式 | Content-Type: application/json; charset=utf-8 |
请求参数:
{
"fileMd5":"52ef97778fc8c02c2bf2f3d8c071bd05",
"fileName":"【批量下载】TortoiseSVN-1.9.4.27285-x64-svn-1.9.4等.zip"
}
请求参数说明:
字段名称 | 字段类型 | 是否必填 | 说明 |
---|---|---|---|
fileMd5 | String | 是 | 文件MD5值 |
fileName | String | 是 | 文件名 |
返回结果:
{
"errcode":"0000",
"description":"操作成功",
"data":{
"uploadId":"d0f62694-0899-479a-897b-8fe7127fb298" ##文件上传id
}
}
单文件拆分后的单个分片上传
请求地址:
类型 | Post |
---|---|
IP:端口 | baseUrl |
路径 | /imgsys/bill/outside/largeFile/uploadChunk?access_token={ access_token } |
请求参数格式 | Content-Type: application/json; charset=utf-8 |
请求参数:
{
"chunkMd5":"89e905d9bd3648ac5d441690653c11f9",
"chunkSize":3568048,
"current":5,
"fileMd5":"52ef97778fc8c02c2bf2f3d8c071bd05",
"total":5,
"uploadId":"d0f62694-0899-479a-897b-8fe7127fb298",
"bytes":"d0f626940899479a897b8fe7127fb298"
}
请求参数说明:
字段名称 | 字段类型 | 是否必填 | 说明 |
---|---|---|---|
chunkMd5 | String | 是 | 分片MD5值 |
chunkSize | String | 是 | 分片大小 |
current | int | 是 | 当前上传分片序号 |
fileMd5 | String | 是 | 大文件MD5值 |
total | Int | 是 | 总分片数 |
uploadId | String | 是 | 单文件上传id |
bytes | 比特数组(byte[]) | 是 | 分片比特数组 |
返回结果:
{
"errcode":"0000",
"description":"操作成功"
}
分片上传完成后的分片合并
请求地址:
类型 | Post |
---|---|
IP:端口 | baseUrl |
路径 | /imgsys/bill/outside/largeFile/mergeFile?access_token={ access_token } |
请求参数格式 | Content-Type: application/json; charset=utf-8 |
请求参数:
{
"fileMd5":"52ef97778fc8c02c2bf2f3d8c071bd05",
"fileName":"【批量下载】TortoiseSVN-1.9.4.27285-x64-svn-1.9.4等.zip",
"finitStatus":0,
"fscanBillNo":"20201014000001",
"fscanSerialNo":"影像0"
}
请求参数说明:
字段名称 | 字段类型 | 是否必填 | 说明 |
---|---|---|---|
fileMd5 | String | 是 | 大文件MD5值 |
fileName | String | 是 | 文件名 |
finitStatus | Int | 是 | 0-继续上传 1-(清除原有影像)重新上传 |
fscanBillNo | String | 是 | 影像编号 |
fscanSerialNo | String | 是 | 同一单据下的文件上传序号(如影像0、影像1等) |
返回结果:
{
"errcode":"0000",
"description":"操作成功",
"data":{
"fileId":"1bce618476fb45fc96ceb9d89847d9e20"
}
}
调用事例:
接收ERP单据推送接口
请求地址:
类型 | Post |
---|---|
IP:端口 | baseUrl |
路径 | /imgsys/bill/signPost/erpBillPush?access_token={ access_token } |
请求参数格式 | Content-Type: application/json; charset=utf-8 |
请求参数:
{
"fscanBillNo": "88888",
"fbillId":"er_dailyreimbursebill_949790889272690688",
"fbillTypeCode":"FYBX",
"fbillTypeDes":"费用报销单",
"fapplyUserName":"刘德华",
"fapplyUserPhone":"18818789334",
"fapplyErpUserName":"liudehua",
"fapplyOrganizationCode":"ORG_CODE",
"fapplyOrganizationName":"发票云",
"fuploadFlag":0,
"ferpDataId":"",
"fsource":"",
"fadditionalElectricDocs":0
}
请求参数说明:
字段名称 | 字段类型 | 是否必填 | 说明 |
---|---|---|---|
fscanBillNo | String | 是 | 影像编号 |
fbillId | String | 是 | ERP单据唯一值(单据整个生命周期都不可变) |
fbillTypeCode | String | 是 | 单据类型编码 |
fbillTypeDes | String | 是 | 单据类型名称 |
fapplyUserName | String | 是 | 提单人姓名 |
fapplyUserPhone | String | 是 | 提单人电话号码 |
fapplyErpUserName | String | 是 | 提单人ERP用户名(非姓名) |
fapplyOrganizationCode | String | 是 | 提单组织编码 |
fapplyOrganizationName | String | 是 | 提单组织名称 |
fuploadFlag | int | 是 | 是否允许当前单据走上传流程,0则表示允许上传,1则不允许上传 |
ferpDataId | String | 是 | 操作系统的数据中心 |
fsource | int | 是 | 操作系统来源:1-发票云 2-eas 3-星空 4-苍穹 5-OA 6国信 7道克维斯 8单多啦 9优易迅 10 金茂 15 汉德 99其他 |
fadditionalElectricDocs | int | 否 | 当系统配置允许纯电自动提交的情况下,是否允许当前单据自动提交流程,0则表示允许,1则不允许 |
返回结果:
{
"errcode": "0000",
"description": "操作成功"
}
调用方ERP需提供 获取单据信息的接口(非影像系统接口)
该接口用于 ERP推送单据池失败时,影像系统主动通过该接口进行拉取的降级处理
入参:
{
"fscanBillNo": "88888"
}
返回:
{
"fscanBillNo": "88888",
"fbillId":"er_dailyreimbursebill_949790889272690688",
"fbillTypeCode":"FYBX",
"fbillTypeDes":"费用报销单",
"fapplyUserName":"刘德华",
"fapplyUserPhone":"18818789334",
"fapplyErpUserName":"liudehua",
"fapplyOrganizationCode":"ORG_CODE",
"fapplyOrganizationName":"发票云"
}
返回字段说明 见接口21入参说明
接收ERP单据可邮寄通知接口
请求地址:
类型 | Post |
---|---|
IP:端口 | baseUrl |
路径 | /imgsys/bill/signPost/erpBillEnablePost?access_token={ access_token } |
请求参数格式 | Content-Type: application/json; charset=utf-8 |
请求参数:
{
"fscanBillNo": "88888"
}
请求参数说明:
字段名称 | 字段类型 | 是否必填 | 说明 |
---|---|---|---|
fscanBillNo | String | 是 | 影像编号 |
返回结果:
{
"errcode": "0000",
"description": "操作成功"
}
启用/禁用用户接口
请求地址:
类型 | Post |
---|---|
IP:端口 | baseUrl |
路径 | /archivebase/bill/portal/user/operator?access_token={ access_token } |
请求参数格式 | Content-Type: application/json; charset=utf-8 |
请求参数:
{
"fphoneNumber":"16522331010",
"fuserName":"cy",
"fuserEmail":"1110@qq.com",
"fuserStatus":2,
"reason":"离职"
}
请求参数说明:
字段名称 | 字段类型 | 是否必填 | 说明 |
---|---|---|---|
fphoneNumber | String | 否 | 电话(电话、用户名、邮箱三个字段必填其一) |
fuserName | String | 否 | 用户名(电话、用户名、邮箱三个字段必填其一) |
fuserEmail | String | 否 | 邮箱(电话、用户名、邮箱三个字段必填其一) |
fuserStatus | Int | 是 | 1-启用 2-禁用 |
reason | String | 是 | 启用/禁用原因 |
返回结果:
{
"errcode": "0000",
"description": "操作成功"
}