ExternalCallout API example
1.
Create a file called GetCreditScore.java with the following contents. This file assumes there is a class called ScoreQueryUtility that fetches a score from a modeling application.
import java.util.Map;
import com.unicacorp.interact.session.AudienceId;
import com.unicacorp.interact.flowchart.macrolang.storedobjs.IAffiniumExternalCallout;
import com.unicacorp.interact.flowchart.macrolang.storedobjs.CalloutException;
import java.util.Random;

public class GetCreditScore implements IAffiniumExternalCallout
{
// the class that has the logic to query an external system for a customer’s credit score
private static ScoreQueryUtility scoreQueryUtility;
public void initialize(Map<String, String> configurationData) throws CalloutException
{
// configurationData has the key- value pairs specific to the environment the server is running in
// initialize scoreQueryUtility here
}

public void shutdown(Map<String, String> configurationData) throws CalloutException
{
// shutdown scoreQueryUtility here
}

public int getNumberOfArguments()
{
// do not expect any additional arguments other than the customer’s id
return 0;
}

public List<String> getValue(AudienceId audienceId, Map<String, String> configurationData, Object... arguments) throws CalloutException
{
Long customerId = (Long) audienceId.getComponentValue("Customer");
// now query scoreQueryUtility for the credit score of customerId
Double score = scoreQueryUtility.query(customerId);
String str = Double.toString(score);
List<String> list = new LinkedList<String>();
list.add(str);
return list;
}
}
2.
Compile GetCreditScore.java to GetCreditScore.class.
3.
Create a jar file called creditscore.jar containing GetCreditScore.class and the other class files it uses.
4.
5.
Create an External Callout with name GetCreditScore and classpath as /data/interact/creditscore.jar in the externalCallouts category on the Manage Configurations page.
6.
In an interactive flowchart, the callout can be used as EXTERNALCALLOUT(‘GetCreditScore’).


IBM Unica Interact
 
8.5.0
For more information, see our support and community site: Customer Central