Method: fulfill

fulfillment API를 나타내는 RPC

HTTP 요청

POST https://webhook_handler_service.googleapis.com/fulfill

URL은 gRPC 트랜스코딩 구문을 사용합니다.

요청 본문

요청 본문에는 다음과 같은 구조의 데이터가 포함됩니다.

JSON 표현
{
  "handler": {
    object (Handler)
  },
  "intent": {
    object (Intent)
  },
  "scene": {
    object (Scene)
  },
  "session": {
    object (Session)
  },
  "user": {
    object (User)
  },
  "home": {
    object (Home)
  },
  "device": {
    object (Device)
  },
  "context": {
    object (Context)
  }
}
필드
handler

object (Handler)

필수 항목입니다. 요청을 처리하는 방법에 대한 처리 정보입니다. 예를 들어, 팩트를 얻고자 하는 요청에 이름이 'getFact'인 핸들러가 있을 수 있습니다.

intent

object (Intent)

필수 항목입니다. 마지막으로 일치하는 인텐트를 나타냅니다. https://developers.google.com/assistant/conversational/intents를 참고하세요.

scene

object (Scene)

선택사항입니다. 함수가 호출된 현재 및 다음 장면에 대한 정보입니다. 장면 범위 내에서 fulfillment 호출이 이루어질 때 채워집니다. https://developers.google.com/assistant/conversational/scene을 참고하세요.

session

object (Session)

필수 항목입니다. 세션 ID 및 세션 매개변수와 같은 세션 데이터를 보관합니다.

user

object (User)

필수 항목입니다. 대화를 시작한 사용자입니다.

home

object (Home)

선택사항입니다. 대상 기기가 속한 HomeGraph 구조와 관련된 정보입니다. https://developers.google.com/actions/smarthome/concepts/homegraph를 참고하세요.

device

object (Device)

필수 항목입니다. 사용자가 작업과 상호작용하는 데 사용하는 기기에 관한 정보입니다.

context

object (Context)

선택사항입니다. 요청의 현재 컨텍스트에 대한 정보입니다. 활성 미디어 세션 정보 또는 캔버스 정보가 포함되며 이에 국한되지 않습니다.

응답 본문

성공할 경우 응답 본문에 다음 구조의 데이터가 포함됩니다.

개발자의 처리에서 Actions on Google로 전송된 응답을 나타냅니다.

JSON 표현
{
  "prompt": {
    object (Prompt)
  },
  "scene": {
    object (Scene)
  },
  "session": {
    object (Session)
  },
  "user": {
    object (User)
  },
  "home": {
    object (Home)
  },
  "device": {
    object (Device)
  },
  "expected": {
    object (Expected)
  }
}
필드
prompt

object (Prompt)

선택사항입니다. 사용자에게 보낼 메시지를 나타냅니다. 이러한 메시지는 명시적으로 덮어쓰지 않는 한 이전에 추가된 메시지에 추가됩니다.

scene

object (Scene)

선택사항입니다. 현재 장면과 다음 장면을 나타냅니다. Scene.next가 설정되면 런타임이 지정된 장면으로 즉시 전환됩니다.

session

object (Session)

선택사항입니다. 현재 세션의 데이터를 설명합니다. 세션 매개변수는 처리에 의해 생성, 업데이트 또는 삭제될 수 있습니다.

user

object (User)

선택사항입니다. 다시 전송할 사용자 매개변수를 지정하는 데 사용합니다.

home

object (Home)

선택사항입니다. 대상 기기가 속한 HomeGraph 구조와 관련된 매개변수를 지정하는 데 사용됩니다. https://developers.google.com/actions/smarthome/concepts/homegraph를 참고하세요.

device

object (Device)

선택사항입니다. 사용자가 액세스할 수 있는 어시스턴트 기기 간에 이동하는 데 사용합니다.

expected

object (Expected)

선택사항입니다. 다음 대화 차례에 대한 기대치를 설명합니다.

Handler

Actions on Google의 이벤트 정보를 처리에 매핑하는 처리 핸들러를 나타냅니다. 핸들러 이름을 사용하여 fulfillment에서 실행해야 하는 코드를 결정합니다. 예를 들어 핸들러는 'OrderLookup'이라는 핸들러 이름으로 사용자의 주문 정보에 대한 정보를 가져오는 데 사용되고, 다른 핸들러는 'GetProductInfo'와 같은 핸들러 이름으로 데이터베이스에서 제품 정보를 가져올 수 있습니다.

JSON 표현
{
  "name": string
}
필드
name

string

선택사항입니다. 핸들러의 이름입니다.

인텐트

인텐트를 나타냅니다. https://developers.google.com/assistant/conversational/intents를 참고하세요.

JSON 표현
{
  "name": string,
  "params": {
    string: {
      object (IntentParameterValue)
    },
    ...
  },
  "query": string
}
필드
name

string

필수 항목입니다. 마지막으로 일치된 인텐트의 이름입니다.

params

map (key: string, value: object (IntentParameterValue))

필수 항목입니다. 인텐트 일치의 일부로 식별된 매개변수를 나타냅니다. 식별된 매개변수의 이름을 사용자 입력에서 식별된 매개변수 값에 매핑한 것입니다. 식별된 일치하는 인텐트에서 정의된 모든 매개변수가 여기에 나타납니다.

"key": value 쌍 목록을 포함하는 객체입니다. 예: { "name": "wrench", "mass": "1.3kg", "count": "3" }

query

string

선택사항입니다. 이 인텐트와 일치하는 최종 사용자의 입력 또는 음성 입력. 사용자 입력에 따라 인텐트가 일치할 때 채워집니다.

IntentParameterValue

인텐트 매개변수의 값을 나타냅니다. https://developers.google.com/assistant/conversational/types를 참고하세요.

JSON 표현
{
  "original": string,
  "resolved": value
}
필드
original

string

필수 항목입니다. 사용자 발화에서 추출한 원본 텍스트 값입니다.

resolved

value (Value format)

필수 항목입니다. 사용자 입력에서 추출된 매개변수의 구조화된 값 이는 일치된 인텐트에 매개변수가 정의되어 있고 인텐트 일치 중에 매개변수의 값을 식별할 수 있는 경우에만 채워집니다.

장면

장면을 나타냅니다. 장면은 fulfillment를 호출하고 메시지를 추가하며 사용자로부터 슬롯 값을 수집할 수 있습니다. 장면은 이벤트 또는 인텐트에 의해 트리거되며 이벤트를 트리거하고 인텐트를 일치시켜 다른 장면으로 전환할 수 있습니다.

JSON 표현
{
  "name": string,
  "slotFillingStatus": enum (SlotFillingStatus),
  "slots": {
    string: {
      object (Slot)
    },
    ...
  },
  "next": {
    object (NextScene)
  }
}
필드
name

string

필수 항목입니다. 현재 장면의 이름입니다.

slotFillingStatus

enum (SlotFillingStatus)

필수 항목입니다. 슬롯 채우기의 현재 상태입니다. 읽기 전용 필드입니다.

slots

map (key: string, value: object (Slot))

현재 장면과 연결된 슬롯입니다. 핸들러 응답은 요청에서 전송되지 않은 슬롯을 반환할 수 없습니다.

"key": value 쌍 목록을 포함하는 객체입니다. 예: { "name": "wrench", "mass": "1.3kg", "count": "3" }

next

object (NextScene)

선택사항입니다. 다음에 실행할 장면에 관한 정보입니다.

슬롯 채우기 상태

슬롯 채우기의 현재 상태를 나타냅니다.

열거형
UNSPECIFIED 사용량 필드가 채워지지 않은 경우 대체 값입니다.
INITIALIZED 슬롯이 초기화되었지만 슬롯 채우기가 시작되지 않았습니다.
COLLECTING 슬롯 값을 수집 중입니다.
FINAL 모든 슬롯 값은 최종 값이며 변경할 수 없습니다.

슬롯

슬롯을 나타냅니다.

JSON 표현
{
  "mode": enum (SlotMode),
  "status": enum (SlotStatus),
  "value": value,
  "updated": boolean,
  "prompt": {
    object (Prompt)
  }
}
필드
mode

enum (SlotMode)

슬롯의 모드입니다 (필수 또는 선택사항). 개발자가 설정할 수 있습니다.

status

enum (SlotStatus)

슬롯의 상태입니다.

value

value (Value format)

슬롯의 값입니다. 응답에서 이 값을 변경하면 슬롯 채우기 값이 수정됩니다.

updated

boolean

마지막 턴에서 슬롯 값이 수집되었는지를 나타냅니다. 읽기 전용 필드입니다.

prompt

object (Prompt)

선택사항입니다. 이 메시지는 필수 슬롯을 채워야 할 때 사용자에게 전송됩니다. 이 메시지는 콘솔에 정의된 기존 메시지를 재정의합니다. 이 필드는 웹훅 요청에 포함되지 않습니다.

슬롯 모드

슬롯의 모드, 즉 필수인지 여부를 나타냅니다.

열거형
MODE_UNSPECIFIED 사용량 필드가 채워지지 않은 경우 대체 값입니다.
OPTIONAL 슬롯 채우기를 완료하는 데 슬롯이 필요하지 않음을 나타냅니다.
REQUIRED 슬롯 채우기를 완료하려면 슬롯이 필요함을 나타냅니다.

슬롯 상태

슬롯의 상태를 나타냅니다.

열거형
SLOT_UNSPECIFIED 사용량 필드가 채워지지 않은 경우 대체 값입니다.
EMPTY 슬롯에 값이 없음을 나타냅니다. 이 상태는 응답을 통해 수정할 수 없습니다.
INVALID 슬롯 값이 유효하지 않음을 나타냅니다. 이 상태는 응답을 통해 설정할 수 있습니다.
FILLED 슬롯에 값이 있음을 나타냅니다. 이 상태는 응답을 통해 수정할 수 없습니다.

프롬프트

사용자에 대한 응답을 나타냅니다. https://developers.google.com/assistant/conversational/prompts를 참고하세요.

JSON 표현
{
  "override": boolean,
  "firstSimple": {
    object (Simple)
  },
  "content": {
    object (Content)
  },
  "lastSimple": {
    object (Simple)
  },
  "suggestions": [
    {
      object (Suggestion)
    }
  ],
  "link": {
    object (Link)
  },
  "canvas": {
    object (Canvas)
  },
  "orderUpdate": {
    object (OrderUpdate)
  }
}
필드
override

boolean

선택사항입니다. 이 메시지를 이전에 정의한 메시지와 병합하는 방법 'true'는 이전에 정의된 모든 메시지 (처음과 마지막 단순, 콘텐츠, 추천 링크, 캔버스)를 삭제하고 이 메시지에 정의된 메시지를 추가합니다. 'false'를 선택하면 이 메시지에 정의된 메시지가 이전 응답에 정의된 메시지에 추가됩니다. 이 필드를 'false'로 두면 '단순 프롬프트', '추천 메시지', '콘텐츠' 프롬프트의 일부인 '캔버스 메시지' 내의 일부 필드에도 추가할 수 있습니다. 프롬프트에 정의된 경우 콘텐츠 및 링크 메시지를 항상 덮어씁니다. 기본값은 'false'입니다.

firstSimple

object (Simple)

선택사항입니다. 첫 번째 음성 및 텍스트 전용 응답입니다.

content

object (Content)

선택사항입니다. 카드, 목록 또는 미디어와 같은 콘텐츠가 사용자에게 표시됩니다.

lastSimple

object (Simple)

선택사항입니다. 마지막 음성 및 텍스트 전용 응답입니다.

suggestions[]

object (Suggestion)

선택사항입니다. 응답 마지막 부분에 항상 표시되는 제안이 사용자에게 표시됩니다. 포함하는 메시지의 '우선 적용' 필드가 'false'인 경우 이 필드에 정의된 제목이 이전에 정의된 추천 프롬프트 메시지에 정의된 제목에 추가되고 중복 값이 삭제됩니다.

canvas

object (Canvas)

선택사항입니다. 사용자에게 전송할 Interactive Canvas 응답을 나타냅니다.

orderUpdate

object (OrderUpdate)

선택적 작업은 트랜잭션 흐름에서 주문을 받은 후에 OrderUpdate로 응답합니다. 이를 수령하면 Google은 주문에 대한 업데이트를 기록하고, 성공하면 디스플레이 기기에서 전송된 TTS와 함께 영수증 카드를 표시합니다.

간편함

사용자에게 전송할 간단한 프롬프트를 나타냅니다. https://developers.google.com/assistant/conversational/prompts-simple을 참고하세요.

JSON 표현
{
  "speech": string,
  "text": string
}
필드
speech

string

선택사항입니다. 사용자에게 말할 음성을 나타냅니다. SSML 또는 TTS(텍스트 음성 변환)일 수 있습니다. 포함하는 프롬프트의 '재정의' 필드가 'true'인 경우 이 필드에 정의된 음성이 이전의 간단한 프롬프트의 음성을 대체합니다. https://developers.google.com/assistant/conversational/ssml을 참고하세요.

text

string

채팅 풍선에 표시할 선택적 텍스트입니다. 지정하지 않으면 위의 음성 필드의 디스플레이 렌더링이 사용됩니다. 640자(영문 기준)로 제한됩니다. 포함하는 메시지의 '재정의' 필드가 'true'인 경우 이 필드에 정의된 텍스트가 이전 단순 프롬프트의 텍스트로 대체됩니다.

콘텐츠

리치 메시지 또는 선택 프롬프트의 컨테이너 객체입니다.

JSON 표현
{

  // Union field content can be only one of the following:
  "card": {
    object (Card)
  },
  "image": {
    object (Image)
  },
  "table": {
    object (Table)
  },
  "media": {
    object (Media)
  },
  "collection": {
    object (Collection)
  },
  "list": {
    object (List)
  },
  "collectionBrowse": {
    object (CollectionBrowse)
  }
  // End of list of possible types for union field content.
}
필드

