startSession 메소드로 세션을 시작하면 세션 데이터가 메모리로 로드됩니다. 세션 기간 내내 세션 데이터(정적 프로파일 데이터의 수퍼세트)를 읽고 쓸 수 있습니다. 세션에는 다음 데이터가 포함됩니다.
모든 세션 데이터는 endSession 메소드를 호출하거나
sessionTimeout 시간이 경과할 때까지 사용 가능합니다. 세션이 종료된 후에는 모든 데이터가 명시적으로 컨택 또는 응답 기록에 저장되거나 일부 다른 데이터베이스 테이블은 손실됩니다.
Interact API에 대해 작업할 때 이 이름-값 쌍을 작성할 수 있습니다. 글로벌 영역에서 모든 이름-값 쌍을 선언할 필요는 없습니다. 새 이벤트 매개변수를 이름-값 쌍으로 설정하면 런타임 환경이 이름-값 쌍을 세션 데이터에 추가합니다. 예를 들어,
postEvent 메소드와 함께 이벤트 매개변수를 사용하면 프로파일 데이터에서 이벤트 매개변수가 사용 불가능한 경우에도 런타임 환경이 세션 데이터에 이벤트 매개변수를 추가합니다. 이 데이터는 세션 데이터에만 존재합니다.
세션 데이터를 언제든지 겹쳐쓸 수 있습니다. 예를 들어, 고객 프로파일의 일부에 creditScore가 포함된 경우 사용자 정의 유형
NameValuePair를 사용하여 이벤트 매개변수를 전달할 수 있습니다.
NameValuePair 클래스에
setName 및
setValueAsNumeric 메소드를 사용하여 값을 변경할 수 있습니다. 이름을 일치시켜야 합니다. 세션 데이터 내에서 이름은 대소문자를 구분하지 않습니다. 따라서
creditscore 또는
CrEdItScOrE는 모두
creditScore를 겹쳐씁니다.
세션 데이터에 쓴 마지막 데이터만 보관됩니다. 예를 들어, startSession은
lastOffer의 값에 대한 프로파일 데이터를 로드합니다.
postEvent 메소드는
lastOffer를 겹쳐씁니다. 그런 다음 두 번째
postEvent 메소드는
lastOffer를 겹쳐씁니다. 런타임 환경은 세션 데이터의 두 번째
postEvent 메소드로 쓴 데이터만 보관합니다.