org.mule.modules

mule-module-getsatisfaction

config

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

Module Overview

GetSatisfaction Cloud Connector

Allows to access the services provided by GetSatisfaction in a RESTful manner.

Get Satisfaction is the leading customer engagement platform that helps companies build better relationships with their customers and prospects, and better relationships mean better business. Get Satisfaction powers 70,000 customer communities for companies of all sizes and over 4 million registered users interact with top global brands on Get Satisfaction. With Get Satisfaction, you can quickly set-up an online customer community to engage with your customers anywhere they are: your website, Facebook, search and mobile devices.

Summary

Configuration
<getsatisfaction:config>
Configure an instance of this module
Transformers
<getsatisfaction:transform-gs-object-to-json>
Create a JSON representation of an object from GetSatisfaction.
<getsatisfaction:transform-json-to-products>
Transform JSON to a list of products

<getsatisfaction:transform-json-to-replies>
Transform JSON to a list of replies

<getsatisfaction:transform-json-to-topic>
Transform JSON to a topic

<getsatisfaction:transform-json-to-topics>
Transform JSON to a list of topics

<getsatisfaction:transform-product-to-json>
Create a JSON representation of a Product object

<getsatisfaction:transform-products-to-json>
Create a JSON representation of a list of Product objects

<getsatisfaction:transform-reply-to-json>
Create a JSON representation of a Reply object

<getsatisfaction:transform-replys-to-json>
Create a JSON representation of a list of Reply objects

<getsatisfaction:transform-topic-to-json>
Create a JSON representation of a Topic object

<getsatisfaction:transform-topics-to-json>
Create a JSON representation of a list of Topic objects

Message Processors
<getsatisfaction:create-reply-for-topic>
Create reply at company

<getsatisfaction:create-topic-at-company>
Create topic at company

<getsatisfaction:get-products-by-company>
Get all products in a particular community

<getsatisfaction:get-replies-by-topic>
Get all replies for a topic

<getsatisfaction:get-replies-by-user>
Get all replies made by a user

<getsatisfaction:get-topic>
Get a specific topic

<getsatisfaction:get-topic-by-company>
Get a topic in a particular community

<getsatisfaction:get-topics>
Get all topics in all public Get Satisfaction communities

<getsatisfaction:get-topics-by-company>
Get all topics in a particular community

<getsatisfaction:get-topics-by-company-and-product>
Get all topics in a particular community for a specific product

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:getsatisfaction="http://www.mulesoft.org/schema/mule/getsatisfaction"
      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/getsatisfaction
               http://www.mulesoft.org/schema/mule/getsatisfaction/current/mule-getsatisfaction.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 companyName mulesoft Optional. Fastpass url connection
xs:string key FastPass Key
xs:string secret FastPass Secret

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:

    <getsatisfaction: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.
uid User id String */* UTF-8
email The email of the user String */* UTF-8
fullName Full name of the user 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.

    <getsatisfaction:config>
         <reconnect count="5" frequency="1000"/>
    </getsatisfaction: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

<getsatisfaction:create-reply-for-topic>

Create reply at company

XML Sample
INCLUDE_ERROR

Attributes
NameDefault ValueDescriptionJava TypeMIME TypeEncoding
config-ref Optional. Specify which configuration to use.
idOrSlug Topic Id or Slug String */* UTF-8
reply Reply to reply Reply */*
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.
uid Optional. User id String */* UTF-8
email Optional. The email of the user String */* UTF-8
fullName Optional. Full name of the user String */* UTF-8
Returns
Return Type Description
String A JSON representing a reply
Exception Payloads
Payload ClassDescription
IOException If there is a communication error

<getsatisfaction:create-topic-at-company>

Create topic at company

XML Sample
INCLUDE_ERROR

Attributes
NameDefault ValueDescriptionJava TypeMIME TypeEncoding
config-ref Optional. Specify which configuration to use.
companyId Company Id String */* UTF-8
topic Topic to create Topic */*
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.
uid Optional. User id String */* UTF-8
email Optional. The email of the user String */* UTF-8
fullName Optional. Full name of the user String */* UTF-8
Returns
Return Type Description
String A JSON representing a reply
Exception Payloads
Payload ClassDescription
IOException If there is a communication error

