node-suitetalk

0.0.8 • Public • Published

node-suitetalk

NodeJS Suitetalk wrapper

Install

$ npm install --save node-suitetalk

Usage

Get a customer:

const NetSuite = require("node-suitetalk");
const Configuration = NetSuite.Configuration;
const Service = NetSuite.Service;
const Record = NetSuite.Record;

const config = new Configuration({
    account: "123456_SB1",
    apiVersion: "2019_2",
    accountSpecificUrl: true, // Enable for new format
    credentials: {
        email: "email@netsuite.com",
        password: "netsuitepassword",
        role: "3",
        applicationId:"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
    },
    wsdlPath: "./wsdl/WSDL_v2019_2_0/netsuite.wsdl",
});

const service = new Service(config);

service
    .init()
    .then((/*client*/) => { 

       const recordRef = new Record.Types.RecordRef();
       recordRef.internalId = 1234567;
       recordRef.type = "customer";
       
       return service.get(recordRef);
    }).then((result) => {
        console.log("result");
        console.log(JSON.stringify(result));
    
}).catch(function (err) {
    console.log("error");
    console.log(service.config.client.lastRequest);
    console.log("message");
    console.log(JSON.stringify(err));
});

Discovery

Get role and account id using NetSuite credentials.

const NetSuite = require("node-suitetalk");
const Util = NetSuite.Util;
const util = new Util();

util.getLoginOptions({
    email: "email@netsuite.com",
    password: "netsuitepassword",
}, (err, data) => {
    // Outputs login options for this account
    // will will use roles and
});

Import WSDL from NetSuite website, we pre-load the files to speed up requests.

const NetSuite = require("node-suitetalk");
const Util = NetSuite.Util;
const util = new Util();

util.downloadWsdlToFolder({
    apiVersion: "2019_2",
    wsdlFolderPath: "./wsdl/NetSuite/", // Defaults to ./wsdl

}, (wsdlPath) => {

    // Callbacks the path to netsuite.wsdl

});

Configuration

Either "credentials" or "token" are required to login, by default the credentials will be used.

  • Options
    • account Required. NetSuite account ID.
    • apiVersion Required. API version. Example 2018_1.
    • wsdlPath Required. Path to wsdl folder or netsuite.wsdl file. A remote URI can also be used, but is much slower.
    • credentials Use NL_AUTH credentials.
      • email Required. NetSuite user email.
      • password Required. NetSuite user password.
      • role NetSuite role ID. Example: '3' for administrator.
      • applicationId Application ID. "Manage Integrations" page in NetSuite.
    • token Use OAuth1.0 token.
      • consumer_key Required. Consumer Key. "Manage Integrations" page in NetSuite.
      • consumer_secret Required. Consumer Secret. "Manage Integrations" page in NetSuite.
      • token_key Required. Token Key."Manage Access Tokens" page in NetSuite.
      • token_secret Required. Token Secret. "Manage Access Tokens" page in NetSuite.

Notes

Created as a module for another project. Some features still unavailable.

License

GNU GPL see LICENSE.

Use at your own discretion

Authors

Add yourself here if you've contributed

Dependencies (4)

Dev Dependencies (0)

    Package Sidebar

    Install

    npm i node-suitetalk

    Weekly Downloads

    84

    Version

    0.0.8

    License

    GPL-3.0

    Unpacked Size

    145 kB

    Total Files

    148

    Last publish

    Collaborators

    • mr-pepian