@fye/netsuite-rest-api

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

    Install

    npm i @fye/netsuite-rest-api

    DownloadsWeekly Downloads

    10

    Version

    2.2.0

    License

    ISC

    Unpacked Size

    16.5 kB

    Total Files

    6

    Last publish

    Collaborators

    • drudge
    • fye-engineering
    • timonroe
    • strumwolf