org.mule.modules

mule-module-zuora

1.6
Namespacehttp://www.mulesoft.org/schema/mule/zuora
Schema Locationhttp://www.mulesoft.org/schema/mule/zuora/1.0/mule-zuora.xsd
Version1.0
Minimum Mule Version3.2

Module Overview

Zuora is the leader in online recurring billing and payment solutions for SaaS and subscription businesses.

This connector provides full access to the Z-Commerce platform API.

Summary

Configuration
<zuora:config>
Configure an instance of this module
Message Processors
<zuora:account-profile>
Retrieve an account profile


<zuora:amend>
Amends subscriptions


<zuora:create>
Batch creation of ZObjects


<zuora:delete>
Batch delete of ZObjects


<zuora:find>
Lazily retrieves ZObject that match a given query, written in Zuora native query language


<zuora:generate>
Batch creation of invoces for accounts


<zuora:get-user-info>
Answers user information


<zuora:product-profile>
Retrieve a product profile


<zuora:subscribe>
Batch creation of ZObjects associated to Subscriptions


<zuora:update>
Batch update of ZObjects


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:zuora="http://www.mulesoft.org/schema/mule/zuora"
      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/zuora
               http://www.mulesoft.org/schema/mule/zuora/1.0/mule-zuora.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 necesary 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 ValueDescription
xs:string name Optional. Give a name to this configuration so it can be later referenced.
client Optional. The client to use.
xs:string endpoint htps://apisandbox.zuora.com/apps/services/a/32.0 Optional. Target URI to connect to

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:

    <zuora:connection-pooling-profile maxActive="10" maxIdle="10"
                             exhaustedAction="WHEN_EXHAUSTED_GROW" maxWait="120"/>

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
NameDescription
username Username to identify the user
password Password to authenticate the username

Also this connector offers automatic retry for certain operations. There are a couple of situations in which a retry may solve the problem at hand, like for example if the system is currently busy or if the session has expired. Those kind of situations are solvable by reacquiring a connection and retrying the operation.

By default, the connector will automatically attempt to retry the operation only once. You can at your choosing specify a greater ammount of retries by using the retryMax attribute on each operation.

    ... retryMax="3"/>

Message Processors

<zuora:account-profile>

Retrieve an account profile

XML Sample
INCLUDE_ERROR

Attributes
NameDefault ValueDescription
config-ref Optional. Specify which configuration to use.
accountId The id of the account to retrieve an account profile for
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.
username Optional. Username to identify the user
password Optional. Password to authenticate the username
Retry and Reconnect
This message processor supports automatic retry and reconnect. If the API call fail for a known error then the API will be automatically retried. This does not happen on every type of error, only a few that has been selected and are known to be recoverable from.
retryMax 1 Optional. Specify how many times this operation can be retried automatically
Child Elements
Return Payload
  • the account, as a String-Object Map
Exception Payload
Exception

<zuora:amend>

Amends subscriptions

XML Sample
INCLUDE_ERROR

Attributes
NameDefault ValueDescription
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.
username Optional. Username to identify the user
password Optional. Password to authenticate the username
Retry and Reconnect
This message processor supports automatic retry and reconnect. If the API call fail for a known error then the API will be automatically retried. This does not happen on every type of error, only a few that has been selected and are known to be recoverable from.
retryMax 1 Optional. Specify how many times this operation can be retried automatically
Child Elements
<zuora:amendaments>
The list of amendaments to perform
Return Payload
Exception Payload
Exception

<zuora:create>

Batch creation of ZObjects

XML Sample
INCLUDE_ERROR

Attributes
NameDefault ValueDescription
config-ref Optional. Specify which configuration to use.
type The type of zobject passed
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.
username Optional. Username to identify the user
password Optional. Password to authenticate the username
Retry and Reconnect
This message processor supports automatic retry and reconnect. If the API call fail for a known error then the API will be automatically retried. This does not happen on every type of error, only a few that has been selected and are known to be recoverable from.
retryMax 1 Optional. Specify how many times this operation can be retried automatically
Child Elements
<zuora:zobjects>
The zobjects to create
Return Payload
Exception Payload
Exception

<zuora:delete>

Batch delete of ZObjects

XML Sample
INCLUDE_ERROR

Attributes
NameDefault ValueDescription
config-ref Optional. Specify which configuration to use.
type The type of ZObjects to delete
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.
username Optional. Username to identify the user
password Optional. Password to authenticate the username
Retry and Reconnect
This message processor supports automatic retry and reconnect. If the API call fail for a known error then the API will be automatically retried. This does not happen on every type of error, only a few that has been selected and are known to be recoverable from.
retryMax 1 Optional. Specify how many times this operation can be retried automatically
Child Elements
<zuora:ids>
The list of ids to delete
Return Payload
Exception Payload
Exception

