Method: fulfill

代表執行要求 API 的 RPC

HTTP 要求

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

這個網址使用 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)

選用設定。呼叫函式時,目前和下一個場景的資訊。在情境範圍內發出執行要求呼叫時,將會填入資料。詳情請參閱 https://developers.google.com/assistant/conversational/scenes

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)

選用設定。可用來在使用者可存取的 Google 助理裝置之間移動。

expected

object (Expected)

選用設定。說明下個回合的預期情況。

Handler

代表執行要求處理常式,將 Actions on Google 中的事件資訊對應至執行要求。請使用處理常式名稱來決定要在執行要求中執行哪些程式碼。例如,處理常式可以透過「OrderLookup」這類處理常式名稱取得使用者訂單資訊。另一個則可能是從資料庫取得產品資訊,使用的處理常式名稱是「GetProductInfo」。

JSON 表示法
{
  "name": string
}
欄位
name

string

選用設定。處理常式的名稱。

Intent

代表意圖。詳情請參閱 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)

必要欄位。從使用者輸入內容中擷取的參數結構化值。只有在相符意圖中定義了該參數,且意圖比對期間可識別該參數值時,系統才會填入資料。

Scene

代表場景。場景可以呼叫執行要求、新增提示,並向使用者收集運算單元值。場景是由事件或意圖觸發,可能會觸發事件和比對意圖,並轉換至其他場景。

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)

選用設定。接下來要執行的場景資訊。

SlotFillingStatus

代表運算單元填充的目前狀態。

列舉
UNSPECIFIED 未填入「Usage」欄位時的備用值。
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)

選用設定。系統會在需要填入所需版位時,向使用者傳送這則提示。這個提示會覆寫控制台中定義的現有提示。Webhook 要求不包含這個欄位。

SlotMode

代表運算單元的模式,亦即是否必要。

列舉
MODE_UNSPECIFIED 未填入「Usage」欄位時的備用值。
OPTIONAL 表示不需要完成運算單元填充。
REQUIRED 表示需要該運算單元才能完成運算單元填充。

SlotStatus

代表時段狀態。

列舉
SLOT_UNSPECIFIED 未填入「Usage」欄位時的備用值。
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)

選用設定。代表要傳送給使用者的互動式畫布回應。

orderUpdate

object (OrderUpdate)

在交易流程中,選擇性動作會在收到訂單後回應 OrderUpdate。Google 會在收到該筆訂單後,將這項更新記錄至訂單;如果交易成功,Google 會在顯示裝置上顯示收據卡和已傳送的 TTS。

簡潔

代表要傳送給使用者的簡單提示。詳情請參閱 https://developers.google.com/assistant/conversational/prompts-simple

JSON 表示法
{
  "speech": string,
  "text": string
}
欄位
speech

string

選用設定。代表要向使用者讀出的語音。可以是 SSML 或文字轉語音。如果「覆寫」欄位的值為「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)

資訊卡,顯示要開啟的一系列網頁。

資訊卡

顯示部分資訊的基本資訊卡,例如圖片及/或文字詳情請參閱 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

資訊卡的內文。支援一組 Markdown 語法,以便用於格式設定。除非有圖片,否則此為必要屬性。

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

圖片的來源網址。圖片可以是 JPG、PNG 和 GIF (動畫及非動畫)。例如:https://www.agentx.com/logo.png。必填。

alt

string

用於無障礙的圖片文字說明,例如例如螢幕閱讀器和螢幕閱讀器等必填。

height

integer

圖片的高度 (以像素為單位)。選填。

width

integer

圖片寬度 (以像素為單位)。選填。

ImageFill

可能影響圖片呈現方式的圖片顯示選項。當圖片的長寬比與圖片容器的顯示比例不符時,請使用此屬性。

列舉
UNSPECIFIED
GRAY 以灰色長條填上圖片和圖片容器之間的空白。
WHITE 使用白色長條來填補圖片和圖片容器之間的空白。
CROPPED 圖片大小經過調整,使圖片的寬度和高度符合或超過容器尺寸。如果調整後的圖片高度大於容器高度,圖片的頂端和底部可能會遭到裁剪;如果調整過的圖片寬度大於容器寬度,可能會裁剪圖片的左右兩側。這類似於「縮放模式」透過寬螢幕電視播放 4:3 影片

OpenUrl

JSON 表示法
{
  "url": string,
  "hint": enum (UrlHint)
}
欄位
url

string

網址欄位,可能為下列任一值:- 用於開啟應用程式連結應用程式或網頁的 http/https 網址

hint

enum (UrlHint)

用於表示網址類型的提示。

UrlHint

不同類型的網址提示。

列舉
AMP 直接指向 AMP 內容的網址,或是透過 參照 AMP 內容的標準網址。詳情請參閱 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)

按鈕。

TableColumn

JSON 表示法
{
  "header": string,
  "align": enum (HorizontalAlignment)
}
欄位
header

string

資料欄的標題文字。

align

enum (HorizontalAlignment)

內容欄的水平對齊。如未指定,內容將會與前端對齊。

HorizontalAlignment

儲存格內容對齊方式。

