對話動作已於 2023 年 6 月 13 日淘汰。詳情請參閱「對話動作已淘汰」。

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/stage

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

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

意願

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

選用設定。輸入符合這項意圖的使用者輸入或語音輸入的輸入內容。每當使用者比對意圖時,系統就會填入使用者輸入內容。

意圖參數值

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

選用設定。即將執行情境的情境資訊。

運算單元填充狀態

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

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

選用設定。必要時,系統會傳送這則提示給使用者。這項提示會覆寫控制台中定義的現有提示。Webhook 要求不包含這個欄位。

運算單元模式

代表運算單元的模式,也就是是否必要。

列舉
MODE_UNSPECIFIED 未填入用量欄位時的備用值。
OPTIONAL 表示運算單元不需要完成版位填充。
REQUIRED 表示需要

運算單元狀態

代表運算單元的狀態。

列舉
SLOT_UNSPECIFIED 未填入用量欄位時的備用值。
EMPTY 表示運算單元沒有任何值。這個狀態無法透過回應修改。
INVALID 指出運算單元值無效。這個狀態可透過回應設定。
FILLED 表示運算單元有值。這個狀態無法透過回應修改。

Prompt

代表回應回應。詳情請參閱 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」會將此提示中定義的訊息新增至先前回應中定義的訊息。如果將這個欄位設為「否」,就能在「提示」提示、「提示」提示和 Canvas 提示 (「內容」提示) 內附加部分欄位。如果收到提示,一律會覆寫內容與連結訊息。預設值為「false」。

firstSimple

object (Simple)

選用設定。第一個語音和純文字回應。

content

object (Content)

選用設定。要向使用者顯示的資訊卡、清單或媒體等內容。

lastSimple

object (Simple)

選用設定。最後一個語音和純文字回應。

suggestions[]

object (Suggestion)

選用設定。向使用者顯示的建議訊息,一律會顯示在回應結尾。如果包含提示的「覆寫」欄位為「false」,系統會將這個欄位中定義的標題加進先前定義建議提示的標題,並移除重複值。

canvas

object (Canvas)

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

orderUpdate

object (OrderUpdate)

選擇性動作會在交易流程收到訂單後收到 OrderUpdate 的回應。收到收據後,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

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

圖片填入

可能影響圖片外觀的圖片顯示選項。如果圖片的長寬比與圖片容器的長寬比不符,請使用這個方法。

列舉
UNSPECIFIED
GRAY 填補圖像和圖片容器之間的缺口。
WHITE 填充圖片和圖片容器之間的缺口。
CROPPED 圖片已縮放,確保圖片寬度和高度相符,或是超過容器尺寸。如果縮放後的高度大於容器的寬度,這可能會裁剪圖片的頂部和底部,如果縮放後的寬度大於容器寬度,則會裁剪圖片的左側和左側。這與在寬螢幕電視上播放 4:3 影片的「縮放模式」類似。

OpenUrl

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

string

網址欄位,可能包括:- 用於開啟應用程式連結應用程式或網頁的 http/https 網址

hint

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

按鈕。

表格欄

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

指出每列是否要有分隔線。

表格儲存格

說明資料列中的儲存格。

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)

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

時間長度以秒為單位,最多可有 9 個小數位數,並應以「s」結尾,例如:"3.5s"

optionalMediaControls[]

enum (OptionalMediaControls)

這個媒體回應工作階段支援的媒體控制類型 (選用)。如已設定,系統會在特定媒體事件發生時向第三方發出要求。如果未設定,第三方仍必須處理兩種預設控制項類型:FINISHED 和 FAILED。

mediaObjects[]

object (MediaObject)

媒體物件清單

repeatMode

enum (RepeatMode)

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

firstMediaObjectIndex

integer

要播放的 MediaObject 第一個媒體物件為 0 的索引。如果未指定、零或範圍邊界,播放作業會在 mediaObjects 中的第一個媒體物件開始播放。

MediaType

這個回應的媒體類型。

列舉
MEDIA_TYPE_UNSPECIFIED
AUDIO 音訊檔案。
MEDIA_STATUS_ACK 回覆即可確認媒體狀態報表。

OptionalMediaControls

媒體回應支援的媒體控制類型

列舉
OPTIONAL_MEDIA_CONTROLS_UNSPECIFIED 未指定的值
PAUSED 已暫停活動。使用者暫停媒體時觸發。
STOPPED 已停止活動。使用者在媒體播放期間離開 3p 工作階段時觸發。

