The NetSuite API Node.js library facilitates seamless interaction with the NetSuite SuiteTalk Web Services, offering a structured way to make API calls for retrieving or sending data. Leveraging the OAuth 1.0a authentication method, it ensures secure communication between your Node.js application and the NetSuite platform. This library abstracts the intricacies of handling OAuth signatures and HTTP methods, providing a cleaner and more streamlined way to interact with NetSuite's API endpoints.
Install the package by running the following command:
npm install netsuite-api --save
Include and configure the library in your project. It is recommended to set up an environment file to securely store your sensitive data such as API keys and secrets. You can use the dotenv
package to help with this.
const NetSuiteAPI = require('netsuite-api');
const config = {
ACCOUNT_ID: 'your_account_id',
CONSUMER_KEY: 'your_consumer_key',
CONSUMER_SECRET: 'your_consumer_secret',
TOKEN_ID: 'your_token_id',
TOKEN_SECRET: 'your_token_secret'
};
Create an instance of the NetSuiteAPI class, passing the configuration object with necessary credentials:
const netsuiteAPI = new NetSuiteAPI(config);
Use the post method to create a (custom) record:
const postRequest = await netsuiteAPI.post({
url: 'https://ACCOUNT_ID.suitetalk.api.netsuite.com/services/rest/record/v1/YOUR_RECORD_TYPE',
data: {
name: "Record created via NetSuite-API"
}
});
Use the get method to read a (custom) record:
const getRequest = await netsuiteAPI.get({
url: 'https://ACCOUNT_ID.suitetalk.api.netsuite.com/services/rest/record/v1/YOUR_RECORD_TYPE/INTERNAL_ID'
});
Use the patch method to update a (custom) record:
const patchRequest = await netsuiteAPI.patch({
url: 'https://ACCOUNT_ID.suitetalk.api.netsuite.com/services/rest/record/v1/YOUR_RECORD_TYPE',
data: {
name: "Record updated via NetSuite-API"
}
});
Use the delete method to delete a (custom) record:
const deleteRequest = await netsuiteAPI.delete({
url: 'https://ACCOUNT_ID.suitetalk.api.netsuite.com/services/rest/record/v1/YOUR_RECORD_TYPE/INTERNAL_ID'
});
The following is a list of features and improvements planned for an upcoming releases:
- Retry logic
- OAuth 2.0 support
Feel free to contribute to the development of this library by submitting issues or pull requests.
This project is licensed under the terms of the MIT license. Please check the LICENSE file for more information.