NetSuite REST 3.0
NetSuite REST enables companies to manage all key business processes within a single online system.
OverviewCopy
Companies use NetSuite REST for enterprise resource planning (ERP) and to manage inventory, track their financials, host e-commerce stores and maintain customer relationship management (CRM) systems. This flexible platform can be applied to a range of business applications.
PLEASE NOTE: Make sure before continuing that you are using the correct NetSuite API. We have a separate page for the NetSuite SOAP connector as there are several differences and they cannot be used interchangeably.
API InformationCopy
The Base URL used for the NetSuite REST connector is https://{account-id}.suitetalk.api.netsuite.com. More information can be found on their main API documentation (v1.0) - NetSuite REST documentation site.
AuthenticationCopy
PrerequisitesCopy
To use NetSuite REST web services the relevant REST Web Services and SuiteAnalytics webhook features must be enabled within your NetSuite account.
Additionally the REST web services user must have the required permissions assigned to said user’s role.
If you already have your features and permission setup then please move straight to Stage 3: Creation.
Stage 1: Enable FeaturesCopy
This accordion guides you through the process of enabling token authentication and SuiteAnalytics for NetSuite REST API authentication integration with Tray.io.
Stage 2: Enable PermissionsCopy
This accordion guides you through the process of setting the permissions required for the respective features enabled in the previous section.
Stage 3: CreateCopy
This section begins and ends in the Tray.io builder so please have your workflow space set up before continuing.
Available OperationsCopy
The examples below show one or two of the available connector operations in use.
Please see the Full Operations Reference at the end of this page for details on all available operations for this connector.
Notes on key operationsCopy
Find recordCopy
Create RecordCopy
IMPORTANT!: It is imperative to pay attention to the field requirements in the schema browser when using this operation.
A summary of what and why is below. See the Creating a record instance API page for more details.
You must be very precise when using this operation. It is critical that you keep in mind the following points:
All field references are correctly 'typed' - object / string / boolean, etc
There are no missing fields
Any field requirements match the schema
Execute SuiteQL (advanced query)Copy
You execute SuiteQL queries by sending a POST
request to the suiteql resource
and specifying the query in the request body
after the body parameter "q
".
Check out the following links for more information:
NetSuite Sales ordersCopy
There are 3 main points to be aware of when creating a NetSuite Sales order:
Your associated NetSuite Role has the correct permissions.
"NetSuite Role" -> Permissions -> Transactions: Please make sure the following 3 permission sets are added and have
Level: Full
for each as a general rule.Sales order
Sales order approval
Find Transaction
"NetSuite Role" -> Permissions -> Lists: Please make sure the following permission set is added and has
Level: Full
as a general rule.Items
It is possible to 'use' your item within a sales order.
For example you may be able to create a purchase order for an item but not be able to sell it. You may get unusual error messages as a result.
The data being sent to NetSuite is being sent in the format it requires.
Please see the accordion step below for a clear demonstration.
Renaming fieldsCopy
Any fields customers may have renamed within their NetSuite instance will still display as their native name within any of the dropdown options available inside the Tray.io properties panel.
The NetSuite UI may display your updated field name but what it is referring to in the NetSuite database will not have.
Look for your endpoint in the REST API Browser and under the Insert record -> Request body select the clickable 'endpoint' link to see a list of Fields. This will display the native name for all the field references.
Using the Raw HTTP Request ('Universal Operation')Copy
As of version 2.0 you can effectively create your own operations.
This is a very powerful feature which you can use if you need an endpoint that is not currently provided.
Please the example below for a full walkthrough.
NetSuite REST templatesCopy
Please note that we have the following NetSuite REST templates available.
These will give you pre-configured best practice ways of working with NetSuite REST and integrating it with other connectors.
PLEASE NOTE: To help avoid the most common user errors we strongly advise you read through the Authentication, Important notes sections, etc, before applying any templates. Every service is unique and each has its own nuances you need to be aware of before proceeding.
Build a report from saved Netsuite search
Use a saved Netsuite search to build a report in Google Sheets or any other system
Export SuiteQL response to Google Sheets
Executes a SuiteQL query in Netsuite, then sends the response to a Google Sheet
Sync Salesforce Accounts to NetSuite as Customers
Create/update NetSuite customers every time a Salesforce account is created/updated
Sync Closed Won Salesforce Opportunities to NetSuite as Sales Orders
Create a new NetSuite sales order every time a Salesforce opportunity moves to closed won
Sync NetSuite Invoice data to Salesforce Opportunities
Store NetSuite Invoice data on the relevant Salesforce Opportunity records
Sync NetSuite Payments to Salesforce Opportunities
Store NetSuite payment data on the relevant Salesforce opportunity records
Netsuite sales order from Ironclad contract
Generates a sales order within Netsuite after an Ironclad contract has been completed
Further Info (REST & SOAP)Copy
The following sections are mainly relevant to SOAP users however there is some cross over for our REST customers.
Please see the NetSuite SOAP: Further Info section for references pertaining to: