How to Connect
Prerequisites
Before you can connect to NetSuite you need to have the prerequisite NetSuite bundle added to your account. Please follow the instructions here for that.
Before configuring your Oracle NetSuite integration, ensure you have:
API URL: Constructed in the format
https://{AccountID}.suitetalk.api.netsuite.com/services/rest/record/v1
.Account ID: Extracted from your NetSuite dashboard URL.
Consumer ID, Certificate ID, and Certificate Private Key: Obtained during the authentication setup process.
Environment: Only "Production" is supported.
Inventory Search Days: Enter
0
for standard inventory polling searches.
Configure Subscription Settings
Follow these steps to configure your subscription in iPaaS, matching the required fields and their descriptions.
Field | Description | Required | Example |
Name | Provide a unique name for the subscription. | Yes | Oracle_NetSuite_Integration |
Versions | Select the latest version from the dropdown. | Yes | v1.0 |
Inventory Search Days | Defines the polling window for inventory updates in days. | No |
|
Environment | Current valid value is "Production". | No | Production |
Consumer ID | Generated during Machine-to-Machine authentication. | Yes | Provided after setup |
Account ID | Unique identifier for your NetSuite account. | Yes |
|
Certificate Private Key | Key generated during OpenSSL Certificate setup. | Yes | Provided after setup |
Certificate ID | Generated during OpenSSL Certificate creation and uploaded in NetSuite. | Yes | Provided after setup |
API URL | Base URL for NetSuite API access. | Yes |
|
Certificate Generation
The following instructions for generating an SSL are the only ones that have been tested and configured, but other SSL certs should work.
Download OpenSSL:
Visit the Win32 OpenSSL Download Page.
Scroll down the page to find the appropriate version of OpenSSL for your operating system (e.g., Windows/MacOS x64/x86).
Recommendation: Download the full version of the setup instead of the light version. In this example, Win64 OpenSSL v3.2.0 is used.
Install OpenSSL:
Open Command Prompt:
Navigate to the OpenSSL Directory:
Generate Certificate:
Run the following command to generate a certificate:
bashCopy codeopenssl req -x509 -newkey rsa:3072 -keyout sw2021d_key.pem -out sw2021d_cert.pem -days 365 –nodes
The system will prompt you for several optional details during the process (e.g., country, organization name). You can skip fields by leaving them blank if not needed.
Locate the Generated Certificate:
Certificate Upload
Navigate to OAuth 2.0 Client Credentials Setup
Create a New Credential Mapping
Provide Entity and Role Details
Save and Verify
Credential Details
Webhook Script Installation
NOTE: The remaining sections are highly technical and should only be performed by the implementation team.
Navigate to Script Manager
Upload the Webhook Script
Configure Script Details
Set the script type to User Event.
Enable the After Submit Function.
Assign a meaningful script name, such as
"OTG-iPaaS Notify Sync UE"
.
Add Script Parameters
Define the following parameters to manage webhook subscriptions:
Deploy to Modules
The script must be deployed to the following modules with relevant deployment triggers (e.g., After Submit):
Customer
Inventory Part
Kit Item
Location
Payment Method
Sales Order
Shipping Item
During execution, the script queries custom records to determine the appropriate:
Webhook URL
Access Token
Subscription Configuration
This ensures that webhook events are triggered only for valid subscription settings.
Custom Restlet Installation
Webhook Manager Script
A script that manages webhook subscriptions must be installed in Customization → Scripting → Scripts to provide an endpoint for subscribing and unsubscribing to NetSuite webhook events.
Script Type: RESTlet
Script Name: OTG-iPaaS Webhook Manager
Supported Methods:
GET FUNCTION
POST FUNCTION
DELETE FUNCTION
PUT FUNCTION
Example Usage
GET Request:
URL:
https://<your_netsuite_instance>/app/site/hosting/restlet.nl?script=customscript_otg_ipaas_webhook_manager&deploy=customdeploy_otg_ipaas_webhook_manager
The GET method retrieves all data types or points for which the notifications script is running. Using the scriptdeploymentid
returned, you can manage subscription configurations by providing the payload below.
Payload:
{ "id": 245, "custscript_otg_ipaas_create_subscription": false }
Sample Response:
{ "isdeployed": "T", "deploymentid": 1, "scriptdeploymentid": 245, "runasrole": 3, "scriptid": "customdeploy_otg_ipaas_customer_sync_ue", "id": 1 }
POST Request:
URL:
https://<your_netsuite_instance>/app/site/hosting/restlet.nl?script=customscript_otg_ipaas_webhook_manager&deploy=customdeploy_otg_ipaas_webhook_manager
The POST method creates or updates webhook subscriptions for specific record types.
Payload:
{ "id": 245, "custscript_otg_ipaas_create_subscription": true, "custscript_otg_ipaas_update_subscription": true, "custscript_otg_ipaas_delete_subscription": false }
Tax Override Script
This User Event Script is designed to run before and after submission on the Sales Order data type. It applies specific custom field IDs required for tax overrides.
Custom Field IDs:
Sales Order Header:
custbody_otg_ipaas_total_tax
custbody_otg_ipaas_tax_code
custbody_otg_ipaas_tax_rate
Sales Order Line:
custcol_otg_ipaas_tax_code
custcol_otg_ipaas_tax_rate
Note
These scripts must be properly configured and deployed in NetSuite to ensure seamless operation with iPaaS.
Custom Record Installation
iPaaS Authentication Details
A custom record type is required to store global values that will be accessed when sending webhooks to iPaaS.com. These include:
iPaaS Webhook URL
iPaaS Webhook API Key
Configuration Steps
Navigate to Custom Records
Go to Customization > Lists, Records, & Fields > Record Types.
Click New to create a custom record titled iPaaS Auth Details.
Configure Record Settings
Add Required Fields
Add the following fields to the record:
Example API Usage
GET Authorization Details
To retrieve the authorization details used for sending notifications, use the following API request:
bashCopy codeGET https://td2819981.suitetalk.api.netsuite.com/services/rest/record/v1/customrecord_otg_ipaas_auth_details
This request provides the list of entries available for different environments, such as production, sandbox/test, and beta accounts.
PATCH Authorization Details
To update authorization details, use the following API call:
bashCopy codecurl --location --request PATCH 'https://td2819981.suitetalk.api.netsuite.com/services/rest/record/v1/customrecord_otg_ipaas_auth_details/2' \ --header 'Authorization: Bearer eyJraWQiOiJjLlREMq/GUoGYbptrrGtfVT~4342066~3619121' \ --data '{ "custrecord_otg_ipaas_access_token": "ElYhXzUC3Eg0ZGU2YWMzOS1jYTc5LTQ4MzUtYjZlYS0wZmMzODA3MTk3YTRBcGkgVG9rZW4xMzE3NQ=", "custrecord_otg_ipaas_tracking_guid": "edd39777-9124-4ef4-9516-", "custrecord_otg_ipaas_webhook": "https://stagingapi.ipaas.com/hookapi/v2/iPaaS1" }'
Authentication Methods
Integration Setup
Log in to NetSuite:
URL: NetSuite Login
Navigate to Setup > Integration > Manage Integrations.
Define a Name for your integration as below.
Configure the following:
Configure the following:
Save the integration, and record the Consumer Key and Consumer Secret.
Initialization Support
The following types of data support initialization and can be transferred in bulk:
Alternate ID Type TO iPaaS.com
Customer Category TO iPaaS.com
Location TO iPaaS.com
Payment Method TO iPaaS.com
Shipping Method TO iPaaS.com
Throttling
Throttling ensures that NetSuites’s API isn’t overwhelmed by excessive API calls, preserving system performance during heavy data transfers.
While the throttling fields are required, the values are pre-populated by the integration settings. For more details, refer to Subscription Configuration – Edit.