통합 필드 content.

content는 다음 중 하나여야 합니다.

card

object (Card)

기본 카드입니다.

image

object (Image)

이미지입니다.

table

object (Table)

표 카드

media

object (Media)

재생할 미디어 집합을 나타내는 응답입니다.

collection

object (Collection)

선택할 수 있는 모음이 표시된 카드

list

object (List)

선택할 수 있는 옵션 목록이 표시된 카드입니다.

collectionBrowse

object (CollectionBrowse)

열려는 웹페이지 모음을 보여주는 카드입니다.

Card(카드)

이미지, 텍스트 등 일부 정보를 표시하기 위한 기본 카드입니다. https://developers.google.com/assistant/conversational/prompts-rich#basic_card를 참고하세요.

JSON 표현
{
  "title": string,
  "subtitle": string,
  "text": string,
  "image": {
    object (Image)
  },
  "imageFill": enum (ImageFill),
  "button": {
    object (Link)
  }
}
필드
title

string

카드의 전체 제목 선택사항입니다.

subtitle

string

선택사항입니다.

text

string

카드의 본문 텍스트입니다. 형식을 위한 제한된 마크다운 구문 세트를 지원합니다. 이미지가 없는 경우 필수 항목입니다.

image

object (Image)

카드의 히어로 이미지입니다. 높이는 192dp로 고정되어 있습니다. 선택사항입니다.

imageFill

enum (ImageFill)

이미지 배경이 채워지는 방식입니다. 선택사항입니다.

button

object (Link)

아웃바운드 링크가 있는 버튼입니다. 선택사항입니다.

이미지

카드에 표시된 이미지 https://developers.google.com/assistant/conversational/prompts-rich#image-cards를 참고하세요.

JSON 표현
{
  "url": string,
  "alt": string,
  "height": integer,
  "width": integer
}
필드
url

string

이미지의 소스 URL입니다. 이미지는 JPG, PNG, GIF (애니메이션 및 비애니메이션)일 수 있습니다. 예: https://www.agentx.com/logo.png 필수 항목입니다.

alt

string

접근성을 위해 사용되는 이미지의 텍스트 설명입니다(예: 스크린 리더). 필수 항목입니다.

height

integer

이미지 높이(픽셀 단위)입니다. 선택사항입니다.

width

integer

이미지 너비(픽셀 단위)입니다. 선택사항입니다.

이미지 채우기

이미지 표시에 영향을 줄 수 있는 이미지 표시 옵션입니다. 이미지의 가로세로 비율이 이미지 컨테이너의 가로세로 비율과 일치하지 않는 경우에 사용해야 합니다.

열거형
UNSPECIFIED
GRAY 이미지와 이미지 컨테이너 사이의 간격을 회색 막대로 채웁니다.
WHITE 이미지와 이미지 컨테이너 사이의 간격을 흰색 막대로 채웁니다.
CROPPED 이미지의 너비와 높이가 컨테이너 크기와 일치하거나 이를 초과하도록 이미지가 조정됩니다. 조정된 이미지 높이가 컨테이너 높이보다 크면 이미지의 상단과 하단이 잘리고, 조정된 이미지 너비가 컨테이너 너비보다 크면 이미지의 왼쪽과 오른쪽이 잘릴 수 있습니다. 4:3 동영상을 재생할 때 와이드스크린 TV에 나오는 '확대/축소 모드'와 비슷합니다.

OpenUrl

JSON 표현
{
  "url": string,
  "hint": enum (UrlHint)
}
필드
url

string

URL 필드: - 앱에 연결된 앱 또는 웹페이지를 여는 http/https URL

hint

enum (UrlHint)

URL 유형의 힌트를 나타냅니다.

UrlHint

URL 힌트의 다양한 유형

열거형
AMP AMP 콘텐츠를 직접 가리키는 URL 또는 를 통해 AMP 콘텐츠를 참조하는 표준 URL https://amp.dev/를 참고하세요.

테이블

텍스트 표를 표시하는 표 카드 https://developers.google.com/assistant/conversational/prompts-rich#table_cards를 참고하세요.

JSON 표현
{
  "title": string,
  "subtitle": string,
  "image": {
    object (Image)
  },
  "columns": [
    {
      object (TableColumn)
    }
  ],
  "rows": [
    {
      object (TableRow)
    }
  ],
  "button": {
    object (Link)
  }
}
필드
title

string

테이블의 전체 제목입니다. 선택사항이지만 부제목이 설정된 경우 설정해야 합니다.

subtitle

string

표의 부제목입니다. 선택사항입니다.

image

object (Image)

테이블과 연결된 이미지입니다. 선택사항입니다.

columns[]

object (TableColumn)

헤더의 헤더 및 정렬

rows[]

object (TableRow)

테이블의 행 데이터 처음 3개 행은 항상 표시되지만 일부 노출 영역에서 일부 행이 잘릴 수 있습니다. 시뮬레이터에서 테스트하여 표시 경로에 어떤 행이 표시되는지 확인하세요. WEB_BROWSER 기능을 지원하는 노출 영역에서 사용자가 더 많은 데이터가 있는 웹페이지를 가리키도록 할 수 있습니다.

button

object (Link)

버튼입니다.

테이블 열

JSON 표현
{
  "header": string,
  "align": enum (HorizontalAlignment)
}
필드
header

string

열의 헤더 텍스트입니다.

align

enum (HorizontalAlignment)

wr.t 열의 콘텐츠 가로 정렬 지정하지 않으면 콘텐츠가 선행 가장자리에 정렬됩니다.

가로 맞춤

셀 내 콘텐츠의 정렬

열거형
UNSPECIFIED
LEADING 셀의 앞쪽 가장자리 이는 기본값입니다.
CENTER 콘텐츠가 열 가운데에 정렬됩니다.
TRAILING 콘텐츠가 열의 맨 뒤에 정렬됩니다.

TableRow

테이블의 행을 설명합니다.

JSON 표현
{
  "cells": [
    {
      object (TableCell)
    }
  ],
  "divider": boolean
}
필드
cells[]

object (TableCell)

이 행의 셀입니다. 처음 3개의 셀은 항상 표시되나, 일부 표면에서는 잘릴 수 있습니다. 시뮬레이터를 사용하여 특정 표면에 표시되는 셀을 확인하세요.

divider

boolean

각 행 뒤에 구분선이 있어야 하는지를 나타냅니다.

TableCell

행에 있는 셀을 설명합니다.

JSON 표현
{
  "text": string
}
필드
text

string

셀의 텍스트 콘텐츠입니다.

미디어

하나의 미디어 객체를 나타냅니다. 이름, 설명, URL 등 미디어 관련 정보가 포함되어 있습니다. https://developers.google.com/assistant/conversational/prompts-media를 참고하세요.

JSON 표현
{
  "mediaType": enum (MediaType),
  "startOffset": string,
  "optionalMediaControls": [
    enum (OptionalMediaControls)
  ],
  "mediaObjects": [
    {
      object (MediaObject)
    }
  ],
  "repeatMode": enum (RepeatMode),
  "firstMediaObjectIndex": integer
}
필드
mediaType

enum (MediaType)

startOffset

string (Duration format)

첫 번째 미디어 객체의 시작 오프셋입니다.

초 단위 기간으로, 소수점 아래 9자리까지 지정 가능하며 's'로 끝납니다(예: "3.5s").

optionalMediaControls[]

enum (OptionalMediaControls)

이 미디어 응답 세션에서 지원할 수 있는 미디어 컨트롤 유형입니다(선택사항). 이 속성을 설정하면 특정 미디어 이벤트가 발생할 때 요청이 3p로 전달됩니다. 설정되지 않아도 서드 파티는 두 가지 기본 컨트롤 유형인 FINISHED 및 FAILED를 처리해야 합니다.

mediaObjects[]

object (MediaObject)

미디어 객체 목록

repeatMode

enum (RepeatMode)

미디어 객체 목록에 대한 반복 모드입니다.

firstMediaObjectIndex

integer

mediaObjects에서 재생할 첫 번째 미디어 객체의 0 기반 색인. 지정되지 않거나 0이거나 범위를 벗어나면 mediaObject의 첫 번째 미디어 객체에서 재생이 시작됩니다.

MediaType

이 응답의 미디어 유형입니다.

열거형
MEDIA_TYPE_UNSPECIFIED
AUDIO 오디오 파일입니다.
MEDIA_STATUS_ACK 미디어 상태 보고서 확인에 대한 응답

선택적 미디어 컨트롤

미디어 응답에서 지원할 수 있는 미디어 컨트롤 유형(선택사항)

열거형
OPTIONAL_MEDIA_CONTROLS_UNSPECIFIED 값이 지정되지 않음
PAUSED 일시중지된 이벤트입니다. 사용자가 미디어를 일시중지하면 트리거됩니다.
STOPPED 이벤트가 중지되었습니다. 미디어 재생 중에 사용자가 타사 세션을 종료할 때 트리거됩니다.

미디어 객체

단일 미디어 객체를 나타냅니다.

JSON 표현
{
  "name": string,
  "description": string,
  "url": string,
  "image": {
    object (MediaImage)
  }
}
필드
name

string

이 미디어 객체의 이름입니다.

description

string

이 미디어 객체에 대한 설명입니다.

url

string

미디어 콘텐츠를 가리키는 URL입니다. MP3 파일은 웹 서버에서 호스팅해야 하며 HTTPS URL을 통해 공개적으로 사용할 수 있어야 합니다. 실시간 스트리밍은 MP3 형식에서만 지원됩니다.

image

object (MediaImage)

미디어 카드와 함께 표시할 이미지입니다.

미디어 이미지

JSON 표현
{

  // Union field image can be only one of the following:
  "large": {
    object (Image)
  },
  "icon": {
    object (Image)
  }
  // End of list of possible types for union field image.
}
필드

통합 필드 image.

image는 다음 중 하나여야 합니다.

large

object (Image)

앨범의 표지 등 큰 이미지

icon

object (Image)

제목 오른쪽에 표시되는 작은 이미지 아이콘 36x36dp로 크기가 조정됩니다.

반복 모드

미디어 객체 목록의 반복 모드 유형입니다.

열거형
REPEAT_MODE_UNSPECIFIED 사용 중지와 동일합니다.
OFF 마지막 미디어 객체 끝에서 미디어 세션을 종료합니다.
ALL 마지막 미디어 객체의 끝에 도달하면 첫 번째 미디어 객체의 시작 부분으로 순환합니다.

컬렉션

선택할 수 있는 옵션 모음을 표시하는 카드입니다. https://developers.google.com/assistant/conversational/prompts-selection#collection을 참고하세요.

JSON 표현
{
  "title": string,
  "subtitle": string,
  "items": [
    {
      object (CollectionItem)
    }
  ],
  "imageFill": enum (ImageFill)
}
필드
title

string

컬렉션의 제목입니다. 선택사항입니다.

subtitle

string

컬렉션의 부제목입니다. 선택사항입니다.

items[]

object (CollectionItem)

항목 목록입니다. 최솟값은 2, 최댓값은 10입니다.

imageFill

enum (ImageFill)

컬렉션 항목의 이미지 배경이 채워지는 방식 선택사항입니다.

컬렉션 항목

컬렉션의 항목

JSON 표현
{
  "key": string
}
필드
key

string

필수 항목입니다. 연결된 유형의 항목 키 이름과 일치하는 NLU 키입니다.

나열

선택할 수 있는 옵션 목록을 표시하는 카드입니다. https://developers.google.com/assistant/conversational/prompts-selection#list를 참고하세요.

JSON 표현
{
  "title": string,
  "subtitle": string,
  "items": [
    {
      object (ListItem)
    }
  ]
}
필드
title

string

목록의 제목입니다. 선택사항입니다.

subtitle

string

목록의 부제목입니다. 선택사항입니다.

items[]

object (ListItem)

항목 목록입니다. 최솟값은 2, 최댓값은 30입니다.

ListItem

목록의 항목

JSON 표현
{
  "key": string
}
필드
key

string

필수 항목입니다. 연결된 유형의 항목 키 이름과 일치하는 NLU 키입니다.

컬렉션 탐색

대규모 타일 항목의 모음으로 웹 문서 집합을 표시합니다. 웹 뷰어에서 연결된 웹 문서를 실행하도록 항목을 선택할 수 있습니다. https://developers.google.com/assistant/conversational/prompts-selection#collectionBrowse를 참고하세요.

JSON 표현
{
  "items": [
    {
      object (Item)
    }
  ],
  "imageFill": enum (ImageFill)
}
필드
items[]

object (Item)

항목 목록입니다. 최솟값은 2, 최댓값은 10입니다.

imageFill

enum (ImageFill)

이미지 표시 옵션의 유형입니다.

항목

컬렉션의 항목입니다.

JSON 표현
{
  "title": string,
  "description": string,
  "footer": string,
  "image": {
    object (Image)
  },
  "openUriAction": {
    object (OpenUrl)
  }
}
필드
title

string

필수 항목입니다. 컬렉션 항목의 제목입니다.

description

string

컬렉션 항목에 대한 설명입니다.

footer

string

컬렉션 항목의 바닥글 텍스트로, 설명 아래에 표시됩니다. 줄임표로 잘린 단일 텍스트 행.

image

object (Image)

컬렉션 항목의 이미지입니다.

openUriAction

object (OpenUrl)

필수 항목입니다. 항목이 선택된 경우 열 URI입니다.

제안

추천 기능은 어시스턴트가 메시지를 표시할 때 디스플레이 지원 기기 사용자에게 추천 칩을 제공합니다. 추천된 칩을 사용하여 사용자 응답을 암시하여 대화를 계속하거나 피벗하세요. 추천 칩을 탭하면 표시된 텍스트를 사용자가 입력한 것처럼 대화에 그대로 반환합니다. https://developers.google.com/assistant/conversational/prompts#suggestions를 참고하세요.

