org.mule.modules

mule-module-netsuite

config

Namespacehttp://www.mulesoft.org/schema/mule/netsuite
Schema Locationhttp://www.mulesoft.org/schema/mule/netsuite/current/mule-netsuite.xsd  (View Schema)
Schema Version3.0
Minimum Mule Version3.4

Module Overview

The NetSuite cloud connector facade, based on a NetSuiteClient

Summary

Configuration
<netsuite:config>
Configure an instance of this module
Message Processors
<netsuite:add-file>
Creates a new file record.
<netsuite:add-list>
Used to add one or more records into the system
<netsuite:add-record>
Creates a new record.
<netsuite:add-record-objects>
Creates new records Example:
<netsuite:async-find-records>
Searches for all records that match the given filtering expression, asynchronously.
<netsuite:attach-record>
Attaches a source record - that is, the attachment - to another destination one, optionally specifying a contact for the attachment.
<netsuite:check-async-status>
Answers the status of an asynchronous Web services submission.
<netsuite:delete-list>
Used to delete one or more records in the system.
<netsuite:delete-record>
Deletes a record.
<netsuite:detach-record>
Detaches a source record - that is, the attachment - from a destination record.
<netsuite:find-first-record>
Answers the first records that match the given filtering expression.
<netsuite:find-records>
Answers all records that match the given filtering expression.
<netsuite:get-async-find-first-result>
Answers the the first result of an asynchronous asyncFind.
<netsuite:get-async-find-result>
Answers the results of an asynchronous web services submission.
<netsuite:get-budget-exchange-rates>
Answers the list of budget exchange rates Example:
<netsuite:get-consolidated-exchange-rates>
Answers the list of consolidated exchange rates Example:
<netsuite:get-customization-ids>
Answers the ids of available customizations for a given record type.
<netsuite:get-deleted-records>
Answers a list of deleted records of a given record type that match a given date expression.
<netsuite:get-item-availabilities>
Answers the availability for a given record reference.
<netsuite:get-record>
Answers a record given its id Example:
<netsuite:get-records>
Answers all the record of a given type Example:
<netsuite:get-saved-search>
Retrieves a list of existing saved searches for the given record type.
<netsuite:get-server-time>
Answers the server time, resulting in more accurate and reliable sync'ing of data than using using local client time.
<netsuite:initialize>
Populates fields on transaction line items with values from a related record, in a similar way empty text boxes are prepopulated within the Netsuite UI Example:
<netsuite:saved-find-records>
Answers all records of a given type for a saved search, given its search id.
<netsuite:update-custom-fields-record>
Updates existing record's custom fields Example:
<netsuite:update-invitee-status>
Sets a new invitation status for a given event.
<netsuite:update-list>
Used to update one or more existing records in the system by providing new values for the fields to be updated for each record.
<netsuite:update-record>
Updates an existing record.
<netsuite:upsert-list>
The upsertList operation is used to add or update one or more instances of a record type in NetSuite.
<netsuite:upsert-record>
The upsert operation is used to add a new instance or to update an instance of a record in NetSuite.

Configuration

To use the this module within a flow the namespace to the module must be included. The resulting flow will look similar to the following:

<mule xmlns="http://www.mulesoft.org/schema/mule/core"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xmlns:netsuite="http://www.mulesoft.org/schema/mule/netsuite"
      xsi:schemaLocation="
               http://www.mulesoft.org/schema/mule/core
               http://www.mulesoft.org/schema/mule/core/current/mule.xsd
               http://www.mulesoft.org/schema/mule/netsuite
               http://www.mulesoft.org/schema/mule/netsuite/current/mule-netsuite.xsd">

      <!-- here goes your flows and configuration elements -->

</mule>

This module is configured using the config element. This element must be placed outside of your flows and at the root of your Mule application. You can create as many configurations as you deem necessary as long as each carries its own name.

Each message processor, message source or transformer carries a config-ref attribute that allows the invoker to specify which configuration to use.

Attributes
TypeNameDefault ValueDescriptionJava TypeMIME TypeEncoding
xs:string name Optional. Give a name to this configuration so it can be later referenced.
xs:string defaultEndpoint https://webservices.na1.netsuite.com/services/NetSuitePort_2012_2 Optional. Service endpoint
    Supports:
  • Live: https://webservices.netsuite.com/services/NetSuitePort_2012_2
  • Sandbox: https://webservices.sandbox.netsuite.com/services/NetSuitePort_2012_2
Defaults to Live

Connection Pool

This connector offers automatic connection management via the use of a connection pool. The pool will act a storage mechanism for all the connections that are in-use by the user of this connector.

Prior to execution of a processor, the connector will attempt to lookup an already established connection and if one doesn't exists it will create one. That lookup mechanism is done in the connection pool via the use of connection variables declared as keys.

The user of the connector can configure the pool by adding a connection-pooling-profile to the connector configuration like this:

    <netsuite:connection-pooling-profile maxActive="10" maxIdle="10"
                             exhaustedAction="WHEN_EXHAUSTED_GROW" maxWait="120" minEvictionMillis="60000" evictionCheckIntervalMillis="30000"/>

The following is a list of connection attributes, each connection attribute can be configured at the config element level or they can also be added to each processor. If they are used at the processor level they get the benefit of full expression resolution.

