当前位置: 首页 > news >正文

【易飞】易飞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服务器/数据库压力。
数据不一致: 检查接口调用逻辑(事务性考虑)、数据同步时机。

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

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

十二、关于服务

http://www.jsqmd.com/news/1256573/

相关文章:

  • 三大核心优势:WorkshopDL如何成为Steam创意工坊下载的最佳选择
  • 在FreeBSD的Uubntu兼容环境下安装Reasonix
  • 我的音视频/流媒体/深度学习开源项目(github)
  • 线性回归-学习笔记
  • 搜狗建站收录百度却搜索不到原因:蜘蛛抓取其实有这2个偏好
  • 【Rust中级教程】1.1. 指针概览(上):什么是指针、指针和引用的区别
  • 【研发类-前端开发Skills】antigravity-design-expert 技能
  • WeChatExporter终极指南:如何免费永久备份微信聊天记录
  • 抖音直播录制神器:轻松保存40+平台直播内容的完整指南
  • 【Rust中级教程】2.10. API设计原则之受约束性(constrained) Pt.1:对类型进行修改、`#[non_exhaustive]`注解
  • 2026 年当下,湖州有实力的衣橱整理收纳培训供货商哪个好,扔掉后悔!衣橱焕新自救指南-娘子帮母婴 - 品质体验官
  • 目标检测:视觉系统中的CNN-Transformer融合网络
  • Python基础5-18
  • python元组知识点
  • 游戏客服响应效率提升300%:揭秘头部厂商AI机器人背后的真实训练数据与对话引擎架构
  • 抖音下载神器:如何用免费工具一键批量下载无水印视频?
  • 5大核心技术构建高效抢票自动化系统:从原理到实战的完整指南
  • AI数字人直播月入10万+的5个真实案例:从零搭建到稳定变现的全流程拆解
  • 阿拉善出发西藏年度口碑榜:2026纯玩小团冠军揭晓,这家15年地接社凭什么?| 附:旅行社电话 - 西藏康泰旅行社
  • Three.js 城市混合Shader教程
  • 3步解锁网易云音乐NCM文件:ncmdumpGUI完整使用指南
  • Micrometer 系列【4】入门案例
  • Python 项目配置管理:用 pydantic-settings 管理 RAG 服务的多环境配置
  • 如何彻底移除Windows Defender:系统管理员终极指南与性能优化工具
  • day8
  • 电瓶车托运专线物流哪家靠谱?慧寄侠整车直发不拆电池260元起 - 快递物流资讯
  • svn背景颜色和符号,图解详细说明
  • 03-Kmeans-顾客数据聚类分析
  • Linux调试方法
  • 【MQTT】paho.mqtt.c 库的“介绍、下载、交叉编译” 详解,以及编写MQTT客户端例子源码