Contact Us 1-800-596-4880

NetSuite Connector API Reference

NetSuite Connector synchronizes data and automates business processes between NetSuite and third party applications, either on-premise or in the cloud. The Connector makes use of the SuiteTalk WSDL to provide SOAP based integration in order to generate NetSuite business objects, make use of different authentication levels, and support error handling.

Additional Info

Requires Mule Enterprise License

Yes

Requires Entitlement

No

Mule Version

3.5.0 or higher

Configs


Login Authentication

<netsuite:config-login-authentication>

Connection Management

Attributes

Name Java Type Description Default Value Required

name

String

The name of this configuration. With this name can be later referenced.

x

email

String

The login email of both NetSuite UI and SuiteTalk

x

password

String

The login password of both the NetSuite UI and SuiteTalk

x

account

String

NetSuite SuiteTalk WebService account id

x

roleId

String

The id of the role used to login in SuiteTalk, which determines the Processor privileges

x

applicationId

String

The id related to the Integration record to be used. Integration records are set up on the NetSuite environment.

x

connectionTimeout

Long

Specifies the amount of time, in milliseconds, that the client will attempt to establish a connection before it times out. 0 specifies that the client will continue to attempt to open a connection indefinitely.

receiveTimeout

Long

Specifies the amount of time, in milliseconds, that the client will wait for a response before it times out. 0 specifies that the client will wait indefinitely.

proxyHost

String

The hostname of the HTTP proxy for example localhost This field also requires the port to be set.

proxyPort

Integer

The port number of the HTTP proxy for example 3128. The port number must be specified if the hostname is also specified.

proxyUsername

String

The username which should be supplied to the HTTP proxy on every request to NetSuite. This field is optional, since a user might want to pass through an unauthenticated HTTP proxy.

proxyPassword

String

The password which would be supplied to the HTTP proxy on every request to NetSuite. This field is optional, since a user might want to pass through an unauthenticated HTTP proxy.

endpoint

String

Service endpoint

https://webservices.na1.netsuite.com/services/NetSuitePort_2015_2

separator

String

Separator used to generate the keys required to provided a better support for custom fields/records.

If the script Id of the customization that defines a custom field/record contains the separator default character, setup a new one and regenerate the metadata.

__


Request Level Authentication

<netsuite:config-request-level-authentication>

Connection Management

Attributes

Name Java Type Description Default Value Required

name

String

The name of this configuration. With this name can be later referenced.

x

email

String

The login email of both NetSuite UI and SuiteTalk

x

password

String

The login password of both the NetSuite UI and SuiteTalk

x

account

String

NetSuite SuiteTalk WebService account id

x

roleId

String

The id of the role used to login in SuiteTalk, which determines the Processor privileges

x

applicationId

String

The id related to the Integration record to be used. Integration records are set up on the NetSuite environment.

x

connectionTimeout

Long

Specifies the amount of time, in milliseconds, that the client will attempt to establish a connection before it times out. 0 specifies that the client will continue to attempt to open a connection indefinitely.

receiveTimeout

Long

Specifies the amount of time, in milliseconds, that the client will wait for a response before it times out. 0 specifies that the client will wait indefinitely.

proxyHost

String

The hostname of the HTTP proxy for example localhost This field also requires the port to be set.

proxyPort

Integer

The port number of the HTTP proxy for example 3128. The port number must be specified if the hostname is also specified.

proxyUsername

String

The username which should be supplied to the HTTP proxy on every request to NetSuite. This field is optional, since a user might want to pass through an unauthenticated HTTP proxy.

proxyPassword

String

The password which would be supplied to the HTTP proxy on every request to NetSuite. This field is optional, since a user might want to pass through an unauthenticated HTTP proxy.

endpoint

String

Service endpoint

https://webservices.na1.netsuite.com/services/NetSuitePort_2015_2

separator

String

Separator used to generate the keys required to provided a better support for custom fields/records.

If the script Id of the customization that defines a custom field/record contains the separator default character, setup a new one and regenerate the metadata.

__


Request Level Token Based Authentication

<netsuite:config-request-level-token-based-authentication>

Connection Management

Attributes

Name Java Type Description Default Value Required

name

String

The name of this configuration. With this name can be later referenced.

x

consumerKey

String

The consumer key value for the token based authentication enabled integration record being used

x

consumerSecret

String

The consumer secret value for the token based authentication enabled integration record being used

x

tokenId

String

The token id representing the unique combination of a user and integration generated within the NetSuite environment

x

tokenSecret

String

The respective token secret for the user/integration pair

x

account

String

NetSuite SuiteTalk WebService account id.

x

connectionTimeout

Long

Specifies the amount of time, in milliseconds, that the client will attempt to establish a connection before it times out. 0 specifies that the client will continue to attempt to open a connection indefinitely.

receiveTimeout

Long

Specifies the amount of time, in milliseconds, that the client will wait for a response before it times out. 0 specifies that the client will wait indefinitely.

signatureAlgorithm

SignatureAlgorithm

The algorithm used to compute the SHA hash signature

HMAC-SHA256, HMAC_SHA_1

proxyHost

String

The hostname of the HTTP proxy for example localhost This field also requires the port to be set.

proxyPort

Integer

The port number of the HTTP proxy for example 3128. The port number must be specified if the hostname is also specified.

proxyUsername

String

The username which should be supplied to the HTTP proxy on every request to NetSuite. This field is optional, since a user might want to pass through an unauthenticated HTTP proxy.

proxyPassword

String

The password which would be supplied to the HTTP proxy on every request to NetSuite. This field is optional, since a user might want to pass through an unauthenticated HTTP proxy.

endpoint

String

Service endpoint

https://webservices.na1.netsuite.com/services/NetSuitePort_2015_2

separator

String

Separator used to generate the keys required to provided a better support for custom fields/records.

If the script Id of the customization that defines a custom field/record contains the separator default character, setup a new one and regenerate the metadata.

__


SSO Login Authentication

<netsuite:config-sso-login-authentication>

Connection Management

Attributes

Name Java Type Description Default Value Required

name

String

The name of this configuration. With this name can be later referenced.