Connection Attributes
NameDefault ValueDescriptionJava TypeMIME TypeEncoding
config-ref Optional. Specify which configuration to use.
email The login email of both NetSuite UI and SuiteTalk String */* UTF-8
password The login password of both the NetSuite UI and SuiteTalk String */* UTF-8
endpoint Service endpoint String */* UTF-8
account SuiteTalk -NetSuite WebService - account id. It looks like TSTDRVXXXXXX String */* UTF-8
roleId The id of the role used to login in SuiteTalk, which determines the Processor privileges String */* UTF-8

Reconnection Strategies

Reconnection Strategies specify how a connector behaves when its connection fails. You can control how Mule attempts to reconnect by specifying a number of criteria:

With a reconnection strategy, you can better control the behavior of a failed connection, by configuring it, for example, to re-attempt the connection only once every 15 minutes, and to give up after 30 attempts. You can also send an automatic notification to your IT administrator whenever this reconnection strategy goes into effect. You can even define a strategy that attempts to reconnect only during business hours. Such a setting can prove useful if your server is frequently shut down for nightly maintenance.

Configuration

A reconnection strategy that allows the user to configure how many times a reconnection should be attempted and how long to wait between attempts.

    <netsuite:config>
         <reconnect count="5" frequency="1000"/>
    </netsuite:config>
Reconnect Attributes
NameDefault ValueDescription
frequency 2000 Optional. How often (in ms) to reconnect
count 2 Optional. How many reconnection attempts to make

For more information about reconnection strategies in Mule, or even how to write your own custom reconnection strategy please check this section.

Message Processors

<netsuite:add-file>

Creates a new file record. This Processor is similar to addRecord, but is customized for simplifying local content passing.

XML Sample
INCLUDE_ERROR

Attributes
NameDefault ValueDescriptionJava TypeMIME TypeEncoding
config-ref Optional. Specify which configuration to use.
content 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. Object */*
fileName The name of the remote file String */* UTF-8
folderId The id of the folder record where to add this file String */* UTF-8
folderIdType INTERNAL Optional. The id type of the folder record RecordIdType */*
Connection Parameters
This are only required if you didn't specified them at the configuration element. They are also useful for overriding the values of the configurations or even if you need to extract them from the Mule message since they support expression evaluation.
email Optional. The login email of both NetSuite UI and SuiteTalk String */* UTF-8
password Optional. The login password of both the NetSuite UI and SuiteTalk String */* UTF-8
endpoint Optional. Service endpoint String */* UTF-8
account Optional. SuiteTalk -NetSuite WebService - account id. It looks like TSTDRVXXXXXX String */* UTF-8
roleId Optional. The id of the role used to login in SuiteTalk, which determines the Processor privileges String */* UTF-8
Child Elements
NameDefault ValueDescriptionJava Type
<netsuite:attributes> Optional. The additional file attributes Map<String, Object>
Returns
Return Type Description
RecordRef the RecordRef of the new record
Exception Payloads
Payload ClassDescription
IOException if the content cannot be parsed to byte[]

<netsuite:add-list>

Used to add one or more records into the system

XML Sample
INCLUDE_ERROR

Attributes
NameDefault ValueDescriptionJava TypeMIME TypeEncoding
config-ref Optional. Specify which configuration to use.
recordType The type of record to add String */* UTF-8
Connection Parameters
This are only required if you didn't specified them at the configuration element. They are also useful for overriding the values of the configurations or even if you need to extract them from the Mule message since they support expression evaluation.
email Optional. The login email of both NetSuite UI and SuiteTalk String */* UTF-8
password Optional. The login password of both the NetSuite UI and SuiteTalk String */* UTF-8
endpoint Optional. Service endpoint String */* UTF-8
account Optional. SuiteTalk -NetSuite WebService - account id. It looks like TSTDRVXXXXXX String */* UTF-8
roleId Optional. The id of the role used to login in SuiteTalk, which determines the Processor privileges String */* UTF-8
Child Elements
NameDefault ValueDescriptionJava Type
<netsuite:records> #[payload] Optional. The records with their attributes, as a string-object map List<Map<String, Object>>
Returns
Return Type Description
List<RecordRef> A list of record references for the added records

<netsuite:add-record>

Creates a new record. Example:

XML Sample
INCLUDE_ERROR
XML Sample
INCLUDE_ERROR

Attributes
NameDefault ValueDescriptionJava TypeMIME TypeEncoding
config-ref Optional. Specify which configuration to use.
recordType The type of record to add String */* UTF-8
Connection Parameters
This are only required if you didn't specified them at the configuration element. They are also useful for overriding the values of the configurations or even if you need to extract them from the Mule message since they support expression evaluation.
email Optional. The login email of both NetSuite UI and SuiteTalk String */* UTF-8
password Optional. The login password of both the NetSuite UI and SuiteTalk String */* UTF-8
endpoint Optional. Service endpoint String */* UTF-8
account Optional. SuiteTalk -NetSuite WebService - account id. It looks like TSTDRVXXXXXX String */* UTF-8
roleId Optional. The id of the role used to login in SuiteTalk, which determines the Processor privileges String */* UTF-8
Child Elements
NameDefault ValueDescriptionJava Type
<netsuite:attributes> #[payload] Optional. The record attributes, as a string-object map Map<String, Object>
Returns
Return Type Description
RecordRef the RecordRef of the new record

<netsuite:add-record-objects>

Creates new records Example:

XML Sample
INCLUDE_ERROR

Attributes
NameDefault ValueDescriptionJava TypeMIME TypeEncoding
config-ref Optional. Specify which configuration to use.
recordType The type of record to add RecordTypeEnum */*
Connection Parameters
This are only required if you didn't specified them at the configuration element. They are also useful for overriding the values of the configurations or even if you need to extract them from the Mule message since they support expression evaluation.
email Optional. The login email of both NetSuite UI and SuiteTalk String */* UTF-8
password Optional. The login password of both the NetSuite UI and SuiteTalk String */* UTF-8
endpoint Optional. Service endpoint String */* UTF-8
account Optional. SuiteTalk -NetSuite WebService - account id. It looks like TSTDRVXXXXXX String */* UTF-8
roleId Optional. The id of the role used to login in SuiteTalk, which determines the Processor privileges String */* UTF-8
Child Elements
NameDefault ValueDescriptionJava Type
<netsuite:records> The Records object List<? extends Record>
Returns
Return Type Description
List<RecordRef> the RecordRef of the new record

<netsuite:async-find-records>

