- JSON 표현
- ExpectedInput
- InputPrompt
- SpeechResponse
- 리치 응답
- 항목
- SimpleResponse
- BasicCard
- 버튼
- 구조화된 응답
- OrderUpdate
- 작업
- 영수증
- 거절 정보
- 취소 정보
- InTransitInfo
- FulfillmentInfo
- 반품 정보
- 사용자 알림
- MediaResponse
- MediaObject
- CarouselBrowse
- 항목
- TableCard
- ColumnProperties
- 행
- 셀
- HtmlResponse
- 추천
- LinkOutSuggestion
- 예상 인텐트
- FinalResponse
- CustomPushMessage
- 사용자 알림
- 대상
AppResponse는 처리에서 Google 어시스턴트로 보낸 응답입니다. Actions on Google에서 이를 사용하는 방법을 보여주는 예는 https://developers.google.com/assistant/df-asdk/reference/conversation-webhook-json#conversation-response-body를 참고하세요.
JSON 표현 | |
---|---|
{ "conversationToken": string, "userStorage": string, "resetUserStorage": boolean, "expectUserResponse": boolean, "expectedInputs": [ { object ( |
필드 | |
---|---|
conversationToken |
모든 대화에서 차례대로 작업에 재유통되는 불투명한 토큰입니다. |
userStorage |
작업이 제어하는 불투명 토큰으로, 특정 사용자의 대화에서 유지됩니다. 비어 있거나 지정되지 않은 경우 기존 영구 토큰이 변경되지 않습니다. 문자열의 최대 크기는 10,000바이트입니다. 동일한 사용자에 대해 여러 대화상자가 동시에 발생하는 경우 이 토큰을 업데이트하면 예기치 않게 서로를 덮어쓸 수 있습니다. |
resetUserStorage |
유지된 userStorage를 삭제할지 여부입니다. true로 설정하면 사용자와의 다음 상호작용 시 userStorage 필드가 비어 있게 됩니다. |
expectUserResponse |
작업이 사용자 응답을 예상하는지 여부를 나타냅니다. 대화가 진행 중인 경우에는 true이고 대화가 완료되면 false입니다. |
expectedInputs[] |
작업이 예상하는 입력 목록입니다. 각 입력은 Google 인텐트에 대한 일반적인 작업('작업'으로 시작)이거나 가능한 인텐트 목록을 가져오는 입력일 수 있습니다. 지금은 입력이 하나만 지원됩니다. |
finalResponse |
작업이 사용자의 입력을 예상하지 못할 때 최종 응답 |
customPushMessage |
개발자가 Google의 작업에 구조화된 데이터를 전송할 수 있는 맞춤 푸시 메시지입니다. |
isInSandbox |
응답을 샌드박스 모드에서 처리해야 하는지 여부를 나타냅니다. 이 비트는 구조화된 데이터를 샌드박스 모드에서 Google로 푸시하는 데 필요합니다. |
예상 입력
JSON 표현 | |
---|---|
{ "inputPrompt": { object ( |
필드 | |
---|---|
inputPrompt |
사용자에게 입력을 요청하는 데 사용되는 맞춤설정된 메시지입니다. |
possibleIntents[] |
이 입력을 처리하는 데 사용할 수 있는 인텐트 목록입니다. Google에서 작업이 원시 사용자 입력을 반환하도록 하려면 앱에서 |
speechBiasingHints[] |
작업에서 Google이 음성 바이어스에 사용하도록 하려는 구문 목록입니다. 구문은 최대 1,000개까지 허용됩니다. |
입력 프롬프트
사용자가 앱 질문에 대한 입력을 제공하도록 안내하는 데 사용되는 어시스턴트의 입력 메시지입니다.
JSON 표현 | |
---|---|
{ "initialPrompts": [ { object ( |
필드 | |
---|---|
initialPrompts[] |
사용자에게 입력을 요청하는 초기 메시지 하나의 initial_prompt만 지원됩니다. |
richInitialPrompt |
메시지 페이로드 |
noInputPrompts[] |
사용자의 입력이 없을 때 사용자에게 묻는 데 사용되는 메시지 |
음성 응답
음성만 포함된 응답 DEPRECATED.
JSON 표현 | |
---|---|
{ // Union field |
필드 | ||
---|---|---|
통합 필드 type 는 음성 출력 유형: 텍스트 음성 변환 또는 SSML type 은 다음 중 하나여야 합니다. |
||
textToSpeech |
음성 출력의 일반 텍스트(예: "어디로 가고 싶으신가요?"/ |
|
ssml |
SSML 형식의 사용자에게 구조화된 음성 응답을 제공합니다(예: ' |
리치 응답
오디오, 텍스트, 카드, 추천, 구조화된 데이터를 포함할 수 있는 풍부한 응답입니다.
JSON 표현 | |
---|---|
{ "items": [ { object ( |
필드 | |
---|---|
items[] |
응답을 구성하는 UI 요소의 목록입니다. 항목은 다음 요구사항을 충족해야 합니다. 1. 첫 번째 항목은 |
suggestions[] |
추천 답장 목록입니다. 응답 마지막 부분에 항상 표시됩니다. |
linkOutSuggestion |
연결된 앱 또는 사이트로 연결할 수 있는 추가 추천 검색어 칩입니다. |
항목
응답의 항목입니다.
JSON 표현 | |
---|---|
{ "name": string, // Union field |
필드 | ||
---|---|---|
name |
이 항목의 이름이 지정된 식별자(선택사항)입니다. |
|
통합 필드 item 는 항목의 유형입니다. item 은 다음 중 하나여야 합니다. |
||
simpleResponse |
음성 및 텍스트 전용 응답. |
|
basicCard |
기본 카드입니다. |
|
structuredResponse |
Google에서 처리할 구조화된 페이로드 |
|
mediaResponse |
재생할 미디어 집합을 나타내는 응답입니다. |
|
carouselBrowse |
캐러셀 찾아보기 카드입니다. 대신 collectionBrowse를 사용하세요. |
|
tableCard |
표 카드 |
|
htmlResponse |
Canvas에서 렌더링하는 데 사용되는 HTML 응답입니다. |
SimpleResponse
사용자에게 표시할 음성 또는 텍스트가 포함된 간단한 응답입니다.
JSON 표현 | |
---|---|
{ "textToSpeech": string, "ssml": string, "displayText": string } |
필드 | |
---|---|
textToSpeech |
음성 출력의 일반 텍스트(예: "어디로 가고 싶으신가요?" ssml과 상호 배타적입니다. |
ssml |
SSML 형식의 사용자에게 구조화된 음성 응답입니다(예: |
displayText |
채팅 풍선에 표시할 선택적 텍스트입니다. 지정하지 않으면 위의 textToSpeech 또는 ssml의 디스플레이 렌더링이 사용됩니다. 640자(영문 기준)로 제한됩니다. |
BasicCard
이미지, 텍스트 등 일부 정보를 표시하기 위한 기본 카드입니다.
JSON 표현 | |
---|---|
{ "title": string, "subtitle": string, "formattedText": string, "image": { object ( |
필드 | |
---|---|
title |
카드의 전체 제목 선택사항입니다. |
subtitle |
선택사항입니다. |
formattedText |
카드의 본문 텍스트입니다. 형식을 위한 제한된 마크다운 구문 세트를 지원합니다. 이미지가 없는 경우 필수 항목입니다. |
image |
카드의 히어로 이미지입니다. 높이는 192dp로 고정되어 있습니다. 선택사항입니다. |
buttons[] |
버튼. 현재 최대 1개의 버튼이 지원됩니다. 선택사항입니다. |
imageDisplayOptions |
이미지 표시 옵션의 유형입니다. 선택사항입니다. |
버튼
일반적으로 카드 하단에 표시되는 버튼 객체입니다.
JSON 표현 | |
---|---|
{
"title": string,
"openUrlAction": {
object ( |
필드 | |
---|---|
title |
버튼 제목입니다. 필수 항목입니다. |
openUrlAction |
사용자가 버튼을 탭할 때 수행되는 작업입니다. 필수 항목입니다. |
구조화된 응답
앱이 구조화된 데이터로 응답하도록 정의된 응답입니다.
JSON 표현 | |
---|---|
{ // Union field |
필드 | ||
---|---|---|
통합 필드 data 는 서드 파티 에이전트의 페이로드 응답 컨테이너 data 은 다음 중 하나여야 합니다. |
||
orderUpdate |
주문을 받은 후 앱에서 주문 업데이트 (예: |
|
orderUpdateV3 |
주문을 받은 후 앱에서 API v3 형식으로 주문 업데이트를 제공합니다. |
주문 업데이트
지원 중단됨: 대신 V3 Proto를 사용하세요. 주문 업데이트
JSON 표현 | |
---|---|
{ "googleOrderId": string, "actionOrderId": string, "orderState": { object ( |
필드 | ||
---|---|---|
googleOrderId |
주문 ID는 Google에서 발급한 ID입니다. |
|
actionOrderId |
필수 항목입니다. 이 주문을 참조하는 표준 주문 ID입니다. 통합업체가 시스템에 표준 주문 ID를 생성하지 않는 경우 순서대로 포함된 googleOrderId를 복사할 수 있습니다. |
|
orderState |
주문의 새 상태입니다. |
|
orderManagementActions[] |
주문의 관련 관리 작업(예: 관리, 수정, 지원팀에 문의)을 업데이트했습니다. |
|
receipt |
주문 영수증 |
|
updateTime |
앱의 관점에서 주문이 업데이트된 경우 RFC3339 UTC 'Zulu' 형식의 타임스탬프로 정밀도는 나노초 수준입니다. 예: |
|
totalPrice |
주문의 새로운 총 가격 |
|
lineItemUpdates |
항목 ID로 키가 지정된 광고 항목 수준 변경사항의 지도입니다. 선택사항입니다.
|
|
userNotification |
지정된 경우 제목 및 텍스트가 지정된 알림을 사용자에게 표시합니다. 알림을 지정하면 알림을 받을 수 있으며, 알림이 표시되지 않을 수 있습니다. |
|
infoExtension |
맞춤 주문 상태 또는 표준 상태 정보 외의 추가 데이터입니다. 임의 유형의 필드를 포함하는 객체입니다. 추가 필드 |
|
통합 필드 info 는 주문 상태와 관련된 추가 정보입니다. info 은 다음 중 하나여야 합니다. |
||
rejectionInfo |
거부 상태에 관한 정보입니다. |
|
cancellationInfo |
취소 상태에 관한 정보입니다. |
|
inTransitInfo |
전송 중 상태에 관한 정보입니다. |
|
fulfillmentInfo |
처리 상태에 관한 정보입니다. |
|
returnInfo |
반환된 상태에 관한 정보입니다. |
작업
주문 업데이트와 관련된 후속 조치입니다.
JSON 표현 | |
---|---|
{ "type": enum ( |
필드 | |
---|---|
type |
실행할 수 있습니다 |
button |
버튼 라벨 및 링크입니다. |
영수증
지원 중단됨: 대신 V3 Proto를 사용하세요. 상태가 '확인됨' 또는 확인됨 상태를 포함한 다른 상태 (예: IN_Transit, FULFILLED)인 경우 영수증입니다.
JSON 표현 | |
---|---|
{ "confirmedActionOrderId": string, "userVisibleOrderId": string } |
필드 | |
---|---|
confirmedActionOrderId |
통합업체에서 주문을 받았을 때 주문 ID를 확인했습니다. 통합업체의 시스템에서 주문을 참조하는 데 사용되는 표준 주문 ID이며 주문을 이 필드는 지원 중단되었습니다. 대신 OrderUpdate.action_order_id를 통해 필드를 전달하세요. |
userVisibleOrderId |
선택사항입니다. 현재 주문을 참조하는 사용자에게 표시되는 ID입니다. 이 ID가 있으면 영수증 카드에 표시됩니다. 이 ID는 일반적으로 인쇄된 영수증 또는 사용자 이메일로 전송된 영수증에 표시되는 ID여야 합니다. 사용자는 통합업체가 제공하는 고객 서비스 주문을 참조하기 위해 이 ID를 사용할 수 있습니다. 통합자가 인쇄된 영수증 / 이메일 영수증이 포함된 주문의 사용자 대상 ID를 생성하는 경우 이 필드를 채워야 합니다. |
거부 정보
상태가 REJECTED인 경우 거부 정보입니다. 이 메시지는 대화의 초기 주문 업데이트나 후속 비동기 주문 업데이트를 통해 채워질 수 있습니다.
JSON 표현 | |
---|---|
{
"type": enum ( |
필드 | |
---|---|
type |
거부 유형입니다. |
reason |
오류가 발생한 이유입니다. |
취소 정보
지원 중단됨: 대신 V3 Proto를 사용하세요. 상태가 CANCELLED인 경우의 취소 정보입니다.
JSON 표현 | |
---|---|
{ "reason": string } |
필드 | |
---|---|
reason |
취소 사유입니다. |
대중교통 정보
지원 중단됨: 대신 V3 Proto를 사용하세요. 상태가 IN_TRANS인 대중교통 정보
JSON 표현 | |
---|---|
{ "updatedTime": string } |
필드 | |
---|---|
updatedTime |
대중교통 이용 시간이 마지막으로 업데이트되었습니다. RFC3339 UTC 'Zulu' 형식의 타임스탬프로 정밀도는 나노초 수준입니다. 예: |
FulfillmentInfo
지원 중단됨: 대신 V3 Proto를 사용하세요. 상태가 FULFILLED인 경우 처리 정보입니다.
JSON 표현 | |
---|---|
{ "deliveryTime": string } |
필드 | |
---|---|
deliveryTime |
주문 처리 시점 RFC3339 UTC 'Zulu' 형식의 타임스탬프로 정밀도는 나노초 수준입니다. 예: |
반품 정보
지원 중단됨: 대신 V3 Proto를 사용하세요. 상태가 REJECTED인 경우 반품 정보입니다.
JSON 표현 | |
---|---|
{ "reason": string } |
필드 | |
---|---|
reason |
반품 사유입니다. |
사용자 알림
주문 업데이트의 일부로 표시할 선택적 사용자 알림입니다.
JSON 표현 | |
---|---|
{ "title": string, "text": string } |
필드 | |
---|---|
title |
사용자 알림의 제목입니다. |
text |
알림의 콘텐츠입니다. |
미디어 응답
대화 내에서 재생할 미디어 세트를 나타내는 응답입니다.
JSON 표현 | |
---|---|
{ "mediaType": enum ( |
필드 | |
---|---|
mediaType |
이 응답의 미디어 유형입니다. |
mediaObjects[] |
미디어 객체의 목록입니다. |
미디어 객체
MediaResponse와 함께 반환되는 하나의 미디어 객체를 나타냅니다. 이름, 설명, URL 등 미디어 관련 정보가 포함됩니다.
JSON 표현 | |
---|---|
{ "name": string, "description": string, "contentUrl": string, // Union field |
필드 | ||
---|---|---|
name |
이 미디어 객체의 이름입니다. |
|
description |
이 미디어 객체에 대한 설명입니다. |
|
contentUrl |
미디어 콘텐츠를 가리키는 URL입니다. |
|
통합 필드 image 는 미디어 카드와 함께 표시할 이미지입니다. image 은 다음 중 하나여야 합니다. |
||
largeImage |
앨범의 표지 등 큰 이미지 |
|
icon |
제목 오른쪽에 표시되는 작은 이미지 아이콘 36x36dp로 크기가 조정됩니다. |
캐러셀 찾아보기
AMP 문서 집합을 큰 타일 항목의 캐러셀로 표시합니다. AMP 뷰어에서 연결된 AMP 문서를 실행하도록 항목을 선택할 수 있습니다.
JSON 표현 | |
---|---|
{ "items": [ { object ( |
필드 | |
---|---|
items[] |
최솟값: 2. 최대: 10개 |
imageDisplayOptions |
이미지 표시 옵션의 유형입니다. 선택사항입니다. |
항목
캐러셀의 항목입니다.
JSON 표현 | |
---|---|
{ "title": string, "description": string, "footer": string, "image": { object ( |
필드 | |
---|---|
title |
캐러셀 항목의 제목 필수 항목입니다. |
description |
캐러셀 항목의 설명입니다. 선택사항입니다. |
footer |
캐러셀 항목의 바닥글 텍스트로, 설명 아래에 표시됩니다. 줄임표로 잘린 단일 텍스트 행. 선택사항입니다. |
image |
캐러셀 항목의 히어로 이미지입니다. 선택사항입니다. |
openUrlAction |
캐러셀 항목과 연결된 문서의 URL입니다. 문서에는 HTML 콘텐츠 또는 'urlTypeHint'가 AMP_CONTENT(으)로 설정된 경우 AMP 콘텐츠가 포함될 수 있습니다. 필수 항목입니다. |
표 카드
텍스트 표를 표시하는 표 카드
JSON 표현 | |
---|---|
{ "title": string, "subtitle": string, "image": { object ( |
필드 | |
---|---|
title |
테이블의 전체 제목입니다. 선택사항이지만 부제목이 설정된 경우 설정해야 합니다. |
subtitle |
표의 부제목입니다. 선택사항입니다. |
image |
테이블과 연결된 이미지입니다. 선택사항입니다. |
columnProperties[] |
헤더의 헤더 및 정렬 |
rows[] |
테이블의 행 데이터 처음 3개 행은 항상 표시되지만 일부 노출 영역에서 일부 행이 잘릴 수 있습니다. 시뮬레이터에서 테스트하여 표시 경로에 어떤 행이 표시되는지 확인하세요. WEB_BROWSER 기능을 지원하는 노출 영역에서 사용자가 더 많은 데이터가 있는 웹페이지를 가리키도록 할 수 있습니다. |
buttons[] |
버튼. 현재 최대 1개의 버튼이 지원됩니다. 선택사항입니다. |
열 속성
헤더 (헤더 포함)의 속성을 유지합니다.
JSON 표현 | |
---|---|
{
"header": string,
"horizontalAlignment": enum ( |
필드 | |
---|---|
header |
열의 헤더 텍스트입니다. |
horizontalAlignment |
wr.t 열의 콘텐츠 가로 정렬 지정하지 않으면 콘텐츠가 선행 가장자리에 정렬됩니다. |
Row
테이블의 행을 설명합니다.
JSON 표현 | |
---|---|
{
"cells": [
{
object ( |
필드 | |
---|---|
cells[] |
이 행의 셀입니다. 처음 3개의 셀은 항상 표시되나, 일부 표면에서는 잘릴 수 있습니다. 시뮬레이터를 사용하여 특정 표면에 표시되는 셀을 확인하세요. |
dividerAfter |
각 행 뒤에 구분선이 있어야 하는지를 나타냅니다. |
Cell
행에 있는 셀을 설명합니다.
JSON 표현 | |
---|---|
{ "text": string } |
필드 | |
---|---|
text |
셀의 텍스트 콘텐츠입니다. |
HTML 응답
대화형 캔버스 기능을 사용하여 HTML을 표시하는 응답입니다. 응답의 최대 크기는 50,000바이트입니다.
JSON 표현 | |
---|---|
{ "updatedState": value, "suppressMic": boolean, "url": string } |
필드 | |
---|---|
updatedState |
다음 JSON 객체를 앱에 전달합니다. |
suppressMic |
이 몰입형 응답 후에 마이크가 열리지 않도록 옵션을 제공하세요. |
url |
애플리케이션의 URL입니다. |
제안
사용자가 대화에 대한 응답을 신속하게 게시하기 위해 탭할 수 있는 추천 검색어 칩
JSON 표현 | |
---|---|
{ "title": string } |
필드 | |
---|---|
title |
추천 검색어 칩에 표시되는 텍스트입니다. 이 텍스트를 탭하면 사용자가 입력한 것처럼 대화에 그대로 게시됩니다. 각 제목은 추천 검색어 칩 세트에서 고유해야 합니다. 최대 25자(영문 기준) 필요 |
LinkOutSuggestion
사용자가 이 에이전트와 연결된 앱 또는 웹사이트로 바로 이동할 수 있는 추천 검색어 칩을 만듭니다.
JSON 표현 | |
---|---|
{
"destinationName": string,
"url": string,
"openUrlAction": {
object ( |
필드 | |
---|---|
destinationName |
이 칩에 연결된 앱 또는 사이트의 이름입니다. 칩은 'Open |
url |
지원이 중단되었습니다. 대신 OpenUrlAction을 사용하세요. |
openUrlAction |
사용자가 추천 검색어 칩을 탭할 때 열리는 앱 또는 사이트의 URL입니다. 이 앱/URL의 소유권은 Google Developer Console의 작업에서 확인해야 합니다. 그렇지 않으면 사용자에게 추천이 표시되지 않습니다. URL 열기 작업은 http, https, 인텐트 URL을 지원합니다. 인텐트 URL은 https://developer.chrome.com/multidevice/android/intents를 참고하세요. |
예상 인텐트
앱이 어시스턴트에게 요청할 것으로 예상되는 인텐트
JSON 표현 | |
---|---|
{ "intent": string, "inputValueData": { "@type": string, field1: ..., ... }, "parameterName": string } |
필드 | |
---|---|
intent |
내장 인텐트 이름(예: |
inputValueData |
내장 인텐트에 필요한 추가 구성 데이터입니다. 내장 인텐트에 사용 가능한 값: 임의 유형의 필드를 포함하는 객체입니다. 추가 필드 |
parameterName |
선택적으로 요청 중인 인텐트의 매개변수입니다. 요청된 인텐트에만 유효합니다. 음성 바이어스에 사용됩니다. |
최종 응답
사용자 입력이 예상되지 않는 경우의 최종 응답입니다.
JSON 표현 | |
---|---|
{ // Union field |
필드 | ||
---|---|---|
통합 필드 response 는 가능한 응답 유형입니다. response 은 다음 중 하나여야 합니다. |
||
speechResponse |
사용자가 입력을 제공할 필요가 없는 경우의 음성 응답입니다. |
|
richResponse |
사용자가 입력을 제공할 필요가 없는 경우 풍부한 응답입니다. |
맞춤 푸시 메시지
작업 Fulfillment API를 위해 푸시할 구조화된 데이터를 보유하는 맞춤 푸시 메시지입니다.
JSON 표현 | |
---|---|
{ "target": { object ( |
필드 | ||
---|---|---|
target |
푸시 요청에 지정된 대상입니다. |
|
통합 필드 content 는 다양한 유형의 페이로드 content 은 다음 중 하나여야 합니다. |
||
orderUpdate |
트랜잭션 API를 통해 이루어진 주문을 업데이트하는 주문 업데이트입니다. |
|
userNotification |
지정된 경우 지정된 제목과 텍스트가 포함된 알림을 사용자에게 표시합니다. |
사용자 알림
요청과 함께 표시할 사용자 알림입니다.
JSON 표현 | |
---|---|
{ "title": string, "text": string } |
필드 | |
---|---|
title |
알림의 제목입니다. |
text |
알림의 콘텐츠입니다. |
대상
푸시 요청에 지정된 대상입니다.
JSON 표현 | |
---|---|
{
"userId": string,
"intent": string,
"argument": {
object ( |
필드 | |
---|---|
userId |
타겟팅할 사용자입니다. |
intent |
타겟팅할 인텐트입니다. |
argument |
인텐트에 타겟팅할 인수입니다. V1의 경우 하나의 인수만 지원됩니다. |
locale |
타겟팅할 언어입니다. IETF BCP-47 언어 코드를 따릅니다. 다국어 앱에서 지정된 현지화 앱의 사용자를 타겟팅하는 데 사용할 수 있습니다. 지정하지 않으면 기본값은 en-US입니다. |