<?xml version="1.0" encoding="UTF-8"?>
<mule xmlns:salesforce="http://www.mulesoft.org/schema/mule/salesforce" xmlns:roostify="http://www.mulesoft.org/schema/mule/roostify"
xmlns:ee="http://www.mulesoft.org/schema/mule/ee/core"
xmlns:http="http://www.mulesoft.org/schema/mule/http"
xmlns="http://www.mulesoft.org/schema/mule/core"
xmlns:doc="http://www.mulesoft.org/schema/mule/documentation"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
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/http
http://www.mulesoft.org/schema/mule/http/current/mule-http.xsd
http://www.mulesoft.org/schema/mule/ee/core
http://www.mulesoft.org/schema/mule/ee/core/current/mule-ee.xsd
http://www.mulesoft.org/schema/mule/roostify
http://www.mulesoft.org/schema/mule/roostify/current/mule-roostify.xsd
http://www.mulesoft.org/schema/mule/salesforce
http://www.mulesoft.org/schema/mule/salesforce/current/mule-salesforce.xsd">
<flow name="CREATE_ROOSTIFY_USER_LOAN_APPLOCATION">
<http:listener doc:name="8081/createLoanApplication"
config-ref="HTTP_Listener_config" path="createLoanApplication"/>
<salesforce:query doc:name="Get Salesforce Account" config-ref="Salesforce_Config">
<salesforce:salesforce-query>SELECT Id, AccountNumber, Phone, Name FROM Account where Id = ':sfId'</salesforce:salesforce-query>
<salesforce:parameters><![CDATA[#[output application/java
---
{
"sfId" : attributes.queryParams.sfcId
}]]]></salesforce:parameters>
</salesforce:query>
<ee:transform doc:name="Convert to JSON">
<ee:message>
<ee:set-payload><![CDATA[%dw 2.0
output application/json
---
{
user_role: "borrower",
home_phone: payload.Phone[0],
reference_id: "Test-ref-123",
last_name: "Demo",
account_id: payload.AccountNumber[0],
job_title: "ADMIN",
first_name: payload.Name[0]
}]]></ee:set-payload>
</ee:message>
<ee:variables>
<ee:set-variable variableName="refId"><![CDATA[%dw 2.0
output application/java
---
{
"refId" : "Test-ref-123"
}]]></ee:set-variable>
</ee:variables>
</ee:transform>
<roostify:create-user doc:name="Create a User in Roostify" config-ref="Roostify_Config" />
<set-variable value="#[payload.id]" doc:name="Save User ID" variableName="userId" />
<roostify:creating-loan-application doc:name="Create a Loan Application in Roostify" config-ref="Roostify_Config">
<roostify:create-loan-request><![CDATA[#[output application/json
---
{
reference_id: vars.refId,
application_type: "purchase",
loan_amount: 20000,
down_payment: 1000,
amortization_term: "30"
}]]]></roostify:create-loan-request>
</roostify:creating-loan-application>
<set-variable value="#[payload.id]" doc:name="Save Loan ID" variableName="loanId" />
<ee:transform doc:name="Display Response">
<ee:message >
<ee:set-payload ><![CDATA[%dw 2.0
output application/json
---
{
"RSF Account Id" : payload.account_id,
"User Id" : vars.userId,
"Loan Id" : vars.loanId
}
]]></ee:set-payload>
</ee:message>
</ee:transform>
</flow>
</mule>