Zuora is an enterprise software company that designs and sells SaaS applications for companies with a subscription business model. The new Neuron ESB Zuora adapter enables you to easily embed any or all of Zuora’s commerce, billing and finance Software as a Service products into your own subscription-based services. The adapter turns your Neuron ESB integration infrastructure and all of your connected services into relationship business management dynamo’s that provide you the information you need to design, iterate and understand your subscription revenue streams.
The Neuron Zuora adapter functions as either a publish or subscribe endpoint to the Neuron ESB message bus and supports both Publisher or Subscriber modes. It enables connectivity with the Zuora Rest API, and can perform, for example, operations such as managing subscriptions from a web storefront, retrieving user information, and synchronizing catalogs with ERP systems. The Neuron ESB Zuora adapter makes it easy to connect Zuora’s subscription business model modules through your Neuron ESB integration infrastructure to all of your critical business software.
Before reading this document
If you are not familiar with Neuron ESB Adapters, take a moment to consult our online help: http://neuronesb.com/neuron/Help3/Development/Developing_Neuron_Applications/Connecting_to_External_Systems/Adapters/adapters.htm. This document assumes you have the following knowledge:
- What adapters are and how they are leveraged in Neuron ESB
- Register a Neuron ESB Adapter within a Neuron ESB Solution
- Create an Adapter Endpoint in a Neuron ESB Solution
- Set a Neuron ESB Adapter Endpoint Properties
- Invoke a Neuron ESB Adapter Endpoint
The first step in using the Zuora adapter is to register the adapter in the Neuron ESB Explorer adapter registration screen. Afterwards you can create a Zuora Adapter endpoint and configure the various Zuora related property settings (as shown below):
API AccesKey Id: Zuora Account Username
API SecretAccess Key: Zuora Account Password
Endpoint Url: The Zuora Sandbox API URL or the Zuora Production URL, please refer to Zuora Documentation for details.
Callout BaseUrl : A user-defined and locally-hosted URL that the Neuron ESB Zuora adapter uses to host a connection that receives HTTP requests, such as a POST/PUT, from Zuora. the URL must be local to the Neuron installation (i.e. sit on the server that Neuron ESB’s host is running). Therefore, the Neuron ESB server could expose the CallOut Base URL directly inside the DMZ or may be linked through the firewall from an external facing load balancer or Proxy.
Messages sent from Zuora to Neuron ESB will be published to the Neuron Topic that is associated with the adapter Publisher Party. You must also configure the Callout URL within Zuora.
Using the Metadata Generation wizard, you can automatically generate message schema for any desired Marketo REST API call. As shown below, Neuron ESB provides the ability to select Zuora REST API’s from a list.
The wizard will create JSON Request and Response documents for the selected operation.
On the Json tab, you can find the response or request document as show below.
You must use this document inside a C# Code step in a process or workflow to set the ESBMessage http properties. See the figure below:
Using Http Utility
Alternatively, you can use the new “Http Utility” process shape. This process shape supports selection of a Swagger document and then exposes all of the available Zuora operations in a drop list. Here you’ll set the operation parameters to create the ESBMessage as shown below:
In Subscribe mode, the Zuora adapter receives messages that it subscribes to from the Neuron ESB message bus. The subscriber is chosen from the drop down menu on the General tab of the adapter endpoint. The adapter sends its subscribed messages on to Zuora. Each message must be properly formatted JSON (the Metadata Generation Wizard and/or HTTP Utility process step are useful here). In subscribe mode no reply messages from Zuora are expected.
In Solicit Response mode, the adapter will listen for messages sent over the bus to the topic chosen and expect a response back from Zuora. The semantic should be “request” for the message subscribed from the bus. Zuora will automatically send back a response to the message containing information about it such as error codes or the actual message body that was sent.
In Publish mode, the Zuora adapter will receive messages sent from Zuora to the Call Notification URL that was set up in Zuora. Once a message is received, the adapter will publish it to the bus. See Call NotificationURL under “Adapter’s Registration and Setup” for more information about how to use publish mode.
In Request-Reply mode, the Zuora adapter receives messages sent from Zuora to the Call Notification URL that was set up in Zuora and forwards it on to the message bus for processing. The adapter waits for a reply to be published back to the bus and then sends the reply on to the original sender. The message that is originally sent to the Zuora CallOut Notification URL and is published to the bus will have a “request” semantic. The message that is sent back from the subscriber should use the “reply” semantic.