列舉
UNSPECIFIED
LEADING 儲存格的開頭邊緣。此為預設值。
CENTER 內容會與欄位中心對齊。
TRAILING 內容會與欄的結尾邊緣對齊。

TableRow

說明資料表中的一列。

JSON 表示法
{
  "cells": [
    {
      object (TableCell)
    }
  ],
  "divider": boolean
}
欄位
cells[]

object (TableCell)

這一列的儲存格。我們保證會顯示前 3 個儲存格,但部分儲存格可能會遭到截斷。請使用模擬器進行測試,以瞭解特定表面會顯示哪些儲存格。

divider

boolean

表示每列後方是否應有分隔線。

TableCell

說明資料列中的儲存格。

JSON 表示法
{
  "text": string
}
欄位
text

string

儲存格的文字內容。

媒體

代表一個媒體物件。包含媒體相關資訊,例如名稱、說明、網址等。詳情請參閱 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)

第一個媒體物件的開始偏移。

期間以秒為單位,小數部分最多九位數,以「s」結尾。範例:"3.5s"

optionalMediaControls[]

enum (OptionalMediaControls)

這個媒體回應工作階段支援的選用媒體控制項類型。如果設定此值,當特定媒體事件發生時,要求就會傳送到 3p。如未設定,則第三方代碼仍必須處理「FINISHED」和「失敗」這兩種預設控制項類型。

mediaObjects[]

object (MediaObject)

媒體物件清單

repeatMode

enum (RepeatMode)

媒體物件清單的重複模式。

firstMediaObjectIndex

integer

要播放的 mediaObjects 中第一個媒體物件從 0 開始的索引。如果未指定、零或超出範圍,系統會從 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 (MediaImage)
  }
}
欄位
name

string

此媒體物件的名稱。

description

string

此媒體物件的說明。

url

string

指向媒體內容的網址。MP3 檔案必須託管於網路伺服器,並透過 HTTPS 網址公開存取。直播僅支援 MP3 格式。

image

object (MediaImage)

與媒體資訊卡一併顯示的圖片。

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)

顯示在標題右側的小型圖片圖示。已將大小調整為 36x36 dp。

RepeatMode

媒體物件清單的重複模式類型。

列舉
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)

產品素材資源集合項目圖片背景的填滿方式。選填。

CollectionItem

珍藏內容中的項目

JSON 表示法
{
  "key": string
}
欄位
key

string

必要欄位。符合相關 Type 中項目索引鍵名稱的 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

必要欄位。符合相關 Type 中項目索引鍵名稱的 NLU 金鑰。

CollectionBrowse

以大型圖塊項目的集合呈現一組網路文件。可選擇在網路檢視器中啟動關聯的網頁文件。詳情請參閱 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。

建議

在支援顯示功能的裝置上,Google 助理會在顯示提示時,透過建議方塊為使用者提供建議方塊。使用建議方塊,在使用者回覆內容提示下繼續對話或改變對話走向。使用者輕觸建議後,建議方塊會逐字傳回對話顯示的文字,就像使用者實際打字一樣。詳情請參閱 https://developers.google.com/assistant/conversational/prompts#suggestions

JSON 表示法
{
  "title": string
}
欄位
title

string

必要欄位。建議方塊中顯示的文字。使用者輕觸這段文字後,系統就會逐字張貼回對話,就像使用者已輸入訊息一樣。所有建議方塊的標題都不得重複。最多 25 個半形字元

Canvas

代表要傳送給使用者的互動式畫布回應。這個屬性可與「firstSimple」搭配使用欄位,除了顯示互動式畫布回應外,還會提示使用者發言。回應的大小上限為 5 萬個位元組。詳情請參閱 https://developers.google.com/assistant/interactivecanvas

JSON 表示法
{
  "url": string,
  "data": [
    value
  ],
  "suppressMic": boolean,
  "continuousMatchConfig": {
    object (ContinuousMatchConfig)
  }
}
欄位
url

string

要載入的互動式畫布網頁應用程式的網址。如果不設定這項政策,系統會重複使用目前使用中的畫布網址。

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。

ExpectedPhrase

JSON 表示法
{
  "phrase": string,
  "alternativePhrases": [
    string
  ]
}
欄位
phrase

string

在持續比對模式工作階段中,要比對的詞組。

alternativePhrases[]

string

即使在語音自訂調整功能的情況下,語音模型可能仍無法辨識某些詞組。這可讓開發人員指定同行式的替代觸發條件。

OrderUpdate

更新訂單。

JSON 表示法
{
  "type": enum (Type),
  "order": {
    object (Order)
  },
  "updateMask": string,
  "userNotification": {
    object (UserNotification)
  },
  "reason": string
}
欄位
type
(deprecated)

enum (Type)

已淘汰:請改用 OrderUpdate.update_mask。如果 type = SNAPSHOT,OrderUpdate.order 就應為整筆訂單。如果 type = ORDER_STATUS,這是指訂單層級的狀態變更。系統只會接收 order.last_update_time 和這個產業的狀態。注意:type.ORDER_STATUS 僅支援 PurcahaseOrderExtension 狀態更新,且目前沒有延長這項支援服務的計畫。建議使用 updateMask,因為這是更通用、可擴充且適用於所有產業。

