- JSON 표현
- ExpectedInput
- InputPrompt
- SpeechResponse
- RichResponse
- 항목
- SimpleResponse
- BasicCard
- 버튼
- StructuredResponse
- OrderUpdate
- 작업
- 영수증
- RejectionInfo
- CancellationInfo
- InTransitInfo
- FulfillmentInfo
- ReturnInfo
- UserNotification
- MediaResponse
- MediaObject
- CarouselBrowse
- 항목
- TableCard
- ColumnProperties
- 행
- 셀
- HtmlResponse
- 추천
- LinkOutSuggestion
- ExpectedIntent
- FinalResponse
- CustomPushMessage
- UserNotification
- 타겟
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에 구조화된 데이터를 푸시하는 데 필요합니다. |
ExpectedInput
JSON 표현 | |
---|---|
{ "inputPrompt": { object ( |
필드 | |
---|---|
inputPrompt |
사용자에게 입력을 요청하는 데 사용되는 맞춤설정된 프롬프트입니다. |
possibleIntents[] |
이 입력을 처리하는 데 사용할 수 있는 인텐트 목록입니다. Google 작업이 원시 사용자 입력만 반환하도록 하려면 앱에서 |
speechBiasingHints[] |
작업이 Google에서 음성 바이어스에 사용하기를 원하는 구문 목록입니다. 문구는 최대 1,000개까지 허용됩니다. |
InputPrompt
어시스턴트에서 사용자에게 앱 질문에 관한 입력을 제공하도록 안내하는 데 사용되는 입력 프롬프트입니다.
JSON 표현 | |
---|---|
{ "initialPrompts": [ { object ( |
필드 | |
---|---|
initialPrompts[] |
처음에 사용자에게 입력을 요청하는 메시지가 표시됩니다. 하나의 initial_prompt만 지원됩니다. |
richInitialPrompt |
프롬프트 페이로드 |
noInputPrompts[] |
사용자의 입력이 없을 때 사용자에게 묻는 데 사용되는 메시지 |
SpeechResponse
음성만 포함된 응답입니다. DEPRECATED.
JSON 표현 | |
---|---|
{ // Union field |
필드 | ||
---|---|---|
통합 필드 type . 음성 출력 유형: 텍스트 음성 변환 또는 SSML type 은 다음 중 하나여야 합니다. |
||
textToSpeech |
음성 출력의 일반 텍스트(예: '어디로 가고 싶으신가요?'/ |
|
ssml |
사용자에게 구조화된 음성으로 SSML 형식으로 응답합니다. 예: ' |
RichResponse
오디오, 텍스트, 카드, 제안, 구조화된 데이터를 포함할 수 있는 리치 응답입니다.
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 |
캔버스에서 렌더링하는 데 사용되는 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 |
사용자가 버튼을 탭할 때 수행되는 작업입니다. 필수 항목입니다. |
StructuredResponse
앱이 구조화된 데이터로 응답하도록 정의된 응답입니다.
JSON 표현 | |
---|---|
{ // Union field |
필드 | ||
---|---|---|
통합 필드 data . 서드 파티 상담사의 페이로드 응답의 컨테이너입니다. data 은 다음 중 하나여야 합니다. |
||
orderUpdate |
앱이 주문을 받은 후 주문 업데이트 (예: |
|
orderUpdateV3 |
앱이 주문을 받은 후 API v3 형식으로 주문 업데이트를 제공합니다. |
OrderUpdate
지원 중단됨: 대신 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를 사용하세요. 상태가 CONFIRMED이거나 CONFIRMED 상태가 포함된 다른 상태 (예: IN_ 전, FULFILLED)일 때의 수신입니다.
JSON 표현 | |
---|---|
{ "confirmedActionOrderId": string, "userVisibleOrderId": string } |
필드 | |
---|---|
confirmedActionOrderId |
통합업체가 주문을 접수했을 때 확인된 주문 ID입니다. 이 ID는 통합업체의 시스템에서 주문을 참조하는 데 사용되는 표준 주문 ID이며 나중에 주문을 이 필드는 지원 중단되었습니다. 대신 OrderUpdate.action_order_id를 통해 필드를 전달하세요. |
userVisibleOrderId |
선택사항입니다. 현재 주문을 참조하는 사용자 대상 ID로, 있는 경우 영수증 카드에 표시됩니다. 일반적으로 사용자 이메일로 전송된 인쇄된 영수증이나 영수증에 표시되는 ID여야 합니다. 사용자는 통합업체가 제공하는 고객 서비스의 주문을 참조할 때 이 ID를 사용할 수 있어야 합니다. 통합업체가 인쇄된 영수증 / 이메일 영수증과 함께 주문에 대해 사용자 대상 ID를 생성하는 경우 이 필드를 채워야 합니다. |
RejectionInfo
상태가 REJECTED인 경우의 거부 정보입니다. 이 메시지는 대화의 초기 주문 업데이트 또는 후속 비동기 주문 업데이트를 통해 입력될 수 있습니다.
JSON 표현 | |
---|---|
{
"type": enum ( |
필드 | |
---|---|
type |
거부 유형입니다. |
reason |
오류가 발생한 이유입니다. |
CancellationInfo
지원 중단됨: 대신 V3 Proto를 사용하세요. 상태가 CANCELLED인 경우의 취소 정보
JSON 표현 | |
---|---|
{ "reason": string } |
필드 | |
---|---|
reason |
취소 사유입니다. |
InTransitInfo
지원 중단됨: 대신 V3 Proto를 사용하세요. 상태가 IN_Transit인 경우의 이동 중 정보입니다.
JSON 표현 | |
---|---|
{ "updatedTime": string } |
필드 | |
---|---|
updatedTime |
대중교통 이용에 대한 최종 업데이트 시간입니다. RFC3339 UTC 'Zulu' 형식의 타임스탬프로 정밀도는 나노초 수준입니다. 예: |
FulfillmentInfo
지원 중단됨: 대신 V3 Proto를 사용하세요. 상태가 FULFILLED인 경우의 처리 정보입니다.
JSON 표현 | |
---|---|
{ "deliveryTime": string } |
필드 | |
---|---|
deliveryTime |
주문이 완료되는 시점입니다. RFC3339 UTC 'Zulu' 형식의 타임스탬프로 정밀도는 나노초 수준입니다. 예: |
ReturnInfo
지원 중단됨: 대신 V3 Proto를 사용하세요. 상태가 REJECTED인 경우의 반환 정보입니다.
JSON 표현 | |
---|---|
{ "reason": string } |
필드 | |
---|---|
reason |
반품 사유입니다. |
UserNotification
주문 업데이트의 일부로 표시할 선택적 사용자 알림입니다.
JSON 표현 | |
---|---|
{ "title": string, "text": string } |
필드 | |
---|---|
title |
사용자 알림의 제목입니다. |
text |
알림의 콘텐츠입니다. |
MediaResponse
대화 내에서 재생할 미디어 집합을 나타내는 응답입니다.
JSON 표현 | |
---|---|
{ "mediaType": enum ( |
필드 | |
---|---|
mediaType |
이 응답 내 미디어의 유형입니다. |
mediaObjects[] |
미디어 객체 목록입니다. |
MediaObject
MediaResponse와 함께 반환되는 하나의 미디어 객체를 나타냅니다. 이름, 설명, URL 등의 미디어 정보가 포함됩니다.
JSON 표현 | |
---|---|
{ "name": string, "description": string, "contentUrl": string, // Union field |
필드 | ||
---|---|---|
name |
이 미디어 객체의 이름입니다. |
|
description |
이 미디어 객체의 설명입니다. |
|
contentUrl |
미디어 콘텐츠를 가리키는 URL입니다. |
|
통합 필드 image . 미디어 카드와 함께 표시할 이미지입니다. image 은 다음 중 하나여야 합니다. |
||
largeImage |
앨범 표지 등과 같은 큰 이미지 |
|
icon |
제목의 오른쪽에 작은 이미지 아이콘이 표시됩니다. 36x36dp로 크기가 조절되었습니다. |
CarouselBrowse
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 콘텐츠가 포함될 수 있습니다. 필수 항목입니다. |
TableCard
텍스트 표를 표시하는 표 카드입니다.
JSON 표현 | |
---|---|
{ "title": string, "subtitle": string, "image": { object ( |
필드 | |
---|---|
title |
표의 전체 제목입니다. 선택사항이지만 자막이 설정된 경우 설정해야 합니다. |
subtitle |
테이블의 부제목입니다. 선택사항입니다. |
image |
테이블과 연결된 이미지입니다. 선택사항입니다. |
columnProperties[] |
헤더 및 열 정렬 |
rows[] |
테이블의 행 데이터입니다. 처음 3개 행은 항상 표시되지만 다른 행은 특정 표면에서 잘릴 수 있습니다. 시뮬레이터로 테스트하여 특정 표면에 어떤 행이 표시되는지 확인하세요. WEB_BROWSER 기능을 지원하는 표시 경로에서 사용자를 더 많은 데이터가 포함된 웹페이지로 안내할 수 있습니다. |
buttons[] |
버튼 현재 최대 1개의 버튼이 지원됩니다. 선택사항입니다. |
ColumnProperties
열 속성 (헤더 포함)을 유지합니다.
JSON 표현 | |
---|---|
{
"header": string,
"horizontalAlignment": enum ( |
필드 | |
---|---|
header |
열의 헤더 텍스트입니다. |
horizontalAlignment |
콘텐츠 W.r.T 열의 가로 정렬 지정하지 않으면 콘텐츠가 선행 가장자리에 정렬됩니다. |
행
테이블의 행을 설명합니다.
JSON 표현 | |
---|---|
{
"cells": [
{
object ( |
필드 | |
---|---|
cells[] |
이 행의 셀입니다. 처음 3개의 셀은 항상 표시되지만 다른 셀은 특정 표면에서 잘릴 수도 있습니다. 시뮬레이터로 테스트하여 주어진 표면에 어떤 셀을 표시할지 확인하세요. |
dividerAfter |
각 행 뒤에 구분선이 있어야 하는지 여부를 나타냅니다. |
Cell
행의 셀을 설명합니다.
JSON 표현 | |
---|---|
{ "text": string } |
필드 | |
---|---|
text |
셀의 텍스트 콘텐츠입니다. |
HtmlResponse
대화형 캔버스 기능을 사용하여 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 |
이 칩에 연결된 앱 또는 사이트의 이름입니다. 칩이 '열기'라는 제목으로 렌더링됩니다. |
url |
지원이 중단되었습니다. 대신 OpenUrlAction을 사용하세요. |
openUrlAction |
사용자가 추천 검색어 칩을 탭할 때 열릴 앱 또는 사이트의 URL입니다. 이 앱/URL의 소유권은 Google Play Console의 작업에서 확인해야 합니다. 그렇지 않으면 추천이 사용자에게 표시되지 않습니다. 개방형 URL 작업은 http, https, 인텐트 URL을 지원합니다. 인텐트 URL은 https://developer.chrome.com/multidevice/android/intents를 참고하세요. |
ExpectedIntent
앱이 어시스턴트에 제공하도록 요청하는 예상 인텐트입니다.
JSON 표현 | |
---|---|
{ "intent": string, "inputValueData": { "@type": string, field1: ..., ... }, "parameterName": string } |
필드 | |
---|---|
intent |
내장 인텐트 이름(예: |
inputValueData |
내장 인텐트에 필요한 추가 구성 데이터 가능한 내장 인텐트 값: 임의 유형의 필드를 포함하는 객체입니다. 추가 필드 |
parameterName |
필요한 경우 요청 중인 인텐트의 매개변수입니다. 요청된 인텐트에만 유효합니다. 음성 바이어스에 사용됩니다. |
FinalResponse
사용자 입력이 예상되지 않는 경우의 최종 응답입니다.
JSON 표현 | |
---|---|
{ // Union field |
필드 | ||
---|---|---|
통합 필드 response . 가능한 응답 유형입니다. response 은 다음 중 하나여야 합니다. |
||
speechResponse |
사용자가 입력하지 않아도 되는 경우의 음성 응답입니다. |
|
richResponse |
사용자가 입력을 제공하지 않아도 되는 경우 리치 응답 |
CustomPushMessage
작업 Fulfillment API에 푸시할 구조화된 데이터가 포함된 맞춤 푸시 메시지입니다.
JSON 표현 | |
---|---|
{ "target": { object ( |
필드 | ||
---|---|---|
target |
푸시 요청에 지정된 대상입니다. |
|
통합 필드 content . 다양한 유형의 페이로드 content 은 다음 중 하나여야 합니다. |
||
orderUpdate |
트랜잭션 API를 통해 접수된 주문을 업데이트하는 주문 업데이트 |
|
userNotification |
지정하면 지정된 제목 및 텍스트와 함께 사용자에게 알림이 표시됩니다. |
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로 설정됩니다. |