<getsatisfaction:get-products-by-company>

Get all products in a particular community

XML Sample
INCLUDE_ERROR

Attributes
NameDefault ValueDescriptionJava TypeMIME TypeEncoding
config-ref Optional. Specify which configuration to use.
company Company 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.
uid Optional. User id String */* UTF-8
email Optional. The email of the user String */* UTF-8
fullName Optional. Full name of the user String */* UTF-8
Returns
Return Type Description
List<Product> A JSON representing a topic
Exception Payloads
Payload ClassDescription
IOException If there is a communication error

<getsatisfaction:get-replies-by-topic>

Get all replies for a topic

XML Sample
INCLUDE_ERROR

Attributes
NameDefault ValueDescriptionJava TypeMIME TypeEncoding
config-ref Optional. Specify which configuration to use.
idOrSlug Topic Slug or Id String */* UTF-8
filterBy Optional. Filter by ReplyFilterCriteria */*
includeComments false Optional. Ixclude comments from the returned replies 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.
uid Optional. User id String */* UTF-8
email Optional. The email of the user String */* UTF-8
fullName Optional. Full name of the user String */* UTF-8
Returns
Return Type Description
List<Reply> A JSON representing a reply
Exception Payloads
Payload ClassDescription
IOException If there is a communication error

<getsatisfaction:get-replies-by-user>

Get all replies made by a user

XML Sample
INCLUDE_ERROR

Attributes
NameDefault ValueDescriptionJava TypeMIME TypeEncoding
config-ref Optional. Specify which configuration to use.
userId User Id String */* UTF-8
filterBy Optional. Filter by ReplyFilterCriteria */*
includeComments false Optional. Ixclude comments from the returned replies 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.
uid Optional. User id String */* UTF-8
email Optional. The email of the user String */* UTF-8
fullName Optional. Full name of the user String */* UTF-8
Returns
Return Type Description
List<Reply> A JSON representing a reply
Exception Payloads
Payload ClassDescription
IOException If there is a communication error

<getsatisfaction:get-topic>

Get a specific topic

XML Sample
INCLUDE_ERROR

Attributes
NameDefault ValueDescriptionJava TypeMIME TypeEncoding
config-ref Optional. Specify which configuration to use.
idOrSlug Topic Slug or 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.
uid Optional. User id String */* UTF-8
email Optional. The email of the user String */* UTF-8
fullName Optional. Full name of the user String */* UTF-8
Returns
Return Type Description
Topic A JSON representing a topic
Exception Payloads
Payload ClassDescription
IOException If there is a communication error

<getsatisfaction:get-topic-by-company>

Get a topic in a particular community

XML Sample
INCLUDE_ERROR

Attributes
NameDefault ValueDescriptionJava TypeMIME TypeEncoding
config-ref Optional. Specify which configuration to use.
company Company Id String */* UTF-8
idOrSlug Topic Slug or 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.
uid Optional. User id String */* UTF-8
email Optional. The email of the user String */* UTF-8
fullName Optional. Full name of the user String */* UTF-8
Returns
Return Type Description
Topic A JSON representing a topic
Exception Payloads
Payload ClassDescription
IOException If there is a communication error

<getsatisfaction:get-topics>

Get all topics in all public Get Satisfaction communities

XML Sample
INCLUDE_ERROR

Attributes
NameDefault ValueDescriptionJava TypeMIME TypeEncoding
config-ref Optional. Specify which configuration to use.
search Optional. Search for a particular string String */* UTF-8
sortBy Optional. Sort criteria SortCriteria */*
style Optional. Filter by style Style */*
activeSince Optional. Filter by the time of the last activity in the community. Time is set in seconds since epoch. Long */*
userId Optional. Filter by used id String */* UTF-8
tag Optional. Filter by tag 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.
uid Optional. User id String */* UTF-8
email Optional. The email of the user String */* UTF-8
fullName Optional. Full name of the user String */* UTF-8
Child Elements
NameDefault ValueDescriptionJava Type
<getsatisfaction:products> Optional. Filter by product name in API queries where the company is specified (for example, /companies/[company name or company ID]/topics) List<String>
<getsatisfaction:status> Optional. Filter by status List<Status>
<getsatisfaction:user-defined-codes> Optional. Filter by User Defined Code (in communities with UDCs enabled) List<String>
Returns
Return Type Description
List<Topic> A JSON representing a topic
Exception Payloads
Payload ClassDescription
IOException If there is a communication error