<zuora:find>

Lazily retrieves ZObject that match a given query, written in Zuora native query language

XML Sample
INCLUDE_ERROR

Attributes
NameDefault ValueDescription
config-ref Optional. Specify which configuration to use.
zquery The query, using the SQL-Like Zuora Query Language
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.
username Optional. Username to identify the user
password Optional. Password to authenticate the username
Retry and Reconnect
This message processor supports automatic retry and reconnect. If the API call fail for a known error then the API will be automatically retried. This does not happen on every type of error, only a few that has been selected and are known to be recoverable from.
retryMax 1 Optional. Specify how many times this operation can be retried automatically
Child Elements
Return Payload
  • a ZObject iterable. ZObject returned by this operation may be instances of either static ZObject - like Account or Amendment -, if the object is a non-customizable Zuora entity, or ZObject, if the object is a customizable Zuora entity
Exception Payload
Exception

<zuora:generate>

Batch creation of invoces for accounts

XML Sample
INCLUDE_ERROR

Attributes
NameDefault ValueDescription
config-ref Optional. Specify which configuration to use.
type The type of zobject passed
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.
username Optional. Username to identify the user
password Optional. Password to authenticate the username
Retry and Reconnect
This message processor supports automatic retry and reconnect. If the API call fail for a known error then the API will be automatically retried. This does not happen on every type of error, only a few that has been selected and are known to be recoverable from.
retryMax 1 Optional. Specify how many times this operation can be retried automatically
Child Elements
<zuora:zobjects>
The zobjects to generate, as a list of string-object maps . Zuora attribute names, unlike java beans, are CamelCase.
Return Payload
Exception Payload
Exception

<zuora:get-user-info>

Answers user information

XML Sample
INCLUDE_ERROR

Attributes
NameDefault ValueDescription
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.
username Optional. Username to identify the user
password Optional. Password to authenticate the username
Retry and Reconnect
This message processor supports automatic retry and reconnect. If the API call fail for a known error then the API will be automatically retried. This does not happen on every type of error, only a few that has been selected and are known to be recoverable from.
retryMax 1 Optional. Specify how many times this operation can be retried automatically
Child Elements
Return Payload
Exception Payload
Exception

<zuora:product-profile>

Retrieve a product profile

XML Sample
INCLUDE_ERROR

Attributes
NameDefault ValueDescription
config-ref Optional. Specify which configuration to use.
productId The id of the product to retrieve a product profile for
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.
username Optional. Username to identify the user
password Optional. Password to authenticate the username
Retry and Reconnect
This message processor supports automatic retry and reconnect. If the API call fail for a known error then the API will be automatically retried. This does not happen on every type of error, only a few that has been selected and are known to be recoverable from.
retryMax 1 Optional. Specify how many times this operation can be retried automatically
Child Elements
Return Payload
  • the profile, as a String-Object Map
Exception Payload
ZuoraException}
Exception

<zuora:subscribe>

Batch creation of ZObjects associated to Subscriptions

XML Sample
INCLUDE_ERROR

Attributes
NameDefault ValueDescription
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.
username Optional. Username to identify the user
password Optional. Password to authenticate the username
Retry and Reconnect
This message processor supports automatic retry and reconnect. If the API call fail for a known error then the API will be automatically retried. This does not happen on every type of error, only a few that has been selected and are known to be recoverable from.
retryMax 1 Optional. Specify how many times this operation can be retried automatically
Child Elements
<zuora:subscriptions>
The list of subscriptions to perform
Return Payload
  • a subscription results list, one for each subscription
Exception Payload
Exception

<zuora:update>

Batch update of ZObjects

XML Sample
INCLUDE_ERROR

Attributes
NameDefault ValueDescription
config-ref Optional. Specify which configuration to use.
type The type of zobject passed
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.
username Optional. Username to identify the user
password Optional. Password to authenticate the username
Retry and Reconnect
This message processor supports automatic retry and reconnect. If the API call fail for a known error then the API will be automatically retried. This does not happen on every type of error, only a few that has been selected and are known to be recoverable from.
retryMax 1 Optional. Specify how many times this operation can be retried automatically
Child Elements
<zuora:zobjects>
The zobjects to update, as a list of string-object maps . Zuora attribute names, unlike java beans, are CamelCase.
Return Payload
Exception Payload
Exception