order

object (Order)

updateMask

string (FieldMask format)

注意:以下是有關下列特殊欄位的考量/建議:1. order.last_update_time 會一律在更新要求中更新。2. order.create_time、order.google_order_id 和 order.merchant_order_id,如果 updateMask 的一部分,則會被略過。

這是以半形逗號分隔的完整欄位名稱清單。範例:"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 世界標準時間「Zulu」的時間戳記格式,解析度不超過奈秒,最多 9 個小數位數。範例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

lastUpdateTime

string (Timestamp format)

訂單上次更新日期和時間。對 OrderUpdate 來說為必填。

RFC3339 世界標準時間「Zulu」的時間戳記格式,解析度不超過奈秒,最多 9 個小數位數。範例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

transactionMerchant

object (Merchant)

進行結帳的商家。這可能與委刊項層級供應商不同。範例:包含 ANA 委刊項的 Expedia 訂單。

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)

票券訂單

UserInfo

使用者資訊。此屬性代表與訂單相關聯的使用者資訊。

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

E.164 格式的電話號碼,如國際電信聯盟 (ITU) 建議 E.164 所定義。維基連結:https://en.wikipedia.org/wiki/E.164

extension

string

ITU 建議並未標準化副檔名,但可定義為一系列長度上限為 40 位數的數字。定義為字串,以在延伸中使用開頭的零 (組織完全自由,因為並未定義標準)。除數字外,其他某些撥號字元,例如「,」(表示等待) 可能會儲存在這裡。例如「xxx-xxx-xxxx ext」。123、"123"是副檔名

preferredDomesticCarrierCode

string

在美國撥打這組電話號碼時優先使用的電信業者選取代碼。這也包括從市話撥打手機時,必須於部分國家/地區撥打的代碼,反之亦然。舉例來說,如果是在哥倫比亞,則輸入「3」以手機撥電話到國內電話時,必須先撥打電話號碼,反之亦然。https://en.wikipedia.org/wiki/Telephone_numbers_in_Colombia https://en.wikipedia.org/wiki/Brazilian_Carrier_Selection_Code

請注意,這是「首選」也就是說,其他程式碼或許也能

圖片

資訊卡中顯示的圖片。

JSON 表示法
{
  "url": string,
  "accessibilityText": string,
  "height": integer,
  "width": integer
}
欄位
url

string

圖片的來源網址。圖片可以是 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

商家名稱,例如「Panera Bread」。

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

顯示地址,例如「110 臺北市信義區信義路五段 7 號」。需要 [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 搭配 Places API 使用,以擷取地點的詳細資料。詳情請參閱 https://developers.google.com/places/web-service/place-id

LatLng

代表經緯度組合的物件。以一對雙精準數表示經度度數和緯度度數。除非另有指定,否則這個物件必須符合 WGS84 標準。此外,值必須在正規化範圍內。

JSON 表示法
{
  "latitude": number,
  "longitude": number
}
欄位
latitude

number

緯度度數,必須介於 [-90.0, +90.0] 的範圍之間。

longitude

number

經度度數,必須介於 [-180.0, +180.0] 的範圍之間。

PostalAddress

表示郵寄地址,如郵政快遞或付款地址。如果是郵寄地址,郵政服務可將貨品寄送到場所、郵政信箱或類似位置。此表示法並不適用於建立地理位置 (街道、鄉鎮或山區) 的模型。

在一般使用情況下,系統會根據處理作業的類型,以使用者輸入或匯入現有資料的方式來建立地址。

地址輸入/編輯的建議:- 使用支援 i18n 的地址小工具 (例如 https://github.com/google/libaddressinput) - 在使用者使用該欄位的國家/地區之外,不應向使用者顯示用於輸入或編輯欄位的 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/supplemental/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

選用設定。一般是指地址的縣市/鄉鎮部分。例如:美國城市、義大利市鎮、英國郵鎮。如為未明確定義縣市或其縣市不適用此結構的地區,請將 locality 留白,改用 addressLines。

sublocality

string

選用設定。地址的縣市以下行政區,例如社區、自治市鎮和區等。

addressLines[]

string

非結構化的地址行,說明地址的低層級項目。

由於 addressLines 中的值不會有類型資訊,而且有時在單一欄位中可能會包含多個值 (例如「Austin, TX」),因此地址行的順序務必要明確。地址行的順序應為該地址所在國家/地區的「信封書寫順序」。在信封書寫順序可能不盡相同的地區 (如日本),可使用 address_language 讓地址更明確 (例如「ja」表示由大到小的排序,而「ja-Latn」或「en」則表示由小到大)。如此一來,您便可以根據語言來選取明確度最高的地址行。

地址允許的最小結構表示法是包含一個 regionCode,並將其餘所有資訊放置在 addressLines 中。您可以在幾乎不使用地理定位的情况下,設定這類地址的格式,但至少在地址局部解析完畢之前,您無法對地址的任何組成部分進行語意推論。

如要處理完全非結構化的地址,我們建議您只建立包含 regionCode 和 addressLines 的地址,並使用地理定位來進行 (而非猜測地址的哪些部分應該是縣市還是行政區)。

recipients[]

string

選用設定。地址的收件人。在某些情況下,這個欄位可能會包含多行資訊。舉例來說,此欄位可能包含「代收者」資訊。

organization

string

選用設定。地址中的機構名稱。

目錄

委刊項的包裝函式。

JSON 表示法
{
  "lineItems": [
    {
      object (LineItem)
    }
  ]
}
欄位
lineItems[]

object (LineItem)

訂單委刊項清單。至少必須有 1 個委刊項,且最多允許 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

必填:商家指定的委刊項 ID。用於在套用部分更新時識別現有委刊項。長度上限為 64 個半形字元。

name

string

收據上顯示的明細項目名稱。長度上限為 100 個半形字元。

userVisibleStateLabel
(deprecated)

string

已淘汰,請改用產業層級狀態。舉例來說,如果是購物活動,請使用 PurchaseOrderExtension.status。這個委刊項狀態的使用者可見標籤。

provider

object (Merchant)

特定委刊項的供應商 (如果與整體訂單不同的話)。例如:包含委刊項供應商 ANA 的 Expedia 訂單。

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)

預訂訂單,例如餐廳、剪髮等

PriceAttribute

訂單或委刊項的價格屬性。

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)