Searches for all records that match the given filtering expression, asynchronously. If no expression is specified, all records of the given type are retrieved Filtering expressions support both basic and joined syntax, that is, using in the filters attributes of both the target entity and the target entity associations. Advanced search is not supported. Search expressions are in the form operator(attribute, arguments...) for basic search, and operator(join.attribute, arguments...) for joined search, where operator is any of the string, long, double, and text operators supported by SuiteTalk - MultiSelect operators are not supported - plus the isTrue/isFalse boolean operators, and arguments are zero up to three operands that depend on the operator used. Examples:

XML Sample
INCLUDE_ERROR

Attributes
NameDefault ValueDescriptionJava TypeMIME TypeEncoding
config-ref Optional. Specify which configuration to use.
recordType The type of record to search SearchRecordTypeEnum */*
expression Optional. The filtering expression, in the form operator(attribute, arguments...) for basic search, and operator(join.attribute, arguments...) for joined search, where operator is any of the string, long, double, and text operators supported by SuiteTalk - MultiSelect operators are not supported - plus the isTrue/isFalse boolean operators, and arguments are zero up to three operands that depend on the operator used. Multiple filters can be combined using multiple predicates separated by commas. String */* UTF-8
Connection Parameters
This are only required if you didn't specified them at the configuration element. They are also useful for overriding the values of the configurations or even if you need to extract them from the Mule message since they support expression evaluation.
email Optional. The login email of both NetSuite UI and SuiteTalk String */* UTF-8
password Optional. The login password of both the NetSuite UI and SuiteTalk String */* UTF-8
endpoint Optional. Service endpoint String */* UTF-8
account Optional. SuiteTalk -NetSuite WebService - account id. It looks like TSTDRVXXXXXX String */* UTF-8
roleId Optional. The id of the role used to login in SuiteTalk, which determines the Processor privileges String */* UTF-8
Returns
Return Type Description
AsyncStatusResult the AsyncStatusResult of the query

<netsuite:attach-record>

Attaches a source record - that is, the attachment - to another destination one, optionally specifying a contact for the attachment. Not all record type are supported as source, destination or contact. Please consult NetSuite documentation. Example:

XML Sample
INCLUDE_ERROR

Attributes
NameDefault ValueDescriptionJava TypeMIME TypeEncoding
config-ref Optional. Specify which configuration to use.
sourceRecordType The type of the target record to be attached RecordTypeEnum */*
sourceId The id of the target record to be attached String */* UTF-8
sourceIdType INTERNAL Optional. The id type of the record to be attached RecordIdType */*
destinationRecordType The type of the record to be attached to RecordTypeEnum */*
destinationId The id of the record to be attached to String */* UTF-8
destinationIdType INTERNAL Optional. The id type of the record to be attached to RecordIdType */*
contanctRecordType Optional. The record type of the optional contact record RecordTypeEnum */*
contanctId Optional. The id of the optional contact record String */* UTF-8
contanctIdType INTERNAL Optional. The id type of the optional contact record RecordIdType */*
Connection Parameters
This are only required if you didn't specified them at the configuration element. They are also useful for overriding the values of the configurations or even if you need to extract them from the Mule message since they support expression evaluation.
email Optional. The login email of both NetSuite UI and SuiteTalk String */* UTF-8
password Optional. The login password of both the NetSuite UI and SuiteTalk String */* UTF-8
endpoint Optional. Service endpoint String */* UTF-8
account Optional. SuiteTalk -NetSuite WebService - account id. It looks like TSTDRVXXXXXX String */* UTF-8
roleId Optional. The id of the role used to login in SuiteTalk, which determines the Processor privileges String */* UTF-8
Returns
Return Type Description
AttachResponse AttachResponse information including the WriteResponse object.

<netsuite:check-async-status>

Answers the status of an asynchronous Web services submission. When a jobId is submitted, the status, percent complete, and estimated remaining duration are returned. Example:

XML Sample
INCLUDE_ERROR

Attributes
NameDefault ValueDescriptionJava TypeMIME TypeEncoding
config-ref Optional. Specify which configuration to use.
jobId The id of the job whose status to check String */* UTF-8
Connection Parameters
This are only required if you didn't specified them at the configuration element. They are also useful for overriding the values of the configurations or even if you need to extract them from the Mule message since they support expression evaluation.
email Optional. The login email of both NetSuite UI and SuiteTalk String */* UTF-8
password Optional. The login password of both the NetSuite UI and SuiteTalk String */* UTF-8
endpoint Optional. Service endpoint String */* UTF-8
account Optional. SuiteTalk -NetSuite WebService - account id. It looks like TSTDRVXXXXXX String */* UTF-8
roleId Optional. The id of the role used to login in SuiteTalk, which determines the Processor privileges String */* UTF-8
Returns
Return Type Description
AsyncStatusResult the AsyncStatusResult for the given job

<netsuite:delete-list>

Used to delete one or more records in the system. The records to be deleted are identified through the provided unique identifiers.

XML Sample
INCLUDE_ERROR

Attributes
NameDefault ValueDescriptionJava TypeMIME TypeEncoding
config-ref Optional. Specify which configuration to use.
recordType The type of record to add RecordTypeEnum */*
Connection Parameters
This are only required if you didn't specified them at the configuration element. They are also useful for overriding the values of the configurations or even if you need to extract them from the Mule message since they support expression evaluation.
email Optional. The login email of both NetSuite UI and SuiteTalk String */* UTF-8
password Optional. The login password of both the NetSuite UI and SuiteTalk String */* UTF-8
endpoint Optional. Service endpoint String */* UTF-8
account Optional. SuiteTalk -NetSuite WebService - account id. It looks like TSTDRVXXXXXX String */* UTF-8
roleId Optional. The id of the role used to login in SuiteTalk, which determines the Processor privileges String */* UTF-8
Child Elements
NameDefault ValueDescriptionJava Type
<netsuite:records> The records with their attributes, as a string-object map List<Map<String, Object>>
Returns
Return Type Description
List<RecordRef> A list of Record references for the deleted records

<netsuite:delete-record>

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

XML Sample
INCLUDE_ERROR

Attributes
NameDefault ValueDescriptionJava TypeMIME TypeEncoding
config-ref Optional. Specify which configuration to use.
recordType The type of the record to delete RecordTypeEnum */*
id The id of the record to delete String */* UTF-8
idType INTERNAL Optional. The type of id of the record to delete RecordIdType */*
Connection Parameters
This are only required if you didn't specified them at the configuration element. They are also useful for overriding the values of the configurations or even if you need to extract them from the Mule message since they support expression evaluation.
email Optional. The login email of both NetSuite UI and SuiteTalk String */* UTF-8
password Optional. The login password of both the NetSuite UI and SuiteTalk String */* UTF-8
endpoint Optional. Service endpoint String */* UTF-8
account Optional. SuiteTalk -NetSuite WebService - account id. It looks like TSTDRVXXXXXX String */* UTF-8
roleId Optional. The id of the role used to login in SuiteTalk, which determines the Processor privileges String */* UTF-8
Returns
Return Type Description
DeleteResponse deleted record response

<netsuite:detach-record>

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

XML Sample
INCLUDE_ERROR

Attributes
NameDefault ValueDescriptionJava TypeMIME TypeEncoding
config-ref Optional. Specify which configuration to use.
sourceRecordType The type of the target record to be detached RecordTypeEnum */*
sourceId The id of the target record to be detached String */* UTF-8
sourceIdType INTERNAL Optional. The id type of the record to be detached RecordIdType */*
destinationRecordType The type of the record to be detached to RecordTypeEnum */*
destinationId The id of the record to be detached to String */* UTF-8
destinationIdType INTERNAL Optional. The id type of the record to be detached to RecordIdType */*
Connection Parameters
This are only required if you didn't specified them at the configuration element. They are also useful for overriding the values of the configurations or even if you need to extract them from the Mule message since they support expression evaluation.
email Optional. The login email of both NetSuite UI and SuiteTalk String */* UTF-8
password Optional. The login password of both the NetSuite UI and SuiteTalk String */* UTF-8
endpoint Optional. Service endpoint String */* UTF-8
account Optional. SuiteTalk -NetSuite WebService - account id. It looks like TSTDRVXXXXXX String */* UTF-8
roleId Optional. The id of the role used to login in SuiteTalk, which determines the Processor privileges String */* UTF-8
Returns
Return Type Description
DetachResponse DetachResponse object