x

partnerId

String

The partnerId agreed with NetSuite upon enabling SSO

x

partnerAccount

String

NetSuite SuiteTalk WebService account id

x

companyId

String

The companyId used when the SSO mapping was setup

x

userId

String

The userId used when the SSO mapping was setup

x

keyFile

String

The private key file used to encrypt the companyId and userId into an authentication token

x

applicationId

String

The id related to the Integration record to be used. Integration records are set up on the NetSuite environment.

x

connectionTimeout

Long

Specifies the amount of time, in milliseconds, that the client will attempt to establish a connection before it times out. 0 specifies that the client will continue to attempt to open a connection indefinitely.

receiveTimeout

Long

Specifies the amount of time, in milliseconds, that the client will wait for a response before it times out. 0 specifies that the client will wait indefinitely.

proxyHost

String

The hostname of the HTTP proxy for example localhost This field also requires the port to be set.

proxyPort

Integer

The port number of the HTTP proxy for example 3128. The port number must be specified if the hostname is also specified.

proxyUsername

String

The username which should be supplied to the HTTP proxy on every request to NetSuite. This field is optional, since a user might want to pass through an unauthenticated HTTP proxy.

proxyPassword

String

The password which would be supplied to the HTTP proxy on every request to NetSuite. This field is optional, since a user might want to pass through an unauthenticated HTTP proxy.

endpoint

String

Service endpoint

https://webservices.na1.netsuite.com/services/NetSuitePort_2015_2

separator

String

Separator used to generate the keys required to provided a better support for custom fields/records.

If the script Id of the customization that defines a custom field/record contains the separator default character, setup a new one and regenerate the metadata.

__

Processors


Attach record

<netsuite:attach-record>

Attaches a source or contact record - that is, the attachment - to another destination one

Not all record types are supported as source, destination or contact. Please consult NetSuite documentation.

XML Sample

<netsuite:attach-record config-ref="Netsuite">
    <netsuite:source internalId="#[flowVars.sourceId]" type="#[flowVars.sourceRecordType]"/>
    <netsuite:destination internalId="#[flowVars.destinationId]" type="#[flowVars.destinationRecordType]"/>
</netsuite:attach-record>

Attributes

Name Java Type Description Default Value Required

config-ref

String

Specify which config to use

x

source

RecordRef

An instance of RecordRef

#[payload]

destination

RecordRef

An instance of RecordRef

x

contact

RecordRef

An instance of RecordRef

role

RecordRef

An instance of RecordRef

preferences

Preferences

Preferences for the request.

Returns

Return Java Type Description

WriteResponse

an instance of WriteResponse


Delete record

<netsuite:delete-record>

Deletes a record. Not all records can be deleted. Please consult NetSuite documentation

XML Sample

<netsuite:delete config-ref="Netsuite">
	<netsuite:base-ref type="RECORD_REF" internalId="#[flowVars.id]">
		<netsuite:specific-fields>
			<netsuite:specific-field key="type"
				value-ref="#[flowVars.recordType]" />
		</netsuite:specific-fields>
	</netsuite:base-ref>
</netsuite:delete>

Attributes

Name Java Type Description Default Value Required

config-ref

String

Specify which config to use

x

recordRef

RecordRef

An instance of RecordRef

#[payload]

preferences

Preferences

Preferences for the request.

Returns

Return Java Type Description

WriteResponse

The result of the operation


Delete

<netsuite:delete>

Deletes a record. Not all records can be deleted. Please consult NetSuite documentation

XML Sample

<netsuite:delete config-ref="Netsuite">
    <netsuite:base-ref type="RECORD_REF" internalId="#[flowVars.internalId]">
        <netsuite:specific-fields>
            <netsuite:specific-field key="type" value-ref="#[flowVars.recordType]"/>
        </netsuite:specific-fields>
    </netsuite:base-ref>
</netsuite:delete>

Attributes

Name Java Type Description Default Value Required

config-ref

String

Specify which config to use

x

baseRef

BaseRefType

An instance of BaseRefType

#[payload]

preferences

Preferences

Preferences for the request.

Returns

Return Java Type Description

WriteResponse

An instance of WriteResponse


Detach record

<netsuite:detach-record>

Detaches a source record - that is, the attachment - from a destination record.

XML Sample

<netsuite:detach-record config-ref="Netsuite">
    <netsuite:source internalId="#[flowVars.sourceId]" type="#[flowVars.sourceRecordType]"/>
    <netsuite:destination internalId="#[flowVars.destinationId]" type="#[flowVars.destinationRecordType]"/>
</netsuite:detach-record>

Attributes

Name Java Type Description Default Value Required

config-ref

String

Specify which config to use

x

source

RecordRef

An instance of RecordRef

#[payload]

destination

RecordRef

An instance of RecordRef

x

preferences

Preferences

Preferences for the request.

Returns

Return Java Type Description

WriteResponse

DetachResponse object


Get budget exchange rates

<netsuite:get-budget-exchange-rates>

Returns a list of budget exchange rates for a give period.

Attributes

Name Java Type Description Default Value Required

config-ref

String

Specify which config to use

x

period

RecordRef

References an existing period.

#[payload]

fromSubsidiary

RecordRef

References the receiving subsidiary.

toSubsidiary

RecordRef

References the originating subsidiary.

preferences

Preferences

Preferences for the request.

Returns

Return Java Type Description

GetBudgetExchangeRateResult

An instance of GetBudgetExchangeRateResult


Get consolidated exchange rates

<netsuite:get-consolidated-exchange-rates>

Returns a list of consolidated exchange rates for a given period.

XML Sample

<netsuite:get-consolidated-exchange-rates config-ref="Netsuite">
    <netsuite:period externalId="106"/>
    <netsuite:from-subsidiary internalId="5689"/>
    <netsuite:to-subsidiary internalId="4898"/>
</netsuite:get-consolidated-exchange-rates>

Attributes

Name Java Type Description Default Value Required

config-ref

String

Specify which config to use

x

period

RecordRef

References an existing period.

#[payload]

fromSubsidiary

RecordRef

References the receiving subsidiary.

