We have a requirement to use OOTB Interaction API for Proposing Offers to the Inbound Communications. However there is a bit of customization required here, wherein we have to include few additional fields in the offer proposition that is returned back as response.
These fields are of 2 types:
i. Fields passed in the initial request to Offer Engine and ii. Custom fields defined and derived in Campaign
Below is how a sample request look like and response we are expecting:
<SOAP-ENV:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns="http://xml.apache.org/xml-soap" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"> <SOAP-ENV:Body> <ProposeResponse xmlns="urn:nms:interaction"> <interactionId xsi:type="xsd:string">0</interactionId> <propositions xsi:type="ns:Element" SOAP-ENV:encodingStyle="http://xml.apache.org/xml-soap/literalxml"> <propositions> <proposition id="a617303" offer-id="535003" offerSpace-id="535243" weight="1" rank="1"> <view> <textSource>Dear Customer, Thanks for making purchase with us!</textSource> <!-- Rest of the fields from offer content will be present here --> </view> <!-- Custom Fields --> <productId>P1001</productId> <!-- Passed in the Initial Request --> <isCustomerNew>Yes</isCustomerNew> <!-- Defined and Derived from Campaign --> </proposition> </propositions> </propositions> </ProposeResponse> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
I have tried adding custom fields by overriding XML Rendering Function, explored some options available in Integrating Server-side and tried adding under Offer Space definition. But still missing some clarity in this process. So would request you to please help with some inputs on how we can implement this in a feasible way.