• 最新功能
  • 1 EXCEL服务器概述
  • 2 安装与卸载
  • 3 基本概念&基本操作
  • 4 建立部门、角色、用户
  • 5 建立基础数据
  • 6 管理业务数据
  • 7 熟练填报
  • 8 数据查询
  • 9 工作流
  • 10 回写公式
  • 11 统计报表
  • 12 应用系统管理
  • 13 系统管理模块的常用操作
  • 14 填报网站
  • 15 移动端应用
  • 16 系统外观设计
  • 17 模板管理
  • 18 角色和用户
  • 19 数据项、数据表、数据库
  • 20 数据规范详解
  • 21 工作流详解
  • 22 表间公式详解
  • 23 实时系统、实时管理
  • 24 即时通讯
  • 25 文档管理
  • 26 网盘
  • 27 和其它系统的数据集成
  • 28 和CAD软件的集成
  • 29 与移动端其它应用的集成
  • 30 安装与部署的高级话题
  • 31 表达式函数详解
  • 32 通过VBA程序操纵EXCEL服务器
  • 33 通过命令行操作ES客户端
  • 34 商业智能BI系统
  • 35 WebApi的应用
  • 35.1 Excel服务器调用第三方WebApi
  • 35.2 Excel服务器的WebApi对外接口
  • 36 共享文档
上一节 下一节

35.2 Excel服务器的WebApi对外接口

第三方系统要想通过WebApi调用Excel服务器中数据需先在ES服务器应用中开启WebApi功能。

35.2.1 启用WebApi

设计栏目中选择【WebApi】——【开放接口】,点击【配置】菜单。在“配置开放WebApi接口”窗口中依下图进行配置:勾选“开放WebApi接口,允许外部系统调用 ”,设置AppKey、AppSecret和允许WebApi访问的模板。

35.2.2 勤哲WebApi接口

获取access_token

请求方式:GET

请求地址:http(s)://192.168.1.1/ESWeb/api/GetToken?AppKey=xx&Timestamp=xx&Sign=xx

参数说明:

参数 类型 必填 说明
AppKeystring应用内设置的AppKey
TimestampstringUnix时间戳,允许时间误差为10分钟
SignstringMD5(AppKey + Timestamp + AppSecret)

权限说明:

每个应用有独立的AppKey和AppSecret,获取到的access_token只能本应用使用,所以每个应用的access_token应该分开来获取

返回结果:

{

"errcode":0,

"errmsg":"ok",

"hint":"1718351384016976",

"access_token":"access_token001",

"expires_in":7200

}

参数说明:

参数类型说明
errcodeint出错返回码,为0表示成功,非0表示调用失败
errmsgstring返回码提示语
hintstring本次接口调用记录的唯一标识
access_tokenstring获取到的凭证
expires_inint凭证的有效时间(秒)

注意事项:

开发者需要缓存access_token,用于后续接口的调用(注意:不能频繁调用接口,否则会受到频率拦截)。当access_token失效或过期时,需要重新获取。

access_token的有效期通过返回的expires_in来传达,正常情况下为7200秒(2小时)。access_token可能会提前失效,开发者应实现access_token失效时重新获取的逻辑。

公共参数

指在调用业务接口时,都需要传递的参数,放在Header中。


参数类型必填说明
AppKeystring应用内设置的AppKey
ESServer_access_tokenstring由access_token接口获取
TimestampstringUnix时间戳,允许时间误差为10分钟
Signstring签名

Sign签名说明:

将公共参数中除了Sign外的所有参数,再加上AppSecret,参数名按照字典排序生成字符串。

例:

排序:

AppKey=AppKey01,AppSecret=ktggjhwoiuwe89fwe8, ESServer_access_token=access_token001,Timestamp=1716973251

加密:只需要把值拼接,然后进行MD5加密

Sign=MD5(AppKey01ktggjhwoiuwe89fwe8access_token0011716973251)

