세션

세션은 Dialogflow 에이전트와 최종 사용자 간의 대화를 나타냅니다. 대화를 시작할 때 세션을 만들고 대화 차례마다 이 세션을 사용합니다. 대화가 종료되면 세션 사용을 중단합니다.

여러 최종 사용자와 동시에 진행되는 대화에서 동일한 세션을 사용하면 안 됩니다. 세션에 대한 마지막 요청을 보낸 후 30분 동안 세션이 활성 상태로 유지되고 세션 데이터가 저장됩니다.

각 세션은 시스템에서 생성되는 세션 ID로 고유하게 구분됩니다. 인텐트 인식 요청 및 기타 세션 메서드에서 새로운 세션 ID를 제공하여 새 세션을 만듭니다. 세션 ID는 최대 36바이트 크기의 문자열입니다. 시스템은 고유한 세션 ID를 생성합니다. 세션 ID는 랜덤 숫자, 해싱된 최종 사용자 식별자 또는 사용자가 생성하기 편리한 기타 값일 수 있습니다.

세션 이름의 위치 ID 값에 대한 자세한 내용은 리전화 문서를 확인하세요.

오래 지속되는 세션

기본적으로 Dialogflow는 30분 동안 세션 데이터를 유지합니다. 세션의 전체 기간을 연장하는 방법에는 두 가지가 있습니다.

  • (권장) QueryParameters.session_ttl을 사용하여 세션 TTL을 설정합니다. 허용되는 최댓값은 24시간입니다.
  • DetectIntentRequest에서 QueryParameters.current_pageQueryParameters.parameters를 설정하여 이전 세션 상태를 되살릴 수 있습니다.

    워크플로 예시는 다음과 같습니다.

    1. 최종 사용자가 세션 A에서 에이전트와 대화합니다.
    2. 코드는 API 응답에서 반환된 세션 A와 연결된 상태(QueryResult.current_pageQueryResult.parameters)를 기록합니다.
    3. 최종 사용자가 50분 후 에이전트와의 상호작용을 중지합니다.
    4. 최종 사용자가 에이전트에게 다시 문의합니다.
    5. 코드는 앞에서 기록한 QueryParameters.current_pageQueryParameters.parameters와 함께 최종 사용자 입력을 전송하여 이전 세션 상태의 인텐트를 감지합니다. 세션 A와 동일한 세션 ID를 사용할 필요는 없습니다.

참조

세션 가격 책정에 대한 자세한 내용은 가격 책정 페이지를 참조하세요.

세션에 대한 자세한 내용은 하세요.

세션 참조의 프로토콜 및 버전을 선택합니다.

프로토콜 V3 V3beta1
REST 세션 리소스 세션 리소스
RPC 세션 인터페이스 세션 인터페이스
C++ SessionsClient 사용 불가능
C# SessionsClient 사용 불가능
Go SessionsClient 사용 불가능
자바 SessionsClient SessionsClient
Node.js SessionsClient SessionsClient
PHP 사용 불가능 사용 불가능
Python SessionsClient SessionsClient
Ruby 사용 불가능 해당 사항 없음