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