加密完成后,填充到Header的Sign中。


业务接口

1、获取模板数据

请求方式:POST

请求地址:http(s)://192.168.1.1/ESWeb/api/GetReportData

请求Body:

{

"rtName":"订单",

"cond":[

{

"dtName":"订单_主表",

"fldName":"客户名称",

"value":"广州xx设备公司",

"op":"="

},

{

"dtName":"订单_明细",

"fldName":"产品名称",

"value":"镀锌管",

"op":"<>"

}

],

"outerFields":"订单_主表.订单编号,订单_主表.客户名称,订单_明细.产品名称,订单_明细.数量",

"orderBy":"订单_主表.订单日期,订单_主表.订单编号 desc",

"pageSize":50,

"pageNo":1

}

参数说明:

参数类型必填说明
rtNamestring模板名称
cond.dtNamestring数据表名
cond.fldNamestring数据表字段名
cond.valuestring字段值,统一用string类型,日期格式为yyyy-MM-dd HH:mm:ss
cond.opstring取值范围:=|>|<|>=|<=|<>|like,不传默认=
outerFieldsstring要查询的字段列表,如果不指定,则查询全部数据表的全部字段,例:订单_主表.订单编号,订单_主表.客户名称,订单_明细.产品名称,订单_明细.数量
orderBystring排序方式,例:订单_主表.订单日期,订单_主表.订单编号 desc,不传默认为填报时间降序
pageSizeint每页行数,1~100,默认50
pageNoint页号,0~n,0表示不分页

返回结果:

{

 "pageNo": 1,

 "total": 1,

 "records": [

   {

     "rcId": "RC07052500283",

     "dts": [

       {

         "dtName": "订单_主表",

         "datas": [

           {

             "flds": [

               {

                 "fldName": "订单编号",

                 "value": "070525010",

                 "fldType": 2,

                 "fileName": ""

               },

               {

                 "fldName": "客户名称",

                 "value": "陕西xx电力工程公司",

                 "fldType": 2,

                 "fileName": ""

               }

             ]

           }

         ]

       },

       {

         "dtName": "订单_明细",

         "datas": [

           {

             "flds": [

               {

                 "fldName": "产品名称",

                 "value": "无缝管",

                 "fldType": 2,

                 "fileName": ""

               },

               {

                 "fldName": "数量",

                 "value": "1000",

                 "fldType": 1,

                 "fileName": ""

               }

             ]

           },

           {

             "flds": [

               {

                 "fldName": "产品名称",

                 "value": "罗纹钢",

                 "fldType": 2,

                 "fileName": ""

               },

               {

                 "fldName": "数量",

                 "value": "500",

                 "fldType": 1,

                 "fileName": ""

               }

             ]

           }

         ]

       }

     ]

   }

 ],

 "errcode": 0,

 "errmsg": "ok",

 "hint": "1718351431519170"

}

参数说明:

参数类型说明
errcodeint出错返回码,为0表示成功,非0表示调用失败
errmsgstring返回码提示语
hintstring本次接口调用记录的唯一标识
pageNoint当前页号
totalint总数量
records.rcIdstring表单编号
records.dts.dtNamestring数据表名
records.dts.datas.flds.fldNamestring字段名
records.dts.datas.flds.valuestring字段值,当字段为图片、附件时,返回文件的base64编码
records.dts.datas.flds.fldTypeint字段类型,1:数字,2:文字,3:日期
records.dts.datas.flds.fileNamestring图片、附件字段的文件名

2、批量新建表单

请求方式:POST

请求地址:http(s)://192.168.1.1/ESWeb/api/NewCase

请求Body:

{

 "rtName": "订单",

 "fillerType": 0,

 "filler": "admin",

 "wfOption": 2,

 "wftName": "制单",

 "records": [

   {

     "dts": [

       {

         "dtName": "订单_主表",

         "datas": [

           {

             "flds": [

               {

                 "fldName": "订单编号",

                 "value": "070525010",

                 "fileName": ""

               },

               {

                 "fldName": "客户名称",

                 "value": "陕西xx电力工程公司",

                 "fileName": ""

               }

             ]

           }

         ]

       },

       {

         "dtName": "订单_明细",

         "datas": [

           {

             "flds": [

               {

                 "fldName": "产品名称",

                 "value": "无缝管",

                 "fileName": ""

               },

               {

                 "fldName": "数量",

                 "value": "1000",

                 "fileName": ""

               }

             ]

           },

           {

             "flds": [

               {

                 "fldName": "产品名称",

                 "value": "罗纹钢",

                 "fileName": ""

               },

               {

                 "fldName": "数量",

                 "value": "500",

                 "fileName": ""

               }

             ]

           }

         ]

       }

     ]

   },

   {

     "dts": [

       {

         "dtName": "订单_主表",

         "datas": [

           {

             "flds": [

               {

                 "fldName": "订单编号",

                 "value": "240621010",

                 "fileName": ""

               },

               {

                 "fldName": "客户名称",

                 "value": "陕西xx电力工程公司",

                 "fileName": ""

               }

             ]

           }

         ]

       },

       {

         "dtName": "订单_明细",

         "datas": [

           {

             "flds": [

               {

                 "fldName": "产品名称",

                 "value": "无缝管",

                 "fileName": ""

               },

               {

                 "fldName": "数量",

                 "value": "1000",

                 "fileName": ""

               }

             ]

           },

           {

             "flds": [

               {

                 "fldName": "产品名称",

                 "value": "罗纹钢",

                 "fileName": ""

               },

               {

                 "fldName": "数量",

                 "value": "500",

                 "fileName": ""

               }

             ]

           }

         ]

       }

     ]

   }

 ]

}

参数说明:

参数类型必填说明
rtNamestring模板名称,例:订单
fillerTypeint填报人种类,0:指定姓名,1:主表字段表示填报人姓名
fillerstring填报人,用户姓名或字段名。例:小肖/订单_主表.录入人
wfOptionint模板带工作流时,表单的办理状态。1:第一步暂存,2:指定步骤已办理
wftNamestringwfOption为2时,视为完成的节点名称(不能是需手工指定完成人的节点),例:制单
records.dts.dtNamestring数据表名,例:订单_主表
records.dts.datas.flds.fldNamestring字段名,例:订单编号
records.dts.datas.flds.valuestring字段值,图片、附件字段时,传入文件的Base64编码
records.dts.datas.flds.fileNamestring图片、附件字段时,文件名。

返回结果:

{

 "errcode": 0,

 "errmsg": "ok",

 "hint": "1718351431519170"

}

参数说明:

参数类型说明
errcodeint出错返回码,为0表示成功,非0表示调用失败
errmsgstring返回码提示语
hintstring本次接口调用记录的唯一标识

3、批量修改表单

请求方式:POST

请求地址:http(s)://192.168.1.1/ESWeb/api/UpdateCase

请求Body:

