매개변수

매개변수는 세션 중에 최종 사용자가 제공한 값을 캡처하고 참조하는 데 사용됩니다. 각 매개변수에는 이름과 항목 유형이 있습니다. 원시 최종 사용자 입력과 달리 매개변수는 일부 로직을 수행하거나 응답을 생성하는 데 간편하게 사용할 수 있는 구조화된 데이터입니다.

CX 매개변수는 ES 매개변수와 유사하지만 유틸리티 및 범위가 확장되었으며 참조 매개변수 구문이 변경되었습니다.

매개변수 정의, 참조, 설정, 가져오기

매개변수가 사용되는 일반적인 네 가지 방법은 다음과 같습니다.

  • 디자인 시 정의: 설계 시 콘솔 또는 API를 사용하여 매개변수를 정의합니다. 예를 들어 인텐트 매개변수를 정의하고 학습 문구에 사용하여 추출해야 하는 최종 사용자 입력을 나타낼 수 있습니다.
  • 디자인 시 참조: 매개변수 참조는 런타임 시 추출할 매개변수 값을 포함하는 변수입니다. 설계 시 콘솔 또는 API를 사용하여 다양한 데이터 유형의 매개변수를 참조할 수 있습니다. 예를 들어 경로의 정적 fulfillment 응답에서 세션 매개변수를 참조할 수 있습니다.
  • 런타임 시 설정: 런타임 시 Dialogflow 서비스, API를 호출하는 서비스, 웹훅 서비스가 모두 매개변수 값을 설정할 수 있습니다. 예를 들어 Dialogflow 서비스는 최종 사용자 입력이 인텐트와 일치하고 입력에 매개변수 데이터가 포함된 경우 인텐트 매개변수의 값을 설정합니다.
  • 런타임 시 가져오기: 런타임 시 매개변수 참조에 설정된 매개변수 값이 포함되며 API 또는 웹훅을 사용하여 매개변수 값을 가져올 수 있습니다. 예를 들어 인텐트가 일치되고 웹훅이 호출되면 웹훅 서비스가 인텐트의 매개변수 값을 수신합니다.

매개변수 이름 지정

매개변수 이름 지정에 다음 규칙이 적용됩니다.

  • [A-Z], [a-z], [0-9], ., -, _ 문자를 사용하세요.
  • 매개변수 이름은 대소문자를 구분하지 않으므로 Dialogflow에서는 Appleapple을 같은 매개변수로 취급합니다. Dialogflow에서 반환한 매개변수 이름은 대소문자를 구분하지 않으므로 웹훅 및 API 클라이언트 코드 또한 매개변수 이름의 대소문자를 구분하지 않습니다.

매개변수 값 유형

매개변수 값은 여러 값 유형을 지원합니다. 아래 세션 섹션에서는 각 매개변수 값 유형을 참조하는 방법을 설명합니다. 지원되는 유형은 다음과 같습니다.

유형 설명
Scalar 단일 숫자 또는 문자열 값
복합 복합 항목 일치 또는 originalresolved 필드가 포함된 인텐트 매개변수 채우기로 채워진 JSON 객체
목록 목록으로 구성된 매개변수에 대해 채워진 스칼라 또는 복합 값 목록입니다. 아래의 목록 옵션을 참조하세요.

매개변수 빈 문자열 및 null 값

문자열 매개변수 값을 ""로 설정하면 매개변수가 빈 문자열로 설정됩니다.

매개변수 값을 null로 설정하면 매개변수가 설정되지 않았음을 나타냅니다.

매개변수 원래 값

런타임 시 텍스트가 특정 항목과 일치하면 처리에 더 편리한 값으로 확인되는 경우가 많습니다. 예를 들어 최종 사용자 입력의 'apples'라는 단어는 과일 항목에 해당하는 'apple'로 확인될 수 있습니다.

인텐트 매개변수 참조의 모든 값 유형은 원래 값 또는 확인된 값을 참조할 수 있습니다.

세션 매개변수 참조의 복합 값 유형만 원래 값을 참조할 수 있습니다.

인텐트 매개변수

