tjsteinhaus / netsuite-php
NetSuite PHP API 包装器,最初由 Ryan Winchester 构建。
v2017.2
2017-08-31 20:45 UTC
Requires
- php: >=5.3.0
- ext-openssl: *
- ext-simplexml: *
- ext-soap: *
- paragonie/random_compat: ^2.0
Requires (Dev)
- phpspec/phpspec: ^2.4
This package is not auto-updated.
Last update: 2024-09-28 01:43:05 UTC
README
NetSuite 的 PHP API 客户端包,源自 NetSuite PHP 工具包。
将包添加到您的项目中
使用 Composer 需要
V2 在 Alpha 版本
注意:包名更改
composer require "tjsteinhaus/netsuite-php"
v2 的更改
- 更改命名空间
- 显著简化了 NetSuiteClient
- 添加了使用环境变量进行配置的便利方法来创建实例
- 改进了日志记录,即使在 soap 调用中抛出异常也会记录。
快速入门
实例化 NetSuiteService 类
其余示例假设您已经完成了此操作。
require 'vendor/autoload.php'; use NetSuite\NetSuiteService; $config = array( // required ------------------------------------- "endpoint" => "2017_1", "host" => "https://webservices.netsuite.com", "email" => "jDoe@netsuite.com", "password" => "mySecretPwd", "role" => "3", "account" => "MYACCT1", "app_id" => "4AD027CA-88B3-46EC-9D3E-41C6E6A325E2", // optional ------------------------------------- "logging" => true, "log_path" => "/var/www/myapp/logs/netsuite" ); $service = new NetSuiteService($config);
检索客户记录
use NetSuite\Classes\GetRequest; use NetSuite\Classes\RecordRef; $request = new GetRequest(); $request->baseRef = new RecordRef(); $request->baseRef->internalId = "123"; $request->baseRef->type = "customer"; $getResponse = $service->get($request); if ( ! $getResponse->readResponse->status->isSuccess) { echo "GET ERROR"; } else { $customer = $getResponse->readResponse->record; }
搜索以 "j" 开头的电子邮件的客户
use NetSuite\Classes\SearchStringField; use NetSuite\Classes\CustomerSearchBasic; use NetSuite\Classes\SearchRequest; $service->setSearchPreferences(false, 20); $emailSearchField = new SearchStringField(); $emailSearchField->operator = "startsWith"; $emailSearchField->searchValue = "j"; $search = new CustomerSearchBasic(); $search->email = $emailSearchField; $request = new SearchRequest(); $request->searchRecord = $search; $searchResponse = $service->search($request); if (!$searchResponse->searchResult->status->isSuccess) { echo "SEARCH ERROR"; } else { $result = $searchResponse->searchResult; $count = $result->totalRecords; $records = $result->recordList; echo $count . " records were found."; }
添加新客户
use NetSuite\Classes\Customer; use NetSuite\Classes\RecordRef; use NetSuite\Classes\AddRequest; $customer = new Customer(); $customer->lastName = "Doe"; $customer->firstName = "John"; $customer->companyName = "ABC company"; $customer->phone = "123456789"; $customer->email = "joe.doe@abc.com"; $customer->customForm = new RecordRef(); $customer->customForm->internalId = -8; $request = new AddRequest(); $request->record = $customer; $addResponse = $service->add($request); if (!$addResponse->writeResponse->status->isSuccess) { echo "ADD ERROR"; } else { echo "ADD SUCCESS, id " . $addResponse->writeResponse->baseRef->internalId; }
日志记录
您可以在任何时候打开或关闭日志记录,或覆盖传入的配置设置。请注意,如果您在配置或之后未指定日志目录,则无论您做什么都不会记录日志。
设置日志路径
$service->setLogPath('/path/to/logs');
打开日志记录
$service->logRequests(true); // Turn logging on.
关闭日志记录
$service->logRequests(false); // Turn logging off.
基于令牌的认证
您可以使用 consumerKey
/consumerSecret
/token
/tokenSecret
形式的凭据来传递一组凭据,而不是使用标准凭据方法实例化 NetSuiteService
。
$config = array( // required ------------------------------------- "endpoint" => "2017_1", "host" => "https://webservices.netsuite.com", "account" => "MYACCT1", "consumerKey" => "0123456789ABCDEF", "consumerSecret" => "0123456789ABCDEF", "token" => "0123456789ABCDEF", "tokenSecret" => "0123456789ABCDEF", // optional ------------------------------------- "signatureAlgorithm" => 'sha256', // Defaults to 'sha256' ); $service = new NetSuiteService($config);
状态
- 从单个文件中提取约 1500 个类...
- 具有自动加载的 Composer 包
- 通过构造函数传递配置
- 可选环境变量配置
- 命名空间
- 日志记录
许可证
原始作品 版权归 © 2010-2015 NetSuite Inc. 并提供“现状”。请参阅 NetSuite 工具包许可协议 文件。
所有附加工作均根据包含的 LICENSE 文件在 Apache 2.0 开源软件许可下进行许可。