toSubsidiary

RecordRef

References the originating subsidiary.

preferences

Preferences

Preferences for the request.

Returns

Return Java Type Description

GetConsolidatedExchangeRateResult

An instance of GetConsolidatedExchangeRateResult


Get customization ids

<netsuite:get-customization-ids>

Returns the IDs of available customizations for a given customization type.

XML Sample

<netsuite:get-customization-ids config-ref="Netsuite" type="#[flowVars.type]"/>

Attributes

Name Java Type Description Default Value Required

config-ref

String

Specify which config to use

x

type

GetCustomizationType

the target record type.

x

includeInactives

boolean

if inactive customizations should also be returned.

false

preferences

Preferences

Preferences for the request.

Returns

Return Java Type Description

GetCustomizationIdResult

A list of CustomizationRef


Get deleted records

<netsuite:get-deleted-records>

Returns a list of deleted records for the given record type and date period.

XML Sample

<netsuite:get-deleted-records config-ref="Netsuite" type="EMPLOYEE">
    <netsuite:deleted-date operator="ON" searchValue="#[flowVars.todaysDate]"/>
</netsuite:get-deleted-records>

Attributes

Name Java Type Description Default Value Required

config-ref

String

Specify which config to use

x

type

RecordTypeEnum

the type of the target deleted record to retrieve

x

pageIndex

Integer

the page number to retrieve

1

deletedDate

SearchDateField

a coreSearchDateField where you can define a predefined search date value, or a date period of your choice, together with the search date operator.

#[payload]

preferences

Preferences

Preferences for the request.

Returns

Return Java Type Description

GetDeletedResult

the list of DeletedRecord’s that match the given date filtering expression


Get records

<netsuite:get-records>

This operation is used to retrieve a list of all records of the specified type.

Records that support the getAll operation are listed in the GetAllRecordType

XML Sample

<netsuite:get-records config-ref="Netsuite" type="#[flowVars.type]"/>

Attributes

Name Java Type Description Default Value Required

config-ref

String

Specify which config to use

x

type

GetAllRecordType

the target record type

x

preferences

Preferences

Preferences for the request.

Returns

Return Java Type Description

GetAllResult

the list of Records


Get list

<netsuite:get-list>

This operation is used to retrieve a list of objects referenced in the list of BaseRef object.

XML Sample

<netsuite:get-list config-ref="Netsuite">
    <netsuite:references ref="#[flowVars.list]"/>
</netsuite:get-list>

Attributes

Name Java Type Description Default Value Required

config-ref

String

Specify which config to use

x

references

List

List of BaseRef child classes. Check BaseRef for a list of child classes.

#[payload]

preferences

Preferences

Preferences for the request.

Returns

Return Java Type Description

List<ReadResponse>

the list of Record’s


Get

<netsuite:get>

This is used to retrieve a record by providing the unique id that identifies that record.

XML Sample

<netsuite:get config-ref="Netsuite">
    <netsuite:base-ref type="RECORD_REF" internalId="#[flowVars.internalId]">
        <netsuite:specific-fields>
            <netsuite:specific-field key="type" value-ref="#[flowVars.recordType]"/>
        </netsuite:specific-fields>
    </netsuite:base-ref>
</netsuite:get>

Attributes

Name Java Type Description Default Value Required

config-ref

String

Specify which config to use

x

baseRef

BaseRefType

An instance of BaseRefType

#[payload]

preferences

Preferences

Preferences for the request.

Returns

Return Java Type Description

Map<String,Object>

a Map that represents the Record you want to retrieve.


Get record

<netsuite:get-record>

DataSense enabled

This is used to retrieve a record by providing the unique id that identifies that record.

XML Sample

<netsuite:get-record config-ref="Netsuite" internalId="#[flowVars.internalId]" type="EMPLOYEE" />

Attributes

Name Java Type Description Default Value Required

config-ref

String

Specify which config to use

x

type

String

The type of record to get.

x

internalId

String

The internalId of the record to get. You can choose between this or externalId.

#[payload]

externalId

String

The externalId of the record to get. You can choose between this or internalId.

preferences

Preferences

Preferences for the request.

Returns

Return Java Type Description

Map<String,Object>

a Map representing the Record.


Get custom record

<netsuite:get-custom-record>

DataSense enabled

This is used to retrieve a custom record by providing the unique id that identifies that record.

XML Sample

<netsuite:get-custom-record config-ref="Netsuite" internalId="#[flowVars.internalId]" type="__customRecordType__myCustomRecord__123" />

Attributes

Name Java Type Description Default Value Required

config-ref

String

Specify which config to use

x

type

String

The type of record to get.

x

internalId

String

The internalId of the record to get. You can choose between this or externalId.

#[payload]

externalId

String

The externalId of the record to get. You can choose between this or internalId.

preferences

Preferences

Preferences for the request.

Returns

Return Java Type Description

Map<String,Object>

a Map representing the Record.


Get item availability

<netsuite:get-item-availability>

Returns the availability for a given item record reference.

If the Multi-Location Inventory feature is enabled, this Processor returns results for all locations.

For locations that do not have any items available, only location IDs and names are listed in results.

XML Sample

<netsuite:get-item-availability config-ref="Netsuite">
    <netsuite:record internalId="#[flowVars.internalId]" type="#[flowVars.recordType]"/>
</netsuite:get-item-availability>

Attributes

Name Java Type Description Default Value Required

config-ref

String

Specify which config to use

x

record

RecordRef

An instance of RecordRef

#[payload]

ifModifiedSince

Date

an optional modified since date. If set, only items with quantity available changes recorded as of the specified date are returned.

preferences

Preferences

Preferences for the request.

Returns

Return Java Type Description

GetItemAvailabilityResult

An instance of GetItemAvailabilityResult


<netsuite:get-saved-search>

Retrieves a list of existing saved searches for the given record type.

XML Sample

<netsuite:get-saved-search config-ref="Netsuite" type="#[flowVars.recordType]"/>

Attributes

Name Java Type Description Default Value Required

config-ref

String

Specify which config to use

x

type

SearchRecordType

the target record type

x

Returns

Return Java Type Description