JSON 표현
{
  "title": string
}
필드
title

string

필수 항목입니다. 추천 검색어 칩에 표시되는 텍스트입니다. 이 텍스트를 탭하면 사용자가 입력한 것처럼 대화에 그대로 게시됩니다. 각 제목은 추천 검색어 칩 세트에서 고유해야 합니다. 최대 25자(영문 기준)

캔버스

사용자에게 전송할 Interactive Canvas 응답을 나타냅니다. 대화형 캔버스 응답을 표시하는 것 외에 사용자에게 말을 하도록 포함하는 메시지의 'firstSimple' 필드와 함께 사용할 수 있습니다. 응답의 최대 크기는 50,000바이트입니다. https://developers.google.com/assistant/interactivecanvas를 참고하세요.

JSON 표현
{
  "url": string,
  "data": [
    value
  ],
  "suppressMic": boolean,
  "continuousMatchConfig": {
    object (ContinuousMatchConfig)
  }
}
필드
url

string

로드할 대화형 캔버스 웹 앱의 URL입니다. 설정하지 않으면 현재 활성화된 캔버스의 URL이 재사용됩니다.

data[]

value (Value format)

선택사항입니다. 이벤트로 몰입형 환경 웹페이지에 전달되는 JSON 데이터입니다. 포함하는 프롬프트의 '재정의' 필드가 'false'인 경우 이 캔버스 프롬프트에 정의된 데이터 값이 이전 Canvas 프롬프트에 정의된 데이터 값 뒤에 추가됩니다.

suppressMic

boolean

선택사항입니다. 기본값은 false입니다.

continuousMatchConfig

object (ContinuousMatchConfig)

지속적 일치 모드를 시작하는 데 사용되는 구성입니다.

ContinuousMatchConfig 클래스의 생성자

지속적 일치 모드를 시작하는 데 사용되는 구성입니다.

JSON 표현
{
  "expectedPhrases": [
    {
      object (ExpectedPhrase)
    }
  ],
  "durationSeconds": integer
}
필드
expectedPhrases[]

object (ExpectedPhrase)

지속적 일치 모드 세션 동안 예상되는 모든 구문입니다.

durationSeconds

integer

지속적 일치 모드를 유지하는 기간입니다. 지정하면 시간이 다 되면 마이크가 닫힙니다. 허용되는 최댓값은 180입니다.

예상 구문

JSON 표현
{
  "phrase": string,
  "alternativePhrases": [
    string
  ]
}
필드
phrase

string

연속 일치 모드 세션 중에 일치시킬 구문입니다.

alternativePhrases[]

string

일부 구문은 음성 편향에도 불구하고 음성 모델에 의해 잘못 인식될 수 있습니다. 이를 통해 개발자는 동음이의 대체 트리거를 지정할 수 있습니다.

주문 업데이트

주문 업데이트

JSON 표현
{
  "type": enum (Type),
  "order": {
    object (Order)
  },
  "updateMask": string,
  "userNotification": {
    object (UserNotification)
  },
  "reason": string
}
필드
type
(deprecated)

enum (Type)

지원 중단됨: OrderUpdate.update_mask를 대신 사용하세요. 유형 = SNAPSHOT인 경우 OrderUpdate.order가 전체 주문이어야 합니다. 유형이 ORDER_STATUS인 경우 주문 수준 상태가 변경됩니다. order.last_update_time 및 이 세로 상태만 선택됩니다. 참고: type.ORDER_STATUS는 PurcahaseOrderExtension 상태 업데이트만 지원하며 이 지원을 확장할 계획은 없습니다. updateMask는 더 일반적이고 확장 가능하며 모든 카테고리에 사용할 수 있으므로 대신 사용하는 것이 좋습니다.

order

object (Order)

updateMask

string (FieldMask format)

참고: 다음 특수 필드는 다음과 같은 고려사항/권장사항입니다. 1. order.last_update_time은 항상 업데이트 요청의 일부로 업데이트됩니다. 2. updateMask의 일부로 제공하는 경우 order.create_time, order.google_order_id, order.merchant_order_id는 무시됩니다.

쉼표로 구분된 필드 이름의 쉼표로 구분된 목록입니다. 예: "user.displayName,photo"

userNotification

object (UserNotification)

지정된 경우 제목 및 텍스트가 지정된 알림을 사용자에게 표시합니다. 알림을 지정하면 알림을 받을 수 있으며, 알림이 표시되지 않을 수 있습니다.

reason

string

변경/업데이트 이유입니다.

유형

지원 중단됨: OrderUpdate.update_mask를 대신 사용하세요. 주문에 업데이트가 허용되었습니다.

열거형
TYPE_UNSPECIFIED 유형이 지정되지 않았습니다. 유형을 명시적으로 설정하면 안 됩니다.
ORDER_STATUS 주문 상태만 업데이트합니다.
SNAPSHOT 주문 스냅샷 업데이트

주문

주문 항목입니다. 참고: 1. 달리 지정하지 않는 한 모든 수준의 모든 문자열은 1,000자 미만이어야 합니다. 2. 달리 명시되지 않는 한 모든 수준에서 반복되는 필드는 모두 50개 미만이어야 합니다. 3. 모든 수준의 모든 타임스탬프(지정된 경우)는 유효한 타임스탬프여야 합니다.

JSON 표현
{
  "googleOrderId": string,
  "merchantOrderId": string,
  "userVisibleOrderId": string,
  "userVisibleStateLabel": string,
  "buyerInfo": {
    object (UserInfo)
  },
  "image": {
    object (Image)
  },
  "createTime": string,
  "lastUpdateTime": string,
  "transactionMerchant": {
    object (Merchant)
  },
  "contents": {
    object (Contents)
  },
  "priceAttributes": [
    {
      object (PriceAttribute)
    }
  ],
  "followUpActions": [
    {
      object (Action)
    }
  ],
  "paymentData": {
    object (PaymentData)
  },
  "termsOfServiceUrl": string,
  "note": string,
  "promotions": [
    {
      object (Promotion)
    }
  ],
  "disclosures": [
    {
      object (Disclosure)
    }
  ],
  "vertical": {
    "@type": string,
    field1: ...,
    ...
  },

  // Union field verticals can be only one of the following:
  "purchase": {
    object (PurchaseOrderExtension)
  },
  "ticket": {
    object (TicketOrderExtension)
  }
  // End of list of possible types for union field verticals.
}
필드
googleOrderId

string

Google에서 주문 ID를 할당했습니다.

merchantOrderId

string

필수: 판매자가 내부 주문 ID를 할당했습니다. 이 ID는 고유해야 하며 후속 주문 업데이트 작업에 필요합니다. 이 ID는 제공된 googleOrderId 또는 기타 고유한 값으로 설정할 수 있습니다. 사용자에게 표시되는 ID는 userVisibleOrderId이며 사용자 친화적인 다른 값일 수 있습니다. 최대 길이는 128자(영문 기준)입니다.

userVisibleOrderId

string

현재 주문을 참조하는 사용자 대상 ID입니다. 이 ID는 웹사이트, 앱, 이메일 등 다른 컨텍스트에서 이 주문에 표시된 ID와 일치해야 합니다.

userVisibleStateLabel
(deprecated)

string

지원 중단됨: OrderExtensions 상태를 대신 사용하세요. 이 주문 상태의 사용자에게 표시되는 라벨입니다.

buyerInfo

object (UserInfo)

구매자에 대한 정보입니다.

image

object (Image)

주문과 연결된 이미지입니다.

createTime

string (Timestamp format)

필수: 주문이 생성된 날짜 및 시간입니다.

RFC3339 UTC 'Zulu' 형식의 타임스탬프(나노초 해상도 및 최대 9자리 소수) 예: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z"

lastUpdateTime

string (Timestamp format)

주문이 마지막으로 업데이트된 날짜 및 시간입니다. OrderUpdate에 필요합니다.

RFC3339 UTC 'Zulu' 형식의 타임스탬프(나노초 해상도 및 최대 9자리 소수) 예: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z"

transactionMerchant

object (Merchant)

결제를 용이하게 한 판매자입니다. 이는 광고 항목 수준 제공업체와 다를 수 있습니다. 예: ANA의 광고 항목이 포함된 Expedia Order

contents

object (Contents)

필수: 광고 항목 그룹인 주문 콘텐츠입니다.

priceAttributes[]

object (PriceAttribute)

가격, 할인, 세금 등

followUpActions[]

object (Action)

주문 수준에서 후속 조치를 취합니다.

paymentData

object (PaymentData)

주문에 대한 결제 관련 데이터입니다.

termsOfServiceUrl

string

주문/제안된 주문에 적용되는 서비스 약관 링크입니다.

note

string

주문에 첨부된 메모입니다.

promotions[]

object (Promotion)

이 주문과 연결된 모든 프로모션입니다.

disclosures[]

object (Disclosure)

이 주문과 관련된 공개 정보

vertical
(deprecated)

object

지원 중단됨: 대신 카테고리를 사용하세요. 이러한 속성은 일부 광고 항목에서 재정의되지 않는 한 모든 광고 항목에 적용됩니다. 이 카테고리는 광고 항목 수준의 카테고리 유형과 일치해야 합니다. 가능한 값: google.actions.orders.v3.verticals.purchase.PurchaseOrderExtension google.actions.orders.v3.verticals.ticket.TicketOrderExtension

임의 유형의 필드를 포함하는 객체입니다. 추가 필드 "@type"은 유형을 식별하는 URI를 포함합니다. 예를 들면 { "id": 1234, "@type": "types.example.com/standard/id" }입니다.

통합 필드 verticals는 이러한 속성은 일부 광고 항목에서 재정의되지 않는 한 모든 광고 항목에 적용됩니다. 이 카테고리는 광고 항목 수준의 카테고리 유형과 일치해야 합니다. verticals은 다음 중 하나여야 합니다.
purchase

object (PurchaseOrderExtension)

구매주문서

ticket

object (TicketOrderExtension)

티켓 주문

사용자 정보

사용자에 관한 정보입니다. 주문과 관련된 사용자 정보를 나타내는 데 사용됩니다.

JSON 표현
{
  "email": string,
  "firstName": string,
  "lastName": string,
  "displayName": string,
  "phoneNumbers": [
    {
      object (PhoneNumber)
    }
  ]
}
필드
email

string

사용자 이메일, 예: janedoe@gmail.com.

firstName

string

사용자의 이름입니다.

lastName

string

사용자의 성입니다.

displayName

string

사용자의 표시 이름이 성 또는 이름과 다를 수 있습니다.

phoneNumbers[]

object (PhoneNumber)

사용자의 전화번호입니다.

PhoneNumber

표준 전화번호 표현

JSON 표현
{
  "e164PhoneNumber": string,
  "extension": string,
  "preferredDomesticCarrierCode": string
}
필드
e164PhoneNumber

string

IT 통신 (International Telecommunication Union) 권장사항 E.164에 정의된 E.164 형식의 전화번호. 위키 링크: https://en.wikipedia.org/wiki/E.164

extension

string

일련의 길이가 최대 40자리인 숫자로 정의된다는 점을 제외하고는 ITU 권장사항에서 표준화되지 않습니다. 이는 확장 프로그램에서 선행 0을 사용할 수 있도록 문자열로 정의됩니다 (조직에는 표준이 정의되어 있지 않으므로 완전히 자유롭게 선택할 수 있음). 숫자 이외의 대기 문자(예: ',' 등)는 여기에 저장할 수 있습니다. 예를 들어 xxx-xxx-xxxx.ext.123의 경우 '123'이 확장자입니다.

preferredDomesticCarrierCode

string

국내 전화번호로 전화를 걸 때 선호하는 이동통신사 선택 코드입니다. 일부 국가에서 유선전화로 또는 그 반대로 전화를 걸어야 하는 코드도 여기에 포함됩니다. 예를 들어 컬럼비아에서는 휴대전화에서 국내 유선전화로 전화를 걸 때 전화번호 자체 앞에 '3'을 눌러야 합니다. 반대의 경우도 마찬가지입니다. https://en.wikipedia.org/wiki/Telephone_numbers_in_Collia https://en.wikipedia.org/wiki/Brazilian_Carrier_Selection_Code

이는 '기본' 코드이므로 다른 코드도 작동할 수 있습니다.

이미지

카드에 표시된 이미지

JSON 표현
{
  "url": string,
  "accessibilityText": string,
  "height": integer,
  "width": integer
}
필드
url

string

이미지의 소스 URL입니다. 이미지는 JPG, PNG, GIF (애니메이션 및 비애니메이션)일 수 있습니다. 예: https://www.agentx.com/logo.png 필수 항목입니다.

accessibilityText

string

접근성을 위해 사용되는 이미지의 텍스트 설명입니다(예: 스크린 리더). 필수 항목입니다.

height

integer

이미지 높이(픽셀 단위)입니다. 선택사항입니다.

width

integer

이미지 너비(픽셀 단위)입니다. 선택사항입니다.

판매자

장바구니/주문/광고 항목의 판매자입니다.

JSON 표현
{
  "id": string,
  "name": string,
  "image": {
    object (Image)
  },
  "phoneNumbers": [
    {
      object (PhoneNumber)
    }
  ],
  "address": {
    object (Location)
  }
}
필드
id

string

판매자에게 할당된 선택적 ID입니다.

name

string

'파네라 빵'과 같은 판매자의 이름입니다.

image

object (Image)

판매자와 연결된 이미지입니다.

phoneNumbers[]

object (PhoneNumber)

판매자의 전화번호입니다.

address

object (Location)

판매자의 주소입니다.

위치

위치를 나타내는 컨테이너입니다.

