Offer engine API in Adobe Campaign Classic

somasundaramhal

03-10-2019

Team,

We're trying to use Adobe Offer API which is mentioned here in the document Integration via SOAP (server side) .

We tried to fetch all available offers using 'Propose' method and that works fine. UpdateStatus is also working fine.

My question is:

We are able to update the status in the 'Update status'. However, only one field is getting updated. I want to update multiple fields using the same API call. Is there any options to add custom parameter in the method? Or is there any custom methods can be added to the offer engine API?

Thanks,

Somasundaram

Accepted Solutions (1)

Accepted Solutions (1)

Jyoti_Y

MVP

23-10-2019

Hi,

You need to change it in interaction.js javascript present at location: Administration --> Configuration --> Javascript --> interaction.js

Search for below block of code:

else if( "UpdateStatus" == strCommand )

      {

        var ctx = <ctx/>;

        var iStatus = undefined;

      

You need to write your logic for custom field update. Currently it is doing only for status update.

Thanks,

Jyoti

Answers (3)

Answers (3)

Raj_bounteous

MVP

04-10-2019

1. for that you can follow the below syntax.

<urn:UpdateStatus>

<urn:sessiontoken></urn:sessiontoken>

<urn:proposition>434242</urn:proposition>

<urn:status>1</urn:status>

<urn:context>xxxxxxxx</urn:context>

</urn:UpdateStatus>

somasundaramhal

15-10-2019

Thanks for your reply. But we're not using session token for offer api. If we use session token, that will be regular API calls. If I use the above code with/without session token, it's not working:(

somasundaramhal

03-10-2019

To be more clear on this:

There are two main clarification in Offer management API:

1. Need to know if there are additional parameter can be passed through the offer 'UpdateStatus' API call.

Eg:

Working code:

<?xml version='1.0'?> <SOAP-ENV:Envelope xmlns:SOAP-ENV='http://schemas.xmlsoap.org/soap/envelope/'>

<SOAP-ENV:Body>

<UpdateStatus> <proposition>564032</proposition> <status>1</status></UpdateStatus>

</SOAP-ENV:Body>

</SOAP-ENV:Envelope>

Requirement:

<?xml version='1.0'?> <SOAP-ENV:Envelope xmlns:SOAP-ENV='http://schemas.xmlsoap.org/soap/envelope/'>

<SOAP-ENV:Body>

<UpdateStatus> <proposition>564032</proposition> <status>1</status><offerCode>Offer Code value</offerCode><customField1>Input 1</customField1><customField2>Input 2</customField2></UpdateStatus>

</SOAP-ENV:Body>

</SOAP-ENV:Envelope>

where <offerCode>, <customField1>, <customField2> are fields of "nms:propositionRcp" table.

2. Need to know how to restrict eligibility rule at Offer level.

Current setup: Eligibility rule applies to recipient table. We can filter recipient for particular offer. And we can provide limited offers using <maxCount> xml value in API call.

Requirement: If there are 1000 recipients eligible with eligibility criteria, and if 100 recipients availed a particular offer, the offer should be disabled.

Thanks,

Somasundaram