NodeJs Suitetalk wrapper.
npm install node-suitetalkbash
$ npm install --save node-suitetalk
`
Usage
Get a customer:
`javascript
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.
`javascript
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.
`javascript
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.