如何通过Rest API在Acumatica中插入集合及开放第三方操作端点
在Acumatica中通过REST API插入集合及开放第三方端点的实现方法
问题1:用Acumatica REST API插入集合可行吗?
完全可行。Acumatica的REST API原生支持批量插入集合数据,不管是系统自带的标准实体集合,还是自定义的实体集合,都能实现。
一、自身通过REST API插入集合的步骤
- 确认实体结构:打开Acumatica的API实体浏览器(Entity Browser),找到目标实体的集合字段名称,比如销售订单的明细行集合叫
Details,同时记好所有必填字段(如InventoryID、Quantity)。 - 构造请求体:按照Acumatica的JSON格式编写请求内容,集合部分以数组形式传入。举个销售订单明细的示例:
{ "Type": {"value": "SO"}, "CustomerID": {"value": "ABARTENDE"}, "Details": [ { "InventoryID": {"value": "AALEGO500"}, "Quantity": {"value": 2}, "UnitPrice": {"value": 100.00} }, { "InventoryID": {"value": "AALEGO1000"}, "Quantity": {"value": 1}, "UnitPrice": {"value": 150.00} } ] } - 发送POST请求:调用对应实体的端点,比如销售订单的端点是
/entity/Default/23.200.001/SalesOrder,请求方法选择POST,请求头设置Content-Type: application/json,同时带上Acumatica的身份验证信息(如Bearer Token)。
二、开放端点供第三方插入集合的实现方法
方案1:使用标准实体端点(优先推荐)
无需额外开发,直接开放Acumatica现成的标准实体端点给第三方,但要做好权限管控:
- 在Acumatica中创建专门的API用户,仅为该用户分配目标实体的插入权限(通过角色和访问权限设置)。
- 将端点URL、实体版本(如
23.200.001)、请求格式、必填字段清单告知第三方,同时提供安全的身份验证方式(推荐用OAuth2,比基本认证更安全)。
方案2:自定义REST端点(适配特殊业务场景)
如果标准实体无法满足自定义业务逻辑,可开发专属端点:
- 第一步:创建自定义DAC(数据访问类),定义集合对应的主DAC和子DAC(若为父子结构),添加必要的属性标签(如
PXPrimaryGraph、PXUIField)。 - 第二步:编写自定义Graph类,继承自
PXGraph,实现集合插入的业务逻辑,比如数据校验、特殊处理,也可重写Persist方法或添加自定义动作。 - 第三步:发布自定义端点:在Acumatica的
Endpoint编辑器中新建端点,关联自定义Graph和DAC,仅开启POST插入操作。 - 第四步:配置权限:为第三方用户分配该自定义端点的访问权限,确保他们仅能执行插入操作,限制其他权限。
关键注意事项
- 安全优先:必须使用安全的认证方式,禁止明文传输凭据;定期更新密钥和权限配置。
- 数据校验:不管用标准还是自定义端点,都要在Acumatica端做好数据验证,比如字段合法性、业务规则检查,防止脏数据插入。
- 版本控制:明确告知第三方端点版本号,后续版本更新时尽量保持向后兼容,或提前通知变更。
内容的提问来源于stack exchange,提问作者Abhishek
相关产品推荐
相关产品推荐