必填:價格狀態:預估值與實際費用。

taxIncluded

boolean

是否含稅。

聯集欄位 spec。代表金額或毫秒百分比。spec 只能是下列其中一項:
amount

object (Money)

金額。

amountMillipercentage
(deprecated)

integer

百分比規格到百分比的 1/1000。例如:8.750% 以 8750 表示,負百分比代表折扣百分比。淘汰這個欄位。如果需要具體的用途,可以考慮重新加入計畫。

類型

代表金額的類型。

列舉
TYPE_UNSPECIFIED 未指定類型,因此客戶不必明確設定。
REGULAR 一般顯示價格,未套用任何折扣價。
DISCOUNT 從小計減去。
TAX 要加到小計中。
DELIVERY 要加到小計中。
SUBTOTAL 小計將扣除部分費用前。
FEE 任何額外費用。
GRATUITY 要加到小計中。
TOTAL 訂單或委刊項的價格。

代表價格狀態。

列舉
STATE_UNSPECIFIED 不指定。
ESTIMATE 價格僅為預估值,最終金額會接近這個金額。範例:假如交易時無法準確得知稅金,則總金額為 ESTIMATE。
ACTUAL 要向使用者收取的實際價格。

金額

代表金額與其貨幣類型。

JSON 表示法
{
  "currencyCode": string,
  "amountInMicros": string
}
欄位
currencyCode

string

ISO 4217 定義的貨幣代碼 (由 3 個英文字母組成)。

amountInMicros

string (int64 format)

金額,以微量為單位。舉例來說,這個欄位應設為 1990000 的價格為 $1.99。

動作

與訂單或委刊項相關聯的後續動作。

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

開啟指定網址。

JSON 表示法
{
  "url": string,
  "androidApp": {
    object (AndroidApp)
  },
  "urlTypeHint": enum (UrlTypeHint)
}
欄位
url

string

網址欄位,可能為下列任一值:- 用於開啟應用程式連結應用程式或網頁的 http/https 網址

androidApp

object (AndroidApp)

Android 應用程式相關資訊,指出網址是否應由 Android 應用程式執行。

urlTypeHint

enum (UrlTypeHint)

用於表示網址類型的提示。

AndroidApp

Android 應用程式的執行要求限制規格

JSON 表示法
{
  "packageName": string,
  "versions": [
    {
      object (VersionFilter)
    }
  ]
}
欄位
packageName

string

指定 Android 執行要求時,必須指定套件名稱套件名稱。

versions[]

object (VersionFilter)

指定多個篩選器時,只要有相符的篩選器,就會觸發應用程式。

VersionFilter

如果需要特定應用程式版本,則應加入 VersionFilter。

JSON 表示法
{
  "minVersion": integer,
  "maxVersion": integer
}
欄位
minVersion

integer

最低版本代碼為 0 或 0 (含首尾)。

maxVersion

integer

最高版本代碼 (含頭尾)。這個評估範圍是 [minVersion:maxVersion]。空值的範圍代表任何版本。範例:如要指定單一版本,請使用:[target_version:target_version]。如要指定任何版本,請保留 minVersion 和 maxVersion。如要指定 maxVersion 之前的所有版本,請不要指定 minVersion。如要從 minVersion 指定所有版本,請不要指定 maxVersion。

UrlTypeHint

不同類型的網址提示。

列舉
URL_TYPE_HINT_UNSPECIFIED 未指定
AMP_CONTENT 直接指向 AMP 內容的網址,或是透過 <link rel="amphtml"> 參照 AMP 內容的標準網址。

ActionMetadata

每個動作的相關中繼資料。

JSON 表示法
{
  "expireTime": string
}
欄位
expireTime