媒體物件

代表單一媒體物件

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

string

此媒體物件的名稱。

description

string

此媒體物件的說明。

url

string

指向媒體內容的網址。MP3 檔案必須由網路伺服器代管,且會透過 HTTPS 網址公開存取。直播功能僅適用於 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)

從標題中顯示的小型圖片圖示。已調整為 36x36 dp。

重複模式

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

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

建議

這些建議會在螢幕顯示裝置的使用者,在 Google 助理顯示提示時,提供建議方塊。使用建議方塊提示使用者答案,即可繼續或調整對話內容。使用者輕觸後,建議方塊會將對話內容傳回,就像使用者自行輸入一樣。詳情請參閱 https://developers.google.com/assistant/conversational/prompts#suggestions

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

string

必要欄位。建議方塊中顯示的文字。使用者輕觸後,這段文字就會以使用者實際輸入的文字的形式在會話群組中傳回。每個建議方塊組合不得重複。最多 25 個半形字元

Canvas

代表要傳送給使用者的互動式 Canvas 回應。這個做法可與包含提示訊息的「firstSimple」欄位搭配使用,除了顯示互動式畫布回應外,也能向使用者顯示。回應的大小上限為 50 位元組。詳情請參閱 https://developers.google.com/assistant/interactivecanvas

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

string

要載入的互動式畫布網頁應用程式網址。如果未設定,系統會重複使用目前有效畫布的網址。

data[]

value (Value format)

選用設定。以事件的形式將 JSON 資料傳遞至沈浸式網頁。如果其中包含的 Canvas 提示內定義的「覆寫」欄位為「false」資料值,則系統會在先前 Canvas 提示中定義資料值之後新增。

suppressMic

boolean

選用設定。預設值:false。

continuousMatchConfig

object (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。如果 type = 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. 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. 除非另有指定,否則所有等級的所有字串都必須少於 1000 個字元。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

已淘汰:請改用 OrderExtension 狀態。此訂單狀態的可見標籤。

buyerInfo

object (UserInfo)

買方的相關資訊。

image

object (Image)

與訂單相關聯的圖片。

createTime

string (Timestamp format)

必要:訂單的建立日期和時間。

以 RFC3339 世界標準時間「Zulu」格式表示的時間戳記,單位為奈及解析度,最多為九位數。範例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

lastUpdateTime

string (Timestamp format)

訂單上次更新的日期和時間。OrderUpdate 為必要項目。

以 RFC3339 世界標準時間「Zulu」格式表示的時間戳記,單位為奈及解析度,最多為九位數。範例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

transactionMerchant

object (Merchant)

協助結帳的商家。這可以與委刊項層級供應商不同。範例:Expedia 訂單搭配 ANA 的委刊項。

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

使用者電子郵件,例如:janjanoe@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 位數的一系列數字。定義為字串字串,有助於在延伸階段使用前置字元 0 (機構沒有詳細定義,可自由指定)。除了數字以外,其他一些撥號字元 (例如「,」(表示等待)) 也可以儲存在這裡。以 xxx-xxx-xxxx-ext.123 為例,「123」代表副檔名。

preferredDomesticCarrierCode

string

撥打國內電話時,偏好的電信業者選取代碼。從部分國家/地區撥打市內電話時,這也包含部分國家/地區的電話號碼,反之亦然。例如,哥倫比亞目前,撥打手機時,使用者必須先撥打「3」,才能撥打至市話號碼,反之亦然。https://en.wikipedia.org/wiki/Telephone_numbers_in_Colombia https://zh.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

顯示地址,例如:「1600 Amphitheatre Pkwy, Mountain View, CA 94043, USA」。必須具備 [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/regional_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

一個委刊項包含一個產業。訂單或購物車中可以有多個含有相同產業的委刊項。建議您根據子用途,定義垂直的子委刊項/外掛程式等項目。注意:1. 除非另有指定,否則所有等級的所有字串都必須少於 1000 個字元。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)

預訂訂單,例如餐廳、理髮等。

價格屬性

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

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)

金額 (以百萬分之一為單位)。舉例來說,這個欄位應設為 $1.99 美元/ $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

。電子郵件地址和通話類型已淘汰。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)

表示網址類型的提示。

Android 應用程式