<netsuite:find-first-record>

Answers the first records that match the given filtering expression. If no expression is specified, the empty expression is used, which retrieves all records of the given type. Returns null if no element can be retrieved Filtering expressions support both basic and joined syntax, that is, using in the filters attributes of both the target entity and the target entity associations. Advanced search is not supported. Search expressions are in the form operator(attribute, arguments...) for basic search, and operator(join.attribute, arguments...) for joined search, where operator is any of the string, long, double, and text operators supported by SuiteTalk - MultiSelect operators are not supported - plus the isTrue/isFalse boolean operators, and arguments are zero up to three operands that depend on the operator used. Examples:

XML Sample
INCLUDE_ERROR

Attributes
NameDefault ValueDescriptionJava TypeMIME TypeEncoding
config-ref Optional. Specify which configuration to use.
recordType The type of record to search SearchRecordTypeEnum */*
expression Optional. The filtering expression Multiple filters can be combined using multiple predicates separated by commas. String */* UTF-8
Connection Parameters
This are only required if you didn't specified them at the configuration element. They are also useful for overriding the values of the configurations or even if you need to extract them from the Mule message since they support expression evaluation.
email Optional. The login email of both NetSuite UI and SuiteTalk String */* UTF-8
password Optional. The login password of both the NetSuite UI and SuiteTalk String */* UTF-8
endpoint Optional. Service endpoint String */* UTF-8
account Optional. SuiteTalk -NetSuite WebService - account id. It looks like TSTDRVXXXXXX String */* UTF-8
roleId Optional. The id of the role used to login in SuiteTalk, which determines the Processor privileges String */* UTF-8
Returns
Return Type Description
Record the first record that match the given filtering expression

<netsuite:find-records>

Answers all records that match the given filtering expression. If no expression is specified, the empty expression is used, which retrieves all records of the given type. Filtering expressions support both basic and joined syntax, that is, using in the filters attributes of both the target entity and the target entity associations. Advanced search is not supported. Search expressions are in the form operator(attribute, arguments...) for basic search, and operator(join.attribute, arguments...) for joined search, where operator is any of the string, long, double, and text operators supported by SuiteTalk - MultiSelect operators are not supported - plus the isTrue/isFalse boolean operators, and arguments are zero up to three operands that depend on the operator used.

XML Sample
INCLUDE_ERROR
Examples:

Attributes
NameDefault ValueDescriptionJava TypeMIME TypeEncoding
config-ref Optional. Specify which configuration to use.
recordType The type of record to search SearchRecordTypeEnum */*
expression Optional. The filtering expression Multiple filters can be combined using multiple predicates separated by commas. String */* UTF-8
Connection Parameters
This are only required if you didn't specified them at the configuration element. They are also useful for overriding the values of the configurations or even if you need to extract them from the Mule message since they support expression evaluation.
email Optional. The login email of both NetSuite UI and SuiteTalk String */* UTF-8
password Optional. The login password of both the NetSuite UI and SuiteTalk String */* UTF-8
endpoint Optional. Service endpoint String */* UTF-8
account Optional. SuiteTalk -NetSuite WebService - account id. It looks like TSTDRVXXXXXX String */* UTF-8
roleId Optional. The id of the role used to login in SuiteTalk, which determines the Processor privileges String */* UTF-8
Returns
Return Type Description
List<Record> A list of Record

<netsuite:get-async-find-first-result>

