startSession(String sessionID,
boolean relyOnExistingSession,
boolean debug,
String interactiveChannel,
NameValuePairImpl[] audienceID,
String audienceLevel,
NameValuePairImpl[] parameters)
|
오퍼 제외 데이터를 세션으로 로드(enableOfferSuppressionLookup 특성이 true로 설정된 경우)
|
|
점수 재정의 데이터를 세션으로 로드(enableScoreOverrideLookup 특성이 true로 설정된 경우)
|
|
sessionID - 세션 ID를 식별하는 문자열입니다. 세션 ID를 정의해야 합니다. 예를 들어, 고객 ID와 시간소인을 조합하여 사용할 수 있습니다.
|
|
relyOnExistingSession - 이 세션이 새 세션을 사용하는지 또는 기존 세션을 사용하는지 여부를 정의하는 부울입니다. 유효한 값은 true 또는 false입니다. true이면, startSession 메소드와 함께 기존 세션 ID를 제공해야 합니다. false이면, 새 세션 ID를 제공해야 합니다.
|
|
debug - 디버그 정보를 사용 또는 사용 안함으로 설정하는 부울입니다. 유효한 값은 true 또는 false입니다. true이면, Interact가 런타임 서버 로그에 디버그 정보를 로그합니다. 각 세션마다 개별적으로 디버그 플래그가 설정됩니다. 따라서 개별 세션에 대한 디버그 데이터를 추적할 수 있습니다.
|
|
interactiveChannel - 이 세션이 참조하는 대화식 채널 이름을 정의하는 문자열입니다. 이 이름은 Campaign에 정의된 대화식 채널 이름과 정확히 일치해야 합니다.
|
|
audienceID - 이름이 대상 ID를 포함하는 테이블의 실제 열 이름과 일치해야 하는 NameValuePairImpl 오브젝트의 배열입니다.
|
|
audienceLevel - 대상 레벨을 정의하는 문자열입니다.
|
|
parameters - startSession과 함께 전달해야 하는 매개변수를 식별하는 NameValuePairImpl 오브젝트입니다. 이 값은 세션 데이터에 저장되며 세그먼트에 사용할 수 있습니다.
|
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.
|