string (Timestamp format)

這個動作將於何時到期。

RFC3339 世界標準時間「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)

揭露聲明的顯示選項。

DisclosureText

代表包含網頁連結的純文字。

JSON 表示法
{
  "template": string,
  "textLinks": [
    {
      object (TextLink)
    }
  ]
}
欄位
template

string

要顯示的文字,包含「{0}」等預留位置和「{1}」。例如:「警告:此產品可能會使您接觸到加州都會已知致癌的化學物質。如需詳細資訊,請前往 {0}。」這段揭露文字不得包含任何宣傳或類似廣告的內容。

DisclosurePresentationOptions

揭露事項的選項。

JSON 表示法
{
  "presentationRequirement": enum (PresentationRequirement),
  "initiallyExpanded": boolean
}
欄位
presentationRequirement

enum (PresentationRequirement)

揭露聲明的顯示規定。

initiallyExpanded

boolean

揭露聲明內容是否應一開始就展開。根據預設,這個元件一開始是收合狀態。

PresentationRequirement

揭露事項的必備條件。

列舉
REQUIREMENT_UNSPECIFIED 未指定需求。請勿明確設定這項設定。
REQUIREMENT_OPTIONAL 上述揭露聲明為選用功能。如果裝置不支援顯示揭露聲明,則可略過廣告。
REQUIREMENT_REQUIRED 必須提供揭露事項。如果裝置不支援顯示揭露事項,對話就會進入電話中斷狀態。

PurchaseItemExtension

購買產業的委刊項內容。

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" }

PurchaseStatus

與訂購單或特定明細項目相關聯的購買狀態。

列舉
PURCHASE_STATUS_UNSPECIFIED 未指定狀態。
READY_FOR_PICKUP 已可取貨。
SHIPPED 已出貨。
DELIVERED 已送達。
OUT_OF_STOCK 缺貨中。
IN_PREPARATION 「IN_PREPARATION」在不同情境下可能有不同的含義若是 FOOD 訂單,它可能正在準備食物。以零售業來說,這可能是包裝商品。
CREATED 建立訂單。
CONFIRMED 商家已確認訂單。
REJECTED 商家拒絕訂單或委刊項。
RETURNED 使用者已退回商品。
CANCELLED 使用者已取消訂單或委刊項。
CHANGE_REQUESTED 使用者已要求變更訂單,而整合商正在處理這項變更。處理要求後,應將此訂單移至其他狀態。

PurchaseType

購買類別。

列舉
PURCHASE_TYPE_UNSPECIFIED 未知的值。
RETAIL 包括實體商品等交易。
FOOD 包括訂購餐點。
GROCERY 雜貨採購。
MOBILE_RECHARGE 購買預付行動儲值。

MerchantUnitMeasure

商家計價單位。

JSON 表示法
{
  "measure": number,
  "unit": enum (Unit)
}
欄位
measure

number

值:範例 1.2。

unit

enum (Unit)

Unit:範例 POUND,GRAM。

單位

列舉
UNIT_UNSPECIFIED 未指定單位。
MILLIGRAM 毫克。
GRAM
KILOGRAM 公斤。
OUNCE 嗶,
POUND 英鎊。

PurchaseReturnsInfo

傳回與訂單或特定委刊項相關聯的資訊。

JSON 表示法
{
  "isReturnable": boolean,
  "daysToReturn": integer,
  "policyUrl": string
}
欄位
isReturnable

boolean

如果為 true,則允許傳回。

daysToReturn

integer

退貨期限為這段時間內。

policyUrl

string

退貨政策的連結。

PurchaseFulfillmentInfo

與訂購單或特定明細項目相關聯的出貨資訊。

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

這個服務選項的專屬 ID。

fulfillmentType

enum (Type)

必填:執行要求類型。

expectedFulfillmentTime

object (Time)

指定時間範圍時會顯示時間範圍;如果指定單一時間,則為預計到達時間。預計送達或取貨時間。

expectedPreparationTime

object (Time)

指定時間範圍時會顯示時間範圍;如果指定單一時間,則為預計到達時間。預計的準備時間。建議設為單次使用,

location

object (Location)

提供取貨或送貨地點。

expireTime

string (Timestamp format)

這個執行要求選項的效期。

RFC3339 世界標準時間「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)

關於挑選訂單的其他資訊。只有在執行要求類型為 PICKUP 時,才能使用這個欄位。

類型

完成類型。

列舉
TYPE_UNSPECIFIED 未指定類型。
DELIVERY 這筆訂單將送達。
PICKUP 此訂單需要取貨。

時間

時間建構,代表向使用者顯示訂單時要使用的事件時間。

JSON 表示法
{
  "timeIso8601": string
}
欄位
timeIso8601

string

代表訂單活動時間,例如預訂時間、運送時間等。可以是時間長度 (開始和結束時間)、只有日期、日期等。如需所有支援的格式,請參閱 https://en.wikipedia.org/wiki/ISO_8601

PickupInfo

訂單取貨方式的詳細資料。包括取貨類型和其他中繼資料 (如有) 等詳細資料。

