대화 내에서 특정 사용자의 매개변수 값을 세션 스토리지로 이동합니다 그러면 작업이 나중에 프롬프트에서 저장된 값을 사용할 수 있습니다. 웹훅 코드는 세션 스토리지의 값에 액세스하여 대화를 나눌 수 있습니다
대화 중에 유형을 사용하여 수집된 모든 데이터는 세션에 저장됩니다.
사용할 수 있습니다 웹훅 호출을 사용하여 세션 저장소의 데이터와 상호작용할 수도 있습니다.
웹훅 호출의 경우 세션 저장소의 상태가 app.handle()
에 전달됩니다.
session
객체에 저장됩니다.
세션 저장소에 저장된 데이터는 대화가 끝나면 만료됩니다.
세션 저장소에 데이터 읽기 및 쓰기
세션 스토리지에서 새 값을 업데이트하거나 설정하려면 값을
웹훅 호출에서 session
객체의 params
필드입니다. 다음 예를 참고하세요.
는 'exampleColor'를 설정합니다. '빨간색'으로 변경 세션 스토리지에서:
Node.js
// Assign color to session storage app.handle('storeColor', conv => { let color = 'red'; conv.session.params.exampleColor = color; });
JSON
{ "responseJson": { "session": { "id": "12345678901234567890", "params": { "exampleColor": "red" } }, "prompt": { "override": false } } }
세션 저장소에 저장된 데이터에 액세스하려면 이를 웹훅의 변수에 할당하세요. 있습니다. 다음 예는 'exampleColor'에서 값을 검색합니다. 세션 중 저장용량:
Node.js
// Retrieve color from session storage app.handle('getStoredColor', conv => { let color = conv.session.params.exampleColor; });
JSON
{ "responseJson": { "session": { "id": "12345678901234567890", "params": { "exampleColor": "red" } }, "prompt": { "override": false } } }
이전에 저장된 값을 지우려면 웹훅 호출에서 값을 null
로 설정합니다.
다음 예는 'exampleColor' 값을 지웁니다. 세션 스토리지에서:
Node.js
// Clear color from session storage app.handle('clearStoredColor', conv => { conv.session.params.exampleColor = null; });
JSON
{ "responseJson": { "session": { "id": "12345678901234567890", "params": {} }, "prompt": { "override": false } } }
프롬프트 내에서 저장된 값 참조
프롬프트에서 세션 저장소에 저장된 값을 참조할 수 있습니다. 이
값에는 $session.params.PARAMETER_NAME
구문을 사용합니다. 여기서
PARAMETER_NAME
은 매개변수가
설정되어 있습니다.
예를 들어, 이전에 세션 저장소에 색상 값을
매개변수 exampleColor
프롬프트에서 해당 값에 액세스하려면
$session.params.exampleColor
를 사용하여 값을 찾을 수 있습니다.
JSON
{ "candidates": [{ "first_simple": { "variants": [{ "speech": "Your favorite color is $session.params.exampleColor." }] } }] }
조건 내에서 저장된 값 참조
조건에서 세션 저장소에 저장된 값을 참조할 수도 있습니다. 받는사람
값을 참조하려면 session.params.PARAMETER_NAME
를 사용합니다.
구문으로, 여기서 PARAMETER_NAME
은
매개변수가 설정되었습니다.
예를 들어, 이전에 세션 저장소에 색상 값을
exampleColor
매개변수를 사용하고 이 매개변수를 'red' 값과 일치시키려고 합니다. 과녁을 맞히려는 화살의
있습니다. 조건에서 다음을 사용하여 저장된 값을 참조합니다.
session.params.exampleColor
그러면 조건 표현식이 다음과 같이 표시됩니다.
조건 문법
session.params.exampleColor == "red"