@fye/netsuite-rest-api
v2.3.1
Published
NetSuite Rest API Client
Downloads
661
Readme
Nestuite Rest API v2
A wrapper to make REST API request to Netsuite.
Notable Changes
- Netsuite configuration paramaters are no longer pulled from
process.env
. They need to be passed in. - Body will now returned as parsed object rather than a JSON string
Required Config values
{
netsuiteApiHost: 'netsuite host',
consumerKey: 'netsuite consumer key',
consumerSecret: 'nesuite consumer secret',
netsuiteAccountId: 'netsuite account id',
netsuiteTokenKey: 'netsuite token key',
netsuiteTokenSecret: 'netsuite token secret',
}
Other gotchas
- Query parameters must be passed in with path. This may be changed at a future time just not now.
requestType
must be eithersuiteql
,workbook
orrecord
Available convenience values
suitesqlPath = services/rest/query/v1/suiteql
workbookPath = services/rest/query/v1/workbook
salesOrderPath = services/rest/record/v1/salesOrder
purchaseOrderPath = services/rest/record/v1/purchaseOrder
cashSalePath = services/rest/record/v1/cashSale
expandAbleSubResourcesQueryParam = expandSubResources=true
Examples
Get Request
const { makeRequest, expandAbleSubResourcesQueryParam, suitesqlPath } = require('@fye/netsuite-rest-api');
async () => {
const config = {
netsuiteApiHost: 'netsuite host',
consumerKey: 'netsuite consumer key',
consumerSecret: 'nesuite consumer secret',
netsuiteAccountId: 'netsuite account id',
netsuiteTokenKey: 'netsuite token key',
netsuiteTokenSecret: 'netsuite token secret',
};
const requestData = {
method: 'GET',
requestType: 'record',
path: `${s}/1234?${expandAbleSubResourcesQueryParam}`,
};
const response = await makeRequest(config, requestData);
};
Update/Patch Request
const { makeRequest } = require('@fye/netsuite-rest-api');
( async () => {
const config = {...};
const requestData = {
method: 'PATCH',
requestType: 'record',
path: 'salesorder/1234',
query: { foo: 'bar' },
}
const response = await makeRequest(config, requestData)
})
Suitesql Request
const { makeRequest } = require('@fye/netsuite-rest-api');
( async () => {
const config = {...};
const requestData = {
method: 'POST',
requestType: 'suitesql',
query: 'select foo from bar;',
}
const response = await makeRequest(config, requestData)
})
Suitesql Request with next URL
const { makeRequest } = require('@fye/netsuite-rest-api');
( async () => {
const config = {...};
const requestData = {
method: 'POST',
requestType: 'suitesql',
query: 'select foo from bar;',
nextUrl: 'https://endpoint.com/services/rest/query/v1/suiteql?limit=10&offset=10'
}
const response = await makeRequest(config, requestData)
})
Workbook Request with next URL
const { makeRequest } = require('@fye/netsuite-rest-api');
( async () => {
const config = {...};
const requestData = {
method: 'POST',
requestType: 'workbook',
query: 'workbook999',
nextUrl: 'https://endpoint.com/services/rest/query/v1/workbook/workbook999/result?limit=10&offset=10'
}
const response = await makeRequest(config, requestData)
})