JSON 表示法
{
  "pickupType": enum (PickupType),
  "curbsideInfo": {
    object (CurbsideInfo)
  },
  "checkInInfo": [
    {
      object (CheckInInfo)
    }
  ]
}
欄位
pickupType

enum (PickupType)

取貨方式,例如 INSTORE、CURBSIDE 等

curbsideInfo

object (CurbsideInfo)

店外資訊的特定詳細資料。如果 pickupType 並非「CURBSIDE」,系統會忽略這個欄位。

checkInInfo[]

object (CheckInInfo)

合作夥伴支援各種支援簽到方式的清單。

PickupType

支援的取貨類型清單。

列舉
UNSPECIFIED 未指定上車類型。
INSTORE 在餐廳內取餐。
CURBSIDE 將車輛停在餐廳外的指定地點,有人會在當地送餐。

CurbsideInfo

店外取貨方式的詳細資料。

JSON 表示法
{
  "curbsideFulfillmentType": enum (CurbsideFulfillmentType),
  "userVehicle": {
    object (Vehicle)
  }
}
欄位
curbsideFulfillmentType

enum (CurbsideFulfillmentType)

合作夥伴需要額外資訊,才能協助店外取貨。視選取的執行要求類型而定,系統會向使用者收集相應的詳細資料。

userVehicle

object (Vehicle)

下單使用者的車輛詳細資料。

CurbsideFulfillmentType

店外出貨類型可能的值。

列舉
UNSPECIFIED 未指定店外出貨類型。
VEHICLE_DETAIL 必須提供車輛詳細資料,才能協助店外取貨。

車輛

車輛詳細資料

JSON 表示法
{
  "make": string,
  "model": string,
  "licensePlate": string,
  "colorName": string,
  "image": {
    object (Image)
  }
}
欄位
make

string

車輛廠牌 (例如「Honda」)。這會向使用者顯示,而且必須本地化。必填。

model

string

車輛型號 (例如「Grom」)。這會向使用者顯示,而且必須本地化。必填。

licensePlate

string

車牌號碼 (例如「1ABC234」)。必填。

colorName

string

交通工具顏色名稱,例如黑色選用。

image

object (Image)

車輛相片的網址。相片顯示大小約為 256 x 256 像素。必須是 jpg 或 png。選填。

CheckInInfo

合作夥伴支援登記方法所需的中繼資料。

JSON 表示法
{
  "checkInType": enum (CheckInType)
}
欄位
checkInType

enum (CheckInType)

寄送簽到指示的方法。

CheckInType

傳送登記指示的各種方法。

列舉
CHECK_IN_TYPE_UNSPECIFIED 未知的值。
EMAIL 會透過電子郵件傳送 CheckIn 資訊。
SMS 系統將透過簡訊傳送 CheckIn 資訊。

ItemOption

代表外掛程式或子項目。

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

「item_quantity」選項。

productId

string

與這個選項相關聯的產品或優惠 ID。

subOptions[]

object (ItemOption)

定義其他巢狀子選項。

ProductDetails

產品詳細資料。

JSON 表示法
{
  "productId": string,
  "gtin": string,
  "plu": string,
  "productType": string,
  "productAttributes": {
    string: string,
    ...
  }
}
欄位
productId

string

與這個委刊項相關聯的產品或優惠 ID。

gtin

string

產品的全球交易品項識別碼。在 Merchant Center 中沒有 OfferId 時相當實用。選填。

plu

string

價格查詢代碼通常稱為 PLU 代碼、PLU 號碼、PLU、產生代碼或農產品標籤,是一組專屬編號系統,可用於識別雜貨店和超市販售的大量農產品。

productType

string

商家定義的產品類別。例如:「首頁 >雜貨 >乳製品能量蛋 >牛奶 >全牛奶」

productAttributes

map (key: string, value: string)

商家提供的產品詳細資料,例如{ &quot;allergen&quot;: &quot;peanut&quot;}。在 Merchant Center 中沒有 OfferId 時相當實用。選填。

這個物件中包含 "key": value 組合的清單,範例:{ "name": "wrench", "mass": "1.3kg", "count": "3" }

ReservationItemExtension

預訂訂單 (例如餐廳、剪髮等) 的委刊項內容。

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)

服務/事件的地點。

ReservationStatus

預訂狀態。

列舉
RESERVATION_STATUS_UNSPECIFIED 未指定狀態。
PENDING 這筆預留項目尚待處理。
CONFIRMED 預訂已確認。
CANCELLED 使用者已取消預訂。
FULFILLED 已完成預訂。
CHANGE_REQUESTED 要求變更預留項目
REJECTED 預訂要求已過期或遭整合商拒絕。

ReservationType

預留項目類型。

列舉
RESERVATION_TYPE_UNSPECIFIED 未指定類型。
RESTAURANT 已幫餐廳訂位。
HAIRDRESSER 預約美髮服務。

StaffFacilitator

服務人員的相關資訊。

JSON 表示法
{
  "name": string,
  "image": {
    object (Image)
  }
}
欄位
name

string

教職員講師姓名。例如:「王大明」

image

object (Image)

表演者的圖片。

