【易飞】易飞ERP全能WebAPI发布:全单据CRUD与审核流操作,RESTful风格覆盖所有版本

📅 2026/7/24 20:55:52 👁️ 阅读次数 📝 编程学习
【易飞】易飞ERP全能WebAPI发布:全单据CRUD与审核流操作,RESTful风格覆盖所有版本

随着企业发展,作为企业信息化的基座ERP系统承载着和周边系统进行异构对接,如:WMS
、QMS、SRM、PLM、MES、CRM、APS、OA等系统对接。现在大部分新版本ERP系统大都提供了免费或者收费的标准接口。作为一款经典的易飞ERP系统仍然有着广泛的客户群体,提供一款符合现代风格的接口显得的尤为重要。同时也可以作为内部自研异构系统接口使用。

一、ERP系统接口的应用场景

ERP接口主要分为两大类:内部系统集成接口和外部生态协同接口。
详见:https://blog.csdn.net/david_520042/article/details/162268946?spm=1001.2014.3001.5501

二、系统更新日志

详见:https://blog.csdn.net/david_520042/article/details/162268818?spm=1001.2014.3001.5501

三、主要功能

单据查询读取新增更新删除审核撤审作废
单据性质
工厂信息
仓库信息
工作中心
部门信息
币种信息
假日表
职务类别
员工信息
公司信息
付款条件
项目信息
供应商信息
询价单
供应商料件价格
验退件退回
核价单
请购单
采购单
采购变更单
进货单
退货单
进货单验收
到货单
客户信息
客户商品价格
销售预测
报价单
销售订单
订单变更单
销货单
销退单
出货通知单
客户品号
品号类别
品号信息
品号信息
库存交易单
调拨单
库存交易信息
品号月档
报废单
销毁单
借出\入单
借出\入归还单
取替代料
BOM信息
工程品号
录入BOM
BOM变更单
录入EBOM
EBOM变更单
组合单
拆解单
工单拆分
工单
领料单
退料单
生产入库单
委外进货单
委外退货单
工单变更单
班组成员
销售发票
收款单
其他收款单
应收退款单
预收款单
采购发票
付款单
费用发票
其他应付单
应付退款单
预付款单
会计科目
会计凭证
抽查基础
品管类别
检验项目
品号检验项目
不良原因
计量抽查基础
进货检验单
委外进货检验单
生产入库检验单
销退检验单
到货检验单
委外到货检验单
委外价格 ✔
委外核价单
委外进货单验收
委外到货单
委外验退件退回
报工单
转移单

四、本接口特性:

特性实现方式
设计清晰RESTful版本控制,Swagger文档
结构良好分层架构,关注点分离
功能丰富涵盖大部分业务,接口>=580+
格式统一统一的响应包装和错误处理
实务管理删除、新增、更新支持事务管理
安全可靠认证、授权、CROS、输入验证,输入清理-参数化,速率限制
高效性能异步,缓存,分页
易于维护清晰的命名,日志,测试,依赖注入
可扩展使用DTO和AuoMapper,解耦各层

项目名称 :易飞ERP Web API
技术框架 :.NET 10.0 + ASP.NET Core
架构模式 :分层架构 + 多模块设计
项目规模 :6个子项目,100+控制器文件

✅ 项目优势

1. 技术架构优势

2. 功能完整性

3. 代码质量

4. 开发体验

五、接口文档

德仔易飞WebApi

六、审核类型

1.常规审核:单别+单号



.jpeg#pic_center =300x400)

2.特殊模块审核:进货验收(单别,单号,行号 )

3.变更单审核:单别+单号+版本


4. 常规单据作废


5. 变更单作废

6.单号不存在或单别单号系统已存在,则自动生成符合单据性质设定的单据号。

7. 单身校验逻辑

  1. 品号不存在或品号未核准状态

  2. 单据性质设定核对来源单。

  3. 采购变更单订单数量校验
    若采购订单已存在已交货数量,变更后的订单数量不允许小于已交货数量

8.查询支持分页和多种维度查询

特别是支持返回指定列。

