随着企业发展,作为企业信息化的基座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. 技术架构优势
- 现代化技术栈 :采用.NET 10.0最新框架,享受最新性能优化和安全特性
- 分层架构清晰 :Controller → Service → Interface → Entity 分层明确,职责分离
- 多数据库支持 :同时支持SQL Server和SQLite,适应不同部署环境
- 多账套设计 :通过工厂模式实现多租户数据库上下文管理
2. 功能完整性
- 业务模块丰富 :覆盖采购(PUR)、库存(INV)、销售(COP)、生产(MOC)、财务(ACP)、质量(QMS)、工单(SFC)等ERP核心模块
- 认证授权完善 :JWT认证 + 许可证管理 + IP白名单 + API权限控制
- 性能优化措施 :Redis分布式缓存 + 内存缓存 + 缓存预热 + 输出缓存
- 安全保障机制 :限流保护 + 异常处理 + 参数验证 + SQL注入防护
3. 代码质量
- 注释规范 :完整的XML文档注释,Swagger自动生成API文档
- 异常处理 :全局异常处理中间件,分类处理不同类型异常
- 数据验证 :多层验证机制(模型验证 + 业务逻辑验证 + 数据完整性验证)
- 依赖注入 :全面使用DI容器,松耦合设计
4. 开发体验
- 开发工具支持 :完整的Swagger UI,便于接口测试和文档查看
- 日志系统 :Serilog结构化日志,分级记录(Info/Warning/Error/Fatal)
- 健康检查 :内置健康检查端点,便于监控
- 自动化映射 :AutoMapper对象映射,减少手动转换代码
五、接口文档
德仔易飞WebApi
六、审核类型
1.常规审核:单别+单号
.jpeg#pic_center =300x400)
易飞WEBAPI接口
2.特殊模块审核:进货验收(单别,单号,行号 )
进货验收+变更单版本
3.变更单审核:单别+单号+版本
4. 常规单据作废
5. 变更单作废
6.单号不存在或单别单号系统已存在,则自动生成符合单据性质设定的单据号。
7. 单身校验逻辑
品号不存在或品号未核准状态
单据性质设定核对来源单。
采购变更单订单数量校验
若采购订单已存在已交货数量,变更后的订单数量不允许小于已交货数量
8.查询支持分页和多种维度查询
特别是支持返回指定列。9.多维度校验确保数据完整性和准确性
- 校验数据合规:供应商、仓库、客户、品号、工作中心、付款条件等
- 税率、汇率、发票种类、品号类型
- 主档和明细档都存在自定义属性异常。区分主档和明细档:
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 <生成的授权码>
- 已授权
未授权
未携带
携带空值
携带错误的LisenceKey
九. 接口请求示例
有些朋友希望有个调用的示例
- 测试效果
- html
<!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服务器/数据库压力。
数据不一致: 检查接口调用逻辑(事务性考虑)、数据同步时机。
十一、支持颗粒度到单接口的授权
本接口支持细化到单一接口的灵活授权,为用户提供更多选择
十二、关于服务
技术赋能,服务贴心。
快速响应,只为您的绝对满意。
我们不止解决问题,更致力于成就您的成功。
7x24小时在线的专业力量,您的可靠技术后盾。
高效稳定运维,无忧极致体验。
我们提供从咨询、部署到培训、优化的一站式专业服务