PaymentData

與訂單相關的付款資料。

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

使用者選擇的商家/動作提供的付款方式。

PaymentInfo

所下訂單的付款資訊。此 proto 會擷取有關使用者互動的實用資訊。

JSON 表示法
{
  "paymentMethodDisplayInfo": {
    object (PaymentMethodDisplayInfo)
  },
  "paymentMethodProvenance": enum (PaymentMethodProvenance)
}
欄位
paymentMethodDisplayInfo

object (PaymentMethodDisplayInfo)

顯示交易所用付款方式的資訊。

paymentMethodProvenance

enum (PaymentMethodProvenance)

交易所用付款方式的證明。使用者可能在 Google 和商家中註冊了相同的付款方式。

PaymentMethodDisplayInfo

整合商完成交易時使用的付款結果。

JSON 表示法
{
  "paymentType": enum (PaymentType),
  "paymentMethodDisplayName": string,
  "paymentMethodVoiceName": string
}
欄位
paymentType

enum (PaymentType)

付款類型。

paymentMethodDisplayName

string

使用者看到的付款方式名稱。例如 VISA **** 1234 支票帳戶 **** 5678

paymentMethodVoiceName

string

要在使用語音功能的助理裝置上,向使用者讀出的付款方式名稱。例如:「末碼為一二三四的簽證」或「支票帳戶結尾為五六七八次」。注意:這是語音最佳化字串,如果是語音專用助理裝置,則會使用這個字串,而非 paymentsMethodDisplayName。如未設定這個字串,系統會將 paymentsMethodDisplayName 朗讀給使用者。

PaymentType

PaymentType 代表用於商家提供的付款方式的付款方式。動作也必須為付款方式提供顯示名稱。

列舉
PAYMENT_TYPE_UNSPECIFIED 未指定的付款方式。
PAYMENT_CARD 信用卡/簽帳金融卡或預付卡。
BANK 付款方式為銀行帳戶。
LOYALTY_PROGRAM 付款方式為會員方案。
CASH 付款方式為現金。
GIFT_CARD 付款方式為禮物卡。
WALLET 第三方錢包,例如 PayPal

PaymentMethodProvenance

代表該筆交易使用的付款方式來源。

列舉
PAYMENT_METHOD_PROVENANCE_UNSPECIFIED 未指定來源。
PAYMENT_METHOD_PROVENANCE_GOOGLE 來源為 Google。
PAYMENT_METHOD_PROVENANCE_MERCHANT 來源為商家。

宣傳

加入購物車的促銷活動/優惠。

JSON 表示法
{
  "coupon": string
}
欄位
coupon

string

必填:套用至這項優惠的優待券代碼。

PurchaseOrderExtension

適用於購物產業的訂單額外資訊。除非在委刊項中覆寫設定,否則這些屬性會套用至訂單中的所有委刊項。

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 的欄位可用於其他用途 (亦即一般功能/功能),請在 PurchaseOrderExtension 中定義欄位。2. 如果是專為自訂的非一般用途/功能而設計,請使用 vertical_extension。

含有任意類型欄位的物件。額外的 "@type" 欄位則包含能辨識類型的 URI。範例:{ "id": 1234, "@type": "types.example.com/standard/id" }

PurchaseLocationType

購買地點類型。

列舉
UNSPECIFIED_LOCATION 未知的值。
ONLINE_PURCHASE 所有線上購買。
INSTORE_PURCHASE 所有店內交易。

PurchaseError

導致訂購單可能遭拒的錯誤。

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 / INCORRECT_PRICE 錯誤類型時的相關。

availableQuantity

integer

現貨數量。適用於 AVAILABILITY_CHANGED。

ErrorType

可能的錯誤類型。

列舉
ERROR_TYPE_UNSPECIFIED 不明的錯誤
NOT_FOUND 找不到實體,可能為「Item」、「FulfillmentOption」、「促銷活動」。必須提供實體 ID。
INVALID 實體資料無效。可能是商品、FulfillmentOption 和促銷活動必須提供實體 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)

套用至所有委刊項票券的事件。

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

活動資訊的網址。

location

object (Location)

活動舉辦地點或機構所在位置。

eventCharacters[]

object (EventCharacter)

與這個事件相關的角色。可能是電影活動的導演或演員,或是音樂會的表演者等。

startDate

object (Time)

開始時間。

endDate

object (Time)

結束時間。

doorTime

object (Time)

進入時間,可能與活動開始時間不同。例如:活動是從上午 9 點開始,但報名時間為上午 8:30

類型

事件的類型。

列舉
EVENT_TYPE_UNKNOWN 未知的事件類型。
MOVIE 電影。
CONCERT 音樂會/演唱會。
SPORTS 體育賽事。

EventCharacter

一個事件字元,例如主辦單位、表演者等

JSON 表示法
{
  "type": enum (Type),
  "name": string,
  "image": {
    object (Image)
  }
}
欄位
type

enum (Type)

事件字元的類型,例如:或導演

name

string

字元名稱。

image

object (Image)

人物的圖片。

類型

字元類型。

