Skip to content

Generic restlet for netsuite that allow work with records like SuiteTalk, but using JSON.

License

Notifications You must be signed in to change notification settings

vinikira/netsuite-generic-restlet

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

netsuite-generic-restlet

Generic restlet for netsuite that allow work with records like SuiteTalk, but using JSON.

Quick Start

First, you will need Ramda.js, after download ramda.min.js, put it in the source folder. Upload the src files to File Cabinet, then create and implement a RESTlet script.

Features

Create record

Sending a HTTP POST request to the restlet with this sample payload:

{
  "type": "invoice",
  "isDynamic": false,
  "columns": {
      "customer": "14"
  },
  "lines": [
      {
          "sublistId": "item",
          "lineItems": [
              {
                  "item": 1,
                  "amount": 14.0
              },
              {
                 "item": 2,
                 "amount": 16.0
              }
          ]
      }
  ],
  "options": {
      "ignoreMandatoryFields": false
  }
}

Lookup/Search record

Using HTTP GET request, you can create searches, load searches and lookup records:

To create a search, you must send the following parameters (query string):

  • type - the record type
  • filters - filters are separated by semicolons (to name, operator and value) and then by comma. Formulas are not supported yet. To join tables, use dot separator (eg. customer.name)
  • columns - columns are separated by comma. Formulas are not supported yet. To join, use dot separator (eg. customer.name)

Example:

curl -XGET https://your-url-reslet?type=invoice&filters=date;within;01/01/2018;05/02/2018,entity.name;is;Foo&columns=amount,trandate

To load a search you must send the following parameters:

  • searchId - the id of saved search in NetSuite

Example:

curl -XGET https://your-url-reslet?searchId=your-search-id

To lookup record fields, you must send the following parameters:

  • type - record type
  • recordId - record id
  • columns - columns separated by comma. To join, use dot separator (eg. customer.name)

Example:

curl -XGET https://your-url-reslet?type=customer&recordId=15&columns=companyname,phone

All search options accepts pagination and sort columns, just use the following parameters:

  • page - page number
  • sortdir - sort direction (ASC|DESC|NONE)
  • sortcol - column number to be sorted (begin with 0)

All GET request can be cached, just use the following parameters:

  • cache - Cache name and key (separated by dot)

Update record

Send a HTTP PUT request to the restlet with this sample payload:

{
  "type": "invoice",
  "recordId": 14,
  "values": {
  	"trandate": "01/03/2018"
  },
  "options":{
	"isDynamic": false
   }
}

Update lines is not supported yet.

Delete record

Send a delete request to delete a record, following the parameters:

curl -XGET https://your-url-reslet?type=customer&recordId=15

Tests

In test folder has a .https file that allows you to use the restclient (for emacs) to make requests tests.

About

Generic restlet for netsuite that allow work with records like SuiteTalk, but using JSON.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published