rest - Acumatica REST API 端点操作调用失败
问题描述
** 注意:任何批评 Acumatica 的 StackOverflow 问题都会被否决。
我正在尝试使 REST Web-Service-Endpoint Action 正常工作。
扩展默认端点,我添加了一个 Action CreateShipmentAction。
URL: .../17.200.001/SalesOrder/CreateShipmentAction
SEND: {'entity':{'OrderNbr':{'value':'ME050225'},'OrderType':{'value':'SO'}},'parameters':{'value':null}}
METHOD: post
这很好用。
按照相同的过程,我将 CancelPurchaseOrderAction 添加到采购订单。
URL: .../17.200.001/PurchaseOrder/CancelPurchaseOrderAction
SEND: {'entity':{'OrderNbr':{'value':'ME006802'},'OrderType':{'value':'DP'}},'parameters':{'value':null}}
METHOD: post
失败并显示“取消订单按钮已禁用”。手动检查采购订单,取消订单按钮通过网站处于活动状态。
如果我将“实体” OrderNbr 更改为
SEND: {'entity':{'OrderNbr':{'value':'xxxME006802'},'OrderType':{'value':'DP'}},'parameters':{'value':null}}
这不应该匹配任何东西,我得到同样的错误。就像我的 PurchaseOrder 的“实体”格式不正确。
我会在 Acumatica 文档中查找 PurchaseOrder 的“实体”的必要格式,但我找不到任何文档。VIEW_ENDPOINT_SERVICE 文档也没有说明这一点,我认为他们应该这样做(否则,如果未定义参数,为什么还要有 API ......)
解决方案
可以肯定的一件事是,在处理 Acumatica Web Service 时,您还需要使用浏览器中的屏幕。
Web Service 只能做在屏幕上可以做的事情。
因此,如果您转到采购订单屏幕并查看记录,是否启用了取消订单按钮?
我在测试时注意到,对于销售订单和采购订单,相同的步骤不会启用这两个操作。至少使用安装程序提供的销售演示数据时的默认设置。
对于销售订单,该记录只需不是“暂挂”即可启用“创建发货”操作。
尽管对于采购订单,您不仅不需要“暂停”,还需要在启用“取消”按钮之前使用“批准”操作。
如果我在完成这些操作之前使用取消订单操作,我会遇到与您在问题中提到的相同的错误,但是一旦完成这些步骤,我就可以正确取消订单。
我使用的请求是遵循
- 销售订单
.../entity/DefaultPlus/17.200.001/SalesOrder/CreateShipmentAction
{
"entity":
{
"OrderType":{"value":"SO"},
"OrderNbr":{"value":"SO004264"}
},
"parameters":
{
"ShipmentDate":{"value":"06/05/2019"},
"WarehouseID":{"value":"RETAIL"}
}
}
- 采购订单
.../entity/DefaultPlus/17.200.001/PurchaseOrder/CancelPurchaseOrderAction
{
"entity":
{
"Type":{"value":"Normal"},
"OrderNbr":{"value":"PO000701"}
}
}
推荐阅读
- react-native - React Native 语言更改不会立即影响
- python - Django App:对数据库中的两个字段执行算术运算并将结果存储在数据库中的第三个字段中,同时在表单中添加数据
- matlab - 为什么相等的矩阵显示不同的图片?
- python-3.x - pytorch 模型加载和预测,AttributeError: 'dict' object has no attribute 'predict'
- laravel - Laravel 错误:类 Torann\GeoIP\Location 的对象无法转换为字符串
- vba - 无法设置 Internet Explorer 11 以获得焦点
- java - 创建 ConditionalFormattingRule 时出现 org.apache.xmlbeans.impl.values.XmlValueDisconnectedException
- java - 媒体路由按钮膨胀
- mongodb - 如果其中的一个数组包含另一个文档数组中存在的元素,如何对多个文档进行分组?
- javascript - 如何在chartjs图表中设置数据项之间的差距