列舉
TYPE_UNKNOWN 類型不明。
ACTOR 執行者。
PERFORMER 表演者。
DIRECTOR 導演。
ORGANIZER 主辦人。

UserNotification

顯示於訂單更新項目的使用者通知 (選用)。

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))

必要欄位。在工作階段期間,從表單和意圖收集的所有參數的清單。鍵是參數名稱。這裡定義的參數會與工作階段中定義的參數合併。系統會將值為空值的參數從工作階段中移除。參閱工作階段儲存空間說明文件: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。如果動作使用多語言功能,則可能與使用者語言代碼有所不同。舉例來說,在設定 handler_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 這個回應中的類型定義會與先前定義的類型定義合併。新的類型定義會覆寫現有的類型定義。

SynonymType

以同義詞代表類型。

JSON 表示法
{
  "entries": [
    {
      object (Entry)
    }
  ]
}
欄位
entries[]

object (Entry)

必要欄位。同義詞類型的項目清單。

項目

代表同義詞類型的項目。

JSON 表示法
{
  "name": string,
  "synonyms": [
    string
  ],
  "display": {
    object (EntryDisplay)
  }
}
欄位
name

string

必要欄位。項目名稱 (例如「單車」)。這個欄位中的項目必須包含在重複的同義詞欄位中,才能視為有效類型值。

synonyms[]

string

必要欄位。項目的同義詞清單 (例如「單車」、「自行車」)。

display

object (EntryDisplay)

選用設定。項目顯示資訊。

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)

與瀏覽輪轉介面項目相關聯的文件網址。瀏覽輪轉介面時需要。

使用者

代表使用者提出該動作的要求。

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 世界標準時間「Zulu」的時間戳記格式,解析度不超過奈秒,最多 9 個小數位數。範例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

engagement

object (Engagement)

目前使用者的參與度,包括任何對意圖的訂閱項目。

packageEntitlements[]

object (PackageEntitlements)

與目前動作相關聯的 Android 套件相關的使用者授權。

permissions[]

enum (Permission)

包含使用者授予這項動作的權限。

AccountLinkingStatus

指出使用者是否已將帳戶與這個應用程式連結。請參閱帳戶連結說明文件:https://developers.google.com/assistant/identity

列舉
ACCOUNT_LINKING_STATUS_UNSPECIFIED 未知。
NOT_LINKED 使用者尚未將自己的帳戶與這個應用程式連結。
LINKED 使用者已將自身帳戶連結至這個應用程式。

UserVerificationStatus

指出 Google 是否已驗證使用者。「已驗證」狀態表示您可以使用參數欄位或帳戶連結功能,儲存不同對話的資料。

列舉
USER_VERIFICATION_STATUS_UNSPECIFIED 未知。
GUEST 訪客使用者。
VERIFIED 已驗證使用者。

參與度

針對目前使用者註冊的參與機制提供額外的唯讀資訊。舉例來說,瞭解使用者已訂閱哪些意圖,就能避免他們再次要求訂閱相同的意圖。例如,這項資訊可用於有條件地轉送至場景,以設定 DailyUpdates 或 PushNotification,前提是使用者尚未訂閱此資訊。請參閱使用者參與度說明文件: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

訂閱項目的簡短說明。用來做為通知的標籤,以及 Google 助理向使用者要求權限時。

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)

僅會顯示於應用程式內購和應用程式內訂閱。

SkuType

列舉
SKU_TYPE_UNSPECIFIED
IN_APP 應用程式內購
SUBSCRIPTION 訂閱
APP 付費應用程式

SignedData

JSON 表示法
{
  "inAppPurchaseData": {
    object
  },
  "inAppDataSignature": string
}
欄位
inAppPurchaseData

object (Struct format)

包含 JSON 格式的所有應用程式內購資料。詳情請參閱 https://developer.android.com/google/play/billing/billing_reference.html

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 裝置可以播放長篇音訊媒體,例如音樂和 Podcast。
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)

包含目前畫布的背景資訊。

MediaContext

包含目前進行中媒體工作階段的背景資訊。

JSON 表示法
{
  "progress": string,
  "index": integer
}
欄位
progress

string (Duration format)

目前有效媒體檔案的媒體進度。

期間以秒為單位,小數部分最多九位數,以「s」結尾。範例:"3.5s"

index

integer

媒體回應的媒體檔案清單中,目前有效媒體檔案的索引從 0 開始。

CanvasContext

包含目前畫布的背景資訊。

JSON 表示法
{
  "state": value
}
欄位
state

value (Value format)

選用設定。第三方互動式畫布應用程式設定的狀態。這個屬性只會針對要求設定,不會用於回應。舉例來說,如果這是食譜應用程式,狀態可以是 struct 的值:{ "current_page": 5, "last_page": 3, } 大小上限為 50 KB。

預期

說明下個回合的預期情況。

JSON 表示法
{
  "speech": [
    string
  ]
}
欄位
speech[]

string

動作根據使用者語音自訂調整所預期的字詞清單。最多允許 1,000 個詞組。注意:這個欄位的意義與第 2 版 API 中的 NormalInput.speech_biasing_hints 相同。