GetSavedSearchResult

A list of RecordRefs corresponding to the available saved searches


Get server time

<netsuite:get-server-time>

Returns the server time.

XML Sample

<netsuite:get-server-time config-ref="Netsuite"/>

Attributes

Name Java Type Description Default Value Required

config-ref

String

Specify which config to use

x

Returns

Return Java Type Description

Date

the server time, as a Date


Update invitee status

<netsuite:update-invitee-status>

Sets a new invitation status for a given event.

XML Sample

<netsuite:update-invitee-status config-ref="Netsuite" status="#[flowVars.status]">
    <netsuite:event-id internalId="#[flowVars.internalId]" type="#[flowVars.type]"/>
</netsuite:update-invitee-status>

Attributes

Name Java Type Description Default Value Required

config-ref

String

Specify which config to use

x

eventId

RecordRef

the target event id

#[payload]

status

CalendarEventAttendeeResponseEnum

The new status to set

x

preferences

Preferences

Preferences for the request.

Returns

Return Java Type Description

WriteResponse

An instance of WriteResponse


Update invitee status list

<netsuite:update-invitee-status-list>

Sets multiple new invitation status for a given event.

XML Sample

<netsuite:update-invitee-status-list config-ref="Netsuite">
    <netsuite:invitee-status-list ref="#[flowVars.list]"/>
</netsuite:update-invitee-status-list>

Attributes

Name Java Type Description Default Value Required

config-ref

String

Specify which config to use

x

inviteeStatusList

List<UpdateInviteeStatusReference>

A list of the UpdateInviteeStatusReference items.

#[payload]

preferences

Preferences

Preferences for the request.

Returns

Return Java Type Description

List<WriteResponse>

An instance of WriteResponse


Add record objects

<netsuite:add-record-objects>

Creates new records.

XML Sample

<netsuite:add-record-objects config-ref="Netsuite">
    <netsuite:records ref="#[flowVars.records]"/>
</netsuite:add-record-objects>

Attributes

Name Java Type Description Default Value Required

config-ref

String

Specify which config to use

x

records

List

a list of Record objects

#[payload]

Returns

Return Java Type Description

List<WriteResponse>

List of WriteResponse


Add record

<netsuite:add-record>

DataSense enabled

Creates a new record.

The attributes can either be the pojos corresponding to the field or a map that represents it.

XML Sample

<netsuite:add-record config-ref="Netsuite" recordType="#[flowVars.recordType]">
	<netsuite:attributes ref="#[flowVars.attributes]" />
</netsuite:add-record>

Attributes

Name Java Type Description Default Value Required

config-ref

String

Specify which config to use

x

recordType

String

the type of record to add

x

attributes

Map<String,Object>

the record attributes, as a string-object map

#[payload]

preferences

Preferences

Preferences of the request

Returns

Return Java Type Description

BaseRef

an instance of RecordRef or CustomRecordRef depending on the type of


Add list

<netsuite:add-list>

DataSense enabled

Used to add one or more records into the system.

The attributes that define each record can either be the POJOs corresponding to the field or a map that represents it.

XML Sample

<netsuite:add-list config-ref="Netsuite" recordType="#[flowVars.recordType]">
	<netsuite:records ref="#[flowVars.records]" />
</netsuite:add-list>

Attributes

Name Java Type Description Default Value Required

config-ref

String

Specify which config to use

x

recordType

String

the type of record to add

x

records

List<Map<String,Object>>

The records with their attributes, as a string-object map

#[payload]

preferences

Preferences

Preferences for the request.

Returns

Return Java Type Description

List<WriteResponse>

a list of WriteResponse


Update list

<netsuite:update-list>

DataSense enabled

Used to update one or more existing records in the system by providing new values for the fields to be updated for each record.

The records to be updated are identified through the provided unique identifiers.

XML Sample

<netsuite:update-list config-ref="Netsuite" recordType="#[flowVars.recordType]">
    <netsuite:records ref="#[flowVars.records]"/>
</netsuite:update-list>

Attributes

Name Java Type Description Default Value Required

config-ref

String

Specify which config to use

x

recordType

String

the type of record to add

x

records

List<Map<String,Object>>

The records with their attributes, as a string-object map

#[payload]

preferences

Preferences

Preferences for the request.

Returns

Return Java Type Description

List<WriteResponse>

a list of WriteResponse


Update records list

<netsuite:update-records-list>

Used to update one or more existing records in the system by providing a list of records. The records to be updated are identified through the provided unique identifiers.

This call cannot be used with Data mapping or data sense, it was added to allow users to add a batch of records of any type in 1 call.

XML Sample

<netsuite:update-records-list config-ref="Netsuite">
    <netsuite:records ref="#[flowVars.recordRefList]"/>
</netsuite:update-records-list>

Attributes

Name Java Type Description Default Value Required

config-ref

String

Specify which config to use

x

records

List

The records with their attributes.

#[payload]

preferences

Preferences

Preferences for the request.

Returns

Return Java Type Description

List<WriteResponse>

a list of WriteResponse


Delete list

<netsuite:delete-list>

Used to delete one or more records in the system.

XML Sample

<netsuite:delete-list config-ref="Netsuite">
	<netsuite:records ref="#[flowVars.records]" />
</netsuite:delete-list>

Attributes

Name Java Type Description Default Value Required

config-ref

String

Specify which config to use

x

records

List<BaseRefType>

The records with their attributes, as a string-object map

#[payload]

preferences

Preferences

Preferences for the request.

Returns

Return Java Type Description

List<WriteResponse>

A list of record references for the deleted records


Delete records list

<netsuite:delete-records-list>

Used to delete one or more records in the system.

XML Sample

<netsuite:delete-records-list config-ref="Netsuite">
  	<netsuite:records ref="#[flowVars.recordRefList]"/>
</netsuite:delete-records-list>

Attributes

Name Java Type Description Default Value Required

config-ref

String

Specify which config to use

x

records

List<RecordRef>

A list of RecordRef to delete

#[payload]

preferences

Preferences

Preferences for the request.

Returns

Return Java Type Description

List<WriteResponse>

