PHP code example of aditto / netsuite-client

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,
    ]);
}
bash
php artisan vendor:publish --tag=netsuite-client-config