startSession(String sessionID,
boolean relyOnExistingSession,
boolean debug,
String interactiveChannel,
NameValuePairImpl[] audienceID,
String audienceLevel,
NameValuePairImpl[] parameters)
|
将商品禁止数据装入到会话(如果 enableOfferSuppressionLookup 属性设置为 true)。
|
|
将分数覆盖数据装入到会话(如果 enableScoreOverrideLookup 属性设置为 true)。
|
|
sessionID - 用于标识会话标识的字符串。您必须定义会话标识。例如,您可以使用客户标识与时间戳记的组合。
|
|
relyOnExistingSession - 一个布尔值,用于定义此方法是使用新会话还是现有会话。有效值为 true 或 false。如果为 true,那么您必须为 startSession 方法提供现有会话标识。如果为 false,那么必须提供新会话标识。
|
|
debug - 用于启用或禁用调试信息的布尔值。 有效值为 true 或 false。如果为 true,那么 Interact 会将调试信息记录到运行时服务器日志。将为每个会话单独设置一个调试标志。因此,您可以跟踪某一个别会话的调试数据。
|
|
interactiveChannel - 一个字符串,用于定义此会话引用的交互式渠道的名称。此名称必须与 Campaign 中定义的交互式渠道的名称精确匹配。
|
|
audienceID - 一组 NameValuePairImpl 对象,其中,名称必须匹配包含受众标识的任何表的物理列名称。
|
|
audienceLevel - 用于定义受众级别的字符串。
|
|
parameters - NameValuePairImpl 对象,用于标识需要与 startSession 一起传递的任何参数。 这些值存储在会话数据中,并且可以用于细分市场。
|
String sessionId="MySessionID-123";
String audienceLevel="Customer";
NameValuePair custId = new NameValuePairImpl();
custId.setName("CustomerId");
custId.setValueAsNumeric(1.0);
custId.setValueDataType(NameValuePair.DATA_TYPE_NUMERIC);
NameValuePair[] initialAudienceId = { custId };
boolean relyOnExistingSession=false;
boolean initialDebugFlag=true;
String interactiveChannel="Accounts Website";
NameValuePair parm1 = new NameValuePairImpl();
parm1.setName("SearchString");
parm1.setValueAsString("");
parm1.setValueDataType(NameValuePair.DATA_TYPE_STRING);
NameValuePair parm2 = new NameValuePairImpl();
parm2.setName("TimeStamp");
parm2.setValueAsDate(new Date());
parm2.setValueDataType(NameValuePair.DATA_TYPE_DATETIME);
NameValuePair parm3 = new NameValuePairImpl();
parm3.setName("Browser");
parm3.setValueAsString("IE6");
parm3.setValueDataType(NameValuePair.DATA_TYPE_STRING);
NameValuePair parm4 = new NameValuePairImpl();
parm4.setName("FlashEnabled");
parm4.setValueAsNumeric(1.0);
parm4.setValueDataType(NameValuePair.DATA_TYPE_NUMERIC);
NameValuePair parm5 = new NameValuePairImpl();
parm5.setName("TxAcctValueChange");
parm5.setValueAsNumeric(0.0);
parm5.setValueDataType(NameValuePair.DATA_TYPE_NUMERIC);
NameValuePair parm6 = new NameValuePairImpl();
parm6.setName("PageTopic");
parm6.setValueAsString("");
parm6.setValueDataType(NameValuePair.DATA_TYPE_STRING);
/** Specifying the parameters (optional) */
NameValuePair[] initialParameters = { parm1,
parm2,
parm3,
parm4,
parm5,
parm6
};
/** Make the call */
response = api.startSession(sessionId, relyOnExistingSession, initialDebugFlag,
interactiveChannel, initialAudienceId, audienceLevel, initialParameters);
/** Process the response appropriately */
processStartSessionResponse(response);
public static void processStartSessionResponse(Response response)
{
// check if response is successful or not
if(response.getStatusCode() == Response.STATUS_SUCCESS)
{
System.out.println("startSession call processed with no warnings or errors");
}
else if(response.getStatusCode() == Response.STATUS_WARNING)
{
System.out.println("startSession call processed with a warning");
}
else
{
System.out.println("startSession call processed with an error");
}
// For any non-successes, there should be advisory messages explaining why
if(response.getStatusCode() != Response.STATUS_SUCCESS)
printDetailMessageOfWarningOrError("StartSession",
response.getAdvisoryMessages());
}
Copyright IBM Corporation 2014. All Rights Reserved.
|