인텐트는 매개변수를 사용하여 인텐트가 일치할 때 최종 사용자가 제공한 데이터를 추출합니다. 다음 데이터는 인텐트 매개변수를 정의하는 데 사용됩니다.

  • 이름(ID 또는 표시 이름이라고도 함): 매개변수를 식별하는 이름입니다.
  • 항목 유형: 매개변수와 연결된 항목 유형입니다.
  • 목록: 참인 경우 매개변수가 값 목록으로 처리됩니다.
  • 로그 수정: true인 경우 사용자가 제공한 매개변수 데이터가 수정됩니다.

인텐트 매개변수 정의

인텐트 매개변수는 인텐트 데이터를 만들거나 학습 문구를 주석 처리할 때 설계 시 정의됩니다.

인텐트 매개변수 참조

인텐트 매개변수 참조는 인텐트 경로의 정적 fulfillment 응답 메시지에서 사용할 수 있습니다.

원래 값 또는 확인된 값을 참조할 수 있습니다.

현재 일치하는 인텐트의 매개변수를 참조하려면 다음 형식 중 하나를 사용합니다.

$intent.params.parameter-id.original
$intent.params.parameter-id.resolved

예를 들어 매개변수 ID가 date이면 확인된 값을 $intent.params.date.resolved로 참조할 수 있습니다.

인텐트 매개변수 설정

런타임 시 최종 사용자 입력이 인텐트와 일치하면 연결된 학습 문구의 주석에서 사용하는 모든 매개변수가 Dialogflow에 의해 설정됩니다.

인텐트 경로의 fulfillment는 fulfillment 매개변수 사전 설정을 사용하여 런타임 시 인텐트 매개변수 값을 설정할 수 있습니다.

인텐트 매개변수 가져오기

인텐트가 일치하는 대화 차례에서 코드는 인텐트 매개변수 값에 액세스할 수 있습니다.

API와의 상호작용은 인텐트 매개변수 값을 반환합니다. Session 유형의 detectIntent 메서드 queryResult.parameters 응답 필드를 참조하세요.

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

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

웹훅의 수신 인텐트 매개변수 값입니다. 웹훅 요청intentInfo.parameters 필드를 참조하세요.

양식 매개변수

페이지마다 최종 사용자로부터 수집해야 하는 매개변수의 목록인 양식을 정의합니다. 에이전트는 페이지 매개변수라고도 하는 모든 필수 양식 매개변수를 수집할 때까지 여러 대화 차례에 걸쳐 최종 사용자와 상호작용합니다. 에이전트는 페이지에 정의된 순서대로 이러한 매개변수를 수집합니다. 또한 각 필수 양식 매개변수에 대해 에이전트가 최종 사용자에게 해당 정보를 요청하는 데 사용하는 프롬프트를 제공합니다. 이 프로세스를 양식 작성이라고 합니다.

예를 들어 Collect Customer Info 페이지에 대해 최종 사용자 이름과 전화번호를 수집하는 양식을 만들 수 있습니다.

CX 양식 채우기는 ES 슬롯 채우기와 유사합니다.

양식 매개변수를 정의하는 데 사용되는 데이터는 다음과 같습니다.

콘솔 옵션 이름 API 필드 체인 설명
표시 이름 Page.form.parameters[].displayName 매개변수를 식별하는 이름입니다.
항목 유형 Page.form.parameters[].entityType 매개변수와 관련된 항목 유형입니다.
필수 Page.form.parameters[].required 매개변수가 필요한지 여부를 나타냅니다. 양식 채우기가 완료되기 전에 필수 매개변수를 채워야 하며, 에이전트가 최종 사용자에게 값을 입력하라는 메시지를 표시합니다. 자세한 내용은 아래의 양식 매개변수 설정 섹션을 참조하세요.
기본값 (필수가 선택 해제된 경우에만 표시됨) Page.form.parameters[].defaultValue 선택적 매개변수의 기본값입니다. 자세한 내용은 아래의 양식 매개변수 설정 섹션을 참조하세요.
목록 Page.form.parameters[].isList true인 경우 매개변수가 값 목록으로 처리됩니다.
로그에서 수정 Page.form.parameters[].redact true인 경우 최종 사용자가 제공한 매개변수 데이터가 수정됩니다.
초기 프롬프트 fulfillment Page.form.parameters[].fillBehavior.initialPromptFulfillment 최종 사용자에게 필요한 매개변수 값을 요청하는 fulfillment 형식의 초기 프롬프트입니다. 자세한 내용은 아래의 양식 매개변수 설정 섹션을 참조하세요.
이벤트 핸들러 재요청 Page.form.parameters[].fillBehavior.repromptEventHandlers 시도에 실패한 후 에이전트가 매개변수를 작성하도록 최종 사용자에게 다시 요청해야 하는 경우에 사용됩니다. 양식 작성 재요청 핸들러를 참조하세요. 재요청 이벤트 핸들러가 정의되지 않은 경우, 에이전트는 실패한 시도 후에 초기 프롬프트를 재요청합니다.
DTMF 해당 없음 아래의 DTMF 섹션을 참조하세요.

