我正在尝试在创建新订单时将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;
}
答案 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。 然后,您可以保存具有返回的内部标识的项目。