Answers the the first result of an asynchronous asyncFind. Throws a NoSuchElement exception if there are no results. This Processor can be executed Processor up to 20 times within a 30 day time period to retrieve the results of an asynchronous job. Example:

XML Sample
INCLUDE_ERROR

Attributes
NameDefault ValueDescriptionJava TypeMIME TypeEncoding
config-ref Optional. Specify which configuration to use.
jobId The id of the job String */* UTF-8
Connection Parameters
This are only required if you didn't specified them at the configuration element. They are also useful for overriding the values of the configurations or even if you need to extract them from the Mule message since they support expression evaluation.
email Optional. The login email of both NetSuite UI and SuiteTalk String */* UTF-8
password Optional. The login password of both the NetSuite UI and SuiteTalk String */* UTF-8
endpoint Optional. Service endpoint String */* UTF-8
account Optional. SuiteTalk -NetSuite WebService - account id. It looks like TSTDRVXXXXXX String */* UTF-8
roleId Optional. The id of the role used to login in SuiteTalk, which determines the Processor privileges String */* UTF-8
Returns
Return Type Description
Object the first Record

<netsuite:get-async-find-result>

Answers the results of an asynchronous web services submission. This Processor can be executed Processor up to 20 times within a 30 day time period to retrieve the results of an asynchronous job. Example:

XML Sample
INCLUDE_ERROR

Attributes
NameDefault ValueDescriptionJava TypeMIME TypeEncoding
config-ref Optional. Specify which configuration to use.
jobId The id of the job String */* UTF-8
Connection Parameters
This are only required if you didn't specified them at the configuration element. They are also useful for overriding the values of the configurations or even if you need to extract them from the Mule message since they support expression evaluation.
email Optional. The login email of both NetSuite UI and SuiteTalk String */* UTF-8
password Optional. The login password of both the NetSuite UI and SuiteTalk String */* UTF-8
endpoint Optional. Service endpoint String */* UTF-8
account Optional. SuiteTalk -NetSuite WebService - account id. It looks like TSTDRVXXXXXX String */* UTF-8
roleId Optional. The id of the role used to login in SuiteTalk, which determines the Processor privileges String */* UTF-8
Returns
Return Type Description
List<Record> An iterable with the Records found

<netsuite:get-budget-exchange-rates>

Answers the list of budget exchange rates Example:

XML Sample
INCLUDE_ERROR

Attributes
NameDefault ValueDescriptionJava TypeMIME TypeEncoding
config-ref Optional. Specify which configuration to use.
periodId The id of the period String */* UTF-8
periodIdType INTERNAL Optional. The period id type RecordIdType */*
fromSubsidiaryId The id of the staring subsidiary String */* UTF-8
fromSubsidiaryIdType INTERNAL Optional. The starting subsidiary id type RecordIdType */*
toSubsidiaryId Optional. The the id of the optional ending subsidiary String */* UTF-8
toSubsidiaryIdType INTERNAL Optional. The id type of the optional ending subsidiary RecordIdType */*
Connection Parameters
This are only required if you didn't specified them at the configuration element. They are also useful for overriding the values of the configurations or even if you need to extract them from the Mule message since they support expression evaluation.
email Optional. The login email of both NetSuite UI and SuiteTalk String */* UTF-8
password Optional. The login password of both the NetSuite UI and SuiteTalk String */* UTF-8
endpoint Optional. Service endpoint String */* UTF-8
account Optional. SuiteTalk -NetSuite WebService - account id. It looks like TSTDRVXXXXXX String */* UTF-8
roleId Optional. The id of the role used to login in SuiteTalk, which determines the Processor privileges String */* UTF-8
Returns
Return Type Description
List<BudgetExchangeRate> a list of BudgetExchangeRate's

<netsuite:get-consolidated-exchange-rates>

Answers the list of consolidated exchange rates Example:

XML Sample
INCLUDE_ERROR

Attributes
NameDefault ValueDescriptionJava TypeMIME TypeEncoding
config-ref Optional. Specify which configuration to use.
periodId The id of the period String */* UTF-8
periodIdType INTERNAL Optional. The period id type RecordIdType */*
fromSubsidiaryId The id of the staring subsidiary String */* UTF-8
fromSubsidiaryIdType INTERNAL Optional. The starting subsidiary id type RecordIdType */*
toSubsidiaryId Optional. The the id of the optional ending subsidiary String */* UTF-8
toSubsidiaryIdType INTERNAL Optional. The id type of the optional ending subsidiary RecordIdType */*
Connection Parameters
This are only required if you didn't specified them at the configuration element. They are also useful for overriding the values of the configurations or even if you need to extract them from the Mule message since they support expression evaluation.
email Optional. The login email of both NetSuite UI and SuiteTalk String */* UTF-8
password Optional. The login password of both the NetSuite UI and SuiteTalk String */* UTF-8
endpoint Optional. Service endpoint String */* UTF-8
account Optional. SuiteTalk -NetSuite WebService - account id. It looks like TSTDRVXXXXXX String */* UTF-8
roleId Optional. The id of the role used to login in SuiteTalk, which determines the Processor privileges String */* UTF-8
Returns
Return Type Description
List<ConsolidatedExchangeRate> a list of ConsolidatedExchangeRate's

<netsuite:get-customization-ids>

Answers the ids of available customizations for a given record type. Example:

XML Sample
INCLUDE_ERROR

