如何在Netsuite PHP工具包中创建一个新的AssemblyItem?

时间:2016-09-10 17:10:17

标签: php netsuite

我正在尝试在创建新订单时将Woocommerce中的订单信息作为销售订单发送到Netsuite。为了通过PHP工具包创建新的销售订单,我必须首先创建装配项目。

有没有办法使用PHP-toolkit创建一个新项?

这是一个用于自己创建新项目的PHP代码段。

$service = new NetSuiteService();

$ai = new AssemblyItem();

// Rustica Group Item Form - 20
$ai->customForm = new RecordRef();
$ai->customForm->internalId = 20;

$ai->memberList = new ItemMemberList();

$item_member = array();
$itemMember = new ItemMember();
$itemMember->internalId = 186625;
$item_member[] = $itemMember;

$ai->memberList->itemMember = $item_member;

$ai->itemId = 'Hardware' . $data['itemId'];
$ai->displayName = $data['displayName'];
$ai->vendorName = '';
$ai->cost = $data['price'];
$ai->isTaxable = $data['taxable'];
$ai->description = $data['description'];

$request = new AddRequest();
$request->record = $ai;

$addResponse = $service->add($request);
print_r($addResponse);

if (!$addResponse->writeResponse->status->isSuccess) {
    return "ADD ERROR";
} else {
    return $addResponse->writeResponse->baseRef->internalId;
}

2 个答案:

答案 0 :(得分:1)

ItemMember没有internalid字段。查看schema

看起来应该是这样......

$itemMember = new ItemMember();
$itemMember->item = new RecordRef();
$itemMember->item->internalId = 186625;

你也错过了taxSchedule ..不确定你是否对isTaxable感到困惑

$ai->taxSchedule = new RecordRef();
$ai->taxSchedule->internalId = 1; //whatever tax schedule you're using

答案 1 :(得分:0)

在将要从Woocommerce发送的产品保存到Netsuite之前,您应该预先存储产品的项目。 如果您将项目存储在netsuite上,它们将返回该项目的internal_id。 然后,您可以保存具有返回的内部标识的项目。