양식 매개변수 정의 및 관리

양식 매개변수는 페이지를 만들 때 디자인 시 정의됩니다.

콘솔을 사용하여 양식 매개변수 순서를 변경하려면 페이지에서 매개변수 섹션 제목을 클릭한 다음 매개변수 테이블의 매개변수 행을 드래그합니다.

양식 매개변수를 삭제하려면 페이지에서 매개변수 섹션 제목을 클릭하고 매개변수 위로 마우스를 가져간 후 삭제 버튼을 클릭합니다.

양식 매개변수 참조

양식 매개변수 참조는 직접 사용되지 않습니다. 개별 양식 매개변수 작성 상태 또는 전체 양식만 확인할 수 있습니다. 이러한 양식 상태 참조는 조건 경로조건 요구사항에서 사용할 수 있습니다.

현재 페이지의 양식이 작성되었는지 확인하려면 다음 조건을 사용하세요.

$page.params.status = "FINAL"

특정 양식 매개변수가 마지막 단계에서 작성되었는지 확인하려면 다음 조건을 사용하세요.

$page.params.parameter-id.status = "UPDATED"

양식 매개변수 설정

양식 매개변수 값은 다양한 방법으로 설정할 수 있습니다. 다음 하위 섹션에서는 양식 매개변수 값을 설정하는 각 메커니즘을 설명합니다.

기본 매개변수 값

선택적 양식 매개변수의 기본값을 제공할 수 있습니다. 양식 채우기가 시작되면 설정되지 않은 모든 선택적 양식 매개변수가 기본값으로 설정됩니다. 이러한 값은 아래 메커니즘 중 일부에 의해 초기화되거나 재정의될 수 있습니다.

매개변수가 필수이면 기본값은 무시됩니다.

양식 채우기

Dialogflow는 양식 작성 중에 최종 사용자가 제공하는 매개변수 값을 자동으로 설정합니다. 에이전트는 페이지에 정의된 순서대로 필수 매개변수를 수집합니다. 에이전트는 최종 사용자에게 각 필수 매개변수에 입력한 초기 프롬프트 fulfillment를 사용하여 필수 값을 요청합니다. 선택적 매개변수는 프롬프트를 트리거하지 않습니다.

에이전트 프롬프트 후 최종 사용자가 필수 매개변수 값을 제공하지 않으면 재요청 핸들러에 다른 동작이 정의되지 않는 한 초기 프롬프트가 반복됩니다. 초기 텍스트 프롬프트가 여러 개 정의되어 있으면 에이전트 동작은 fulfillment 텍스트 응답의 동작과 동일합니다.

인텐트 및 세션 매개변수 전파

런타임 시 모든 유형의 매개변수를 설정하면 매개변수가 세션에 기록되고 세션 매개변수가 됩니다.

페이지가 처음 활성화되면 활성 기간 동안 세션 매개변수와 동일한 이름의 양식 매개변수가 자동으로 세션 매개변수 값으로 설정됩니다.

이는 인텐트 경로 또는 매개변수 전파의 일치하는 인텐트 매개변수에 발생할 수 있습니다.

인텐트 및 세션 매개변수 전파는 선택적 양식 매개변수를 최종 사용자 입력 값으로 설정하는 유일한 메커니즘이지만 이 메커니즘에서 필수 양식 매개변수 값을 설정하거나 재정의할 수도 있습니다.