Attributes
NameDefault ValueDescriptionJava TypeMIME TypeEncoding
config-ref Optional. Specify which configuration to use.
type The target record type GetCustomizationTypeEnum */*
includeInactives false Optional. If inactive customizations should also be returned boolean */*
Connection Parameters
This are only required if you didn't specified them at the configuration element. They are also useful for overriding the values of the configurations or even if you need to extract them from the Mule message since they support expression evaluation.
email Optional. The login email of both NetSuite UI and SuiteTalk String */* UTF-8
password Optional. The login password of both the NetSuite UI and SuiteTalk String */* UTF-8
endpoint Optional. Service endpoint String */* UTF-8
account Optional. SuiteTalk -NetSuite WebService - account id. It looks like TSTDRVXXXXXX String */* UTF-8
roleId Optional. The id of the role used to login in SuiteTalk, which determines the Processor privileges String */* UTF-8
Returns
Return Type Description
List<CustomizationRef> a list of CustomizationRef's

<netsuite:get-deleted-records>

Answers a list of deleted records of a given record type that match a given date expression. This Processors accepts two different date expression passing styles: string oriented, and object oriented. If whenExpression is specified, it is parsed and used as date expression. Otherwise, a date expression is build from date1, date2 and operator parameters. The first style is more appropriate when the date expression can be harcdoded, while the second style is better when client code already has date objects. However, predefined search values like thisWeek, tomorrow or today can only be used with the first, string oriented, style. String oriented date expressions are in the form Processor( searchValue, arguments...), where Processor is any of the NetSuite supported date Processors, arguments are one or two operands for the given operator, and searchValue is some of the supported predefined search value as defined by NetSuite or any of the following expressions: isoDate( anIsoDate ), isoDateRante( anIsoDate, anotherIsoDate ) , dateTime( aQuotedDateTime, aQuoatedJavaDateFormat ), dateTimeRange( aQuotedDateTime, anotherQuotedDateTime, aQuoatedJavaDateFormat ). Supported predefined search values are: today, thisWeek, thisBusinessWeek, thisMonth,thisYear, yesterday, twoDaysAgo, lastWeek, lastMonth, threeMonthAgo,tomorrow, nextMonth , nextWeek Examples using both string and object oriented styles:

XML Sample
INCLUDE_ERROR

Attributes
NameDefault ValueDescriptionJava TypeMIME TypeEncoding
config-ref Optional. Specify which configuration to use.
type The type of the target deleted record to retrieve RecordTypeEnum */*
whenExpression Optional. A predicate-style date filtering expression String */* UTF-8
date1 Optional. The first date to use Date */*
date2 Optional. The second date to use Date */*
operator Optional. The date operator SearchDateFieldOperatorEnum */*
Connection Parameters
This are only required if you didn't specified them at the configuration element. They are also useful for overriding the values of the configurations or even if you need to extract them from the Mule message since they support expression evaluation.
email Optional. The login email of both NetSuite UI and SuiteTalk String */* UTF-8
password Optional. The login password of both the NetSuite UI and SuiteTalk String */* UTF-8
endpoint Optional. Service endpoint String */* UTF-8
account Optional. SuiteTalk -NetSuite WebService - account id. It looks like TSTDRVXXXXXX String */* UTF-8
roleId Optional. The id of the role used to login in SuiteTalk, which determines the Processor privileges String */* UTF-8
Returns
Return Type Description
List<DeletedRecord> the list of DeletedRecord's that match the given date filtering expression

<netsuite:get-item-availabilities>

Answers the availability for a given 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. Example:

XML Sample
INCLUDE_ERROR

Attributes
NameDefault ValueDescriptionJava TypeMIME TypeEncoding
config-ref Optional. Specify which configuration to use.
recordType The target record type RecordTypeEnum */*
id The target record id String */* UTF-8
idType INTERNAL Optional. The id type of the given record id RecordIdType */*
ifModifiedSince Optional. An optional modified since date. If set, only items with quantity available changes recorded as of the specified date are returned. Date */*
Connection Parameters
This are only required if you didn't specified them at the configuration element. They are also useful for overriding the values of the configurations or even if you need to extract them from the Mule message since they support expression evaluation.
email Optional. The login email of both NetSuite UI and SuiteTalk String */* UTF-8
password Optional. The login password of both the NetSuite UI and SuiteTalk String */* UTF-8
endpoint Optional. Service endpoint String */* UTF-8
account Optional. SuiteTalk -NetSuite WebService - account id. It looks like TSTDRVXXXXXX String */* UTF-8
roleId Optional. The id of the role used to login in SuiteTalk, which determines the Processor privileges String */* UTF-8
Returns
Return Type Description
List<ItemAvailability> A list of ItemAvailability's

<netsuite:get-record>

Answers a record given its id Example:

XML Sample
INCLUDE_ERROR

Attributes
NameDefault ValueDescriptionJava TypeMIME TypeEncoding
config-ref Optional. Specify which configuration to use.
recordType The target record type RecordTypeEnum */*
id The target record id String */* UTF-8
idType INTERNAL Optional. The id type of the given record id RecordIdType */*
Connection Parameters
This are only required if you didn't specified them at the configuration element. They are also useful for overriding the values of the configurations or even if you need to extract them from the Mule message since they support expression evaluation.
email Optional. The login email of both NetSuite UI and SuiteTalk String */* UTF-8
password Optional. The login password of both the NetSuite UI and SuiteTalk String */* UTF-8
endpoint Optional. Service endpoint String */* UTF-8
account Optional. SuiteTalk -NetSuite WebService - account id. It looks like TSTDRVXXXXXX String */* UTF-8
roleId Optional. The id of the role used to login in SuiteTalk, which determines the Processor privileges String */* UTF-8
Returns
Return Type Description
Record an instance of Record

<netsuite:get-records>

Answers all the record of a given type Example:

XML Sample
INCLUDE_ERROR

Attributes
NameDefault ValueDescriptionJava TypeMIME TypeEncoding
config-ref Optional. Specify which configuration to use.
type The target record type GetAllRecordType */*
Connection Parameters
This are only required if you didn't specified them at the configuration element. They are also useful for overriding the values of the configurations or even if you need to extract them from the Mule message since they support expression evaluation.
email Optional. The login email of both NetSuite UI and SuiteTalk String */* UTF-8
password Optional. The login password of both the NetSuite UI and SuiteTalk String */* UTF-8
endpoint Optional. Service endpoint String */* UTF-8
account Optional. SuiteTalk -NetSuite WebService - account id. It looks like TSTDRVXXXXXX String */* UTF-8
roleId Optional. The id of the role used to login in SuiteTalk, which determines the Processor privileges String */* UTF-8
Returns
Return Type Description
List<Record> the list of Record's

