NetSuite REST API SuiteTalk 创建销售订单

问题描述 投票:0回答:1

我在使用 NetSuite 的 REST API 创建销售订单时遇到很大困难:

my @items;
my $it={
        'item'=>{
        'id'=>'55554',
    },
    'quantity'=>1,
    'amount'=>100.0,
    'taxAmount'=>20.0,
};
push @items,$it;    
my $pp={
        'entity'=>{
        'id’=>’12345'
    },
    'otherrefnum'=>'999999999',
    'memo'=>'This is a test order - please IGNORE',
    'exchangeRate'=>1.00,
    'location'=>{
        'id'=>7,
    },
    'item'=>{
        'items'=>[@items]
    },
    'currency'=>{
        'id'=>'1'
    },
    'subtotal'=>100.00,
    'taxTotal'=>20.00,
    'total'=>120.00,
};
my $rslt=ns_call('/services/rest/record/v1/salesOrder',$pp,'','POST');

我总是得到

'detail' => 'Error while accessing a resource. You have entered an Invalid Field Value 1 for the following field: currency.'

如果我删除货币声明,它会说它需要货币记录。

否则,我可以修补任何现有的销售订单,并且通常可以毫无问题地调用 REST API。对于插入销售订单,我缺少什么?

有人有什么想法吗?

rest netsuite suitetalk
1个回答
0
投票

尝试使用这种结构:

"currency": {
    "id": "1",
    "externalId": null,
    "typeSpecified": false,
    "name": null
}

就我而言,效果很好。但在使用ID = 1之前需要检查该ID是否存在。

您可以通过 Postman 运行简单的查询:

{
   "q": "select * from currency"
}

只是为了确保列表中存在 ID=1 的货币

© www.soinside.com 2019 - 2024. All rights reserved.