<getsatisfaction:get-topics-by-company>

Get all topics in a particular community

XML Sample
INCLUDE_ERROR

Attributes
NameDefault ValueDescriptionJava TypeMIME TypeEncoding
config-ref Optional. Specify which configuration to use.
company Company 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.
uid Optional. User id String */* UTF-8
email Optional. The email of the user String */* UTF-8
fullName Optional. Full name of the user String */* UTF-8
Returns
Return Type Description
List<Topic> A JSON representing a topic
Exception Payloads
Payload ClassDescription
IOException If there is a communication error

<getsatisfaction:get-topics-by-company-and-product>

Get all topics in a particular community for a specific product

XML Sample
INCLUDE_ERROR

Attributes
NameDefault ValueDescriptionJava TypeMIME TypeEncoding
config-ref Optional. Specify which configuration to use.
company Company Id String */* UTF-8
product Product Id String */* UTF-8
query Optional. Query 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.
uid Optional. User id String */* UTF-8
email Optional. The email of the user String */* UTF-8
fullName Optional. Full name of the user String */* UTF-8
Returns
Return Type Description
List<Topic> A JSON representing a topic
Exception Payloads
Payload ClassDescription
IOException If there is a communication error

Message Sources

Transformers

<getsatisfaction:transform-gs-object-to-json>

Create a JSON representation of an object from GetSatisfaction.

Supported objects are Topic and Reply.

Supported list are list of Topic, list of Reply and list of Product

XML Sample
INCLUDE_ERROR

Attributes
NameDefault ValueDescriptionJava TypeMIME TypeEncoding
config-ref Optional. Specify which configuration to use.
obj The object to transform Object */*
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.
uid Optional. User id String */* UTF-8
email Optional. The email of the user String */* UTF-8
fullName Optional. Full name of the user String */* UTF-8
Returns
Return Type Description
String A JSON representation of the object
Exception Payloads
Payload ClassDescription
IOException If there is a transformation error

<getsatisfaction:transform-json-to-products>

Transform JSON to a list of products

XML Sample
INCLUDE_ERROR

Attributes
NameDefault ValueDescriptionJava TypeMIME TypeEncoding
config-ref Optional. Specify which configuration to use.
json JSON string to transform 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.
uid Optional. User id String */* UTF-8
email Optional. The email of the user String */* UTF-8
fullName Optional. Full name of the user String */* UTF-8
Returns
Return Type Description
List<Product> A list of Product object
Exception Payloads
Payload ClassDescription
IOException If there is a transformation error

<getsatisfaction:transform-json-to-replies>

Transform JSON to a list of replies

XML Sample
INCLUDE_ERROR

Attributes
NameDefault ValueDescriptionJava TypeMIME TypeEncoding
config-ref Optional. Specify which configuration to use.
json JSON string to transform 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.
uid Optional. User id String */* UTF-8
email Optional. The email of the user String */* UTF-8
fullName Optional. Full name of the user String */* UTF-8
Returns
Return Type Description
List<Reply> A list of Reply object
Exception Payloads
Payload ClassDescription
IOException If there is a transformation error

<getsatisfaction:transform-json-to-topic>

Transform JSON to a topic

XML Sample
INCLUDE_ERROR