{

 "rtName": "订单",

 "records": [

   {

     "rcId": "rc20240724000003",

     "dts": [

       {

         "dtName": "订单_主表",

         "datas": [

           {

             "flds": [

               {

                 "fldName": "订单编号",

                 "value": "070525010",

                 "fileName": ""

               },

               {

                 "fldName": "客户名称",

                 "value": "陕西xx电力工程公司",

                 "fileName": ""

               }

             ]

           }

         ]

       },

       {

         "dtName": "订单_明细",

         "datas": [

           {

             "flds": [

               {

                 "fldName": "产品名称",

                 "value": "无缝管",

                 "fileName": ""

               },

               {

                 "fldName": "数量",

                 "value": "1000",

                 "fileName": ""

               }

             ]

           },

           {

             "flds": [

               {

                 "fldName": "产品名称",

                 "value": "罗纹钢",

                 "fileName": ""

               },

               {

                 "fldName": "数量",

                 "value": "500",

                 "fileName": ""

               }

             ]

           }

         ]

       }

     ]

   },

   {

     "rcId": "rc20240724000005",

     "dts": [

       {

         "dtName": "订单_主表",

         "datas": [

           {

             "flds": [

               {

                 "fldName": "订单编号",

                 "value": "240621010",

                 "fileName": ""

               },

               {

                 "fldName": "客户名称",

                 "value": "陕西xx电力工程公司",

                 "fileName": ""

               }

             ]

           }

         ]

       },

       {

         "dtName": "订单_明细",

         "datas": [

           {

             "flds": [

               {

                 "fldName": "产品名称",

                 "value": "无缝管",

                 "fileName": ""

               },

               {

                 "fldName": "数量",

                 "value": "1000",

                 "fileName": ""

               }

             ]

           },

           {

             "flds": [

               {

                 "fldName": "产品名称",

                 "value": "罗纹钢",

                 "fileName": ""

               },

               {

                 "fldName": "数量",

                 "value": "500",

                 "fileName": ""

               }

             ]

           }

         ]

       }

     ]

   }

 ]

}

参数说明:

参数类型必填说明
rtNamestring模板名称,例:订单
records.rcIdstring表单编号
records.dts.dtNamestring数据表名。当要修改的数据表为明细表时,需要给出全量数据,即所有明细数据都需传递,只传递需要更新的字段即可。例:订单_主表
records.dts.datas.flds.fldNamestring字段名,当要修改的数据表为交叉表时,需要额外添加rn,cn字段。例:订单编号
records.dts.datas.flds.valuestring字段值,图片、附件字段时,传入文件的Base64编码
records.dts.datas.flds.fileNamestring图片、附件字段时,文件名。

返回结果:

{

 "errcode": 0,

 "errmsg": "ok",

 "hint": "1718351431519170"

}

参数说明:

参数类型说明
errcodeint出错返回码,为0表示成功,非0表示调用失败
errmsgstring返回码提示语
hintstring本次接口调用记录的唯一标识

4、批量删除表单

请求方式:POST

请求地址:http(s)://192.168.1.1/ESWeb/api/DeleteCase

请求Body:

{

 "rtName": "订单",

 "rcIds": "rc20240625000003,rc20240625000005",

 "cond": [

   {

     "dtName": "订单_主表",

     "fldName": "客户名称",

     "value": "广州xx设备公司",

     "op": "="

   },

   {

     "dtName": "订单_主表",

     "fldName": "合计金额",

     "value": "0",

     "op": ">"

   }

 ]

}

参数说明:

参数类型必填说明
rtNamestring模板名称
rcIdsstring表单编号列表,逗号分隔。优先使用此字段确定要删除的表单,此字段为空时,使用cond来确定要删除的表单。
例:rc20240625000003,rc20240625000005
cond.dtNamestring数据表名
cond.fldNamestring数据表字段名
cond.valuestring字段值,统一用string类型,日期格式为yyyy-MM-dd HH:mm:ss
cond.opstring取值范围:=|>|<|>=|<=|<>|like,不传默认=

返回结果:

{

 "errcode": 0,

 "errmsg": "ok",

 "hint": "1718351431519170"

}

参数说明:

参数类型说明
errcodeint出错返回码,为0表示成功,非0表示调用失败
errmsgstring返回码提示语
hintstring本次接口调用记录的唯一标识

错误码说明

代码说明
0ok
100时间戳无效或已过期
101AppKey不存在
102WebApi未启用
103Sign签名错误
104接口调用频繁,请稍后再试
105access_token无效或已过期
106必填参数未指定或无效
107此模板禁止访问
108pageSize的取值范围是1~100
109模板不存在
110未找到符合条件的表单
999其他错误(根据不同情况返回具体信息)


上一节 下一节