9.多维度校验确保数据完整性和准确性

  1. 校验数据合规:供应商、仓库、客户、品号、工作中心、付款条件等
  2. 税率、汇率、发票种类、品号类型
  3. 主档和明细档都存在自定义属性异常。区分主档和明细档:

10.压力测试

每间隔1ms请求一次,连续请求500次

通过率100%,失败率0%

11.JWT安全访问(可选)

参考文档1:【JWT】Asp.Net Core中JWT刷新Token解决方案
参考文档2:[WebApi]ASP.Net Core 中使用JWT认证(3.1版本,5.0也可以使用)

七. 部署文档

YiFeiWebApi接口部署文档

八. X-API-License 接口授权

请求头部携带:X-API-License <生成的授权码>

  1. 已授权

  1. 未授权

  2. 未携带

  3. 携带空值

  4. 携带错误的LisenceKey

九. 接口请求示例

有些朋友希望有个调用的示例

<!DOCTYPEhtml><htmllang="zh-CN"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width, initial-scale=1.0"><title>WebAPI 请求示例</title><scriptsrc="https://code.jquery.com/jquery-3.6.0.min.js"></script><style>body{font-family:Arial,sans-serif;max-width:800px;margin:0 auto;padding:20px;}button{padding:10px 15px;background-color:#4CAF50;color:white;border:none;border-radius:4px;cursor:pointer;}button:hover{background-color:#45a049;}#response{margin-top:20px;padding:15px;border:1px solid #ddd;border-radius:4px;background-color:#f9f9f9;white-space:pre-wrap;}</style></head><body><h1>WebAPI 请求示例</h1><p>点击按钮发送请求到 WebAPI 接口</p><buttonid="sendRequest">发送请求</button><h2>响应结果:</h2><divid="response">等待发送请求...</div><script>$(document).ready(function(){$("#sendRequest").click(function(){// 准备请求数据constrequestData={"std_data":{"parameter":{"page_no":41,"conditions":{"fields":[{"value":"1027","operator":"=","field_name":"doc_type_no"}],"operator":"AND"},"use_has_next":false,"page_size":65}}};// 显示正在发送请求$("#response").text("正在发送请求...");console.log("正在发送请求...",requestData);// 发送 AJAX 请求$.ajax({url:"http://localhost:48557/api/Cmsi01/Query?company=ZE",type:"POST",contentType:"application/json",data:JSON.stringify(requestData),headers:{"X-API-License":"XXXXYYYY","X-API-CompanyId":"001"},success:function(response){// 请求成功,显示响应数据constformattedResponse=JSON.stringify(response,null,2);$("#response").text(formattedResponse);// 输出到控制台console.log("请求成功,响应数据:");console.log(response);console.log("格式化后的响应数据:");console.log(formattedResponse);},error:function(xhr,status,error){// 请求失败,显示错误信息leterrorMessage="请求失败:\n";errorMessage+="状态: "+status+"\n";errorMessage+="错误: "+error+"\n";if(xhr.responseText){try{consterrorResponse=JSON.parse(xhr.responseText);errorMessage+="详细信息: "+JSON.stringify(errorResponse,null,2);}catch(e){errorMessage+="响应文本: "+xhr.responseText;}}$("#response").text(errorMessage);// 输出错误到控制台console.error("请求失败:");console.error("状态:",status);console.error("错误:",error);console.error("完整错误对象:",xhr);}});});});</script></body></html>

十、 常见问题与故障排除

认证失败 (401): 检查凭证有效性、过期时间、Header格式。
参数错误 (400): 检查URL路径、查询参数、请求体JSON格式、字段名拼写、数据类型、必填项。
资源未找到 (404): 检查URL路径是否正确,资源ID是否存在。
服务器错误 (5xx): 联系易飞系统管理员,检查服务器日志。
性能瓶颈: 分析是网络问题、客户端问题还是易飞API服务器/数据库压力。
数据不一致: 检查接口调用逻辑(事务性考虑)、数据同步时机。

十一、支持颗粒度到单接口的授权

本接口支持细化到单一接口的灵活授权,为用户提供更多选择

十二、关于服务