Attributes
NameDefault ValueDescriptionJava TypeMIME TypeEncoding
config-ref Optional. Specify which configuration to use.
json JSON string to transform 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.
uid Optional. User id String */* UTF-8
email Optional. The email of the user String */* UTF-8
fullName Optional. Full name of the user String */* UTF-8
Returns
Return Type Description
Topic A Topic object
Exception Payloads
Payload ClassDescription
IOException If there is a transformation error

<getsatisfaction:transform-json-to-topics>

Transform JSON to a list of topics

XML Sample
INCLUDE_ERROR

Attributes
NameDefault ValueDescriptionJava TypeMIME TypeEncoding
config-ref Optional. Specify which configuration to use.
json JSON string to transform 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.
uid Optional. User id String */* UTF-8
email Optional. The email of the user String */* UTF-8
fullName Optional. Full name of the user String */* UTF-8
Returns
Return Type Description
List<Topic> A list of Topic object
Exception Payloads
Payload ClassDescription
IOException If there is a transformation error

<getsatisfaction:transform-product-to-json>

Create a JSON representation of a Product object

XML Sample
INCLUDE_ERROR

Attributes
NameDefault ValueDescriptionJava TypeMIME TypeEncoding
config-ref Optional. Specify which configuration to use.
product Product to transform Product */*
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.
uid Optional. User id String */* UTF-8
email Optional. The email of the user String */* UTF-8
fullName Optional. Full name of the user String */* UTF-8
Returns
Return Type Description
String A JSON representation of a Product object
Exception Payloads
Payload ClassDescription
IOException If there is a transformation error

<getsatisfaction:transform-products-to-json>

Create a JSON representation of a list of Product objects

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.
uid Optional. User id String */* UTF-8
email Optional. The email of the user String */* UTF-8
fullName Optional. Full name of the user String */* UTF-8
Child Elements
NameDefault ValueDescriptionJava Type
<getsatisfaction:products> List of Product to transform List<Product>
Returns
Return Type Description
String A JSON representation of a list of Product objects
Exception Payloads
Payload ClassDescription
IOException If there is a transformation error

<getsatisfaction:transform-reply-to-json>

Create a JSON representation of a Reply object

XML Sample
INCLUDE_ERROR

Attributes
NameDefault ValueDescriptionJava TypeMIME TypeEncoding
config-ref Optional. Specify which configuration to use.
reply Reply to transform Reply */*
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.
uid Optional. User id String */* UTF-8
email Optional. The email of the user String */* UTF-8
fullName Optional. Full name of the user String */* UTF-8
Returns
Return Type Description
String A JSON representation of a Reply object
Exception Payloads
Payload ClassDescription
IOException If there is a transformation error

<getsatisfaction:transform-replys-to-json>

Create a JSON representation of a list of Reply objects

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.
uid Optional. User id String */* UTF-8
email Optional. The email of the user String */* UTF-8
fullName Optional. Full name of the user String */* UTF-8
Child Elements
NameDefault ValueDescriptionJava Type
<getsatisfaction:replys> List of Product to transform List<Reply>
Returns
Return Type Description
String A JSON representation of a list of Reply objects
Exception Payloads
Payload ClassDescription
IOException If there is a transformation error

<getsatisfaction:transform-topic-to-json>

Create a JSON representation of a Topic object

XML Sample
INCLUDE_ERROR

Attributes
NameDefault ValueDescriptionJava TypeMIME TypeEncoding
config-ref Optional. Specify which configuration to use.
topic Topic to transform Topic */*
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.
uid Optional. User id String */* UTF-8
email Optional. The email of the user String */* UTF-8
fullName Optional. Full name of the user String */* UTF-8
Returns
Return Type Description
String A JSON representation of a Topic object
Exception Payloads
Payload ClassDescription
IOException If there is a transformation error

<getsatisfaction:transform-topics-to-json>

Create a JSON representation of a list of Topic objects

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.
uid Optional. User id String */* UTF-8
email Optional. The email of the user String */* UTF-8
fullName Optional. Full name of the user String */* UTF-8
Child Elements
NameDefault ValueDescriptionJava Type
<getsatisfaction:topics> List of Topic to transform List<Topic>
Returns
Return Type Description
String A JSON representation of a list of Topic objects
Exception Payloads
Payload ClassDescription
IOException If there is a transformation error