@fye/netsuite-rest-api

2.3.1 • Public • Published

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 either suiteql, workbook or record

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)
})

Dependencies (3)

Dev Dependencies (2)

Package Sidebar

Install

npm i @fye/netsuite-rest-api

Weekly Downloads

49

Version

2.3.1

License

ISC

Unpacked Size

16.6 kB

Total Files

6

Last publish

Collaborators

  • drudge
  • fye-engineering
  • timonroe
  • strumwolf