A list of record references for the deleted records


Add file

<netsuite:add-file>

Creates a new file record.

This Processor is similar to addRecord, but is customized for simplifying local content passing.

XML Sample

<netsuite:add-file config-ref="Netsuite" content-ref="#[flowVars.contentRef]" fileName="#[flowVars.fileName]">
	<netsuite:folder-id internalId="#[flowVars.folderId]" />
</netsuite:add-file>

Attributes

Name Java Type Description Default Value Required

config-ref

String

Specify which config to use

x

folderId

RecordRef

the id of the folder record where to add this file

#[payload]

attributes

Map<String,Object>

the additional file attributes

content

Object

the content of the file record to add. It can be of type String, byte array, File or InputStream. If it is an input stream, this Processors also closes it.

x

fileName

String

the name of the remote file

x

preferences

Preferences

Preferences for the request.

Returns

Return Java Type Description

RecordRef

the RecordRef of the new record


Update record

<netsuite:update-record>

DataSense enabled

Updates an existing record.

The attributes can either be the POJOs corresponding to the field or a map that represents it.

XML Sample

<netsuite:update-record config-ref="Netsuite" recordType="#[flowVars.recordType]">
	<netsuite:attributes ref="#[flowVars.attributes]" />
</netsuite:update-record>

Attributes

Name Java Type Description Default Value Required

config-ref

String

Specify which config to use

x

recordType

String

the target record type to update

x

attributes

Map<String,Object>

the record attributes, as a string-object map, including internalId or externalId attribute.

#[payload]

preferences

Preferences

Preferences for the request.

Returns

Return Java Type Description

BaseRef

an instance of RecordRef or CustomRecordRef depending on the type of


Upsert record

<netsuite:upsert-record>

DataSense enabled

The upsert operation is used to add a new instance or to update an instance of a record in NetSuite.

The upsert operation is similar to both the add and update operations, but upsert can be run without first determining whether a record exists in NetSuite. A record is identified by its external ID and its record type. If a record of the specified type with a matching external ID exists in the system, it is updated. If it does not exist, a new record is created.

Because external ID is mandatory for this operation, upsert is supported only for records that support the external ID field.

Also, this operation prohibits the passing of internal ID values.

XML Sample

<netsuite:upsert-record config-ref="Netsuite" recordType="#[flowVars.recordType]">
	<netsuite:attributes ref="#[flowVars.attributes]" />
</netsuite:upsert-record>

Attributes

Name Java Type Description Default Value Required

config-ref

String

Specify which config to use

x

recordType

String

the target record type to update

x

attributes

Map<String,Object>

the record attributes, as a string-object map

#[payload]

preferences

Preferences

Preferences for the request.

Returns

Return Java Type Description

BaseRef

an instance of RecordRef or CustomRecordRef depending on the type of


Upsert list

<netsuite:upsert-list>

DataSense enabled

The upsertList operation is used to add or update one or more instances of a record type in NetSuite.

The upsertList operation is similar to both the addList and updateList operations, but upsert can be run without first determining whether records exist in NetSuite. Records are identified by their external ID and their record type. If a record of the specified type with a matching external ID exists in the system, it is updated. If it does not exist, a new record is created.

Because external ID is mandatory for this operation, upsertList is supported only for records that support the external ID field.

Also, this operation prohibits the passing of internal ID values.

XML Sample

<netsuite:upsert-list config-ref="Netsuite" recordType="#[flowVars.recordType]">
    <netsuite:records ref="#[flowVars.records]"/>
</netsuite:upsert-list>

Attributes

Name Java Type Description Default Value Required

config-ref

String

Specify which config to use

x

recordType

String

the target record type to update

x

records

List<Map<String,Object>>

the record attributes, as a string-object map

#[payload]

preferences

Preferences

Preferences for the request.

Returns

Return Java Type Description

List<WriteResponse>

A list with the references to the upserted records


Check async status

<netsuite:check-async-status>

This operation checks whether a particular asynchronous job has finished processing or not.

XML Sample

<netsuite:check-async-status config-ref="Netsuite" jobId="#[flowVars.jobId]"/>

Attributes

Name Java Type Description Default Value Required

config-ref

String

Specify which config to use

x

jobId

String

the id of the job to check.

#[payload]

preferences

Preferences

Preferences for the request.

Returns

Return Java Type Description

AsyncStatusResult

The AsyncStatusResult for the given job


<netsuite:async-search>

DataSense enabled

An asynchronous request equivalent to #search(String, SearchRecord, boolean, boolean, Integer)

Searches for all records that match the given criteria, asynchronously. Note, due to the nature of the operation, this does not support paging meaning that only the first page of results would be returned.

If no criteria is specified, all records of the given type are retrieved.

In asynchronous requests, your client application sends a request to the SuiteTalk Platform where it is placed in a processing queue and handled asynchronously with other requests. Note that all available jobs for each polling period will be processed contiguously. There is no enforced waiting period for a job that is available. Once a job is initiated, a job ID is returned in the Web services response. Your client application can then check on the status and result of the request by referencing the job ID.

XML Sample

<netsuite:async-search config-ref="Netsuite" searchRecord="#[flowVars.searchRecord]" criteria-ref="#[flowVars.criteriaRef]"/>

Attributes

Name Java Type Description Default Value Required

config-ref

String

Specify which config to use

x

searchRecord

String

The search type - SearchRecordTypeEnum

x

criteria

SearchRecord

An instance of SearchRecord that defines the attributes that make up the search.

#[payload]

bodyFieldsOnly

boolean

Defaults to TRUE and indicates that the information in the body fields of the record are returned — significantly improving performance. Any fields in associated lists or sublists are not returned. If the bodyFieldsOnly field is set to FALSE, all fields associated with the record are returned.

true

returnSearchColumns

boolean

Defaults to TRUE, meaning that only search columns will be returned in your search.

true

pageSize

Integer

Maximum amount of results per page

Returns

Return Java Type Description

AsyncStatusResult

An AsyncStatusResult with the jobId that can be used to check the status and result of the job.


Get async result

<netsuite:get-async-result>

This operation returns the result of a job given that it has finished processing.