Android 應用程式:出貨限制

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

string

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

versions[]

object (VersionFilter)

如果指定多個篩選器,則任何篩選器比對都會觸發應用程式。

版本篩選器

如果您需要應用程式的特定版本,就必須加入 VersionFilter。

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

integer

最低版本代碼,或 0 (含)。

maxVersion

integer

版本代碼上限 (含)。系統建議範圍為 [minVersion:maxVersion]。空值範圍表示任何版本。例如:如要指定單一版本,請使用:[target_version:target_version]。如要指定任何版本,請將 minVersion 和 maxVersion 未指定。如要指定所有版本,直到 maxVersion 為止,請不要指定 minVersion。如要指定 minVersion 的版本,請將 maxVersion 設為未指定。

網址類型提示

不同類型的網址提示。

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

動作中繼資料

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

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

string (Timestamp format)

這項動作的到期時間。

以 RFC3339 世界標準時間「Zulu」格式表示的時間戳記,單位為奈及解析度,最多為九位數。範例:"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}。」這段揭露文字不得包含任何促銷或類似廣告的內容。

DisclosurePresentation 選項

揭露聲明的顯示選項。

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」在不同情境中可能具有不同的意義。FOOD 訂單可能需要準備食物。對零售業來說,這可能是商品包裝狀態。
CREATED 訂單已建立。
CONFIRMED 商家確認訂單。
REJECTED 商家已拒絕訂單或委刊項。
RETURNED 商品已退回使用者。
CANCELLED 使用者取消訂單或委刊項。
CHANGE_REQUESTED 使用者已要求變更訂單,而整合商正在處理這項變更。訂單處理完畢後,訂單就應移到其他狀態。

購買類型

購買類別。

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

MerchantUnitMeasurement

商家計價單位。

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

number

值:範例 1.2。

unit

enum (Unit)

單位:POUND、GRAM 範例。

單位

列舉
UNIT_UNSPECIFIED 未指定單位。
MILLIGRAM igram。
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)

指定時間範圍時,以及單一時間的 ETA (如有指定)。預計送達或取貨時間。

expectedPreparationTime

object (Time)

指定時間範圍時,以及單一時間的 ETA (如有指定)。準備餐點的預計時間。(建議只能提供一次)。

location

object (Location)

自取或外送地點。

expireTime

string (Timestamp format)

此執行選項的到期時間。

以 RFC3339 世界標準時間「Zulu」格式表示的時間戳記,單位為奈及解析度,最多為九位數。範例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

price

object (PriceAttribute)

此選項的費用。

fulfillmentContact

object (UserInfo)

此執行要求的使用者聯絡人。

shippingMethodName

string

使用者選擇的運送方式名稱。

storeCode

string

地點的 StoreCode。範例:Walmart 是商家,storestore 是執行出貨的 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://zh.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

車輛製造 (例如「Honda」)。使用者會看到這項資訊,而且必須本地化。這是必填欄位。

model

string

車輛模型 (例如「Grom」)。使用者會看到這項資訊,而且必須本地化。這是必填欄位。

licensePlate

string

車牌號碼 (例如「1ABC234」)。這是必填欄位。

colorName

string

車輛顏色名稱,例如 Black 選填。

image

object (Image)

車輛相片的網址。相片大約是 256x256 像素。必須為 jpg 或 png。選用。

檢查資訊

合作夥伴要求中繼資料以支援登錄方法。

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

enum (CheckInType)

用於傳送登錄指示的方法。

檢查類型

用來傳送登錄指示的各種方法。

列舉
CHECK_IN_TYPE_UNSPECIFIED 未知的值。
EMAIL 系統將以電子郵件傳送簽到資訊。
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

產品的全球交易品項識別碼。如果 Merchant Center 中沒有優惠 ID,則適合使用這個選項。選用。

plu

string

價格查詢代碼 (通常稱為 PLU 代碼、PLU 號碼、PLU、產生代碼或生產標籤) 是唯一用來識別雜貨店和超市 (而非大量銷售) 的大量號碼系統。

productType

string

商家定義的產品類別。例如:「居家 > 雜貨店 > 乳製品與雞蛋 > 牛奶 > 全奶」

productAttributes

map (key: string, value: string)

商家提供的產品詳細資料,例如 { "allergen": "peanut" }。如果 Merchant Center 中沒有優惠 ID,就很適合使用此選項。選用。

