Netsuite Phptoolkit无法确定客户编译

时间:2018-03-14 03:52:59

标签: php netsuite suitescript2.0 php-toolkit

尝试使用phptoolkit获取客户信息 这是我的代码:

function getCustomer(){
  $service = new NetSuiteService();

  $request = new GetRequest();
  $request->baseRef = new RecordRef();
  $request->baseRef->account_id = "252206";
  $request->baseRef->type = "customer";
  $getResponse = $service->get($request);

  if (!$getResponse->readResponse->status->isSuccess) {
     echo "GET ERROR";
  } else {
     $customer = $getResponse->readResponse->record;
     echo "GET SUCCESS, customer:";
     echo "\nCompany name: ". $customer->companyName;
     echo "\nInternal Id: ". $customer->internalId;
     echo "\nEmail: ". $customer->email;
  }
}

得到这样的错误。

  

致命错误:未捕获的SoapFault异常:[soapenv:Server.userException]无法确定phptoolkit / NSPHPClient.php中的客户编译:338堆栈跟踪:#0 phptoolkit / NSPHPClient.php(338):SoapClient-> __ soapCall( ' get',Array,NULL,Array)#1 phptoolkit / NetSuiteService.php(145953):NSPHPClient-> makeSoapCall(' get',Object(GetRequest))#2 netsuite。 php(23):NetSuiteService-> get(Object(GetRequest))#3

2 个答案:

答案 0 :(得分:1)

基于netsuite文档 RecordRef仅接受internalIdtype

$request->baseRef = new RecordRef();
$request->baseRef->internalId = "252206";
$request->baseRef->type = "customer";

答案 1 :(得分:0)

您需要知道公司ID并将其放入您的设置文件中。还需要用户电子邮件地址,密码,角色内部ID和应用程序ID。这些用于创建护照。

如果您的集成使用基于令牌的授权,则要求不同。

查看工具包中的示例。