- HTTP 요청
- 경로 매개변수
- 요청 본문
- 응답 본문
- UserInput
<ph type="x-smartling-placeholder">
- </ph>
- JSON 표현
- InputType
- DeviceProperties
<ph type="x-smartling-placeholder">
- </ph>
- JSON 표현
- Surface
- 위치
- LatLng
- 출력
<ph type="x-smartling-placeholder">
- </ph>
- JSON 표현
- 캔버스
<ph type="x-smartling-placeholder">
- </ph>
- JSON 표현
- 프롬프트
<ph type="x-smartling-placeholder">
- </ph>
- JSON 표현
- 단순
<ph type="x-smartling-placeholder">
- </ph>
- JSON 표현
- 콘텐츠
<ph type="x-smartling-placeholder">
- </ph>
- JSON 표현
- 카드
<ph type="x-smartling-placeholder">
- </ph>
- JSON 표현
- Image
- ImageFill
- 링크
<ph type="x-smartling-placeholder">
- </ph>
- JSON 표현
- OpenUrl
<ph type="x-smartling-placeholder">
- </ph>
- JSON 표현
- UrlHint
- Table
- TableColumn
<ph type="x-smartling-placeholder">
- </ph>
- JSON 표현
- HorizontalAlignment
- TableRow
- TableCell
- 미디어
<ph type="x-smartling-placeholder">
- </ph>
- JSON 표현
- MediaType
- OptionalMediaControls
- MediaObject
<ph type="x-smartling-placeholder">
- </ph>
- JSON 표현
- MediaImage
<ph type="x-smartling-placeholder">
- </ph>
- JSON 표현
- 컬렉션
<ph type="x-smartling-placeholder">
- </ph>
- JSON 표현
- CollectionItem
<ph type="x-smartling-placeholder">
- </ph>
- JSON 표현
- 목록
<ph type="x-smartling-placeholder">
- </ph>
- JSON 표현
- ListItem
<ph type="x-smartling-placeholder">
- </ph>
- JSON 표현
- 제안
<ph type="x-smartling-placeholder">
- </ph>
- JSON 표현
- 진단
<ph type="x-smartling-placeholder">
- </ph>
- JSON 표현
- ExecutionEvent
<ph type="x-smartling-placeholder">
- </ph>
- JSON 표현
- ExecutionState
<ph type="x-smartling-placeholder">
- </ph>
- JSON 표현
- 슬롯
<ph type="x-smartling-placeholder">
- </ph>
- JSON 표현
- SlotFillingStatus
- 슬롯
<ph type="x-smartling-placeholder">
- </ph>
- JSON 표현
- SlotMode
- SlotStatus
- Status
- UserConversationInput
<ph type="x-smartling-placeholder">
- </ph>
- JSON 표현
- IntentMatch
<ph type="x-smartling-placeholder">
- </ph>
- JSON 표현
- ConditionsEvaluated
<ph type="x-smartling-placeholder">
- </ph>
- JSON 표현
- 조건
<ph type="x-smartling-placeholder">
- </ph>
- JSON 표현
- OnSceneEnter
<ph type="x-smartling-placeholder">
- </ph>
- JSON 표현
- WebhookRequest
<ph type="x-smartling-placeholder">
- </ph>
- JSON 표현
- WebhookResponse
<ph type="x-smartling-placeholder">
- </ph>
- JSON 표현
- WebhookInitiatedTransition
<ph type="x-smartling-placeholder">
- </ph>
- JSON 표현
- SlotMatch
<ph type="x-smartling-placeholder">
- </ph>
- JSON 표현
- SlotRequested
<ph type="x-smartling-placeholder">
- </ph>
- JSON 표현
- SlotValidated
- FormFilled
- WaitingForUserInput
- EndConversation
대화를 한 번 재생합니다.
HTTP 요청
POST https://actions.googleapis.com/v2/{project=projects/*}:sendInteraction
URL은 gRPC 트랜스코딩 문법을 사용합니다.
경로 매개변수
매개변수 | |
---|---|
project |
필수 항목입니다. 테스트 중인 프로젝트로, 프로젝트 ID로 표시됩니다. 형식: projects/{project} |
요청 본문
요청 본문에는 다음과 같은 구조의 데이터가 포함됩니다.
JSON 표현 | |
---|---|
{ "input": { object ( |
필드 | |
---|---|
input |
필수 항목입니다. 사용자가 입력한 입력 |
deviceProperties |
필수 항목입니다. 작업과 상호작용하는 데 사용되는 기기의 속성입니다. |
conversationToken |
이전 상호작용의 SendInteractionResponse에서 수신 시 전달되어야 하는 불투명 토큰입니다. 테스트 세션의 첫 번째 상호작용으로 새 대화를 시작하거나 이전 대화를 포기하고 새 대화를 시작하기 위해 이 설정을 설정하지 않을 수 있습니다. |
응답 본문
성공할 경우 응답 본문에 다음 구조의 데이터가 포함됩니다.
여러 번의 대화에 대한 응답입니다.
JSON 표현 | |
---|---|
{ "output": { object ( |
필드 | |
---|---|
output |
사용자에게 제공된 출력 |
diagnostics |
요청이 처리된 방법을 설명하는 진단 정보입니다. |
conversationToken |
동일한 대화를 계속하기 위해 다음 RPC 호출에서 SendInteractionRequest에 설정되는 불투명 토큰입니다. |
UserInput
대화 라운드에서 제공된 사용자 입력입니다.
JSON 표현 | |
---|---|
{
"query": string,
"type": enum ( |
필드 | |
---|---|
query |
사용자가 보낸 입력의 콘텐츠입니다. |
type |
입력 유형입니다. |
InputType
입력 소스, 입력된 쿼리 또는 음성 쿼리를 나타냅니다.
열거형 | |
---|---|
INPUT_TYPE_UNSPECIFIED |
입력 소스가 지정되지 않았습니다. |
TOUCH |
GUI 상호작용에서 쿼리합니다. |
VOICE |
음성 쿼리 |
KEYBOARD |
입력된 쿼리 |
URL |
작업이 URL 링크로 트리거되었습니다. |
기기 속성
대화와 관련된 기기의 속성입니다.
JSON 표현 | |
---|---|
{ "surface": enum ( |
필드 | |
---|---|
surface |
작업과 상호작용하는 데 사용되는 노출 영역입니다. |
location |
기기 위치(예: 위도, 경도, 형식이 지정된 주소) |
locale |
기기에 설정된 언어입니다. 형식은 BCP 47(https://tools.ietf.org/html/bcp47)을 따라야 합니다. 예: en, en-US, es-419(추가 예시: https://tools.ietf.org/html/bcp47#appendix-A). |
timeZone |
기기에 설정된 시간대입니다. 형식은 IANA 시간대 데이터베이스(예: 'America/New_York': https://www.iana.org/time-zones |
Surface
작업과 상호작용하는 데 사용할 수 있는 노출 영역입니다. 향후 더 많은 값이 포함될 수 있습니다.
열거형 | |
---|---|
SURFACE_UNSPECIFIED |
기본값 이 값은 사용되지 않습니다. |
SPEAKER |
스피커 (예: Google Home) |
PHONE |
휴대전화, |
ALLO |
Allo 채팅 |
SMART_DISPLAY |
스마트 디스플레이 기기 |
KAI_OS |
KaiOS |
위치
위치를 나타내는 컨테이너입니다.
JSON 표현 | |
---|---|
{
"coordinates": {
object ( |
필드 | |
---|---|
coordinates |
지리적 좌표입니다. [DEVICE_PRECISE_LOCATION] 필요 [google.actions.v2.Permission.DEVICE_PRECISE_LOCATION] 권한을 사용할 수 있습니다 |
formattedAddress |
표시 주소(예: '1600 Amphitheatre Pkwy, Mountain View, CA 94043'. [DEVICE_PRECISE_LOCATION] 필요 [google.actions.v2.Permission.DEVICE_PRECISE_LOCATION] 권한을 사용할 수 있습니다 |
zipCode |
우편번호. [DEVICE_PRECISE_LOCATION] 필요 [google.actions.v2.Permission.DEVICE_PRECISE_LOCATION] 또는 [DEVICE_COARSE_LOCATION] [google.actions.v2.Permission.DEVICE_COARSE_LOCATION] 권한이 있는지 확인합니다 |
city |
시/군/구. [DEVICE_PRECISE_LOCATION] 필요 [google.actions.v2.Permission.DEVICE_PRECISE_LOCATION] 또는 [DEVICE_COARSE_LOCATION] [google.actions.v2.Permission.DEVICE_COARSE_LOCATION] 권한이 있는지 확인합니다 |
LatLng
위도/경도 쌍을 나타내는 객체로 위도(도)와 경도(도)를 나타내는 double의 쌍으로 표현됩니다. 달리 명시되지 않는 한 이 객체는 WGS84 표준을 준수해야 합니다. 값은 정규화된 범위 내에 있어야 합니다.
JSON 표현 | |
---|---|
{ "latitude": number, "longitude": number } |
필드 | |
---|---|
latitude |
위도입니다. 범위는 [-90.0, +90.0]입니다. |
longitude |
경도입니다. 범위는 [-180.0, +180.0]입니다. |
출력
대화 라운드에서 사용자에게 표시되는 출력입니다.
JSON 표현 | |
---|---|
{ "text": string, "speech": [ string ], "canvas": { object ( |
필드 | |
---|---|
text |
일반 문자열로 사용자에게 전송되는 음성 응답입니다. |
speech[] |
작업에서 생성한 음성 콘텐츠입니다. 여기에는 SSML과 같은 마크업 요소가 포함될 수 있습니다. |
canvas |
Interactive Canvas 콘텐츠 |
actionsBuilderPrompt |
대화 라운드 종료 시 프롬프트의 상태입니다. 프롬프트에 관한 추가 정보: https://developers.google.com/assistant/conversational/prompts |
캔버스
사용자에게 전송될 Interactive Canvas 응답을 나타냅니다. 이는 'firstSimple' 필드가 대화형 캔버스 응답을 표시할 뿐만 아니라 사용자에게 말할 수 있습니다. 응답의 최대 크기는 50,000바이트입니다.
JSON 표현 | |
---|---|
{ "url": string, "data": [ value ], "suppressMic": boolean, "enableFullScreen": boolean } |
필드 | |
---|---|
url |
로드할 대화형 캔버스 웹 앱의 URL입니다. 설정하지 않으면 현재 활성 캔버스의 URL이 재사용됩니다. |
data[] |
선택사항입니다. 몰입형 환경 웹페이지에 이벤트로 전달되는 JSON 데이터입니다. '재정의' 포함된 프롬프트의 필드가 'false'입니다. 이 캔버스 프롬프트에 정의된 데이터 값은 이전 캔버스 프롬프트에 정의된 데이터 값 뒤에 추가됩니다. |
suppressMic |
선택사항입니다. 기본값은 false입니다. |
enableFullScreen |
|
프롬프트
사용자에 대한 응답을 나타냅니다.
JSON 표현 | |
---|---|
{ "append": boolean, "override": boolean, "firstSimple": { object ( |
필드 | |
---|---|
append |
선택사항입니다. 이 메시지가 이전에 정의된 메시지와 병합되는 방식을 위한 모드입니다. 'false' 이전에 정의한 모든 메시지 (첫 번째와 마지막 단순함, 콘텐츠, 추천 링크, 캔버스)를 지우고 이 프롬프트에 정의된 메시지를 추가합니다. 'true' 이 프롬프트에 정의된 메시지가 이전 응답에 정의된 메시지에 추가됩니다. 이 필드를 'true'로 설정 간단한 프롬프트, 추천 프롬프트, 캔버스 프롬프트 (콘텐츠 프롬프트의 일부)의 일부 필드에도 추가할 수 있습니다. 메시지에 정의된 경우 콘텐츠 및 링크 메시지를 항상 덮어씁니다. 기본값은 'false'입니다. |
override |
선택사항입니다. 이 메시지가 이전에 정의된 메시지와 병합되는 방식을 위한 모드입니다. 'true' 는 이전에 정의된 모든 메시지 (첫 번째와 마지막 단순함, 콘텐츠, 추천 링크, 캔버스)를 지우고 이 프롬프트에 정의된 메시지를 추가합니다. 'false' 이 프롬프트에 정의된 메시지를 이전 응답에 정의된 메시지에 추가합니다. 이 필드를 'false'로 유지 또한 간단한 프롬프트, 제안 프롬프트, 캔버스 프롬프트 (콘텐츠 프롬프트의 일부)의 일부 필드에 추가할 수 있습니다. 메시지에 정의된 경우 콘텐츠 및 링크 메시지를 항상 덮어씁니다. 기본값은 'false'입니다. |
firstSimple |
선택사항입니다. 첫 번째 음성 및 텍스트 전용 응답입니다. |
content |
선택사항입니다. 사용자에게 표시할 카드, 목록, 미디어와 같은 콘텐츠입니다. |
lastSimple |
선택사항입니다. 마지막 음성 및 텍스트 전용 응답입니다. |
suggestions[] |
선택사항입니다. 사용자에게 표시할 제안으로, 대답의 마지막 부분에 항상 표시됩니다. '재정의' 필드가 'false'인 경우 이 필드에 정의된 제목은 이전에 정의된 추천 프롬프트에 정의된 제목에 추가되고 중복 값은 삭제됩니다. |
link |
선택사항입니다. 연결된 앱 또는 사이트로 연결할 수 있는 추가적인 추천 칩 칩이 '열기 |
canvas |
선택사항입니다. 사용자에게 전송될 Interactive Canvas 응답을 나타냅니다. |
단순
사용자에게 보낼 간단한 프롬프트를 나타냅니다.
JSON 표현 | |
---|---|
{ "speech": string, "text": string } |
필드 | |
---|---|
speech |
선택사항입니다. 사용자에게 말할 음성을 나타냅니다. SSML 또는 TTS(텍스트 음성 변환)일 수 있습니다. '재정의' 필드가 'true'인 경우 이 필드에 정의된 음성이 이전 단순 프롬프트의 음성을 대체합니다. |
text |
채팅 풍선에 표시할 텍스트입니다(선택사항). 지정하지 않으면 위 음성 필드의 디스플레이 렌더링이 사용됩니다. 영문 기준 640자로 제한됩니다. '재정의' 필드가 'true'인 경우 이 필드에 정의된 텍스트가 이전 단순 프롬프트의 텍스트로 대체됩니다. |
콘텐츠
표시할 콘텐츠입니다.
JSON 표현 | |
---|---|
{ // Union field |
필드 | ||
---|---|---|
통합 필드 content . 콘텐츠. content 은 다음 중 하나여야 합니다. |
||
card |
기본 카드입니다. |
|
image |
이미지입니다. |
|
table |
표 카드입니다. |
|
media |
재생할 미디어 세트를 나타내는 응답입니다. |
|
canvas |
대화형 캔버스 환경에 사용할 응답입니다. |
|
collection |
선택할 수 있는 옵션 모음을 보여주는 카드입니다. |
|
list |
선택할 수 있는 옵션 목록이 표시된 카드입니다. |
카드
일부 정보를 표시하기 위한 기본 카드입니다. 예: 이미지 및/또는 텍스트입니다.
JSON 표현 | |
---|---|
{ "title": string, "subtitle": string, "text": string, "image": { object ( |
필드 | |
---|---|
title |
카드의 전체 제목입니다. 선택사항입니다. |
subtitle |
선택사항입니다. |
text |
카드의 본문 텍스트입니다. 서식 지정을 위한 제한된 마크다운 구문 세트를 지원합니다. 이미지가 없는 경우 필수 항목입니다. |
image |
카드의 히어로 이미지입니다. 높이는 192dp로 고정됩니다. 선택사항입니다. |
imageFill |
이미지 배경이 채워지는 방식입니다. 선택사항입니다. |
button |
버튼 선택사항입니다. |
이미지
카드에 표시되는 이미지입니다.
JSON 표현 | |
---|---|
{ "url": string, "alt": string, "height": integer, "width": integer } |
필드 | |
---|---|
url |
이미지의 소스 URL입니다. 이미지는 JPG, PNG, GIF (애니메이션 및 정지)를 사용할 수 있습니다. 예를 들면 |
alt |
접근성을 위해 사용되는 이미지의 텍스트 설명입니다. 예: 스크린 리더 필수 항목입니다. |
height |
이미지 높이(픽셀 단위)입니다. 선택사항입니다. |
width |
이미지 너비(픽셀 단위)입니다. 선택사항입니다. |
ImageFill
이미지의 표시에 영향을 줄 수 있는 이미지 표시 옵션입니다. 이미지의 가로세로 비율이 이미지 컨테이너의 가로세로 비율과 일치하지 않는 경우에 사용해야 합니다.
열거형 | |
---|---|
UNSPECIFIED |
이미지 채우기가 지정되지 않았습니다. |
GRAY |
이미지와 이미지 컨테이너 사이의 간격을 회색 막대로 채웁니다. |
WHITE |
이미지와 이미지 컨테이너 사이의 간격을 흰색 막대로 채웁니다. |
CROPPED |
이미지의 너비와 높이가 컨테이너 크기와 일치하거나 이를 초과하도록 이미지가 조정됩니다. 이렇게 하면 조정된 이미지 높이가 컨테이너 높이보다 크면 이미지의 상단과 하단이 잘리고, 조정된 이미지의 너비가 컨테이너 너비보다 크면 이미지의 왼쪽과 오른쪽이 잘릴 수 있습니다. 이는 '확대/축소 모드'와 유사합니다. 4:3 동영상을 재생할 때 와이드스크린 TV에서 재생됩니다. |
링크
콘텐츠 링크.
JSON 표현 | |
---|---|
{
"name": string,
"open": {
object ( |
필드 | |
---|---|
name |
링크 이름 |
open |
사용자가 링크를 열면 어떻게 되나요? |
OpenUrl
사용자가 링크를 열 때 수행되는 작업입니다.
JSON 표현 | |
---|---|
{
"url": string,
"hint": enum ( |
필드 | |
---|---|
url |
URL 필드: 다음 중 하나가 될 수 있음: - 앱에 연결된 앱 또는 웹페이지를 열기 위한 http/https URL |
hint |
URL 유형에 대한 힌트를 나타냅니다. |
UrlHint
다양한 유형의 URL 힌트
열거형 | |
---|---|
LINK_UNSPECIFIED |
미지정 |
AMP |
AMP 콘텐츠로 직접 연결되는 URL 또는 를 통해 AMP 콘텐츠를 참조하는 표준 URL입니다. |
표
텍스트 표를 표시하는 표 카드입니다.
JSON 표현 | |
---|---|
{ "title": string, "subtitle": string, "image": { object ( |
필드 | |
---|---|
title |
테이블의 전체 제목입니다. 선택사항이지만 부제목이 설정된 경우 설정해야 합니다. |
subtitle |
표의 부제목입니다. 선택사항입니다. |
image |
테이블과 연결된 이미지입니다. 선택사항입니다. |
columns[] |
열 헤더 및 정렬 |
rows[] |
테이블의 행 데이터입니다. 처음 3개 행은 항상 표시되지만 특정 표면에서는 다른 행이 잘릴 수 있습니다. 시뮬레이터로 테스트하여 지정된 표면에 어떤 행이 표시될지 확인하세요. WEB_BROWSER 기능을 지원하는 노출 영역에서 더 많은 데이터가 포함된 웹페이지로 사용자를 안내할 수 있습니다. |
button |
버튼 |
TableColumn
테이블의 열을 설명합니다.
JSON 표현 | |
---|---|
{
"header": string,
"align": enum ( |
필드 | |
---|---|
header |
열의 헤더 텍스트입니다. |
align |
콘텐츠 열의 가로 정렬 지정하지 않으면 콘텐츠가 맨 앞 가장자리에 정렬됩니다. |
HorizontalAlignment
셀 내 콘텐츠의 정렬입니다.
열거형 | |
---|---|
UNSPECIFIED |
가로 정렬이 지정되지 않았습니다. |
LEADING |
셀의 선행 가장자리입니다. 이는 기본값입니다. |
CENTER |
콘텐츠가 열 중앙에 정렬됩니다. |
TRAILING |
콘텐츠는 열의 후행 가장자리에 맞춰 정렬됩니다. |
TableRow
테이블의 행을 설명합니다.
JSON 표현 | |
---|---|
{
"cells": [
{
object ( |
필드 | |
---|---|
cells[] |
이 행의 셀입니다. 처음 3개의 셀은 표시가 보장되지만 특정 표면에서 다른 셀이 잘릴 수 있습니다. 시뮬레이터로 테스트하여 지정된 표면에 어떤 셀을 표시할지 확인하세요. |
divider |
각 행 뒤에 구분선이 있어야 하는지 여부를 나타냅니다. |
TableCell
행의 셀을 설명합니다.
JSON 표현 | |
---|---|
{ "text": string } |
필드 | |
---|---|
text |
셀의 텍스트 콘텐츠입니다. |
미디어
하나의 미디어 객체를 나타냅니다. 이름, 설명, URL 등의 미디어 정보가 포함됩니다.
JSON 표현 | |
---|---|
{ "mediaType": enum ( |
필드 | |
---|---|
mediaType |
미디어 유형입니다. |
startOffset |
첫 번째 미디어 객체의 시작 오프셋입니다. 초 단위 기간으로, 소수점 아래 9자리까지 지정 가능하며 ' |
optionalMediaControls[] |
이 미디어 응답 세션에서 지원할 수 있는 미디어 컨트롤 유형입니다(선택사항). 설정된 경우 특정 미디어 이벤트가 발생할 때 서드 파티로 요청이 이루어집니다. 설정하지 않으면 3p가 두 가지 기본 컨트롤 유형인 FINISHED와 FAILED를 처리해야 합니다. |
mediaObjects[] |
미디어 객체 목록 |
MediaType
이 응답의 미디어 유형입니다.
열거형 | |
---|---|
MEDIA_TYPE_UNSPECIFIED |
미디어 유형이 지정되지 않았습니다. |
AUDIO |
오디오 파일입니다. |
MEDIA_STATUS_ACK |
미디어 상태 보고서 확인에 대한 응답입니다. |
OptionalMediaControls
미디어 응답이 지원할 수 있는 선택적 미디어 컨트롤 유형
열거형 | |
---|---|
OPTIONAL_MEDIA_CONTROLS_UNSPECIFIED |
지정되지 않은 값 |
PAUSED |
이벤트가 일시중지되었습니다. 사용자가 미디어를 일시중지할 때 트리거됩니다. |
STOPPED |
일정을 중지했습니다. 사용자가 미디어 재생 중에 서드 파티 세션을 종료할 때 트리거됩니다. |
MediaObject
단일 미디어 객체를 나타냅니다.
JSON 표현 | |
---|---|
{
"name": string,
"description": string,
"url": string,
"image": {
object ( |
필드 | |
---|---|
name |
이 미디어 객체의 이름입니다. |
description |
이 미디어 객체에 대한 설명입니다. |
url |
미디어 콘텐츠를 가리키는 URL입니다. |
image |
미디어 카드와 함께 표시할 이미지입니다. |
MediaImage
미디어 카드와 함께 표시할 이미지입니다.
JSON 표현 | |
---|---|
{ // Union field |
필드 | ||
---|---|---|
통합 필드 image . 이미지입니다. image 은 다음 중 하나여야 합니다. |
||
large |
앨범 표지와 같은 큰 이미지 |
|
icon |
제목 오른쪽에 표시된 작은 이미지 아이콘 36x36dp로 크기가 조정됩니다. |
컬렉션
선택할 옵션 모음을 표시하는 카드입니다.
JSON 표현 | |
---|---|
{ "title": string, "subtitle": string, "items": [ { object ( |
필드 | |
---|---|
title |
컬렉션의 제목입니다. 선택사항입니다. |
subtitle |
컬렉션의 부제목입니다. 선택사항입니다. |
items[] |
최소: 2 최대: 10 |
imageFill |
컬렉션 항목의 이미지 배경이 채워지는 방식입니다. 선택사항입니다. |
CollectionItem
컬렉션의 항목
JSON 표현 | |
---|---|
{ "key": string } |
필드 | |
---|---|
key |
필수 항목입니다. 연결된 Type의 항목 키 이름과 일치하는 NLU 키입니다. |
목록
선택할 옵션 목록을 표시하는 카드입니다.
JSON 표현 | |
---|---|
{
"title": string,
"subtitle": string,
"items": [
{
object ( |
필드 | |
---|---|
title |
목록의 제목입니다. 선택사항입니다. |
subtitle |
목록의 부제목입니다. 선택사항입니다. |
items[] |
최소: 2 최대: 30 |
ListItem
목록의 항목
JSON 표현 | |
---|---|
{ "key": string } |
필드 | |
---|---|
key |
필수 항목입니다. 연결된 Type의 항목 키 이름과 일치하는 NLU 키입니다. |
추천
사용자에게 표시할 추천을 입력합니다.
JSON 표현 | |
---|---|
{ "title": string } |
필드 | |
---|---|
title |
필수 항목입니다. 추천 검색어 칩에 표시되는 텍스트입니다. 이 텍스트를 탭하면 사용자가 입력한 것처럼 대화에 그대로 다시 게시됩니다. 각 제목은 추천 검색어 칩 세트 내에서 고유해야 합니다. 최대 25자(영문 기준) |
진단
대화와 관련된 진단 정보입니다.
JSON 표현 | |
---|---|
{
"actionsBuilderEvents": [
{
object ( |
필드 | |
---|---|
actionsBuilderEvents[] |
Actions Builder 상호작용 모델의 단계 전반에 걸친 대화 처리에 대한 세부정보가 있는 이벤트 목록입니다. Actions Builder 및 Actions SDK 앱만 해당 |
ExecutionEvent
Actions Builder 대화 요청을 처리하는 동안 발생한 실행 이벤트에 대한 정보가 포함됩니다. 대화 요청과 관련된 단계에 관한 개요는 https://developers.google.com/assistant/conversational/actions를 참고하세요.
JSON 표현 | |
---|---|
{ "eventTime": string, "executionState": { object ( |
필드 | ||
---|---|---|
eventTime |
이벤트가 발생한 타임스탬프입니다. RFC3339 UTC 'Zulu' 형식의 타임스탬프입니다(나노초 단위, 소수점 이하 9자리). 예를 들면 |
|
executionState |
이 이벤트 동안의 실행 상태입니다. |
|
status |
특정 실행 단계의 결과 상태. |
|
warningMessages[] |
이 이벤트의 실행 중에 생성된 경고의 목록입니다. 경고는 대화를 요청하는 동안 발견한 개발자에게 도움이 되는 팁입니다. 이러한 메서드는 일반적으로 중요하지 않으며 요청 실행을 중단하지 않습니다. 예를 들어 웹훅이 존재하지 않는 커스텀 유형을 재정의하려고 하면 경고가 생성될 수 있습니다. 오류는 실패 상태 코드로 보고되지만 상태가 정상인 경우에도 경고가 표시될 수 있습니다. |
|
통합 필드 EventData . 대화 라운드를 처리하는 데 관련될 수 있는 다양한 이벤트에 대한 자세한 정보입니다. 여기에 설정된 필드는 이 이벤트의 유형을 정의합니다. EventData 은 다음 중 하나여야 합니다. |
||
userInput |
사용자 입력 처리 이벤트입니다. |
|
intentMatch |
인텐트 일치 이벤트 |
|
conditionsEvaluated |
조건 평가 이벤트입니다. |
|
onSceneEnter |
OnSceneEnter 실행 이벤트. |
|
webhookRequest |
웹훅 요청 전달 이벤트입니다. |
|
webhookResponse |
웹훅 응답 수신 이벤트입니다. |
|
webhookInitiatedTransition |
웹훅에서 시작된 전환 이벤트입니다. |
|
slotMatch |
슬롯 일치 이벤트입니다. |
|
slotRequested |
슬롯 요청 이벤트입니다. |
|
slotValidated |
슬롯 유효성 검사 이벤트. |
|
formFilled |
양식 채우기 이벤트. |
|
waitingUserInput |
사용자 입력을 기다리는 중 이벤트입니다. |
|
endConversation |
대화 종료 이벤트입니다. |
ExecutionState
실행의 현재 상태입니다.
JSON 표현 | |
---|---|
{ "currentSceneId": string, "sessionStorage": { object }, "slots": { object ( |
필드 | |
---|---|
currentSceneId |
현재 활성화된 장면의 ID입니다. |
sessionStorage |
세션 스토리지의 상태: https://developers.google.com/assistant/conversational/storage-session |
slots |
슬롯이 채워진 상태(해당하는 경우): https://developers.google.com/assistant/conversational/scenes#slot_filling |
promptQueue[] |
프롬프트 대기열: https://developers.google.com/assistant/conversational/prompts |
userStorage |
사용자 스토리지 상태: https://developers.google.com/assistant/conversational/storage-user |
householdStorage |
홈 스토리지 상태: https://developers.google.com/assistant/conversational/storage-home |
슬롯
장면 슬롯의 현재 상태를 나타냅니다.
JSON 표현 | |
---|---|
{ "status": enum ( |
필드 | |
---|---|
status |
슬롯 채우기의 현재 상태입니다. |
slots |
현재 장면과 연결된 슬롯입니다.
|
SlotFillingStatus
슬롯 채우기의 현재 상태를 나타냅니다.
열거형 | |
---|---|
UNSPECIFIED |
사용량 필드가 채워지지 않은 경우의 대체 값입니다. |
INITIALIZED |
슬롯이 초기화되었지만 슬롯 채우기가 시작되지 않았습니다. |
COLLECTING |
슬롯 값을 수집하는 중입니다. |
FINAL |
모든 슬롯 값은 최종 값이며 변경할 수 없습니다. |
슬롯
슬롯을 나타냅니다.
JSON 표현 | |
---|---|
{ "mode": enum ( |
필드 | |
---|---|
mode |
슬롯의 모드 (필수 또는 선택사항)입니다. 개발자가 설정할 수 있습니다. |
status |
슬롯의 상태입니다. |
value |
슬롯의 값입니다. 응답에서 이 값을 변경하면 슬롯 채우기의 값이 수정됩니다. |
updated |
슬롯 값이 마지막 턴에 수집되었는지 여부를 나타냅니다. 이 필드는 읽기 전용입니다. |
prompt |
선택사항입니다. 이 메시지는 필수 시간대를 채워야 할 때 사용자에게 전송됩니다. 이 프롬프트는 콘솔에 정의된 기존 프롬프트를 재정의합니다. 이 필드는 웹훅 요청에 포함되지 않습니다. |
SlotMode
슬롯의 모드, 즉 슬롯 모드가 필요한지 여부를 나타냅니다.
열거형 | |
---|---|
MODE_UNSPECIFIED |
사용량 필드가 채워지지 않은 경우의 대체 값입니다. |
OPTIONAL |
슬롯 채우기를 완료하는 데 슬롯이 필요하지 않음을 나타냅니다. |
REQUIRED |
슬롯 채우기를 완료하는 데 슬롯이 필요함을 나타냅니다. |
SlotStatus
시간대의 상태를 나타냅니다.
열거형 | |
---|---|
SLOT_UNSPECIFIED |
사용량 필드가 채워지지 않은 경우의 대체 값입니다. |
EMPTY |
슬롯에 값이 없음을 나타냅니다. 이 상태는 응답을 통해 수정할 수 없습니다. |
INVALID |
슬롯 값이 잘못되었음을 나타냅니다. 이 상태는 응답을 통해 설정할 수 있습니다. |
FILLED |
슬롯에 값이 있음을 나타냅니다. 이 상태는 응답을 통해 수정할 수 없습니다. |
상태
Status
유형은 REST API, RPC API를 비롯하여 다양한 프로그래밍 환경에 적합한 논리적 오류 모델을 정의하며, gRPC에서 사용됩니다. 각 Status
메시지에는 오류 코드, 오류 메시지, 오류 세부정보라는 3가지 데이터가 포함됩니다.
API 설계 가이드에서 이 오류 모델과 모델 작업 방법에 대해 자세히 알아볼 수 있습니다.
JSON 표현 | |
---|---|
{ "code": integer, "message": string, "details": [ { "@type": string, field1: ..., ... } ] } |
필드 | |
---|---|
code |
상태 코드로, |
message |
개발자에게 정보를 제공하는 오류 메시지로, 영어로 작성되어야 합니다. 사용자에게 표시되는 모든 오류 메시지는 현지화되어 |
details[] |
오류 세부정보를 설명하는 메시지 목록입니다. API에서 사용할 일반적인 메시지 유형 집합이 있습니다. 임의 유형의 필드를 포함하는 객체입니다. 추가 필드 |
UserConversationInput
사용자 입력과 관련된 정보입니다.
JSON 표현 | |
---|---|
{ "type": string, "originalQuery": string } |
필드 | |
---|---|
type |
사용자 입력 유형입니다. 예: 키보드, 음성, 터치 등입니다. |
originalQuery |
사용자가 입력한 원래 텍스트입니다. |
IntentMatch
트리거된 인텐트 일치에 관한 정보 (전역 또는 장면 내): https://developers.google.com/assistant/conversational/intents
JSON 표현 | |
---|---|
{
"intentId": string,
"intentParameters": {
string: {
object ( |
필드 | |
---|---|
intentId |
이 상호작용을 트리거한 인텐트 ID입니다. |
intentParameters |
이 상호작용을 트리거한 인텐트의 매개변수입니다.
|
handler |
이 상호작용에 연결된 핸들러의 이름입니다. |
nextSceneId |
이 상호작용이 이어지는 장면입니다. |
ConditionsEvaluated
조건 평가 결과: https://developers.google.com/assistant/conversational/scenes#conditions
JSON 표현 | |
---|---|
{ "failedConditions": [ { object ( |
필드 | |
---|---|
failedConditions[] |
'false'로 판정된 조건의 목록입니다. |
successCondition |
'true'로 평가된 첫 번째 조건입니다(있는 경우). |
조건
평가된 조건입니다.
JSON 표현 | |
---|---|
{ "expression": string, "handler": string, "nextSceneId": string } |
필드 | |
---|---|
expression |
이 조건에 지정된 표현식입니다. |
handler |
평가된 조건에 지정된 핸들러 이름입니다. |
nextSceneId |
평가된 조건에 지정된 대상 장면입니다. |
OnSceneEnter
onSceneEnter 단계 실행 정보: https://developers.google.com/assistant/conversational/scenes#onEnter
JSON 표현 | |
---|---|
{ "handler": string } |
필드 | |
---|---|
handler |
onSceneEnter 이벤트에 지정된 핸들러 이름입니다. |
WebhookRequest
작업 웹훅에 전달된 요청에 관한 정보: https://developers.google.com/assistant/conversational/webhooks#payloads
JSON 표현 | |
---|---|
{ "requestJson": string } |
필드 | |
---|---|
requestJson |
웹훅 요청의 페이로드. |
WebhookResponse
작업 웹훅에서 수신된 응답에 관한 정보: https://developers.google.com/assistant/conversational/webhooks#payloads
JSON 표현 | |
---|---|
{ "responseJson": string } |
필드 | |
---|---|
responseJson |
웹훅 응답의 페이로드입니다. |
WebhookInitiatedTransition
웹훅에서 반환된 대상 장면에 의해 트리거되는 이벤트: https://developers.google.com/assistant/conversational/webhooks#transition_scenes
JSON 표현 | |
---|---|
{ "nextSceneId": string } |
필드 | |
---|---|
nextSceneId |
전환으로 연결되는 장면의 ID입니다. |
SlotMatch
일치하는 슬롯에 관한 정보: https://developers.google.com/assistant/conversational/scenes#slot_filling
JSON 표현 | |
---|---|
{
"nluParameters": {
string: {
object ( |
필드 | |
---|---|
nluParameters |
사용자 입력에서 NLU가 추출한 매개변수입니다.
|
SlotRequested
현재 요청된 슬롯에 관한 정보: https://developers.google.com/assistant/conversational/scenes#slot_filling
JSON 표현 | |
---|---|
{
"slot": string,
"prompt": {
object ( |
필드 | |
---|---|
slot |
요청된 시간대의 이름입니다. |
prompt |
슬롯 프롬프트 |
SlotValidated
슬롯에 대한 웹훅 유효성 검사가 완료된 후에 발생하는 이벤트: https://developers.google.com/assistant/conversational/scenes#slot_filling
FormFilled
양식이 모두 작성되면 발생하는 이벤트: https://developers.google.com/assistant/conversational/scenes#slot_filling
WaitingForUserInput
시스템에서 사용자 입력이 필요할 때 발생하는 이벤트: https://developers.google.com/assistant/conversational/scenes#input
EndConversation
상담사와의 대화가 종료되었음을 알리는 이벤트입니다.