這個物件中包含 "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)

針對與使用者互動相關的訂單訂單相關資訊。

付款結果

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

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 和商家註冊相同的付款方式。

PaymentMethodDisplayInfo

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

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

enum (PaymentType)

付款方式。

paymentMethodDisplayName

string

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

paymentMethodVoiceName

string

系統向使用者傳送的付款方式 (僅限語音助理裝置)。例如「最後以三分之二結尾」或「檢查帳戶末四碼為六秒七」。注意:此僅用於聲控字串,而非純助理助理裝置的 paymentMethodDisplayName。如未設定此字串,系統會改為向使用者顯示 payMethodDisplayName。

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 / INCORRECT_PRICE 錯誤類型。

availableQuantity

integer

目前可享有數量。適用於 AVAILABILITY_CHANGED。

ErrorType

可能發生的錯誤類型。

列舉
ERROR_TYPE_UNSPECIFIED 不明的錯誤
NOT_FOUND 找不到實體,例如項目、FulfillmentOption、促銷活動。必須提供實體 ID。
INVALID 實體資料無效,例如「Item」、「FulfillmentOption」、「Promotion」。必須提供實體 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 帳戶連結至他們的系統,但同時發生錯誤。

支援單擴充功能

訂購票券,例如電影、體育賽事等。

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

事件資訊的網址。

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 發起人。

使用者通知

使用者訂單通知中顯示的選用通知。

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

string

使用者通知的標題。長度上限為 30 個半形字元。

text

string

通知的內容。長度上限為 100 個半形字元。

NextScene 大會

代表接下來要執行的場景。

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

string

要執行的場景名稱。

Session

包含目前的對話工作階段相關資訊

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。如果動作使用多種語言,這項操作可能與使用者所在地區不同。例如,設定處理常式_response.expected.language_code 後,會變更所有後續回應的對話語言,且會反映在這個欄位。

類型覆寫

代表類型的覆寫。

JSON 表示法
{
  "name": string,
  "mode": enum (TypeOverrideMode),
  "synonym": {
    object (SynonymType)
  }
}
欄位
name

string

必要欄位。用於補充或覆寫的類型名稱。

mode

enum (TypeOverrideMode)

必要欄位。如何合併這個類型與其他類型值。

synonym

object (SynonymType)

類型覆寫模式

工作階段實體類型的修改方式類型。

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

與瀏覽輪轉介面項目相關聯的文件網址。必須選取才能瀏覽輪轉介面。

使用者

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

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」格式表示的時間戳記,單位為奈及解析度,最多為九位數。範例:"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 已驗證的使用者。

參與度

針對使用者目前註冊的參與度機制,提供其他唯讀資訊。例如,瞭解使用者已訂閱的意圖,以防他們需要重新訂閱相同的意圖。例如,在使用者尚未訂閱時,才有條件地將事件轉送至場景,以便設定 DailyUpdates 或 PushNotification。請參閱使用者參與度說明文件:https://developers.google.com/assistant/engagement

JSON 表示法
{
  "pushNotificationIntents": [
    {
      object (IntentSubscription)
    }
  ],
  "dailyUpdateIntents": [
    {
      object (IntentSubscription)
    }
  ]
}
欄位
pushNotificationIntents[]

object (IntentSubscription)

包含使用者已啟用推播通知的意圖清單。

dailyUpdateIntents[]

object (IntentSubscription)

包含使用者已啟用每日更新的意圖清單。

意圖訂閱

說明現有的 IntentSubscription。

JSON 表示法
{
  "intent": string,
  "contentTitle": string
}
欄位
intent

string

已訂閱意圖的名稱。

contentTitle

string

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

套件授權

與套件名稱相關的使用者授權清單,請參閱數位商品交易說明文件: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 裝置可以播放音樂和 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)

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

媒體內容

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

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

string (Duration format)

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

時間長度以秒為單位,最多可有 9 個小數位數,並應以「s」結尾,例如:"3.5s"

index

integer

媒體回應中媒體檔案清單內的目前有效媒體檔案 (從 0 開始)。

結構定義

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

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

value (Value format)

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

分析師預期

說明下一個對話方塊回合的期望。

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

string

使用者預期語音自訂調整的語音語句清單。最多可使用 1000 個詞組。注意:這個欄位的定義與 v2 API 中的 expectedInput.speech_biasing_hints 相同。