Fulfillment 매개변수 사전 설정

경로, 이벤트 핸들러 또는 양식 재요청을 위한 fulfillment는 fulfillment 매개변수 사전 설정을 사용하여 런타임 시 양식 매개변수 값을 설정할 수 있습니다. fulfillment 매개변수 사전 설정은 매개변수 기본값을 포함하여 매개변수 값을 재정의합니다.

웹훅 매개변수 설정

웹훅은 런타임에 양식 매개변수 값을 설정할 수 있습니다. 웹훅 응답pageInfo.formInfo.parameterInfo 필드를 참조하세요.

양식 매개변수 가져오기

API와의 상호작용은 양식 매개변수 값을 반환합니다. Session 유형의 detectIntent 메서드 queryResult.parameters 응답 필드를 참조하세요.

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

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

웹훅의 수신 양식 매개변수 값입니다. 웹훅 요청pageInfo.formInfo.parameterInfo 필드를 참조하세요.

양식 작성 재요청 핸들러

매개변수 수준 이벤트 핸들러라고도 하는 재요청 핸들러는 필수 매개변수의 복잡한 매개변수 프롬프트 동작을 정의하는 데 사용됩니다. 예를 들어, 재요청 핸들러는 최종 사용자가 초기 프롬프트 이후에 값을 제공하는 데 실패할 때 프롬프트를 변경하고 N번의 실패한 시도 후에 다른 페이지로 전환하는 데 사용할 수 있습니다.

재요청 핸들러가 정의되지 않은 경우 필요에 따라 최종 사용자를 재요청하는 데 초기 프롬프트가 사용됩니다.

최종 사용자가 예상치 못한 입력으로 응답하면 sys.no-match-* 또는 sys.no-input-* 이벤트가 호출되고 이러한 이벤트에 대해 정의된 재요청 핸들러가 호출됩니다.

다른 이벤트 핸들러와 마찬가지로 재요청 핸들러는 다음 중 하나 또는 둘 모두를 사용하여 구성할 수 있는 상태 핸들러의 한 유형입니다.

  • 최종 사용자 재요청 메시지 또는 매개변수 사전 설정을 제공하기 위한 fulfillment입니다.
  • 현재 페이지를 변경할 전환 대상입니다.

세션 매개변수

런타임 시 모든 유형의 매개변수를 설정하면 매개변수가 세션에 기록되고 세션 매개변수가 됩니다. 이 매개변수는 디자인 시 명시적으로 정의되지 않습니다. 이러한 세션 매개변수는 세션 중에 언제든지 참조할 수 있습니다.

세션 매개변수 참조

세션 매개변수 참조는 다음 유형의 fulfillment에 대한 정적 응답 메시지에서 사용할 수 있습니다.

  • 페이지 항목 fulfillment
  • 경로 fulfillment
  • 이벤트 핸들러 fulfillment
  • 양식 프롬프트 fulfillment
  • 양식 재요청 fulfillment

참조는 다음에서도 사용할 수 있습니다.

세션 매개변수를 참조하려면 다음 형식을 사용합니다.

Scalar

스칼라 항목 유형으로 매개변수에 액세스하려면 다음 안내를 따르세요.

$session.params.parameter-id

예를 들어 매개변수 ID가 date이면 값을 $session.params.date로 참조할 수 있습니다.

복합

  • 복합 항목 유형으로 매개변수 구성원에 액세스하려면 다음 안내를 따르세요.

    $session.params.parameter-id.member-name

    예를 들어 매개변수 ID가 location이면 zip-code 멤버 값을 $session.params.location.zip-code로 참조할 수 있습니다.

  • 복합 항목 유형으로 매개변수의 원래 값에 액세스하려면 다음 안내를 따르세요.

    $session.params.parameter-id.original
  • 복합 항목 유형으로 매개변수의 전체 객체에 액세스하려면 IDENTITY 시스템 함수를 사용합니다.

목록

  • 요소의 전체 목록에 액세스하려면 다음을 실행합니다.

    $session.params.parameter-id

    예를 들어 목록 매개변수 ID가 colors이고 사용자 쿼리에서 추출된 값이 ["red", "blue", "yellow"]이면 모든 값을 $session.params.colors로 참조할 수 있습니다.

  • 목록 매개변수의 ith 요소에 액세스하려면 다음 안내를 따르세요.

    $session.params.parameter-id[i]

    예를 들어 목록 매개변수 ID가 colors이면 첫 번째 값을 $session.params.colors[0]으로 참조할 수 있습니다.