<netsuite:get-saved-search>

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

XML Sample
INCLUDE_ERROR

Attributes
NameDefault ValueDescriptionJava TypeMIME TypeEncoding
config-ref Optional. Specify which configuration to use.
type The target record type RecordTypeEnum */*
Connection Parameters
This are only required if you didn't specified them at the configuration element. They are also useful for overriding the values of the configurations or even if you need to extract them from the Mule message since they support expression evaluation.
email Optional. The login email of both NetSuite UI and SuiteTalk String */* UTF-8
password Optional. The login password of both the NetSuite UI and SuiteTalk String */* UTF-8
endpoint Optional. Service endpoint String */* UTF-8
account Optional. SuiteTalk -NetSuite WebService - account id. It looks like TSTDRVXXXXXX String */* UTF-8
roleId Optional. The id of the role used to login in SuiteTalk, which determines the Processor privileges String */* UTF-8
Returns
Return Type Description
List<RecordRef> the list of RecordRedf's

<netsuite:get-server-time>

Answers the server time, resulting in more accurate and reliable sync'ing of data than using using local client time. Example:

XML Sample
INCLUDE_ERROR

Attributes
NameDefault ValueDescriptionJava TypeMIME TypeEncoding
config-ref Optional. Specify which configuration to use.
Connection Parameters
This are only required if you didn't specified them at the configuration element. They are also useful for overriding the values of the configurations or even if you need to extract them from the Mule message since they support expression evaluation.
email Optional. The login email of both NetSuite UI and SuiteTalk String */* UTF-8
password Optional. The login password of both the NetSuite UI and SuiteTalk String */* UTF-8
endpoint Optional. Service endpoint String */* UTF-8
account Optional. SuiteTalk -NetSuite WebService - account id. It looks like TSTDRVXXXXXX String */* UTF-8
roleId Optional. The id of the role used to login in SuiteTalk, which determines the Processor privileges String */* UTF-8
Returns
Return Type Description
Date the server time, as a Date

<netsuite:initialize>

Populates fields on transaction line items with values from a related record, in a similar way empty text boxes are prepopulated within the Netsuite UI Example:

XML Sample
INCLUDE_ERROR

Attributes
NameDefault ValueDescriptionJava TypeMIME TypeEncoding
config-ref Optional. Specify which configuration to use.
type The type of record whose defaults values are used to populate the target record InitializeTypeEnum */*
recordType The target record type RecordTypeEnum */*
id The target record id String */* UTF-8
idType INTERNAL Optional. The id type of the given record id RecordIdType */*
Connection Parameters
This are only required if you didn't specified them at the configuration element. They are also useful for overriding the values of the configurations or even if you need to extract them from the Mule message since they support expression evaluation.
email Optional. The login email of both NetSuite UI and SuiteTalk String */* UTF-8
password Optional. The login password of both the NetSuite UI and SuiteTalk String */* UTF-8
endpoint Optional. Service endpoint String */* UTF-8
account Optional. SuiteTalk -NetSuite WebService - account id. It looks like TSTDRVXXXXXX String */* UTF-8
roleId Optional. The id of the role used to login in SuiteTalk, which determines the Processor privileges String */* UTF-8
Returns
Return Type Description
Object the initialized Record

<netsuite:saved-find-records>

Answers all records of a given type for a saved search, given its search id. Examples:

XML Sample
INCLUDE_ERROR

Attributes
NameDefault ValueDescriptionJava TypeMIME TypeEncoding
config-ref Optional. Specify which configuration to use.
recordType The type of record to search SearchRecordTypeEnum */*
searchId The id of the save search String */* UTF-8
Connection Parameters
This are only required if you didn't specified them at the configuration element. They are also useful for overriding the values of the configurations or even if you need to extract them from the Mule message since they support expression evaluation.
email Optional. The login email of both NetSuite UI and SuiteTalk String */* UTF-8
password Optional. The login password of both the NetSuite UI and SuiteTalk String */* UTF-8
endpoint Optional. Service endpoint String */* UTF-8
account Optional. SuiteTalk -NetSuite WebService - account id. It looks like TSTDRVXXXXXX String */* UTF-8
roleId Optional. The id of the role used to login in SuiteTalk, which determines the Processor privileges String */* UTF-8
Returns
Return Type Description
List<SearchRow> An iterable with the Records found

<netsuite:update-custom-fields-record>

Updates existing record's custom fields Example:

XML Sample
INCLUDE_ERROR

Attributes
NameDefault ValueDescriptionJava TypeMIME TypeEncoding
config-ref Optional. Specify which configuration to use.
recordType The target record type to update RecordTypeEnum */*
customFieldType The type of custom field CustomFieldRefTypeEnum */*
id The target record id String */* UTF-8
idType INTERNAL Optional. The id type of the given record id RecordIdType */*
Connection Parameters
This are only required if you didn't specified them at the configuration element. They are also useful for overriding the values of the configurations or even if you need to extract them from the Mule message since they support expression evaluation.
email Optional. The login email of both NetSuite UI and SuiteTalk String */* UTF-8
password Optional. The login password of both the NetSuite UI and SuiteTalk String */* UTF-8
endpoint Optional. Service endpoint String */* UTF-8
account Optional. SuiteTalk -NetSuite WebService - account id. It looks like TSTDRVXXXXXX String */* UTF-8
roleId Optional. The id of the role used to login in SuiteTalk, which determines the Processor privileges String */* UTF-8
Child Elements
NameDefault ValueDescriptionJava Type
<netsuite:custom-fields> The custom fields as a map, where the key is the internalId Map<String, Object>

<netsuite:update-invitee-status>

Sets a new invitation status for a given event. Example: Example:

XML Sample
INCLUDE_ERROR

