将 WooCommerce 订单发送到 NetSuite
Sending WooCommerce order to NetSuite
我正在尝试使用 Rest API 从 WooCommerce 获取订单,并将该信息作为销售订单添加到 NetSuite 中。我可以成功地从 WooCommerce 中获取订单信息,但是在使用 PHPToolkit 将订单添加到 NetSuite 时我没有成功。这是我目前所拥有的:
<?php
/*
* Add a customer to Netsuite.
*
* paramtypesmap
*
*/
require_once 'includes/functions.php';
// create array of fields
$itemArr = array();
$i = 0;
$service = new NetSuiteService();
$salesOrder = new SalesOrder();
$salesOrder->entity = new RecordRef();
$salesOrder->entity->internalId = 512;
$salesOrder->entity->type = 'customer';
$salesOrder->shipDate = formatDate('2014-10-06T07:12:57.000-07:00');
$service = new NetSuiteService();
$service->setSearchPreferences(false, 1000);
$siteCategory = new SearchMultiSelectField();
$siteCategory->operator = "anyOf";
$siteCategory->searchValue = array('internalId' => 512);
$search = new ItemSearchBasic();
$search->internalId = $siteCategory;
$request = new SearchRequest();
$request->searchRecord = $search;
$searchResponse = $service->search($request);
$products = $searchResponse->searchResult->recordList->record;
$salesOrder->itemList = new SalesOrderItemList();
$item = new SalesOrderItem();
$item->item = new RecordRef();
$item->item->internalId = 531;
$item->quantity = 1;
//removeEmpty($item->item);
//removeEmpty($item);
$item->price = new RecordRef();
$item->price->internalId = 1;
$item->amount = 55.3;
$salesOrder->itemList->item=array(0=>$item);
//Equivalent too print_r
pr($item);
//Equivalent too print_r
pr($salesOrder);
removeEmpty($salesOrder);
$request = new AddRequest();
$request->record = $salesOrder;
//$service->setFields($purchaseOrderFields);
$response = $service->add($request);
if (!$response->writeResponse->status->isSuccess) {
echo getErrors($response->writeResponse);
} else {
echo success($response->writeResponse->baseRef->internalId);
}
?>
我只是想从头开始工作,看看需要哪些字段以及如何构建它们,但是当 运行:
时我不断收到此错误
Please choose a child matrix item
过去几天我一直在尝试 Google 解决这个问题,但幸运的是一无所获。谁能帮我解决这个问题?
根据错误消息,您正在尝试提交父矩阵项而不是子矩阵项。通过检查内部 ID 为 531 的项目记录来验证它。
获得正确内部 ID 的最佳方法是将 Matrix Items 作为可变产品直接从 NetSuite 导入 WooCommerce。为每个变体分配内部 ID。
我正在尝试使用 Rest API 从 WooCommerce 获取订单,并将该信息作为销售订单添加到 NetSuite 中。我可以成功地从 WooCommerce 中获取订单信息,但是在使用 PHPToolkit 将订单添加到 NetSuite 时我没有成功。这是我目前所拥有的:
<?php
/*
* Add a customer to Netsuite.
*
* paramtypesmap
*
*/
require_once 'includes/functions.php';
// create array of fields
$itemArr = array();
$i = 0;
$service = new NetSuiteService();
$salesOrder = new SalesOrder();
$salesOrder->entity = new RecordRef();
$salesOrder->entity->internalId = 512;
$salesOrder->entity->type = 'customer';
$salesOrder->shipDate = formatDate('2014-10-06T07:12:57.000-07:00');
$service = new NetSuiteService();
$service->setSearchPreferences(false, 1000);
$siteCategory = new SearchMultiSelectField();
$siteCategory->operator = "anyOf";
$siteCategory->searchValue = array('internalId' => 512);
$search = new ItemSearchBasic();
$search->internalId = $siteCategory;
$request = new SearchRequest();
$request->searchRecord = $search;
$searchResponse = $service->search($request);
$products = $searchResponse->searchResult->recordList->record;
$salesOrder->itemList = new SalesOrderItemList();
$item = new SalesOrderItem();
$item->item = new RecordRef();
$item->item->internalId = 531;
$item->quantity = 1;
//removeEmpty($item->item);
//removeEmpty($item);
$item->price = new RecordRef();
$item->price->internalId = 1;
$item->amount = 55.3;
$salesOrder->itemList->item=array(0=>$item);
//Equivalent too print_r
pr($item);
//Equivalent too print_r
pr($salesOrder);
removeEmpty($salesOrder);
$request = new AddRequest();
$request->record = $salesOrder;
//$service->setFields($purchaseOrderFields);
$response = $service->add($request);
if (!$response->writeResponse->status->isSuccess) {
echo getErrors($response->writeResponse);
} else {
echo success($response->writeResponse->baseRef->internalId);
}
?>
我只是想从头开始工作,看看需要哪些字段以及如何构建它们,但是当 运行:
时我不断收到此错误Please choose a child matrix item
过去几天我一直在尝试 Google 解决这个问题,但幸运的是一无所获。谁能帮我解决这个问题?
根据错误消息,您正在尝试提交父矩阵项而不是子矩阵项。通过检查内部 ID 为 531 的项目记录来验证它。
获得正确内部 ID 的最佳方法是将 Matrix Items 作为可变产品直接从 NetSuite 导入 WooCommerce。为每个变体分配内部 ID。