NodeJs Suitetalk wrapper.
$ npm install --save node-suitetalkGet a customer:
constNetSuite=require("node-suitetalk");constConfiguration=NetSuite.Configuration;constService=NetSuite.Service;constRecord=NetSuite.Record;constconfig=newConfiguration({account: "123456_SB1",apiVersion: "2018_1",credentials: {email: "email@netsuite.com",password: "netsuitepassword",role: "3",},wsdlPath: "./wsdl/WSDL_v2018_1_0/netsuite.wsdl",});constservice=newService(config);service.init().then((/*client*/)=>{constrecordRef=newRecord.Types.RecordRef();recordRef.internalId=1234567;recordRef.type="customer";returnservice.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));});Get role and account id using NetSuite credentials.
constNetSuite=require("node-suitetalk");constUtil=NetSuite.Util;constutil=newUtil();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.
constNetSuite=require("node-suitetalk");constUtil=NetSuite.Util;constutil=newUtil();util.downloadWsdlToFolder({apiVersion: "2018_1",wsdlFolderPath: "./wsdl/NetSuite/",// Defaults to ./wsdl},(wsdlPath)=>{// Callbacks the path to netsuite.wsdl});Either "credentials" or "token" are required to login, by default the credentials will be used.
- Options
accountRequired. NetSuite account ID.apiVersionRequired. API version. Example 2018_1.wsdlPathRequired. Path to wsdl folder or netsuite.wsdl file. A remote URI can also be used, but is much slower.credentialsUse NL_AUTH credentials.emailRequired. NetSuite user email.passwordRequired. NetSuite user password.roleNetSuite role ID. Example: '3' for administrator.applicationIdApplication ID. "Manage Integrations" page in NetSuite.
tokenUse OAuth1.0 token.consumer_keyRequired. Consumer Key. "Manage Integrations" page in NetSuite.consumer_secretRequired. Consumer Secret. "Manage Integrations" page in NetSuite.token_keyRequired. Token Key."Manage Access Tokens" page in NetSuite.token_secretRequired. Token Secret. "Manage Access Tokens" page in NetSuite.
Created as a module for another project. Some features still unavailable.
GNU GPL see LICENSE.
Use at your own discretion
Felipe Chang felipechang@hardcake.org