Attributes
NameDefault ValueDescriptionJava TypeMIME TypeEncoding
config-ref Optional. Specify which configuration to use.
eventId The target event id String */* UTF-8
eventIdType INTERNAL Optional. The id type of the given eventId RecordIdType */*
status The new status to set CalendarEventAttendeeResponseEnum */*
Connection Parameters
This are only required if you didn't specified them at the configuration element. They are also useful for overriding the values of the configurations or even if you need to extract them from the Mule message since they support expression evaluation.
email Optional. The login email of both NetSuite UI and SuiteTalk String */* UTF-8
password Optional. The login password of both the NetSuite UI and SuiteTalk String */* UTF-8
endpoint Optional. Service endpoint String */* UTF-8
account Optional. SuiteTalk -NetSuite WebService - account id. It looks like TSTDRVXXXXXX String */* UTF-8
roleId Optional. The id of the role used to login in SuiteTalk, which determines the Processor privileges String */* UTF-8
Returns
Return Type Description
UpdateInviteeStatusResponse UpdateInviteeStatus response object

<netsuite:update-list>

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
INCLUDE_ERROR

Attributes
NameDefault ValueDescriptionJava TypeMIME TypeEncoding
config-ref Optional. Specify which configuration to use.
recordType The type of record to add String */* UTF-8
Connection Parameters
This are only required if you didn't specified them at the configuration element. They are also useful for overriding the values of the configurations or even if you need to extract them from the Mule message since they support expression evaluation.
email Optional. The login email of both NetSuite UI and SuiteTalk String */* UTF-8
password Optional. The login password of both the NetSuite UI and SuiteTalk String */* UTF-8
endpoint Optional. Service endpoint String */* UTF-8
account Optional. SuiteTalk -NetSuite WebService - account id. It looks like TSTDRVXXXXXX String */* UTF-8
roleId Optional. The id of the role used to login in SuiteTalk, which determines the Processor privileges String */* UTF-8
Child Elements
NameDefault ValueDescriptionJava Type
<netsuite:records> #[payload] Optional. The records with their attributes, as a string-object map List<Map<String, Object>>
Returns
Return Type Description
List<RecordRef> A list with the record references for the updated records

<netsuite:update-record>

Updates an existing record. Example:

XML Sample
INCLUDE_ERROR
XML Sample
INCLUDE_ERROR

Attributes
NameDefault ValueDescriptionJava TypeMIME TypeEncoding
config-ref Optional. Specify which configuration to use.
recordType The target record type to update String */* UTF-8
id The target record id String */* UTF-8
idType INTERNAL Optional. The id type of the given record id RecordIdType */*
Connection Parameters
This are only required if you didn't specified them at the configuration element. They are also useful for overriding the values of the configurations or even if you need to extract them from the Mule message since they support expression evaluation.
email Optional. The login email of both NetSuite UI and SuiteTalk String */* UTF-8
password Optional. The login password of both the NetSuite UI and SuiteTalk String */* UTF-8
endpoint Optional. Service endpoint String */* UTF-8
account Optional. SuiteTalk -NetSuite WebService - account id. It looks like TSTDRVXXXXXX String */* UTF-8
roleId Optional. The id of the role used to login in SuiteTalk, which determines the Processor privileges String */* UTF-8
Child Elements
NameDefault ValueDescriptionJava Type
<netsuite:attributes> #[payload] Optional. The record attributes, as a string-object map Map<String, Object>
Returns
Return Type Description
RecordRef The Record reference for the updated record
Exception Payloads
Payload ClassDescription
Exception

<netsuite:upsert-list>

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
INCLUDE_ERROR

Attributes
NameDefault ValueDescriptionJava TypeMIME TypeEncoding
config-ref Optional. Specify which configuration to use.
recordType The target record type to update String */* UTF-8
Connection Parameters
This are only required if you didn't specified them at the configuration element. They are also useful for overriding the values of the configurations or even if you need to extract them from the Mule message since they support expression evaluation.
email Optional. The login email of both NetSuite UI and SuiteTalk String */* UTF-8
password Optional. The login password of both the NetSuite UI and SuiteTalk String */* UTF-8
endpoint Optional. Service endpoint String */* UTF-8
account Optional. SuiteTalk -NetSuite WebService - account id. It looks like TSTDRVXXXXXX String */* UTF-8
roleId Optional. The id of the role used to login in SuiteTalk, which determines the Processor privileges String */* UTF-8
Child Elements
NameDefault ValueDescriptionJava Type
<netsuite:records> #[payload] Optional. The record attributes, as a string-object map List<Map<String, Object>>
Returns
Return Type Description
List<RecordRef> A list with the references to the upserted records

<netsuite:upsert-record>

The upsert operation is used to add a new instance or to update an instance of a record in NetSuite. It is similar to the upsertList operation, which allows users to add or update more than one record at a time. 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
INCLUDE_ERROR

Attributes
NameDefault ValueDescriptionJava TypeMIME TypeEncoding
config-ref Optional. Specify which configuration to use.
recordType The target record type to update String */* UTF-8
externalId The target record id String */* UTF-8
Connection Parameters
This are only required if you didn't specified them at the configuration element. They are also useful for overriding the values of the configurations or even if you need to extract them from the Mule message since they support expression evaluation.
email Optional. The login email of both NetSuite UI and SuiteTalk String */* UTF-8
password Optional. The login password of both the NetSuite UI and SuiteTalk String */* UTF-8
endpoint Optional. Service endpoint String */* UTF-8
account Optional. SuiteTalk -NetSuite WebService - account id. It looks like TSTDRVXXXXXX String */* UTF-8
roleId Optional. The id of the role used to login in SuiteTalk, which determines the Processor privileges String */* UTF-8
Child Elements
NameDefault ValueDescriptionJava Type
<netsuite:attributes> #[payload] Optional. The record attributes, as a string-object map Map<String, Object>
Returns
Return Type Description
RecordRef an instance of UpsertResponse

Message Sources

Transformers