JSON 표현
{
  "coordinates": {
    object (LatLng)
  },
  "formattedAddress": string,
  "zipCode": string,
  "city": string,
  "postalAddress": {
    object (PostalAddress)
  },
  "name": string,
  "phoneNumber": string,
  "notes": string,
  "placeId": string
}
필드
coordinates

object (LatLng)

지리 좌표 [DEVICE_PRECISE_LOCATION] [google.actions.v2.Permission.DEVICE_PRECISE_LOCATION] 권한이 필요합니다.

formattedAddress

string

표시 주소(예: '1600 Amphitheatre Pkwy, Mountain View, CA 94043' [DEVICE_PRECISE_LOCATION] [google.actions.v2.Permission.DEVICE_PRECISE_LOCATION] 권한이 필요합니다.

zipCode

string

우편번호입니다. [DEVICE_PRECISE_LOCATION] [google.actions.v2.Permission.DEVICE_PRECISE_LOCATION] 또는 [DEVICE_COARSE_LOCATION] [google.actions.v2.Permission.DEVICE_COARSE_LOCATION] 권한이 필요합니다.

city

string

시/군/구. [DEVICE_PRECISE_LOCATION] [google.actions.v2.Permission.DEVICE_PRECISE_LOCATION] 또는 [DEVICE_COARSE_LOCATION] [google.actions.v2.Permission.DEVICE_COARSE_LOCATION] 권한이 필요합니다.

postalAddress

object (PostalAddress)

우편 주소 [DEVICE_PRECISE_LOCATION] [google.actions.v2.Permission.DEVICE_PRECISE_LOCATION] 또는 [DEVICE_COARSE_LOCATION] [google.actions.v2.Permission.DEVICE_COARSE_LOCATION] 권한이 필요합니다.

name

string

장소의 이름입니다.

phoneNumber

string

위치의 전화번호입니다(예: 업체 위치의 연락처 번호 또는 배송 위치의 전화번호).

notes

string

위치에 대한 참고사항입니다.

placeId

string

placeId는 장소 API를 사용하여 장소의 세부정보를 가져옵니다. https://developers.google.com/places/web-service/place-id를 참고하세요.

LatLng

위도/경도 쌍을 나타내는 객체로 위도와 경도를 나타내는 double의 쌍으로 표현됩니다. 달리 명시되지 않는 한 이 객체는 WGS84 표준을 준수해야 합니다. 값은 정규화된 범위 내에 있어야 합니다.

JSON 표현
{
  "latitude": number,
  "longitude": number
}
필드
latitude

number

위도입니다. 범위는 [-90.0, +90.0]입니다.

longitude

number

경도입니다. 범위는 [-180.0, +180.0]여야 합니다.

PostalAddress

우편 배송 또는 수취인 주소와 같은 우편 주소를 나타냅니다. 우편 주소가 있으면 우편 서비스가 전제, 사서함 또는 이와 유사한 주소로 물건을 배달할 수 있습니다. 도로, 마을, 산과 같은 지리적 위치를 모델링하기 위한 것이 아닙니다.

일반적인 사용 사례에서는 프로세스 유형에 따라 사용자 입력을 통하거나 기존 데이터를 가져와 주소를 만들 수 있습니다.

주소 입력 / 수정에 관한 조언: - https://github.com/google/libaddressinput과 같은 i18n 지원 주소 위젯을 사용하세요. - 필드가 사용되는 국가 외의 지역을 입력 또는 수정할 수 있는 UI 요소가 사용자에게 표시되어서는 안 됩니다.

이 스키마를 사용하는 방법에 대한 자세한 안내는 https://support.google.com/business/answer/6397478을 참고하세요.

JSON 표현
{
  "revision": integer,
  "regionCode": string,
  "languageCode": string,
  "postalCode": string,
  "sortingCode": string,
  "administrativeArea": string,
  "locality": string,
  "sublocality": string,
  "addressLines": [
    string
  ],
  "recipients": [
    string
  ],
  "organization": string
}
필드
revision

integer

PostalAddress의 스키마 버전입니다. 최신 버전인 0으로 설정해야 합니다.

모든 새 버전은 이전 버전과 반드시 호환되어야 합니다.

regionCode

string

필수 항목입니다. 주소의 국가/지역의 CLDR 지역 코드입니다. 이는 추론되지 않으며, 값이 올바른지 사용자가 확인해야 합니다. 자세한 내용은 http://cldr.unicode.org/http://www.unicode.org/cldr/charts/30/secondary/territory_information.html을 참조하세요. 예: 스위스의 경우 'CH'

languageCode

string

선택사항입니다. 이 주소 콘텐츠의 BCP-47 언어 코드입니다 (알려진 경우). 주로 입력 양식의 UI 언어이거나 주소의 국가/지역에 사용되는 언어 중 하나 또는 음역된 언어와 일치해야 합니다. 이는 특정 국가에서 형식을 지정하는 데 영향을 줄 수 있지만 데이터의 정확성에는 중요하지 않으며, 유효성 검사 또는 형식을 사용하지 않는 관련 작업에 영향을 주지 않습니다.

이 값을 알 수 없는 경우 잘못될 수 있는 기본값을 지정하는 대신 이 값을 생략해야 합니다.

예: 'zh-Hant', 'ja', 'ja-Latn', 'en'.

postalCode

string

선택사항입니다. 주소의 우편번호입니다. 모든 국가에서 우편번호를 사용하거나 우편번호가 있어야 하는 것은 아니지만 사용되는 경우 주소의 다른 부분에서 추가 유효성 검사 (예: 미국의 주/우편번호 유효성 검사)가 트리거될 수 있습니다.

sortingCode

string

선택사항입니다. 국가별 추가 정렬 코드입니다. 대부분의 지역에서 사용되지 않습니다. 사용되는 경우 값은 선택적으로 뒤에 숫자가 오는 'CEDEX'와 같은 문자열 (예: 'CEDEX 7')이거나 '섹터 코드' (자메이카), '배송 지역 표시기' (말라위) 또는 '우체국 표시기' (예: 코트디부아르)를 나타내는 숫자만 사용할 수 있습니다.

administrativeArea

string

선택사항입니다. 국가 또는 지역의 우편 주소에 사용되는 최고 행정 구역 단위입니다. 예를 들어 주, 도, 주, 현이 될 수 있습니다. 구체적으로 스페인의 경우에는 자치지구가 아닙니다 (예: '카탈로니아'가 아닌 '바르셀로나'). 많은 국가에서는 우편 주소에 행정 구역을 사용하지 않습니다. 예를 들어 스위스에서는 이 필드를 채우지 않은 상태로 두어야 합니다.

locality

string

선택사항입니다. 일반적으로 주소의 시/군/구 부분을 나타냅니다. 예: 미국의 도시, IT 지역, 영국의 도시 지역이 잘 정의되지 않거나 이 구조에 잘 맞지 않는 지역에서는 지역을 비워 두고 addressLines를 사용합니다.

sublocality

string

선택사항입니다. 주소의 하위 지역입니다. 예를 들어 동네, 자치구, 구 등이 해당됩니다.

addressLines[]

string

주소의 하위 수준을 설명하는 구조화되지 않은 주소 입력란입니다.

addressLines의 값에는 형식 정보가 없고 경우에 따라 하나의 필드에 여러 값이 포함될 수 있으므로 (예: 'Austin, TX') 행 순서가 명확해야 합니다. 주소 입력란 순서는 주소의 국가/지역에 대한 '봉투 순서'여야 합니다. 이것이 달라질 수 있는 위치 (예: 일본)에서는 address_language를 사용하여 명시적으로 표시합니다 (예: 큰 크기에서 작은 순서로는 'ja', 작은 크기에서 큰 크기 순서는 'ja-Latn' 또는 'en'). 이렇게 하면 언어를 기반으로 가장 구체적인 주소 행을 선택할 수 있습니다.

주소에 허용되는 최소 구조 표현은 나머지 모든 정보가 addressLines에 배치된 regionCode로 구성됩니다. 지오코딩 없이 이러한 주소의 형식을 매우 대략적으로 지정할 수는 있지만, 적어도 부분적으로 확인될 때까지는 주소 구성요소에 관한 의미론적 추론이 불가능합니다.

지역이나 행정 구역 주소 부분을 추측하는 대신 regionCode와 addressLines만 포함된 주소를 만든 다음 지오코딩을 통해 완전히 구조화되지 않은 주소를 처리하는 것이 좋습니다.

recipients[]

string

선택사항입니다. 주소의 수신자입니다. 이 필드에는 특정 상황에서 여러 줄 정보가 포함될 수 있습니다. 예를 들어 '관리' 정보가 포함될 수 있습니다.

organization

string

선택사항입니다. 주소에 있는 조직의 이름입니다.

목차

광고 항목의 래퍼입니다.

JSON 표현
{
  "lineItems": [
    {
      object (LineItem)
    }
  ]
}
필드
lineItems[]

object (LineItem)

주문 광고 항목의 목록입니다. 1개 이상의 lineItem이 필요하며 50개 이하가 허용됩니다. 모든 광고 항목은 동일한 카테고리에 속해야 합니다.

LineItem

하나의 광고 항목에 하나의 카테고리가 포함됩니다. 주문 또는 장바구니에 동일한 카테고리의 광고 항목이 여러 개 있을 수 있습니다. 하위 광고 항목/부가기능 등은 사용 사례에 따라 카테고리 proto에 정의해야 합니다. 참고: 1. 달리 지정하지 않는 한 모든 수준의 모든 문자열은 1,000자 미만이어야 합니다. 2. 달리 명시되지 않는 한 모든 수준에서 반복되는 필드는 모두 50개 미만이어야 합니다. 3. 모든 수준의 모든 타임스탬프(지정된 경우)는 유효한 타임스탬프여야 합니다.

JSON 표현
{
  "id": string,
  "name": string,
  "userVisibleStateLabel": string,
  "provider": {
    object (Merchant)
  },
  "priceAttributes": [
    {
      object (PriceAttribute)
    }
  ],
  "followUpActions": [
    {
      object (Action)
    }
  ],
  "recipients": [
    {
      object (UserInfo)
    }
  ],
  "image": {
    object (Image)
  },
  "description": string,
  "notes": [
    string
  ],
  "disclosures": [
    {
      object (Disclosure)
    }
  ],
  "vertical": {
    "@type": string,
    field1: ...,
    ...
  },

  // Union field verticals can be only one of the following:
  "purchase": {
    object (PurchaseItemExtension)
  },
  "reservation": {
    object (ReservationItemExtension)
  }
  // End of list of possible types for union field verticals.
}
필드
id

string

필수: 판매자가 광고 항목에 할당한 식별자입니다. 부분 업데이트를 적용할 때 기존 광고 항목을 식별하는 데 사용됩니다. 최대 길이는 64자(영문 기준)입니다.

name

string

영수증에 표시된 광고 항목의 이름입니다. 최대 길이는 100자(영문 기준)입니다.

userVisibleStateLabel
(deprecated)

string

지원이 중단되었습니다. 대신 카테고리 수준 상태를 사용하세요. 예를 들어 구매의 경우 PurchaseOrderExtension.status를 사용합니다. 이 광고 항목의 상태에 대한 사용자 표시 라벨입니다.

provider

object (Merchant)

특정 광고 항목의 제공업체(전체 주문과 다른 경우) 예: 광고 항목 제공업체 ANA를 사용한 Expedia Order

priceAttributes[]

object (PriceAttribute)

광고 항목 수준 가격 및 조정입니다.

followUpActions[]

object (Action)

광고 항목의 후속 작업

recipients[]

object (UserInfo)

광고 항목 수준 고객, 주문 수준 구매자와 다를 수 있습니다. 예: 사용자 X가 사용자 Y의 이름으로 식당을 예약했습니다.

image

object (Image)

이 항목과 연결된 작은 이미지입니다(있는 경우).

description

string

광고 항목 설명입니다.

notes[]

string

취소 정책과 같이 이 특정 광고 항목에 적용되는 추가 참고사항입니다.

disclosures[]

object (Disclosure)

이 광고 항목과 관련된 공개 정보

vertical
(deprecated)

object

지원 중단됨: 대신 카테고리를 사용하세요. 필수: 유형/카테고리를 기반으로 하는 광고 항목의 시맨틱 콘텐츠입니다. 모든 카테고리에는 자체 처리 세부정보가 포함되어야 합니다. 다음 값 중 하나여야 합니다. google.actions.orders.v3.verticals.purchase.PurchaseItemExtension google.actions.orders.v3.verticals.reservation.ReservationItemExtension google.actions.orders.v3.verticals.ticket.TicketItemExtension

임의 유형의 필드를 포함하는 객체입니다. 추가 필드 "@type"은 유형을 식별하는 URI를 포함합니다. 예를 들면 { "id": 1234, "@type": "types.example.com/standard/id" }입니다.

통합 필드 verticals는 필수: 유형/카테고리를 기반으로 하는 광고 항목의 시맨틱 콘텐츠입니다. 모든 카테고리에는 자체 처리 세부정보가 포함되어야 합니다. verticals은 다음 중 하나여야 합니다.
purchase

object (PurchaseItemExtension)

상품, 음식과 같은 주문 구매

reservation

object (ReservationItemExtension)

음식점, 헤어컷 등의 예약 주문

가격 속성

주문 또는 광고 항목의 가격 속성입니다.

JSON 표현
{
  "type": enum (Type),
  "name": string,
  "id": string,
  "state": enum (State),
  "taxIncluded": boolean,

  // Union field spec can be only one of the following:
  "amount": {
    object (Money)
  },
  "amountMillipercentage": integer
  // End of list of possible types for union field spec.
}
필드
type

enum (Type)

필수: 금액 속성 유형입니다.

name

string

필수: 사용자가 가격 속성의 문자열을 표시한 값입니다. 판매자가 전송하고 현지화합니다.

id

string

선택사항: 이 가격에 해당하는 광고 항목의 ID입니다.

state

enum (State)

필수: 가격 상태(예상 vs. 실제)

taxIncluded

boolean

세금 포함 여부입니다.

통합 필드 spec는 금액 또는 밀리초 비율을 나타냅니다. spec은 다음 중 하나여야 합니다.
amount

object (Money)

금액

amountMillipercentage
(deprecated)

integer

퍼센트 사양으로, 1/1000퍼센트까지입니다. 예: 8.750% 는 8,750으로, 음수는 백분율 할인을 나타냅니다. 이 필드의 지원이 중단되었습니다. 확실한 사용 사례가 필요한 경우 다시 추가하는 것이 좋습니다.

유형

금전 유형을 나타냅니다.

열거형
TYPE_UNSPECIFIED 유형이 지정되지 않았으므로 클라이언트는 이를 명시적으로 설정할 필요가 없습니다.
REGULAR 할인이 적용되기 전의 일반 디스플레이 가격입니다.
DISCOUNT 소계에서 차감됩니다.
TAX 소계에 추가됩니다.
DELIVERY 소계에 추가됩니다.
SUBTOTAL 수수료가 추가될 수 있는 소계입니다.
FEE 추가 요금
GRATUITY 소계에 추가됩니다.
TOTAL 표시된 주문 또는 광고 항목의 가격

상태

가격 상태를 나타냅니다.

열거형
STATE_UNSPECIFIED 지정되지 않음
ESTIMATE 예상 가격일 뿐이며 최종 금액은 이 금액에 가깝습니다. 예: 거래 당시에 세금을 정확하게 알 수 없는 경우 총액이 추정 금액이 됩니다.
ACTUAL 사용자에게 청구되는 실제 가격입니다.

금액

통화 유형의 금액을 나타냅니다.

JSON 표현
{
  "currencyCode": string,
  "amountInMicros": string
}
필드
currencyCode

string

ISO 4217에 정의된 3자리 통화 코드입니다.

amountInMicros

string (int64 format)

마이크로 단위 금액입니다. 예를 들어 이 필드는 $1.99에 1990000으로 설정해야 합니다.

작업

주문 또는 광고 항목과 연결된 후속 조치입니다.

JSON 표현
{
  "type": enum (Type),
  "title": string,
  "openUrlAction": {
    object (OpenUrlAction)
  },
  "actionMetadata": {
    object (ActionMetadata)
  }
}
필드
type

enum (Type)

필수: 작업 유형입니다.

title

string

사용자에게 표시되는 작업의 제목 또는 라벨입니다. 최대 길이는 100자(영문 기준)입니다.

openUrlAction

object (OpenUrlAction)

취해야 할 조치

actionMetadata

object (ActionMetadata)

작업과 관련된 메타데이터입니다.

유형

가능한 후속 조치입니다.

열거형
TYPE_UNSPECIFIED 지정되지 않은 작업입니다.
VIEW_DETAILS 주문 세부정보 보기 작업
MODIFY 주문 작업 수정
CANCEL 주문 작업을 취소합니다.
RETURN 반품 주문 작업입니다.
EXCHANGE 거래소 주문 작업
EMAIL

이메일 작업. EMAIL 및 CALL 유형은 지원 중단되었습니다. openUrlAction.url은 전화번호 또는 이메일로 사용할 수 있습니다.

CALL

클릭 유도 문구

REORDER 작업을 재정렬합니다.
REVIEW 주문 작업을 검토하세요.
CUSTOMER_SERVICE 고객 서비스에 문의하세요.
FIX_ISSUE 판매자 사이트 또는 앱으로 안내하여 문제를 해결합니다.
DIRECTION 경로 링크.

OpenUrlAction

지정된 URL을 엽니다.

JSON 표현
{
  "url": string,
  "androidApp": {
    object (AndroidApp)
  },
  "urlTypeHint": enum (UrlTypeHint)
}
필드
url

string

URL 필드: - 앱에 연결된 앱 또는 웹페이지를 여는 http/https URL

androidApp

object (AndroidApp)

URL을 Android 앱에서 처리할 것으로 예상되는 경우 Android 앱에 관한 정보입니다.

urlTypeHint

enum (UrlTypeHint)

URL 유형의 힌트를 나타냅니다.

Android 앱

처리 제한을 위한 Android 앱 사양

JSON 표현
{
  "packageName": string,
  "versions": [
    {
      object (VersionFilter)
    }
  ]
}
필드
packageName

string

패키지 이름 Android fulfillment를 지정할 때 패키지 이름을 지정해야 합니다.

versions[]

object (VersionFilter)

여러 필터가 지정되면 일치하는 필터가 있으면 앱이 트리거됩니다.

버전 필터

앱의 특정 버전이 필요한 경우 VersionFilter를 포함해야 합니다.

JSON 표현
{
  "minVersion": integer,
  "maxVersion": integer
}
필드
minVersion

integer

최소 버전 코드 또는 0 이상.

maxVersion

integer

최대 버전 코드(포함) 고려되는 범위는 [minVersion:maxVersion]입니다. null 범위는 모든 버전을 의미합니다. 예: 단일 버전을 지정하려면 [target_version:target_version]을 사용합니다. 버전을 지정하려면 minVersion 및 maxVersion을 지정하지 않습니다. maxVersion까지 모든 버전을 지정하려면 minVersion을 지정하지 않은 상태로 둡니다. minVersion의 모든 버전을 지정하려면 maxVersion을 지정하지 않은 상태로 둡니다.

UrlTypeHint

URL 힌트의 다양한 유형

열거형
URL_TYPE_HINT_UNSPECIFIED 미지정
AMP_CONTENT AMP 콘텐츠를 직접 가리키는 URL 또는 <link rel="amphtml">을 통해 AMP 콘텐츠를 참조하는 표준 URL

작업 메타데이터

작업당 관련 메타데이터입니다.

JSON 표현
{
  "expireTime": string
}
필드
expireTime

string (Timestamp format)

작업이 만료되는 시간입니다.

RFC3339 UTC 'Zulu' 형식의 타임스탬프(나노초 해상도 및 최대 9자리 소수) 예: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z"

공개

사용자에게 표시될 수 있는 제품, 서비스 또는 정책 공개.

JSON 표현
{
  "title": string,
  "disclosureText": {
    object (DisclosureText)
  },
  "presentationOptions": {
    object (DisclosurePresentationOptions)
  }
}
필드
title

string

공개 정보 제목 예: '안전 정보'

disclosureText

object (DisclosureText)

공개 내용의 콘텐츠 웹 링크가 허용됩니다.

presentationOptions

object (DisclosurePresentationOptions)

공개 문구의 프레젠테이션 옵션입니다.

공개 문구

웹 링크가 있는 일반 텍스트를 나타냅니다.

JSON 표현
{
  "template": string,
  "textLinks": [
    {
      object (TextLink)
    }
  ]
}
필드
template

string

표시해야 하는 각 텍스트 링크에 '{0}' 및 '{1}'와 같은 자리표시자를 포함하는 표시할 텍스트입니다. 예: '경고: 이 제품은 캘리포니아 주에서 암을 유발하는 것으로 알려진 화학 물질에 노출될 수 있습니다. 자세한 내용은 {0}을(를) 참조하세요. 이 공개 텍스트에는 홍보성 또는 광고 같은 콘텐츠를 포함해서는 안 됩니다.

DisclosurePresentationOptions

정보 공개 문구의 옵션입니다.

JSON 표현
{
  "presentationRequirement": enum (PresentationRequirement),
  "initiallyExpanded": boolean
}
필드
presentationRequirement

enum (PresentationRequirement)

공개의 프레젠테이션 요구사항

initiallyExpanded

boolean

공개 내용의 내용을 처음에 펼쳐야 하는지 여부입니다. 기본적으로 처음에는 접혀 있습니다.

프레젠테이션 요구사항

공개 발표를 위한 요구사항입니다.

열거형
REQUIREMENT_UNSPECIFIED 지정되지 않은 요구사항입니다. 이를 명시적으로 설정하면 안 됩니다.
REQUIREMENT_OPTIONAL 공개는 선택사항입니다. 기기에서 공개 정보 표시를 지원하지 않는 경우 건너뛸 수 있습니다.
REQUIREMENT_REQUIRED 공개는 필수입니다. 기기가 정보 공개 문구를 지원하지 않는 경우 대화가 휴대전화에서 펀트됩니다.

구매 항목 연장

구매 카테고리의 광고 항목 콘텐츠

JSON 표현
{
  "status": enum (PurchaseStatus),
  "userVisibleStatusLabel": string,
  "type": enum (PurchaseType),
  "productId": string,
  "quantity": integer,
  "unitMeasure": {
    object (MerchantUnitMeasure)
  },
  "returnsInfo": {
    object (PurchaseReturnsInfo)
  },
  "fulfillmentInfo": {
    object (PurchaseFulfillmentInfo)
  },
  "itemOptions": [
    {
      object (ItemOption)
    }
  ],
  "productDetails": {
    object (ProductDetails)
  },
  "extension": {
    "@type": string,
    field1: ...,
    ...
  }
}
필드
status

enum (PurchaseStatus)

필수: 광고 항목 수준 상태입니다.

userVisibleStatusLabel

string

필수: 사용자에게 표시되는 상태 라벨/문자열입니다. 허용되는 최대 길이는 50자(영문 기준)입니다.

type

enum (PurchaseType)

필수: 구매 유형입니다.

productId
(deprecated)

string

이 광고 항목과 연결된 제품 또는 혜택 ID입니다.

quantity

integer

상품의 수량입니다.

unitMeasure

object (MerchantUnitMeasure)

단위 측정 선택한 단위의 항목 크기를 지정합니다. 크기 및 활성 가격을 사용하여 단가를 결정합니다.

returnsInfo

object (PurchaseReturnsInfo)

이 광고 항목의 정보를 반환합니다. 설정하지 않으면 이 광고 항목은 주문 수준 반품 정보를 상속합니다.

fulfillmentInfo

object (PurchaseFulfillmentInfo)

이 광고 항목의 처리 정보입니다. 설정하지 않으면 이 광고 항목은 주문 수준 처리 정보를 상속합니다.

itemOptions[]

object (ItemOption)

추가 부가기능 또는 하위 항목

productDetails

object (ProductDetails)

제품 세부정보입니다.

extension
(deprecated)

object

판매자와 Google 간에 교환된 추가 필드입니다. 참고: 이 확장 프로그램은 사용하지 않는 것이 좋습니다. 사용 사례/상황에 따라 다음 중 하나를 고려하세요. 1. 다른 사용 사례 (일반 기능/기능)에 사용할 수 있는 경우 PurchaseItemExtension의 필드를 정의합니다. 2. 일반이 아닌 맞춤 사용 사례/기능과 관련된 경우 vertical_extension을 사용합니다.

임의 유형의 필드를 포함하는 객체입니다. 추가 필드 "@type"은 유형을 식별하는 URI를 포함합니다. 예를 들면 { "id": 1234, "@type": "types.example.com/standard/id" }입니다.

구매 상태

구매주문서 또는 특정 광고 항목과 연결된 구매 상태입니다.

열거형
PURCHASE_STATUS_UNSPECIFIED 상태가 지정되지 않았습니다.
READY_FOR_PICKUP 수령 준비 완료
SHIPPED 배송되었습니다.
DELIVERED 전송 완료.
OUT_OF_STOCK 재고 없음.
IN_PREPARATION 'IN_PREPARATION'의 의미는 문맥에 따라 다를 수 있습니다. 음식 주문에서는 음식이 준비되고 있을 수 있습니다. 소매업의 경우 상품이 포장 중일 수 있습니다.
CREATED 주문이 생성되었습니다.
CONFIRMED 판매자가 주문을 확인했습니다.
REJECTED 판매자가 주문 또는 광고 항목을 거부했습니다.
RETURNED 사용자가 상품을 반품했습니다.
CANCELLED 사용자가 주문 또는 광고 항목을 취소했습니다.
CHANGE_REQUESTED 사용자가 주문 변경을 요청했고 통합업체가 이 변경사항을 처리하는 중입니다. 요청은 요청이 처리된 후 다른 상태로 이동되어야 합니다.

구매 유형

구매 카테고리입니다.

열거형
PURCHASE_TYPE_UNSPECIFIED 알 수 없는 값입니다.
RETAIL 여기에는 실제 상품과 같은 구매가 포함됩니다.
FOOD 여기에는 음식 주문 구매가 포함됩니다.
GROCERY 식료품 구매
MOBILE_RECHARGE 선불 모바일 충전 구매

판매자 단위 측정

판매자 단가 책정 단위입니다.

JSON 표현
{
  "measure": number,
  "unit": enum (Unit)
}
필드
measure

number

값: 예 1.2.

unit

enum (Unit)

단위: POUND, GRAM 예

단위

열거형
UNIT_UNSPECIFIED 단위가 지정되지 않았습니다.
MILLIGRAM 밀리그램.
GRAM 문법.
KILOGRAM 킬로그램.
OUNCE 아.
POUND 파운드.

구매 반품 정보

주문 또는 특정 광고 항목과 연결된 정보를 반환합니다.

JSON 표현
{
  "isReturnable": boolean,
  "daysToReturn": integer,
  "policyUrl": string
}
필드
isReturnable

boolean

true인 경우 반환이 허용됩니다.

daysToReturn

integer

해당 날짜 내에 반품이 허용됩니다.

policyUrl

string

반품 정책 링크

구매 처리 정보

구매주문서 또는 특정 광고 항목과 관련된 주문 처리 정보

JSON 표현
{
  "id": string,
  "fulfillmentType": enum (Type),
  "expectedFulfillmentTime": {
    object (Time)
  },
  "expectedPreparationTime": {
    object (Time)
  },
  "location": {
    object (Location)
  },
  "expireTime": string,
  "price": {
    object (PriceAttribute)
  },
  "fulfillmentContact": {
    object (UserInfo)
  },
  "shippingMethodName": string,
  "storeCode": string,
  "pickupInfo": {
    object (PickupInfo)
  }
}
필드
id

string

이 서비스 옵션의 고유 식별자입니다.

fulfillmentType

enum (Type)

필수: 처리 유형입니다.

expectedFulfillmentTime

object (Time)

시간 범위가 지정된 경우의 기간 또는 단일 시간이 지정된 경우 ETA입니다. 예상 배송 시간 또는 수령 시간입니다.

expectedPreparationTime

object (Time)

시간 범위가 지정된 경우의 기간 또는 단일 시간이 지정된 경우 ETA입니다. 음식을 준비하는 데 걸리는 시간입니다. 일회성으로 권장됩니다.

location

object (Location)

수령 또는 배달 위치

expireTime

string (Timestamp format)

이 처리 옵션이 만료되는 시간입니다.

RFC3339 UTC 'Zulu' 형식의 타임스탬프(나노초 해상도 및 최대 9자리 소수) 예: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z"

price

object (PriceAttribute)

이 옵션의 비용입니다.

fulfillmentContact

object (UserInfo)

이 처리의 사용자 연락처입니다.

shippingMethodName

string

사용자가 선택한 배송 방법의 이름입니다.

storeCode

string

위치의 StoreCode입니다. 예: Walmart는 판매자이고 storeCode는 처리가 발생한 walmart 매장입니다. https://support.google.com/business/answer/3370250?ref_topic=4596653

pickupInfo

object (PickupInfo)

주문 선택 방법에 대한 추가 정보입니다. 이 필드는 fulfillment 유형이 PICKUP인 경우에만 적용됩니다.

유형

처리 유형.

열거형
TYPE_UNSPECIFIED 유형이 지정되지 않습니다.
DELIVERY 이 주문은 배송됩니다.
PICKUP 이 주문을 수령해야 합니다.

시간

사용자에게 주문을 표시할 때 사용할 이벤트의 시간을 나타내는 시간 구성입니다.

JSON 표현
{
  "timeIso8601": string
}
필드
timeIso8601

string

예약 시간, 배송 시간 등과 같은 주문 이벤트 시간을 나타냅니다. 기간 (시작 및 종료 시간), 날짜, 날짜 시간 등이 될 수 있습니다. 지원되는 모든 형식은 https://en.wikipedia.org/wiki/ISO_8601을 참고하세요.

수령 정보

주문 수령 방법에 관한 세부정보 수령 유형과 각 유형에 첨부된 추가 메타데이터(있는 경우)와 같은 세부정보가 포함됩니다.

JSON 표현
{
  "pickupType": enum (PickupType),
  "curbsideInfo": {
    object (CurbsideInfo)
  },
  "checkInInfo": [
    {
      object (CheckInInfo)
    }
  ]
}
필드
pickupType

enum (PickupType)

수령 방법(예: INSTORE, CURBSIDE)

curbsideInfo

object (CurbsideInfo)

매장 밖 정보와 관련된 세부정보입니다. pickupType이 'CURBSIDE'가 아니면 이 필드는 무시됩니다.

checkInInfo[]

object (CheckInInfo)

파트너가 체크인을 지원하기 위해 지원하는 다양한 방법의 목록입니다.

수령 유형

지원되는 수령 유형 목록

열거형
UNSPECIFIED 수령 유형이 지정되지 않았습니다.
INSTORE 음식점 안에서 음식을 픽업합니다.
CURBSIDE 레스토랑 밖에 지정된 장소에 차량을 주차하면 누군가 음식을 배달합니다.

매장 밖 정보

매장 밖 주문 과정이 어떻게 이루어지는지 자세히 설명합니다.

JSON 표현
{
  "curbsideFulfillmentType": enum (CurbsideFulfillmentType),
  "userVehicle": {
    object (Vehicle)
  }
}
필드
curbsideFulfillmentType

enum (CurbsideFulfillmentType)

파트너는 매장 밖 수령 주문을 처리하기 위해 추가 정보가 필요합니다. 선택한 처리 유형에 따라 사용자에게서 관련 세부정보가 수집됩니다.

userVehicle

object (Vehicle)

주문하는 사용자의 차량 세부정보입니다.

매장 밖 수령 처리 유형

매장 밖 주문 유형의 가능한 값입니다.

열거형
UNSPECIFIED 매장 밖 주문 유형이 지정되지 않았습니다.
VEHICLE_DETAIL 매장 밖 수령을 용이하게 하려면 차량 세부정보가 필요합니다.

차량

차량 세부정보

JSON 표현
{
  "make": string,
  "model": string,
  "licensePlate": string,
  "colorName": string,
  "image": {
    object (Image)
  }
}
필드
make

string

차량 제조업체 (예: '혼다'). 이는 사용자에게 표시되며 현지화되어야 합니다. 필수 항목입니다.

model

string

차량 모델 (예: '그롬') 이는 사용자에게 표시되며 현지화되어야 합니다. 필수 항목입니다.

licensePlate

string

차량 번호판 번호 (예: '1ABC234') 필수 항목입니다.

colorName

string

차량 색상 이름(예: 검은색 선택사항)입니다.

image

object (Image)

차량 사진 URL입니다. 사진은 약 256x256픽셀로 표시됩니다. jpg 또는 png여야 합니다. 선택사항입니다.

체크인 정보

파트너가 체크인 방법을 지원하는 데 필요한 메타데이터입니다.

JSON 표현
{
  "checkInType": enum (CheckInType)
}
필드
checkInType

enum (CheckInType)

체크인 안내를 전송하는 데 사용되는 메서드입니다.

체크인 유형

체크인 안내를 전송하는 데 사용되는 다양한 메서드입니다.

열거형
CHECK_IN_TYPE_UNSPECIFIED 알 수 없는 값입니다.
EMAIL 체크인 정보는 이메일로 전송됩니다.
SMS 체크인 정보는 SMS로 전송됩니다.

항목 옵션

부가기능 또는 하위 항목을 나타냅니다.

JSON 표현
{
  "id": string,
  "name": string,
  "prices": [
    {
      object (PriceAttribute)
    }
  ],
  "note": string,
  "quantity": integer,
  "productId": string,
  "subOptions": [
    {
      object (ItemOption)
    }
  ]
}
필드
id

string

항목 옵션인 경우에는 고유 항목 ID입니다.

name

string

옵션 이름입니다.

prices[]

object (PriceAttribute)

옵션 총가격입니다.

note

string

옵션과 관련된 참고사항입니다.

quantity

integer

항목의 경우 수량입니다.

productId

string

이 옵션과 연결된 제품 또는 쿠폰 ID입니다.

subOptions[]

object (ItemOption)

다른 중첩된 하위 옵션을 정의하기 위해

제품 세부정보

제품 세부정보입니다.

JSON 표현
{
  "productId": string,
  "gtin": string,
  "plu": string,
  "productType": string,
  "productAttributes": {
    string: string,
    ...
  }
}
필드
productId

string

이 광고 항목과 연결된 제품 또는 혜택 ID입니다.

gtin

string

제품의 국제거래단품식별코드입니다. 오퍼 ID가 판매자 센터에 없는 경우에 유용합니다. 선택사항입니다.

plu

string

일반적으로 PLU 코드, PLU 번호, PLU, 생산 코드 또는 생산 라벨이라고 부르는 가격 조회 코드는 식료품점과 슈퍼마켓에서 판매되는 대량 농산물을 고유하게 식별하는 숫자 시스템입니다.

productType

string

판매자가 정의한 제품 카테고리입니다. 예: '홈 > 식료품 > 유제품 및 달걀 > 우유 > 전체 우유'

productAttributes

map (key: string, value: string)

판매자가 제공한 제품에 대한 세부정보입니다(예: { "allergen": "peanut"}). 판매자 센터에 OfferId가 없는 경우 유용합니다. 선택사항입니다.

"key": value 쌍 목록을 포함하는 객체입니다. 예를 들면 { "name": "wrench", "mass": "1.3kg", "count": "3" }입니다.

예약 항목 확장

음식점, 헤어컷 등의 예약 주문에 대한 광고 항목 콘텐츠입니다.

JSON 표현
{
  "status": enum (ReservationStatus),
  "userVisibleStatusLabel": string,
  "type": enum (ReservationType),
  "reservationTime": {
    object (Time)
  },
  "userAcceptableTimeRange": {
    object (Time)
  },
  "confirmationCode": string,
  "partySize": integer,
  "staffFacilitators": [
    {
      object (StaffFacilitator)
    }
  ],
  "location": {
    object (Location)
  }
}
필드
status

enum (ReservationStatus)

필수: 예약 상태입니다.

userVisibleStatusLabel

string

필수: 사용자에게 표시되는 상태 라벨/문자열입니다. 허용되는 최대 길이는 50자(영문 기준)입니다.

type

enum (ReservationType)

예약 유형입니다. 해당하는 유형 옵션이 없으면 설정되지 않을 수 있습니다.

reservationTime

object (Time)

서비스/이벤트가 실행되도록 예약된 시간입니다. 시간 범위, 날짜 또는 정확한 날짜 시간일 수 있습니다.

userAcceptableTimeRange

object (Time)

사용자가 허용하는 시간 범위입니다.

confirmationCode

string

이 예약의 확인 코드입니다.

partySize

integer

사용자 수입니다.

staffFacilitators[]

object (StaffFacilitator)

예약 서비스를 제공하는 직원 진행자 예를 들어 헤어 스타일리스트.

location

object (Location)

서비스/이벤트의 위치입니다.

예약 상태

예약 상태입니다.

열거형
RESERVATION_STATUS_UNSPECIFIED 상태가 지정되지 않았습니다.
PENDING 예약이 대기 중입니다.
CONFIRMED 예약이 확인되었습니다.
CANCELLED 사용자가 예약을 취소했습니다.
FULFILLED 예약이 완료됩니다.
CHANGE_REQUESTED 예약 변경이 요청됨
REJECTED 통합이 만료되었거나 통합에 의해 거부되었습니다.

예약 유형

예약 유형입니다.

열거형
RESERVATION_TYPE_UNSPECIFIED 알 수 없는 유형.
RESTAURANT 식당 예약입니다.
HAIRDRESSER 미용사 예약.

교직원 진행자

복무 직원에 관한 정보입니다.

JSON 표현
{
  "name": string,
  "image": {
    object (Image)
  }
}
필드
name

string

직원 진행자의 이름 예를 들어 '김서환'

image

object (Image)

공연자의 이미지

결제 데이터

주문과 관련된 결제 데이터입니다.

JSON 표현
{
  "paymentResult": {
    object (PaymentResult)
  },
  "paymentInfo": {
    object (PaymentInfo)
  }
}
필드
paymentResult

object (PaymentResult)

통합업체가 거래를 완료하는 데 사용하는 결제 결과입니다. 결제 환경을 Actions on Google에서 관리하는 경우 Actions on Google에 의해 이 필드가 채워집니다.

paymentInfo

object (PaymentInfo)

사용자 대면 상호작용에 유용한 주문과 관련된 결제 정보입니다.

PaymentResult

통합업체가 거래를 완료하는 데 사용한 결제 결과입니다.

JSON 표현
{

  // Union field result can be only one of the following:
  "googlePaymentData": string,
  "merchantPaymentMethodId": string
  // End of list of possible types for union field result.
}
필드
통합 필드 result는 Google 결제 데이터 또는 판매자 결제 수단이 제공되어 있어야 합니다. result은 다음 중 하나여야 합니다.
googlePaymentData

string

Google에서 결제 수단 데이터를 제공했습니다. 결제 대행업체가 Google 지원 결제 대행업체로 등록되어 있는 경우 https://developers.google.com/pay/api/ 링크를 통해 결제 대행업체로 이동하여 자세한 내용을 확인하세요. 그렇지 않다면 다음 문서에서 페이로드 세부정보를 확인하세요. https://developers.google.com/pay/api/payment-data-cryptography

merchantPaymentMethodId

string

사용자가 선택한 판매자/액션 제공 결제 수단

결제 정보

주문 관련 결제 정보입니다. 이 proto는 사용자 대면 상호작용에 유용한 정보를 캡처합니다.

JSON 표현
{
  "paymentMethodDisplayInfo": {
    object (PaymentMethodDisplayInfo)
  },
  "paymentMethodProvenance": enum (PaymentMethodProvenance)
}
필드
paymentMethodDisplayInfo

object (PaymentMethodDisplayInfo)

거래에 사용된 결제 수단의 표시 정보입니다.

paymentMethodProvenance

enum (PaymentMethodProvenance)

거래에 사용된 결제 수단의 출처입니다. 사용자가 Google과 판매자에 동일한 결제 수단을 등록했을 수 있습니다.

결제 수단 표시 정보

통합업체가 거래를 완료하는 데 사용한 결제 결과입니다.

JSON 표현
{
  "paymentType": enum (PaymentType),
  "paymentMethodDisplayName": string,
  "paymentMethodVoiceName": string
}
필드
paymentType

enum (PaymentType)

결제 유형.

paymentMethodDisplayName

string

사용자에게 표시되는 결제 수단의 이름입니다. 예: VISA **** 1234 당좌예금 **** 5678

paymentMethodVoiceName

string

음성 전용 어시스턴트 기기에서 사용자에게 말할 결제 수단 이름입니다. 예: '이 2/3으로 끝나는 비자' 또는 '5 육 7로 끝나는 당좌 예금 계좌' 참고: 음성 전용 어시스턴트 기기에서 paymentMethodDisplayName 대신 사용하는 음성에 최적화된 문자열입니다. 이 문자열을 설정하지 않으면 paymentMethodDisplayName이 사용자에게 음성으로 안내됩니다.

PaymentType

PaymentType은 판매자가 제공한 결제 수단에 사용되는 결제 수단을 나타냅니다. 작업에서 결제 수단의 표시 이름도 제공해야 합니다.

열거형
PAYMENT_TYPE_UNSPECIFIED 지정되지 않은 결제 유형입니다.
PAYMENT_CARD 신용카드/체크카드 또는 선불카드
BANK 결제 수단이 은행 계좌입니다.
LOYALTY_PROGRAM 결제 수단은 포인트 제도입니다.
CASH 결제 수단은 현금입니다.
GIFT_CARD 결제 수단이 기프트 카드입니다.
WALLET 서드 파티 월렛(예: PayPal)

결제 수단 출처

거래에 사용된 결제 수단 출처를 나타냅니다.

열거형
PAYMENT_METHOD_PROVENANCE_UNSPECIFIED 출처가 지정되지 않았습니다.
PAYMENT_METHOD_PROVENANCE_GOOGLE 출처는 Google입니다.
PAYMENT_METHOD_PROVENANCE_MERCHANT 출처는 판매자입니다.

프로모션

장바구니에 추가된 프로모션/혜택입니다.

JSON 표현
{
  "coupon": string
}
필드
coupon

string

필수: 이 쿠폰에 적용된 쿠폰 코드입니다.

구매주문서 광고 확장

구매 카테고리의 주문 광고 확장입니다. 이러한 속성은 광고 항목에서 재정의되지 않는 한 주문 내 모든 광고 항목에 적용됩니다.

JSON 표현
{
  "status": enum (PurchaseStatus),
  "userVisibleStatusLabel": string,
  "type": enum (PurchaseType),
  "returnsInfo": {
    object (PurchaseReturnsInfo)
  },
  "fulfillmentInfo": {
    object (PurchaseFulfillmentInfo)
  },
  "purchaseLocationType": enum (PurchaseLocationType),
  "errors": [
    {
      object (PurchaseError)
    }
  ],
  "extension": {
    "@type": string,
    field1: ...,
    ...
  }
}
필드
status

enum (PurchaseStatus)

필수: 주문의 전반적인 상태입니다.

userVisibleStatusLabel

string

사용자에게 표시되는 라벨/문자열 허용되는 최대 길이는 50자(영문 기준)입니다.

type

enum (PurchaseType)

필수: 구매 유형입니다.

returnsInfo

object (PurchaseReturnsInfo)

주문의 반품 정보입니다.

fulfillmentInfo

object (PurchaseFulfillmentInfo)

주문의 주문 처리 정보

purchaseLocationType

enum (PurchaseLocationType)

구매 위치 (매장 / 온라인)

errors[]

object (PurchaseError)

선택사항: 주문이 거부되는 오류입니다.

extension
(deprecated)

object

판매자와 Google 간에 교환된 추가 필드입니다. 참고: 이 확장 프로그램은 사용하지 않는 것이 좋습니다. 사용 사례/상황에 따라 다음 중 하나를 고려하세요. 1. 다른 사용 사례 (일반 기능/기능)에 사용할 수 있는 경우 PurchaseOrderExtension의 필드를 정의합니다. 2. 일반이 아닌 맞춤 사용 사례/기능과 관련된 경우 vertical_extension을 사용합니다.

임의 유형의 필드를 포함하는 객체입니다. 추가 필드 "@type"은 유형을 식별하는 URI를 포함합니다. 예를 들면 { "id": 1234, "@type": "types.example.com/standard/id" }입니다.

구매 위치 유형

구매 위치 유형

열거형
UNSPECIFIED_LOCATION 알 수 없는 값입니다.
ONLINE_PURCHASE 모든 온라인 구매
INSTORE_PURCHASE 모든 오프라인 구매

구매 오류

구매주문서가 거부될 수 있는 오류입니다.

JSON 표현
{
  "type": enum (ErrorType),
  "description": string,
  "entityId": string,
  "updatedPrice": {
    object (PriceAttribute)
  },
  "availableQuantity": integer
}
필드
type

enum (ErrorType)

필수: 판매자가 주문을 거부하는 세부적인 이유를 나타냅니다.

description

string

추가 오류 설명입니다.

entityId

string

오류에 해당하는 엔티티 ID입니다. 이 예는 LineItemId / ItemOptionId에 해당할 수 있습니다.

updatedPrice

object (PriceAttribute)

오류 유형이 PRICE_CHANGED / INORRECT_PRICE인 경우 관련 있습니다.

availableQuantity

integer

현재 사용 가능한 수량입니다. AVAILABILITY_CHANGED에 해당됩니다.

ErrorType

가능한 오류 유형입니다.

열거형
ERROR_TYPE_UNSPECIFIED 알 수 없는 오류
NOT_FOUND 항목을 찾을 수 없습니다. 항목, 처리 옵션, 프로모션일 수 있습니다. 엔티티 ID가 필요합니다.
INVALID 항목 데이터가 잘못되었습니다. 항목, 처리 옵션, 프로모션일 수 있습니다. 엔티티 ID가 필요합니다.
AVAILABILITY_CHANGED 항목을 사용할 수 없거나 요청을 처리할 만큼 항목이 부족합니다. 엔티티 ID가 필요합니다.
PRICE_CHANGED 항목 가격이 항목 항목의 가격과 다릅니다. 엔티티 ID 및 업데이트된 가격이 필요합니다.
INCORRECT_PRICE 수수료에 포함된 가격 오류, 합계 엔티티 ID 및 업데이트된 가격이 필요합니다.
REQUIREMENTS_NOT_MET 최소 주문 금액 제약을 받아들이는 데 제약이 있습니다.
TOO_LATE FulfillmentOption 만료됨
NO_CAPACITY 사용 가능한 서비스 용량이 없습니다. 보다 상세한 오류 유형을 적용할 수 없는 경우 이 오류 코드를 사용하세요.
NO_COURIER_AVAILABLE 배송업체를 찾을 수 없습니다. 세분화된 오류 유형으로 NO_CAPACITY로 분류할 수 있습니다.
INELIGIBLE 사용자가 주문할 수 없음 (블랙리스트에 등록됨)
OUT_OF_SERVICE_AREA 테두리 규칙 등으로 인해 요청한 주소로 배송할 수 없습니다.
CLOSED 음식점 주문 가능 시간이 영업 중이 아닙니다.
PROMO_NOT_APPLICABLE 아래에 모두 해당하지 않는 경우 프로모션 코드 적용에 실패한 모든 사례를 포착하는 일반 오류 코드입니다. 엔티티 ID로 프로모션 코드를 추가합니다.
PROMO_NOT_RECOGNIZED 파트너가 쿠폰 코드를 인식할 수 없습니다. 엔티티 ID로 프로모션 코드를 추가합니다.
PROMO_EXPIRED 프로모션이 만료되었으므로 적용할 수 없습니다. 엔티티 ID로 프로모션 코드를 추가합니다.
PROMO_USER_INELIGIBLE 현재 사용자는 이 쿠폰을 사용할 수 없습니다. 엔티티 ID로 프로모션 코드를 추가합니다.
PROMO_ORDER_INELIGIBLE 현재 주문으로는 이 쿠폰을 사용할 수 없습니다. 엔티티 ID로 프로모션 코드를 추가합니다.
UNAVAILABLE_SLOT 미리 주문 시간대를 사용할 수 없습니다.
FAILED_PRECONDITION 최소 주문 금액 제한에 미달하는 주문 수에 대한 제약조건
PAYMENT_DECLINED 결제가 잘못되었습니다.
MERCHANT_UNREACHABLE 판매자에게 연락할 수 없습니다. 파트너가 애그리게이터이고 판매자에게 도달할 수 없는 경우에 유용합니다.
ACCOUNT_LINKING_FAILED 판매자가 사용자 Google 계정을 시스템 계정에 연결하려고 했지만 연결하는 중에 오류가 발생했습니다.

TicketOrderExtension

영화, 스포츠 등의 티켓 주문 콘텐츠

JSON 표현
{
  "ticketEvent": {
    object (TicketEvent)
  }
}
필드
ticketEvent

object (TicketEvent)

이벤트가 모든 광고 항목 티켓에 적용되었습니다.

티켓 이벤트

단일 이벤트를 나타냅니다.

JSON 표현
{
  "type": enum (Type),
  "name": string,
  "description": string,
  "url": string,
  "location": {
    object (Location)
  },
  "eventCharacters": [
    {
      object (EventCharacter)
    }
  ],
  "startDate": {
    object (Time)
  },
  "endDate": {
    object (Time)
  },
  "doorTime": {
    object (Time)
  }
}
필드
type

enum (Type)

필수: 티켓 이벤트의 유형(예: 영화, 콘서트)

name

string

필수: 이벤트의 이름입니다. 예를 들어 영화인 경우 영화 이름이어야 합니다.

description

string

이벤트에 관한 설명입니다.

url

string

이벤트 정보의 URL입니다.

location

object (Location)

이벤트가 열리는 위치 또는 조직이 있는 위치입니다.

eventCharacters[]

object (EventCharacter)

이벤트와 관련된 문자입니다. 영화 이벤트의 감독이나 배우, 콘서트의 공연자가 될 수도 있습니다.

startDate

object (Time)

시작 시간

endDate

object (Time)

종료 시간

doorTime

object (Time)

입장 시간(일정 시작 시간과 다를 수 있음)

유형

이벤트 유형입니다.

열거형
EVENT_TYPE_UNKNOWN 알 수 없는 이벤트 유형입니다.
MOVIE 영화를 탭합니다.
CONCERT 콘서트
SPORTS 스포츠

이벤트 캐릭터

이벤트 캐릭터 1개(예: 주최자, 공연자)

JSON 표현
{
  "type": enum (Type),
  "name": string,
  "image": {
    object (Image)
  }
}
필드
type

enum (Type)

이벤트 캐릭터의 유형입니다(예: 배우 또는 감독).

name

string

캐릭터의 이름입니다.

image

object (Image)

캐릭터의 이미지

유형

문자 유형입니다.

열거형
TYPE_UNKNOWN 알 수 없는 유형입니다.
ACTOR 작업 수행자
PERFORMER 출연자.
DIRECTOR 디렉터
ORGANIZER 주최자입니다.

사용자 알림

주문 업데이트의 일부로 표시할 선택적 사용자 알림입니다.

JSON 표현
{
  "title": string,
  "text": string
}
필드
title

string

사용자 알림의 제목입니다. 허용되는 최대 길이는 30자(영문 기준)입니다.

text

string

알림의 콘텐츠입니다. 최대 길이는 100자(영문 기준)입니다.

NextScene

다음에 실행할 장면을 나타냅니다.

JSON 표현
{
  "name": string
}
필드
name

string

다음에 실행할 장면의 이름입니다.

세션

현재 대화 세션에 대한 정보가 포함됩니다.

JSON 표현
{
  "id": string,
  "params": {
    string: value,
    ...
  },
  "typeOverrides": [
    {
      object (TypeOverride)
    }
  ],
  "languageCode": string
}
필드
id

string

필수 항목입니다. 현재 대화 세션의 전역 고유 ID입니다. 읽기 전용 필드입니다.

params

map (key: string, value: value (Value format))

필수 항목입니다. 세션 중에 양식 및 인텐트에서 수집된 모든 매개변수의 목록입니다. 키는 매개변수 이름입니다. 여기에 정의된 매개변수는 세션에서 이미 정의된 매개변수와 병합됩니다. null 값이 있는 매개변수는 세션에서 삭제됩니다. 세션 저장소 문서(https://developers.google.com/assistant/conversational/storage-session)를 참고하세요.

"key": value 쌍 목록을 포함하는 객체입니다. 예: { "name": "wrench", "mass": "1.3kg", "count": "3" }

typeOverrides[]

object (TypeOverride)

선택사항입니다. 세션으로 범위가 지정된 유형입니다. 세션 유형은 기존 유형을 보완하거나 대체할 수 있습니다. 유형 이름은 고유해야 합니다.

languageCode

string

현재 대화 세션의 언어입니다. IETF BCP-47 언어 코드 http://www.rfc-editor.org/rfc/bcp/bcp47.txt를 따릅니다. 작업에서 다국어 기능을 사용하는 경우 사용자 언어와 다를 수 있습니다. 예를 들어 핸들러_response.expected.language_code가 설정되면 이후의 모든 차례의 대화 언어가 이 필드에 반영됩니다.

TypeOverride

유형의 재정의를 나타냅니다.

JSON 표현
{
  "name": string,
  "mode": enum (TypeOverrideMode),
  "synonym": {
    object (SynonymType)
  }
}
필드
name

string

필수 항목입니다. 보완하거나 재정의할 유형 이름입니다.

mode

enum (TypeOverrideMode)

필수 항목입니다. 이 유형을 다른 유형 값과 병합하는 방법

synonym

object (SynonymType)

TypeOverrideMode

세션 항목 유형의 수정 유형입니다.

열거형
TYPE_UNSPECIFIED 지정되지 않았습니다. 절대로 이 값을 사용하지 마세요.
TYPE_REPLACE 이 응답의 유형 정의는 이전에 정의된 유형 정의를 대체합니다.
TYPE_MERGE 이 응답의 유형 정의는 이전에 정의된 유형 정의와 병합됩니다. 새 유형 정의는 기존 유형 정의를 덮어씁니다.

동의어 유형

동의어가 있는 유형을 나타냅니다.

JSON 표현
{
  "entries": [
    {
      object (Entry)
    }
  ]
}
필드
entries[]

object (Entry)

필수 항목입니다. 동의어 유형의 항목 목록입니다.

항목

동의어 유형의 항목을 나타냅니다.

JSON 표현
{
  "name": string,
  "synonyms": [
    string
  ],
  "display": {
    object (EntryDisplay)
  }
}
필드
name

string

필수 항목입니다. 항목의 이름입니다 (예: '자전거'). 이 입력란의 항목은 유효한 유형 값으로 인식되려면 반복되는 동의어 필드에 포함되어야 합니다.

synonyms[]

string

필수 항목입니다. 항목의 동의어 목록입니다 (예: '자전거', '자전거').

display

object (EntryDisplay)

선택사항입니다. 항목 디스플레이의 정보입니다.

항목 표시

JSON 표현
{
  "title": string,
  "description": string,
  "image": {
    object (Image)
  },
  "footer": string,
  "openUrl": {
    object (OpenUrl)
  }
}
필드
title

string

필수 항목입니다. 상품의 제목입니다. 이 텍스트를 탭하면 사용자가 입력한 것처럼 대화에 그대로 게시됩니다. 각 제목은 컬렉션 항목 집합에서 고유해야 합니다.

description

string

선택사항입니다. 카드의 본문 텍스트입니다.

image

object (Image)

선택사항입니다. 표시할 이미지입니다.

footer

string

선택사항입니다. 탐색 컬렉션 항목의 바닥글 텍스트를 설명 아래에 표시합니다. 줄임표로 잘린 단일 텍스트 행.

openUrl

object (OpenUrl)

캐러셀 항목 탐색과 관련된 문서의 URL입니다. 캐러셀을 탐색하는 데 필요합니다.

사용자

작업에 요청하는 사용자를 나타냅니다.

JSON 표현
{
  "locale": string,
  "params": {
    string: value,
    ...
  },
  "accountLinkingStatus": enum (AccountLinkingStatus),
  "verificationStatus": enum (UserVerificationStatus),
  "lastSeenTime": string,
  "engagement": {
    object (Engagement)
  },
  "packageEntitlements": [
    {
      object (PackageEntitlements)
    }
  ],
  "permissions": [
    enum (Permission)
  ]
}
필드
locale

string

요청한 사용자의 기본 언어 설정입니다. IETF BCP-47 언어 코드 http://www.rfc-editor.org/rfc/bcp/bcp47.txt를 따릅니다. 그러나 스크립트 하위 태그는 포함되지 않습니다.

params

map (key: string, value: value (Value format))

선택사항입니다. 현재 사용자와 관련된 모든 매개변수의 목록입니다. 사용자 저장소 문서: https://developers.google.com/assistant/conversational/storage-user

"key": value 쌍 목록을 포함하는 객체입니다. 예를 들면 { "name": "wrench", "mass": "1.3kg", "count": "3" }입니다.

accountLinkingStatus

enum (AccountLinkingStatus)

사용자 계정이 앱에 연결되어 있는지 여부입니다.

verificationStatus

enum (UserVerificationStatus)

사용자의 인증 상태를 나타냅니다.

lastSeenTime

string (Timestamp format)

이 사용자와의 마지막 상호작용의 타임스탬프입니다. 이 필드는 사용자가 이전에 상담사와 상호작용한 적이 없는 경우 생략됩니다.

RFC3339 UTC 'Zulu' 형식의 타임스탬프(나노초 해상도 및 최대 9자리 소수) 예: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z"

engagement

object (Engagement)

인텐트 구독을 포함하여 현재 사용자의 참여입니다.

packageEntitlements[]

object (PackageEntitlements)

현재 작업과 연결된 Android 패키지와 관련된 사용자의 사용 권한입니다.

permissions[]

enum (Permission)

사용자가 이 작업에 부여한 권한이 포함되어 있습니다.

계정 연결 상태

최종 사용자가 계정을 이 앱에 연결했는지 여부를 나타냅니다. 계정 연결 문서(https://developers.google.com/assistant/identity)를 참고하세요.

열거형
ACCOUNT_LINKING_STATUS_UNSPECIFIED 알 수 없는 작업입니다.
NOT_LINKED 사용자가 이 앱에 계정을 연결하지 않았습니다.
LINKED 사용자가 계정을 이 앱에 연결했습니다.

사용자 확인 상태

Google에서 사용자를 인증했는지 여부를 나타냅니다. 인증 상태는 매개변수 필드를 사용하거나 계정 연결을 사용하여 대화에서 데이터를 저장할 수 있음을 나타냅니다.

열거형
USER_VERIFICATION_STATUS_UNSPECIFIED 알 수 없는 작업입니다.
GUEST 게스트 사용자
VERIFIED 인증된 사용자입니다.

참여

현재 사용자가 등록한 참여 메커니즘에 대한 추가 읽기 전용 정보를 제공합니다. 예를 들어 사용자가 동일한 인텐트를 다시 구독하지 않도록 하기 위해 사용자가 이미 구독 중인 인텐트를 알면 유용할 수 있습니다. 즉, 사용자가 이미 구독하지 않은 경우에만 이 정보를 장면으로 조건부로 라우팅하여 사용할 수 있습니다. 사용자 참여 문서(https://developers.google.com/assistant/engagement)를 참고하세요.

JSON 표현
{
  "pushNotificationIntents": [
    {
      object (IntentSubscription)
    }
  ],
  "dailyUpdateIntents": [
    {
      object (IntentSubscription)
    }
  ]
}
필드
pushNotificationIntents[]

object (IntentSubscription)

사용자가 푸시 알림을 사용 설정한 인텐트 목록을 포함합니다.

dailyUpdateIntents[]

object (IntentSubscription)

사용자가 일일 업데이트를 사용 설정한 인텐트 목록을 포함합니다.

IntentSubscription

기존 IntentSubscription을 설명합니다.

JSON 표현
{
  "intent": string,
  "contentTitle": string
}
필드
intent

string

구독 중인 인텐트의 이름입니다.

contentTitle

string

구독에 관한 간단한 설명입니다. 알림 라벨로 사용되며, 어시스턴트가 사용자에게 권한을 요청할 때도 사용됩니다.

PackageEntitlements

패키지 이름과 관련된 사용자의 사용 권한 목록. 디지털 제품 거래 문서(https://developers.google.com/assistant/transactions/digital/dev-guide-digital-non-consumables)를 참고하세요.

JSON 표현
{
  "packageName": string,
  "entitlements": [
    {
      object (Entitlement)
    }
  ]
}
필드
packageName

string

작업 패키지에 지정된 Android 패키지 이름입니다.

entitlements[]

object (Entitlement)

지정된 패키지에 대한 사용자의 사용 권한입니다.

권리형

사용자의 디지털 사용 권한을 정의합니다.

JSON 표현
{
  "sku": string,
  "skuType": enum (SkuType),
  "inAppDetails": {
    object (SignedData)
  }
}
필드
sku

string

제품 SKU 유료 앱의 패키지 이름, 인앱 구매 및 인앱 정기 결제를 위한 Finsky Docid의 접미사입니다. Play InApp Billing API에서 getSku()와 일치합니다. Play 인앱 결제 문서(https://developer.android.com/google/play/billing)를 참고하세요.

skuType

enum (SkuType)

SKU 유형입니다.

inAppDetails

object (SignedData)

인앱 구매 및 인앱 구독에만 제공됩니다.

SKU 유형

열거형
SKU_TYPE_UNSPECIFIED
IN_APP 인앱 구매
SUBSCRIPTION 구독
APP 유료 앱

서명된 데이터

JSON 표현
{
  "inAppPurchaseData": {
    object
  },
  "inAppDataSignature": string
}
필드
inAppPurchaseData

object (Struct format)

JSON 형식의 모든 인앱 구매 데이터가 포함됩니다. 자세한 내용은 https://developer.android.com/google/play/billing/billing_reference.html의 표 6을 참조하세요.

inAppDataSignature

string

Play InApp Billing API의 getPurchases() 메서드에서 IN_APP_DATA_SIGNATURE와 일치합니다.

권한

사용 가능한 권한 값입니다.

열거형
PERMISSION_UNSPECIFIED 권한이 지정되지 않았습니다.
DEVICE_PRECISE_LOCATION 사용자의 정확한 위치, 위도/경도, 형식이 지정된 주소를 요청합니다.
DEVICE_COARSE_LOCATION 사용자의 대략적인 위치, 우편번호, 도시, 국가 코드를 물어봅니다.
UPDATE 업데이트 전송 권한을 요청합니다. https://developers.google.com/assistant/engagement/daily를 참고하세요.

사용자의 대상 기기가 속한 HomeGraph 구조를 나타냅니다.

JSON 표현
{
  "params": {
    string: value,
    ...
  }
}
필드
params

map (key: string, value: value (Value format))

선택사항입니다. 대상 기기가 속한 HomeGraph 구조와 연결된 매개변수 목록입니다. 홈 스토리지 문서(https://developers.google.com/assistant/conversational/storage-home)를 참고하세요.

"key": value 쌍 목록을 포함하는 객체입니다. 예를 들면 { "name": "wrench", "mass": "1.3kg", "count": "3" }입니다.

기기

사용자가 작업에 요청하는 데 사용하는 기기를 나타냅니다.

JSON 표현
{
  "capabilities": [
    enum (Capability)
  ],
  "currentLocation": {
    object (Location)
  },
  "timeZone": {
    object (TimeZone)
  }
}
필드
capabilities[]

enum (Capability)

필수. 작업에 요청하는 기기의 기능입니다.

currentLocation

object (Location)

선택사항입니다. 사용자의 기기 위치입니다. 참고: 이 정보는 최종 사용자가 위치 정보 액세스 권한을 부여한 후에만 채워집니다. 대략적 권한과 세분화된 권한에 따라 설정된 필드에 대한 자세한 내용은 위치 메시지를 참조하세요. 권한 문서(https://developers.google.com/assistant/conversational/permissions)를 참고하세요.

timeZone

object (TimeZone)

선택사항입니다. 클라이언트 기기와 연결된 시간대입니다. 날짜/시간 값을 확인하는 데 사용할 수 있습니다.

기능

요청 시 기기 노출 영역에서 지원하는 기능입니다.

열거형
UNSPECIFIED 지정되지 않은 기기 기능
SPEECH 기기는 텍스트 음성 변환 또는 SSML을 통해 사용자와 대화할 수 있습니다.
RICH_RESPONSE 기기에 카드, 목록, 표 등 리치 응답이 표시될 수 있습니다.
LONG_FORM_AUDIO 기기에서 음악 및 팟캐스트와 같은 긴 형식의 오디오 미디어를 재생할 수 있습니다.
INTERACTIVE_CANVAS 기기에 대화형 캔버스 응답을 표시할 수 있습니다.
HOME_STORAGE 기기에서 홈 저장용량 저장 및 가져오기를 지원할 수 있습니다.

위치

위치를 나타내는 컨테이너입니다.

JSON 표현
{
  "coordinates": {
    object (LatLng)
  },
  "postalAddress": {
    object (PostalAddress)
  }
}
필드
coordinates

object (LatLng)

지리 좌표 [DEVICE_PRECISE_LOCATION] 권한이 필요합니다.

postalAddress

object (PostalAddress)

우편 주소 [DEVICE_PRECISE_LOCATION] 또는 [DEVICE_COARSE_LOCATION] 권한이 필요합니다. 대략적 위치 정보 액세스 권한이 부여되면 'postalCode' 및 'locality' 필드만 채워집니다. 정확한 위치 정보 액세스 권한은 'administrativeArea' 및 'addressLines'와 같은 추가 필드를 채웁니다.

TimeZone

IANA 시간대 데이터베이스에서 가져온 시간대를 나타냅니다.

JSON 표현
{
  "id": string,
  "version": string
}
필드
id

string

IANA 시간대 데이터베이스의 시간대입니다(예: 'America/New_York').

version

string

선택사항입니다. IANA 시간대 데이터베이스의 버전 번호입니다(예: '2019a').

맥락

사용자가 쿼리할 때 컨텍스트 정보가 포함됩니다. 이러한 컨텍스트에는 활성 미디어 세션, 캔버스 웹 앱 상태 등이 포함되며 이에 국한되지 않습니다.

JSON 표현
{
  "media": {
    object (MediaContext)
  },
  "canvas": {
    object (CanvasContext)
  }
}
필드
media

object (MediaContext)

현재 활성 미디어 세션에 대한 컨텍스트 정보가 포함됩니다.

canvas

object (CanvasContext)

현재 캔버스에 대한 컨텍스트 정보가 포함됩니다.

미디어 컨텍스트

현재 활성 미디어 세션에 대한 컨텍스트 정보가 포함됩니다.

JSON 표현
{
  "progress": string,
  "index": integer
}
필드
progress

string (Duration format)

현재 활성 미디어 파일의 미디어 진행 상황

초 단위 기간으로, 소수점 아래 9자리까지 지정 가능하며 's'로 끝납니다(예: "3.5s").

index

integer

미디어 응답의 미디어 파일 목록에 있는 현재 활성 미디어 파일의 색인(0부터 시작)입니다.

캔버스 컨텍스트

현재 캔버스에 대한 컨텍스트 정보가 포함됩니다.

JSON 표현
{
  "state": value
}
필드
state

value (Value format)

선택사항입니다. 3P Interactive Canvas 앱에서 설정한 상태입니다. 응답이 아닌 요청에만 설정됩니다. 예를 들어 레시피 앱이라면 상태는 구조체 값이 될 수 있습니다. { "current_page" : 5, "last_page" : 3, } 크기 한도는 50KB입니다.

예상

다음 대화 차례에 대한 기대치를 설명합니다.

JSON 표현
{
  "speech": [
    string
  ]
}
필드
speech[]

string

작업에서 음성 바이어스를 위해 사용자의 발화에서 기대하는 구문 목록입니다. 구문은 최대 1,000개까지 허용됩니다. 참고: 이 필드는 v2 API의 ExpectInput.speech_biasing_hints와 의미가 같습니다.