XML Sample

<netsuite:get-async-result config-ref="Netsuite" jobId="#[flowVars.jobId]"/>

Attributes

Name Java Type Description Default Value Required

config-ref

String

Specify which config to use

x

jobId

String

the id of the job

#[payload]

pageIndex

Integer

the page number of the async result

1

preferences

Preferences

Preferences for the request.

Returns

Return Java Type Description

AsyncResult

An iterable with the Records found


Initialize

<netsuite:initialize>

Populates fields on transaction line items with values from a related record, in a similar way empty text boxes are pre-populated within the NetSuite UI.

XML Sample

<netsuite:initialize config-ref="Netsuite">
    <netsuite:record type="#[flowVars.transactionRef]">
        <netsuite:reference type="#[flowVars.initializeRef]" internalId="#[flowVars.internalId]"/>
    </netsuite:record>
</netsuite:initialize>

Attributes

Name Java Type Description Default Value Required

config-ref

String

Specify which config to use

x

record

InitializeRecord

An instance of InitializeRecord

#[payload]

preferences

Preferences

Preferences for the request.

Returns

Return Java Type Description

ReadResponse

the initialized Record


Get posting transaction summary

<netsuite:get-posting-transaction-summary>

Used to retrieve a summary of the actual data in an Account.

<p/>

The getPostingTransactionSummary operation allows you to retrieve a summary of the actual data posted to the general ledger in an Account. You can use available filters/fields to generate reports that are similar to what you see when you run financial reports such as a Trial Balance, Balance Sheet, or an Income Statement.

XML Sample

<netsuite:get-posting-transaction-summary config-ref="Netsuite">
    <netsuite:fields account="true" book="true" clazz="true" department="true" entity="true" item="true"
    	location="true" parentItem="true" period="true" subsidiary="true"/>
	    <netsuite:filters>
	        <netsuite:account ref="#[flowVars.accountRef]"/>
	    </netsuite:filters>
</netsuite:get-posting-transaction-summary>

Attributes

Name Java Type Description Default Value Required

config-ref

String

Specify which config to use

x

fields

PostingTransactionSummaryField

Specify how you want your data grouped.

#[payload]

filters

PostingTransactionSummaryFilter

Specify your filtering criteria.

x

pageIndex

Integer

Specify the page to be returned.

1

preferences

Preferences

Preferences for the request.

Returns

Return Java Type Description

GetPostingTransactionSummaryResult

An instance of GetPostingTransactionSummaryResult containing the list of RecirdRef to the fields specified


Get select value

<netsuite:get-select-value>

Used to retrieve valid values for a given recordRef field where the referenced record type is not yet exposed in the Web services API or when the logged in role does not have access to the instances of the record type.

XML Sample

<netsuite:get-select-value config-ref="Netsuite" page="#[flowVars.page]">
    <netsuite:field-descriptor field="#[flowVars.field]" recordType="#[flowVars.recordType]" sublist="#[flowVars.sublist]"/>
</netsuite:get-select-value>

Attributes

Name Java Type Description Default Value Required

config-ref

String

Specify which config to use

x

page

int

For select values that span multiple pages, use this argument to specify which page to return in your response.

x

fieldDescriptor

GetSelectValueFieldDescription

Use to specify all characteristics of the field containing the select values. For example, depending on the field and the values you want returned, you will specify the names or internalIds for the record type, sublist, and field. You may also specify filtering criteria to refine the select options returned in the response.

#[payload]

preferences

Preferences

Preferences for the request.

Returns

Return Java Type Description

GetSelectValueResult

The GetSelectValueResult related to the request.


Get current rate

<netsuite:get-current-rate>

Use this operation to get the exchange rate between two currencies.

XML Sample

<netsuite:get-current-rate config-ref="Netsuite">
    <netsuite:rate-filter>
        <netsuite:base-currency ref="#[flowVars.baseCurrencyRef]"/>
        <netsuite:from-currency ref="#[flowVars.fromCurrencyRef]"/>
    </netsuite:rate-filter>
</netsuite:get-current-rate>

Attributes

Name Java Type Description Default Value Required

config-ref

String

Specify which config to use

x

rateFilter

CurrencyRateFilter

Filter the returned currency exchange rates using this filter.

#[payload]

preferences

Preferences

Preferences for the request.

Returns

Return Java Type Description

GetCurrencyRateResult

The exchange rate.


Async add list

<netsuite:async-add-list>

DataSense enabled

An asynchronous request equivalent to #addList.

The attributes can either be the POJOs corresponding to the field or a map that represents it.

In asynchronous requests, your client application sends a request to the SuiteTalk Platform where it is placed in a processing queue and handled asynchronously with other requests. Note that all available jobs for each polling period will be processed contiguously. There is no enforced waiting period for a job that is available. Once a job is initiated, a job ID is returned in the Web services response. Your client application can then check on the status and result of the request by referencing the job ID.

Note: Asynchronous request JobIDs are valid for 30 days.

XML Sample

<netsuite:async-add-list config-ref="Netsuite" recordType="#[flowVars.recordType]">
    <netsuite:records-attributes ref="#[flowVars.records]"/>
</netsuite:async-add-list>

Attributes

Name Java Type Description Default Value Required

config-ref

String

Specify which config to use

x

recordType

String

The target record type.

x

recordsAttributes

List<Map<String,Object>>

A list of Map<String,Object> containing the attributes of the records that will be added.

#[payload]

preferences

Preferences

Preferences for the request.

Returns

Return Java Type Description

AsyncStatusResult

An AsyncStatusResult with the jobId that can be used to check the status and result of the job.


Async update list

<netsuite:async-update-list>

DataSense enabled

An asynchronous request equivalent to #updateList(String, List, Preferences).

In asynchronous requests, your client application sends a request to the SuiteTalk Platform where it is placed in a processing queue and handled asynchronously with other requests. Note that all available jobs for each polling period will be processed contiguously. There is no enforced waiting period for a job that is available. Once a job is initiated, a job ID is returned in the Web services response. Your client application can then check on the status and result of the request by referencing the job ID.

