1. Go to this page and download the library: Download aditto/netsuite-client library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
aditto / netsuite-client example snippets
use Ditto\NetSuiteClient\Laravel\Facades\NetSuite;
$customer = NetSuite::get('customer', '123');
$customer->get('companyName');
$created = NetSuite::create('customer', ['companyName' => 'Acme Co']);
NetSuite::update('customer', '123', ['email' => '[email protected]']);
NetSuite::delete('customer', '123');
$results = NetSuite::query("SELECT id, companyName FROM customer WHERE isinactive = 'F'");
foreach ($results as $row) {
// $row is a raw associative array — SuiteQL rows have no fixed record shape.
}
use Ditto\NetSuiteClient\Auth\AuthMethod;
use Ditto\NetSuiteClient\Auth\TokenBasedAuthStrategy;
use Ditto\NetSuiteClient\Http\EndpointBuilder;
use Ditto\NetSuiteClient\Http\HttpClient;
use Ditto\NetSuiteClient\NetSuiteConfig;
use Ditto\NetSuiteClient\RecordClient;
use Ditto\NetSuiteClient\Responses\ResponseParser;
$config = new NetSuiteConfig(
accountId: '1234567_SB1',
authMethod: AuthMethod::TokenBasedAuth,
consumerKey: '...',
consumerSecret: '...',
tokenId: '...',
tokenSecret: '...',
);
$client = new RecordClient(
new HttpClient($config, new TokenBasedAuthStrategy($config)),
new EndpointBuilder($config),
new ResponseParser(),
);
$client->get('customer', '123');
use Ditto\NetSuiteClient\Http\FileRequestLogger;
use Ditto\NetSuiteClient\Http\HttpClient;
use Ditto\NetSuiteClient\Http\LoggingMiddleware;
use Ditto\NetSuiteClient\Http\RetryMiddleware;
use GuzzleHttp\Client as GuzzleClient;
$client = new HttpClient($config, $authStrategy, new RetryMiddleware(
new LoggingMiddleware(new GuzzleClient(), new FileRequestLogger('/path/to/log/dir')),
maxAttempts: $config->maxAttempts,
));
// Before (netsuitephp/netsuite-php, SOAP)
public function unsubscribeContact(object $contact): void
{
$contactRecord = new Contact;
$contactRecord->internalId = $contact->internalId;
$customFields = new CustomFieldList;
$subscriberStatus = new BooleanCustomFieldRef;
$subscriberStatus->value = false;
$subscriberStatus->scriptId = 'custentity_email_subscribed';
$customFields->customField[] = $subscriberStatus;
$contactRecord->customFieldList = $customFields;
$request = new UpdateRequest;
$request->record = $contactRecord;
$updateResponse = $this->service->update($request);
if (! $updateResponse->writeResponse->status->isSuccess) {
throw new RuntimeException('Unable to update the Contact.');
}
}
// After (this package, REST)
public function unsubscribeContact(object $contact): void
{
$this->recordClient->update('contact', $contact->internalId, [
'custentity_email_subscribed' => false,
]);
}