<template name="getSurveyList" xmlns="http://ws.apache.org/ns/synapse">
<parameter name="page" description="The page" />
<parameter name="pageSize" description="The pageSize" />
<parameter name="startDate" description="The startDate" />
<parameter name="endDate" description="The endDate" />
<parameter name="title" description="The title" />
<parameter name="recipientEmail" description="The recipientEmail" />
<parameter name="isOrderAscending " description="The orderAsc" />
<parameter name="fields" description="The fields" />
<sequence>
<property name="uri.var.page" expression="$func:page" />
<property name="uri.var.pageSize" expression="$func:pageSize" />
<property name="uri.var.startDate" expression="$func:startDate" />
<property name="uri.var.endDate" expression="$func:endDate" />
<property name="uri.var.title" expression="$func:title" />
<property name="uri.var.recipientEmail" expression="$func:recipientEmail" />
<property name="uri.var.isOrderAscending" expression="$func:isOrderAscending" />
<property name="uri.var.fields" expression="$func:fields" />
<filter xpath="not(get-property('uri.var.fields') = '' or (not(string(get-property('uri.var.fields')))))">
<then>
<payloadFactory media-type="json">
<format>
{
"fields": $1
}
</format>
<args>
<arg expression="get-property('uri.var.fields')" />
</args>
</payloadFactory>
</then>
</filter>
<script language="js">
<![CDATA[
var page = mc.getProperty('uri.var.page');
var pageSize = mc.getProperty('uri.var.pageSize');
var startDate = mc.getProperty('uri.var.startDate');
var endDate = mc.getProperty('uri.var.endDate');
var title = mc.getProperty('uri.var.title');
var recipientEmail = mc.getProperty('uri.var.recipientEmail');
var isOrderAscending = mc.getProperty('uri.var.isOrderAscending');
var fields = mc.getProperty('uri.var.fields');
var jsonPayload;
if (fields != null && fields != "") {
jsonPayload = mc.getPayloadJSON();
} else {
jsonPayload = {};
}
if (page != null && page != "") {
if (isNaN(page)) {
jsonPayload.page = page;
} else {
jsonPayload.page = Math.floor(parseInt(page));
}
}
if (pageSize != null && pageSize != "") {
if (isNaN(pageSize)) {
jsonPayload.page_size = pageSize;
} else {
jsonPayload.page_size = parseInt(pageSize, 10);
}
}
if (startDate != null && startDate != "") {
jsonPayload.start_date = startDate;
}
if (endDate != null && endDate != "") {
jsonPayload.end_date = endDate;
}
if (title != null && title != "") {
jsonPayload.title = title;
}
if (recipientEmail != null && recipientEmail != "") {
jsonPayload.recipient_email = recipientEmail;
}
if (isOrderAscending != null && isOrderAscending != "") {
jsonPayload.order_asc = isOrderAscending;
}
mc.setPayloadJSON(jsonPayload);
]]>
</script>
<property name="messageType" scope="axis2" value="application/json" />
<call>
<endpoint>
<http method="post" uri-template="{uri.var.apiUrl}/v2/surveys/get_survey_list?api_key={uri.var.apiKey}" />
</endpoint>
</call>
</sequence>
</template>