Bizdata Netsuite Source API demonstrates OAuth1.0a signature-based authentication with cursor pagination for Netsuite datasets.
Method: GET
URL: {{base_url}}/services/rest/query/v1/suiteql?
Query Parameters:
| Parameter Name | Value | Description |
| limit | {%max_num%} | Maximum records per page |
| offset | {%min_num%} | Starting point for records |
Headers:
| Header Name | Value |
| Authorization | {%signature%} |
Pre-request Script:
import datetime
import random
import string
import hashlib
import base64
import hmac
import urllib.parse
request_method = 'POST'
url = 'https://{{base_url}}/services/rest/query/v1/suiteql'
oauth_consumer_id = '15071997_BIZ01'
oauth_consumer_key = 'l8hYtbE5H4eZI6Yj5e96XiMkVHxaSA1v'
oauth_consumer_secret ='IPdt9c5lzdg1GiXjkpgwsE23naHguwej'
oauth_token ='SrHIlXtmxaPjsmudRK6T4LgSSOYMMnnH'
oauth_token_secret ='YYQ2EnGPi7dDcDDk3USJChJnSKyXKQno'
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,'limit':max_num,'offset':min_num}
sorted_params = dict(sorted(normalized_params.items()))
normalized_string_parmas = [k+'='+v for k,v in sorted_params.items()]
normalized_string_parmas = '&'.join([str(elem) for elem in normalized_string_parmas])
normalized_string_parmas.replace(' ','')
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.hexdigest()
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="'f'{oauth_consumer_id}",oauth_consumer_key="'f'{oauth_consumer_key}",oauth_token="'f'{oauth_token}",oauth_signature_method="'f'{oauth_signature_method}",oauth_timestamp="'f'{oauth_timestamp}",oauth_nonce="'f'{oauth_nonce}",oauth_version="'f'{oauth_version}",oauth_signature="'f'{oauth_signature}"'Pagination Details
Pagination Type: Offset Pagination
User Key: hasMore
Key to update: offset
Data Collection Key: [‘items’]
Numeric Parameters:
| Parameter | Value | Description |
| Minimum Number | 0 | Minimum records per page |
| Maximum Number | 100 | Maximum records per page |
Notes:
- Requires OAuth1.0a signature.
Authentication Instructions:
To acquire the Base URL and create your own Client ID and Secret, please refer to the My Profile section within your Bizdata account.
