Overview
This guide explains how to configure Oracle NetSuite as a data target in eZintegrations. It provides step-by-step instructions to set up API connectivity, select business objects, configure authentication, and establish secure data transmission.
By following this guide, users can successfully send processed data from source systems to Oracle NetSuite using REST APIs and OAuth authentication.
When to Use
Use this configuration when Oracle NetSuite is required as the destination system in an integration workflow.
- When sending data to NetSuite via REST APIs
- When synchronizing CRM, ERP, or financial records
- When integrating external systems with NetSuite
- When using OAuth-based authentication
- When building automated data pipelines
How It Works
The target configuration establishes secure communication between eZintegrations and Oracle NetSuite.
- Select API as the target type
- Choose Oracle NetSuite as the target system
- Select the required business object
- Auto-populate API configuration
- Configure OAuth authentication
- Send processed data to NetSuite
How to Configure Oracle NetSuite as Target
Step 1: Select Target Type
Choose API as the target type.
Step 2: Select Oracle NetSuite
Enter Oracle NetSuite in the target name field and select it from the dropdown list.
Step 3: Select Business Object
Choose the required Oracle NetSuite business object from the dropdown menu.
Note: If the required business object is not available, select Create New to create a new product and business object.
Step 4: Review Auto-Populated API Details
After selecting the business object, all relevant API details are automatically populated.
For example, when selecting Customer, related headers and pre-request scripts are filled automatically.
The HTTP method is set to POST, and the endpoint URL is populated as shown below.
https://{{account_id}}.suitetalk.api.netsuite.com/services/rest/record/v1/customer
Ensure that all required instance details are included in the endpoint URL.
Note: Do not modify the {%signature%} value in the Headers tab.
Pre-request Script Configuration
In the Pre-request Script tab, enter the required OAuth credentials:
- oauth_consumer_id
- oauth_consumer_key
- oauth_consumer_secret
- oauth_token
- oauth_token_secret
Sample Pre-request Script
import datetime
import random
import string
import hashlib
import base64
import hmac
import urllib.parse
request_method = 'POST'
url = 'https://{{account_id}}.suitetalk.api.netsuite.com/services/rest/record/v1/customer'
oauth_consumer_id = 'xxxxxxxxxxxxxxx'
oauth_consumer_key = 'xxxxxxxxxxxxxx'
oauth_consumer_secret = 'xxxxxxxxxxxx'
oauth_token = 'xxxxxxxxxxxx'
oauth_token_secret = 'xxxxxxxxxxxxx'
oauth_signature_method = 'HMAC-SHA256'
oauth_timestamp = str(int(datetime.datetime.now().timestamp()))
oauth_nonce = ''.join(random.choices(string.ascii_letters + string.digits, k=11))
oauth_version = '1.0'
normalized_request_method = request_method.replace(' ', '')
normalized_string_url = urllib.parse.quote(url, safe='')
normalized_params = {
'oauth_consumer_key': oauth_consumer_key,
'oauth_token': oauth_token,
'oauth_signature_method': oauth_signature_method,
'oauth_timestamp': oauth_timestamp,
'oauth_nonce': oauth_nonce,
'oauth_version': oauth_version
}
sorted_params = dict(sorted(normalized_params.items()))
normalized_string_parmas = [k + '=' + v for k, v in sorted_params.items()]
normalized_string_parmas = '&'.join(normalized_string_parmas)
normalized_string_parmas = urllib.parse.quote(normalized_string_parmas, safe='')
base_string = request_method + '&' + normalized_string_url + '&' + normalized_string_parmas
base_string = str.encode(base_string)
signature_key = oauth_consumer_secret + '&' + oauth_token_secret
signature_key = str.encode(signature_key)
oauth_signature = hmac.new(signature_key, base_string, hashlib.sha256)
oauth_signature = base64.b64encode(oauth_signature.digest())
oauth_signature = oauth_signature.decode('UTF-8')
oauth_signature = urllib.parse.quote(oauth_signature, safe='')
signature = 'OAuth realm="' + oauth_consumer_id + '",' + \
'oauth_consumer_key="' + oauth_consumer_key + '",' + \
'oauth_token="' + oauth_token + '",' + \
'oauth_signature_method="' + oauth_signature_method + '",' + \
'oauth_timestamp="' + oauth_timestamp + '",' + \
'oauth_nonce="' + oauth_nonce + '",' + \
'oauth_version="' + oauth_version + '",' + \
'oauth_signature="' + oauth_signature + '"'
Final Submission
After completing all required configurations:
- Verify API endpoint and headers
- Confirm OAuth credentials
- Validate pre-request script
- Save and submit the integration
Once submitted, the connection to Oracle NetSuite is established and data transmission can begin.
Troubleshooting
- Authentication Failed: Verify OAuth credentials.
- Invalid Signature: Check pre-request script logic.
- API Error: Validate endpoint URL and headers.
- Permission Denied: Confirm NetSuite role permissions.
- No Data Sent: Review payload and target mapping.
Frequently Asked Questions
Is OAuth mandatory for NetSuite integration?
Yes. OAuth authentication is required for secure NetSuite API access.
Can I modify auto-populated headers?
Headers should only be modified if required. The {%signature%} field must not be changed.
What if my business object is not listed?
You can create a new product and business object using the Create New option.
Where do I get OAuth credentials?
OAuth credentials are generated from your NetSuite integration and user setup.
Can this configuration be reused?
Yes. Once configured, the target setup can be reused across workflows.
Notes
- Store OAuth credentials securely.
- Do not expose secrets in public repositories.
- Test API connectivity before production deployment.
- Monitor execution logs regularly.
- Update credentials when rotated.
This guide enables secure and reliable configuration of Oracle NetSuite as a data target in eZintegrations.