세션 매개변수 설정

양식 작성이 완료되면 작성 매개변수가 Dialogflow에 의해 세션에 기록됩니다.

경로, 이벤트 핸들러 또는 양식 재요청을 위한 fulfillment는 fulfillment 매개변수 사전 설정을 사용하여 런타임 시 매개변수 값을 설정할 수 있습니다.

웹훅은 런타임에 세션 매개변수 값을 설정할 수 있습니다. 표준 웹훅 응답sessionInfo.parameters 필드를 참조하거나 가변형 웹훅 응답을 참조하세요.

API와의 상호작용은 세션 매개변수 값을 설정할 수 있습니다. Session 유형의 detectIntent 메서드 queryParams.parameters 요청 필드를 참조하세요.

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

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

세션 매개변수 가져오기

API와의 상호작용은 세션 매개변수 값을 반환합니다. Session 유형의 detectIntent 메서드 queryResult.parameters 응답 필드를 참조하세요.

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

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

웹훅의 수신 세션 매개변수 값입니다. 웹훅 요청sessionInfo.parameters 필드를 참조하세요.

매개변수 전파

최종 사용자 입력이 매개변수 값을 제공할 때 매개변수가 다른 수준으로 전파될 수 있습니다.

  • 인텐트 일치로 인텐트 매개변수가 설정된 경우 활성 페이지에 대해 이름이 비슷한 양식 매개변수가 동일한 값으로 설정됩니다. 매개변수의 항목 유형은 인텐트 매개변수 정의에 따라 결정됩니다.
  • 인텐트 일치로 인텐트 매개변수가 설정되거나 양식을 작성하는 동안 양식 매개변수가 설정된 경우 매개변수가 세션 매개변수가 됩니다.

전화 통합용 DTMF

매개변수에 DTMF(Dual-tone multi-frequency signaling)를 사용 설정하고 구성할 수 있습니다. 사용 설정하면 전화 통합을 사용하는 에이전트의 최종 사용자가 전화 키패드를 사용하여 매개변수 값을 제공할 수 있습니다.

모호함을 줄이기 위해 DTMF 입력은 일반 및 DTMF 전용(권장) 양식에서 모두 해석될 수 있습니다.

  • 일반적인 형식은 간단히 최종 사용자가 입력한 키패드 값입니다. 123#).
  • DTMF별 양식은 입력을 dtmf_digits_[digits]로 변환합니다. 여기서 [digits]*star로 바꾸고 #pound로 바꾼 원래 DTMF 숫자입니다. 예를 들어 123#dtmf_digits_123pound로 해석됩니다.

매개변수의 항목 유형과 일치하면 Dialogflow는 일반 및 DTMF별 양식을 모두 일치시키려고 시도합니다. DTMF 입력에 항목 유형을 사용하는 경우 NLU 일치가 향상되도록 dtmf_digits_123과 같은 동의어를 정의하는 것이 좋습니다.

DTMF 입력이 종료 조건을 충족하지 않는 경우(최대 자릿수에 도달하지 않았거나 마지막 자릿수에서 종료되지 않은 경우) Dialogflow 에이전트는 추가 입력을 기다립니다. 이 기간 동안 음성 중지 제한 시간이 트리거되면 에이전트는 대신 입력 없음 이벤트를 호출합니다. 음성 발화만 감지되면 에이전트는 음성 입력과 비교합니다. 음성과 DTMF 입력이 모두 감지되면 음성 입력이 삭제되고 DTMF 입력만 고려됩니다.

매개변수에 DTMF를 사용 설정하고 맞춤설정하려면 다음 안내를 따르세요.