Note: Asynchronous request JobIDs are valid for 30 days.

XML Sample

<netsuite:async-update-list config-ref="Netsuite" recordType="#[flowVars.recordType]">
    <netsuite:records-attributes ref="#[flowVars.updatedRecords]"/>
</netsuite:async-update-list>

Attributes

Name Java Type Description Default Value Required

config-ref

String

Specify which config to use

x

recordType

String

The target record type.

x

recordsAttributes

List<Map<String,Object>>

A list of Map<String,Object> containing the attributes of the records that will be updated.

#[payload]

preferences

Preferences

Preferences for the request.

Returns

Return Java Type Description

AsyncStatusResult

The result AsyncStatusResult with the jobId that can be used to check the status and result.


Async upsert list

<netsuite:async-upsert-list>

DataSense enabled

An asynchronous request equivalent to #upsertList(String, List, Preferences).

In asynchronous requests, your client application sends a request to the SuiteTalk Platform where it is placed in a processing queue and handled asynchronously with other requests. Note that all available jobs for each polling period will be processed contiguously. There is no enforced waiting period for a job that is available. Once a job is initiated, a job ID is returned in the Web services response. Your client application can then check on the status and result of the request by referencing the job ID.

Note: Asynchronous request JobIDs are valid for 30 days.

XML Sample

<netsuite:async-upsert-list config-ref="Netsuite" recordType="#[flowVars.recordType]">
    <netsuite:records-attributes ref="#[flowVars.records]"/>
</netsuite:async-upsert-list>

Attributes

Name Java Type Description Default Value Required

config-ref

String

Specify which config to use

x

recordType

String

The target record type.

x

recordsAttributes

List<Map<String,Object>>

A list of Map<String,Object> containing the attributes of the records that will be inserted or updated.

#[payload]

preferences

Preferences

Preferences for the request.

Returns

Return Java Type Description

AsyncStatusResult

An AsyncStatusResult with the jobId that can be used to check the status and result of the job.


Async delete list records

<netsuite:async-delete-list-records>

An asynchronous request equivalent to #deleteRecordsList(List, Preferences).

In asynchronous requests, your client application sends a request to the SuiteTalk Platform where it is placed in a processing queue and handled asynchronously with other requests. Note that all available jobs for each polling period will be processed contiguously. There is no enforced waiting period for a job that is available. Once a job is initiated, a job ID is returned in the Web services response. Your client application can then check on the status and result of the request by referencing the job ID.

Note: Asynchronous request JobIDs are valid for 30 days.

XML Sample

<netsuite:async-delete-list-records config-ref="Netsuite">
    <netsuite:records ref="#[flowVars.records]"/>
</netsuite:async-delete-list-records>

Attributes

Name Java Type Description Default Value Required

config-ref

String

Specify which config to use

x

records

List<RecordRef>

A list of RecordRef that references the objects to be deleted.

#[payload]

preferences

Preferences

Preferences for the request.

Returns

Return Java Type Description

AsyncStatusResult

An AsyncStatusResult with the jobId that can be used to check the status and result of the job.


Async delete list

<netsuite:async-delete-list>

An asynchronous request equivalent to #deleteList(List, Preferences).

In asynchronous requests, your client application sends a request to the SuiteTalk Platform where it is placed in a processing queue and handled asynchronously with other requests. Note that all available jobs for each polling period will be processed contiguously. There is no enforced waiting period for a job that is available. Once a job is initiated, a job ID is returned in the Web services response. Your client application can then check on the status and result of the request by referencing the job ID.

Note: Asynchronous request JobIDs are valid for 30 days.

XML Sample

<netsuite:async-delete-list config-ref="Netsuite">
    <netsuite:records ref="#[flowVars.records]"/>
</netsuite:async-delete-list>

Attributes

Name Java Type Description Default Value Required

config-ref

String

Specify which config to use

x

records

List<BaseRefType>

A list of BaseRefType that references the objects to be deleted.

#[payload]

preferences

Preferences

Preferences for the request.

Returns

Return Java Type Description

AsyncStatusResult

An AsyncStatusResult with the jobId that can be used to check the status and result of the job.


Async get list records

<netsuite:async-get-list-records>

An asynchronous request equivalent to #getList(List, Preferences) .

In asynchronous requests, your client application sends a request to the SuiteTalk Platform where it is placed in a processing queue and handled asynchronously with other requests. Note that all available jobs for each polling period will be processed contiguously. There is no enforced waiting period for a job that is available. Once a job is initiated, a job ID is returned in the Web services response. Your client application can then check on the status and result of the request by referencing the job ID.

Note: Asynchronous request JobIDs are valid for 30 days.

XML Sample

<netsuite:async-get-list-records config-ref="Netsuite">
    <netsuite:records ref="#[flowVars.records]"/>
</netsuite:async-get-list-records>

Attributes

Name Java Type Description Default Value Required

config-ref

String

Specify which config to use

x

records

List<RecordRef>

A list of RecordRef that references the objects to be retrieved.

#[payload]

preferences

Preferences

Preferences for the request.

Returns

Return Java Type Description

AsyncStatusResult

An AsyncStatusResult with the jobId that can be used to check the status and result of the job.


Async get list

<netsuite:async-get-list>

An asynchronous request equivalent to #getList(List, Preferences) .

In asynchronous requests, your client application sends a request to the SuiteTalk Platform where it is placed in a processing queue and handled asynchronously with other requests. Note that all available jobs for each polling period will be processed contiguously. There is no enforced waiting period for a job that is available. Once a job is initiated, a job ID is returned in the Web services response. Your client application can then check on the status and result of the request by referencing the job ID.

Note: Asynchronous request JobIDs are valid for 30 days.

XML Sample

<netsuite:async-get-list config-ref="Netsuite">
    <netsuite:records ref="#[flowVars.records]"/>
</netsuite:async-get-list>

Attributes

Name Java Type Description Default Value Required

config-ref

String

Specify which config to use

x

records

List<BaseRefType>

A list of RecordRef that references the objects to be retrieved.

#[payload]

preferences

Preferences

Preferences for the request.

Returns

Return Java Type Description