콘솔

  1. 아직 사용 설정하지 않은 경우 에이전트 음성 및 IVR 설정에서 고급 설정을 사용 설정합니다.
  2. page 매개변수를 만듭니다.
  3. 매개변수 창에서 DTMF 사용 설정을 전환합니다.
  4. 최대 자릿수를 최종 사용자가 이 매개변수에 제공할 수 있는 최대 자릿수로 설정합니다.
  5. 숫자 완료를 매개변수의 DTMF 입력을 종료할 키패드 값으로 설정합니다. 이 설정에 #을 사용하는 것이 일반적입니다. 에이전트의 Dialogflow 쿼리에 마지막 자릿수가 추가되지 않으므로 마지막 자릿수가 #이고 입력이 123#이면 실제 쿼리 입력은 '123'이 됩니다.

에이전트를 빌드할 때 시뮬레이터에서 DTMF 입력을 테스트할 수 있습니다.

스마트 엔드포인트

에이전트에 스마트 엔드포인트가 사용 설정된 경우 특정 숫자 매개변수에 대해 스마트 엔드포인트 동작을 맞춤설정할 수 있습니다.

  1. 모든 숫자가 수집될 때까지 대기하도록 스마트 엔드포인트에 힌트를 주려면 최소 자릿수를 설정합니다.
  2. 일반적인 숫자 스크립트 작성 오류를 수정하여 숫자 음성 인식을 개선하려면 스크립트 수정을 설정합니다. en 또는 en-* 언어 코드를 지정하는 요청에서만 지원됩니다.
  3. 사용자가 추가 입력을 제공할 때까지 Dialogflow가 대기하는 추가 시간을 지정하려면 대기 제한 시간을 설정합니다.

흐름 범위 매개변수

흐름 범위 매개변수fulfillment 매개변수 사전 설정 또는 양식 매개변수로 정의할 수 있습니다. 이러한 매개변수는 정의된 흐름이 활성 상태인 동안에만 참조할 수 있으며 세션 매개변수로 유지되지 않습니다.

흐름 범위 매개변수를 정의하거나 참조하려면 다음 구문을 사용합니다.

$flow.parameter-name

예를 들어 매개변수 이름이 date인 경우 매개변수를 $flow.date로 정의하거나 참조할 수 있습니다.

매개변수를 정의할 때 $ 프리픽스를 사용하는 것은 매개변수 정의에 $를 사용하지 않는 다른 매개변수 유형과 다릅니다.

흐름 범위 매개변수 정의의 예시 입니다. 흐름 범위 매개변수 스크린샷

흐름 범위 매개변수 값 수명

드물지만 특정 고급 사례에서는 흐름이 비활성 상태가 된 후 흐름이 다시 활성화될 때 흐름 범위 매개변수 값이 보관(또는 삭제)되는 방식을 파악해야 할 수 있습니다.

흐름이 비활성 상태가 되었다가 다시 활성 상태가 될 때 흐름 범위 매개변수 값이 유지되는지 여부는 흐름 스택과 스택의 흐름 인스턴스에 따라 다릅니다.

  • 흐름 A가 특정 전환 대상을 사용하여 흐름 B로 전환되면 흐름 A(상위 흐름)가 스택에 유지되고 흐름 A는 흐름 범위 매개변수 값을 유지하고 새 흐름 B(하위 흐름)의 새 인스턴스가 스택에 추가됩니다.
  • 하위 흐름이 기호 전환 대상(예: END_FLOW)을 사용하여 상위 흐름으로 다시 전환되면 하위 흐름이 스택에서 삭제됩니다. 모든 하위 흐름 범위 매개변수 값이 삭제되고 모든 상위 흐름 범위 매개변수 값이 유지됩니다.
  • 특정 전환 대상으로 일련의 전환을 사용하면 흐름 스택에 하나의 흐름 유형의 여러 인스턴스가 포함될 수 있습니다. 흐름 유형의 각 인스턴스에는 고유한 흐름 범위 매개변수 값이 있습니다. 예를 들어 A1 -> B1 -> C1 -> B2에서 A, B, C는 흐름 유형이고 숫자는 흐름 유형의 인스턴스를 나타냅니다. 이 예시에서 B1과 B2는 흐름 B의 다른 인스턴스이며 고유한 흐름 범위 매개변수가 있습니다.

예:

전환 결과
흐름 A(A1)가 활성화됩니다.
흐름 B(B1)는 특정 전환 대상을 사용하여 활성화됩니다.
흐름 B는 기호화된 전환 대상을 사용하여 시작한 흐름 A(A1)로 다시 전환합니다.
흐름 A는 매개변수 값을 유지합니다.
흐름 A(A1)가 활성화됩니다.
흐름 B(B1)는 특정 전환 대상을 사용하여 활성화됩니다.
흐름 B는 특정 전환 대상을 사용하여 흐름 A (A2)의 새 인스턴스로 전환합니다.
스택 맨 위에 있는 흐름 A(A2)의 새 인스턴스는 스택 하단의 흐름 A(A1)의 매개변수 값에 액세스할 수 없습니다.
흐름 A(A1)가 활성화됩니다.
흐름 B(B1)는 특정 전환 대상을 사용하여 활성화됩니다.
흐름 A (A1)은 기호화된 전환 대상을 사용하여 활성화됩니다.
흐름 B(B2)는 특정 전환 대상을 사용하여 활성화됩니다.
흐름 B(B2)는 두 번째 전환(B1) 이후에 활성화된 동안 설정된 매개변수 값을 유지하지 않습니다.

요청 범위 매개변수

요청 범위 매개변수는 현재 요청의 수명 주기 동안에만 참조될 수 있으며 세션 매개변수로 유지되지 않는 Dialogflow가 만든 단기 매개변수입니다.

요청 범위 매개변수는 다음 기능과 관련해 Dialogflow에서 생성됩니다.

언어 및 사용자 입력

다음을 사용하여 요청과 관련된 언어 코드와 사용자 입력에 액세스할 수 있습니다.

참조 설명
$request.language QueryInput.language_code에 지정된 언어 코드입니다.
$request.resolved-language 처리 중에 에이전트가 사용하는 실제 언어 코드입니다. 확인된 언어는 요청에 지정된 언어와 다를 수 있습니다. 예를 들어 에이전트가 'en'만 지원하고 요청에 지정된 언어가 'en-US'이면 확인된 언어는 'en'입니다.
$request.user-utterance 요청에 지정된 현재 사용자 발화입니다.

커스텀 페이로드

QueryParameters.payload가 설정되면 $request.payload.param-id를 통해 해당 매개변수에 액세스할 수 있습니다.

감정 분석

감정 분석이 사용 설정된 경우 다음 감정 참조를 사용할 수 있습니다.

참조 유형 설명
$request.sentiment.score 숫자 감정 점수로, -1.0(부정적인 감정)부터 1.0(긍정적인 감정)까지입니다.
$request.sentiment.magnitude 숫자 0.0에서 +inf까지의 전반적인 감정 강도(긍정적 및 부정적 모두)를 나타냅니다. 점수와 달리 크기는 정규화되지 않습니다. 최종 사용자 입력 내의 각 감정 표현(긍정적 및 부정적 모두)이 입력의 크기에 반영됩니다. 입력이 길수록 크기가 커질 수 있습니다.
$request.sentiment.succeeded 불리언 감정 분석이 성공하면 true, 그렇지 않으면 false가 반환됩니다.

매개변수 수정

모든 인텐트 또는 양식 매개변수에 매개변수 수정을 사용 설정할 수 있습니다. 그러면 로그 및 Dialogflow 내부 스토리지에서 최종 사용자의 런타임 매개변수 데이터가 수정됩니다. 수정된 매개변수는 로그에서 $parameter-name_redacted로 표시됩니다.

예를 들어 최종 사용자가 'My address is 1600 Amphitheatre Parkway'라고 입력하면 address 매개변수가 '1600 Amphitheatre Parkway'로 전송됩니다. 로깅된 텍스트는 'My address is $address_redacted'입니다.

매개변수 수정을 사용 설정하려면 다음 안내를 따르세요.

콘솔

매개변수를 만들거나 업데이트할 때 로그 수정 체크박스를 선택합니다.

API

Intent 유형의 parameters[].redact 필드를 true로 설정합니다.

인텐트 참조의 프로토콜 및 버전 선택:

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

Page 유형의 form.parameters[].redact 필드를 true로 설정합니다.

페이지 참조의 프로토콜 및 버전 선택:

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

대신 특정 항목 유형의 모든 매개변수를 수정할 수 있습니다.