AsyncStatusResult

An AsyncStatusResult with the jobId that can be used to check the status and result of the job.


Async initialize list

<netsuite:async-initialize-list>

An asynchronous request equivalent to #initializeList(List, Preferences).

In asynchronous requests, your client application sends a request to the SuiteTalk Platform where it is placed in a processing queue and handled asynchronously with other requests. Note that all available jobs for each polling period will be processed contiguously. There is no enforced waiting period for a job that is available. Once a job is initiated, a job ID is returned in the Web services response. Your client application can then check on the status and result of the request by referencing the job ID.

Note: Asynchronous request JobIDs are valid for 30 days.

XML Sample

<netsuite:async-initialize-list config-ref="Netsuite">
	<netsuite:initialize-record ref="#[flowVars.initializeRecordList]"/>
</netsuite:async-initialize-list>

Attributes

Name Java Type Description Default Value Required

config-ref

String

Specify which config to use

x

initializeRecord

List<InitializeRecord>

A list of InitializeRecord that references the objects to be initialized.

#[payload]

preferences

Preferences

Preferences for the request.

Returns

Return Java Type Description

AsyncStatusResult

Ab AsyncStatusResult with the jobId that can be used to check the status and result of the job.


Initialize list

<netsuite:initialize-list>

Used to emulate the UI workflow by pre-populating fields on transaction line items with values from a related record.

XML Sample

<netsuite:initialize-list config-ref="Netsuite">
    <netsuite:initialize-record ref="#[flowVars.initializeRecordList]"/>
</netsuite:initialize-list>

Attributes

Name Java Type Description Default Value Required

config-ref

String

Specify which config to use

x

initializeRecord

List<InitializeRecord>

The list of InitializeRecord to initialize.

#[payload]

preferences

Preferences

Preferences for the request.

Returns

Return Java Type Description

List<ReadResponse>

A list containing the results of each initialize request.


Change email

<netsuite:change-email>

Used to change the email address for the account.

XML Sample

<netsuite:change-email config-ref="Netsuite" newEmail="#[flowVars.newEmail]"/>

Attributes

Name Java Type Description Default Value Required

config-ref

String

Specify which config to use

x

newEmail

String

Value for the new email.

#[payload]

justThisAccount

Boolean

Update email for just this account.

true

Returns

Return Java Type Description

SessionResponse

An instance of SessionResponse .


Change password

<netsuite:change-password>

Used to change the password for the account.

XML Sample

<netsuite:change-password config-ref="Netsuite" newPassword="#[flowVars.newPassword]"/>

Attributes

Name Java Type Description Default Value Required

config-ref

String

Specify which config to use

x

newPassword

String

New password value

#[payload]

justThisAccount

Boolean

Apply change just to this account.

true

Returns

Return Java Type Description

SessionResponse

An instance of SessionResponse .


Get data center urls

<netsuite:get-data-center-urls>

Returns the accessible data-center URLs for the accountId specified.

XML Sample

<netsuite:get-data-center-urls config-ref="Netsuite" accountId="#[flowVars.account]"/>

Attributes

Name Java Type Description Default Value Required

config-ref

String

Specify which config to use

x

accountId

String

Netsuite account Id

#[payload]

Returns

Return Java Type Description

GetDataCenterUrlsResult

Request The result containing the status and Data Center Urls.


Map sso

<netsuite:map-sso>

Used to automate the mapping between external applications credentials and NetSuite’s credentials for a user.

This operation provides a mapping, not a login to NetSuite. This operation does NOT provide the ability to log in using a single sign-on token, cannot provision a partner with the inbound single sign-on feature, or aid with public/private key exchange. Use of this operation implies that the account already has inbound single sign-on set up and has access to the associated partner ID and encryption keys needed to generate the token.

XML Sample

<netsuite:map-sso config-ref="Netsuite" userAccount="#[flowVars.account]" userPartnerId="#[flowVars.partnerId]" authenticationToken="#[flowVars.token]" userEmail="#[flowVars.email]" userPassword="#[flowVars.password]">
    <netsuite:user-role internalId="#[flowVars.internalId]"/>
  </netsuite:map-sso>

Attributes

Name Java Type Description Default Value Required

config-ref

String

Specify which config to use

x

userAccount

String

Account

x

userPartnerId

String

This is the integration partner’s affiliate ID as provided to the partner by NetSuite.

x

authenticationToken

String

this is a string representing the encrypted token.

x

userEmail

String

Email

x

userPassword

String

Password

x

userRole

RecordRef

Role

#[payload]

Returns

Return Java Type Description

SessionResponse

Response which includes the status and wsRoleList elements. The wsRoleList element returns a list of roles available for the user specified in the passport.


<netsuite:search>

Paged Operation

DataSense enabled

The search operation is used to execute a search on a specific record type based on a set of criteria. This processor has been enhanced with a paging mechanism.

Searches can be Basic, Advanced or Join searches. See SearchRecord for all the available searches.

XML Sample

<netsuite:search config-ref="Netsuite" searchRecord="#[flowVars.searchRecord]" fetchSize="#[flowVars.pageSize]" criteria-ref="#[flowVars.criteriaRef]"/>

Attributes

Name Java Type Description Default Value Required

config-ref

String

Specify which config to use

x

searchRecord

String

The search type - SearchRecordTypeEnum

x

criteria

SearchRecord

An instance of SearchRecord that defines the attributes that make up the search.

#[payload]

bodyFieldsOnly

boolean

Defaults to TRUE and indicates that the information in the body fields of the record are returned — significantly improving performance. Any fields in associated lists or sublists are not returned. If the bodyFieldsOnly field is set to FALSE, all fields associated with the record are returned.

true

returnSearchColumns

boolean

Defaults to TRUE, meaning that only search columns will be returned in your search.

true

pagingConfiguration

PagingConfiguration

Page Size

x

Returns

Return Java Type Description

ProviderAwarePagingDelegate<Map<String,Object,http://mulesoft.github.io/mule3-netsuite-connector/7.6.0/apidocs/apidoc.html[NetSuiteConnector]

A list of maps representing the results of the search criteria.

View on GitHub