Method: fulfill

フルフィルメント API を表す RPC

HTTP リクエスト

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

この URL は gRPC Transcoding 構文を使用します。

リクエストの本文

リクエストの本文には、次の構造のデータが含まれます。

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)

省略可。ユーザーがアクセスできるアシスタント デバイス間を移動するために使用します。

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

省略可。このインテントに一致したエンドユーザーの入力または音声入力。ユーザー入力に基づいてインテントが一致すると入力されます。

IntentParameterValue

インテント パラメータの値を表します。https://developers.google.com/assistant/conversational/types をご覧ください。

JSON 表現
{
  "original": string,
  "resolved": value
}
フィールド
original

string

必須。ユーザーの発話から抽出された元のテキストの値。

resolved

value (Value format)

必須。ユーザー入力から抽出されたパラメータの構造化値。このパラメータは、一致したインテントでパラメータが定義されていて、インテント マッチングでパラメータの値を特定できた場合にのみ入力されます。

シーン

シーンを表します。シーンでは、フルフィルメントの呼び出し、プロンプトの追加、ユーザーからのスロット値の収集を行うことができます。シーンはイベントやインテントによってトリガーされ、イベントをトリガーしたり、インテントを一致させて他のシーンに移行したりできます。

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 用途フィールドに入力されていない場合のフォールバック値。
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 用途フィールドに入力されていない場合のフォールバック値。
OPTIONAL スロットがスロット充填を完了する必要がないことを示します。
REQUIRED スロット充填を完了するためにスロットが必要であることを示します。

SlotStatus

スロットのステータスを表します。

列挙型
SLOT_UNSPECIFIED 用途フィールドに入力されていない場合のフォールバック値。
EMPTY スロットに値がないことを示します。このステータスをレスポンスから変更することはできません。
INVALID スロット値が無効であることを示します。このステータスはレスポンスで設定できます。
FILLED スロットに値があることを示します。このステータスをレスポンスから変更することはできません。

プロンプト

ユーザーへの応答を表します。詳しくは、https://developers.google.com/assistant/conversational/prompts をご覧ください。

JSON 表現
{
  "override": boolean,
  "firstSimple": {
    object (Simple)
  },
  "content": {
    object (Content)
  },
  "lastSimple": {
    object (Simple)
  },
  "suggestions": [
    {
      object (Suggestion)
    }
  ],
  "link": {
    object (Link)
  },
  "canvas": {
    object (Canvas)
  },
  "orderUpdate": {
    object (OrderUpdate)
  }
}
フィールド
override

boolean

省略可。このメッセージを以前に定義されたメッセージと統合する方法のモード。「true」は、以前に定義されたすべてのメッセージ(最初と最後のシンプル、コンテンツ、候補リンク、キャンバス)を消去し、このプロンプトで定義されたメッセージを追加します。「false」以前のレスポンスで定義されているメッセージに、このプロンプトで定義されたメッセージを追加します。このフィールドを「false」のままにした場合また、シンプル プロンプト、候補プロンプト、Canvas プロンプト(コンテンツ プロンプトの一部)内の一部のフィールドへの追加も有効になります。プロンプトで定義されている場合、コンテンツとリンク メッセージは常に上書きされます。デフォルト値は「false」です。

firstSimple

object (Simple)

省略可。最初の音声とテキストのみのレスポンス。

content

object (Content)

省略可。ユーザーに表示するカード、リスト、メディアなどのコンテンツ。

lastSimple

object (Simple)

省略可。最後の音声とテキストのみのレスポンス。

suggestions[]

object (Suggestion)

省略可。ユーザーに表示される候補。常にレスポンスの最後に表示されます。「オーバーライド」がフィールドが「false」の場合、このフィールドで定義されたタイトルは、以前に定義された候補プロンプトで定義されたタイトルに追加され、重複する値は削除されます。

canvas

object (Canvas)

省略可。ユーザーに送信される Interactive Canvas のレスポンスを表します。

orderUpdate

object (OrderUpdate)

オプションのアクションは、トランザクション フローで注文を受け取った後、OrderUpdate で応答します。Google は注文の受け取りを受領すると、この注文の更新を記録します。確認が取れた場合は、領収書カードと送信された TTS がディスプレイ デバイスに表示されます。

シンプル

ユーザーに送信するシンプルなプロンプトを表します。https://developers.google.com/assistant/conversational/prompts-simple をご覧ください。

JSON 表現
{
  "speech": string,
  "text": string
}
フィールド
speech

string

省略可。ユーザーに読み上げられる音声を表します。SSML またはテキスト読み上げを使用できます。「オーバーライド」がフィールドが「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

カードの本文。書式設定用に限定されたマークダウン構文がサポートされています。画像が存在しない場合は必須。

image

object (Image)

カードのヒーロー画像。高さは 192 dp に固定されています。省略可。

imageFill

enum (ImageFill)

画像の背景を塗りつぶす方法。省略可。

button

object (Link)

アウトバウンド リンクのボタン。省略可。

画像

カードに表示される画像。詳しくは、https://developers.google.com/assistant/conversational/prompts-rich#image-cards をご覧ください。

JSON 表現
{
  "url": string,
  "alt": string,
  "height": integer,
  "width": integer
}
フィールド
url

string

画像のソース URL。JPG、PNG、GIF(アニメーション GIF と非アニメーション 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

次の URL フィールドのいずれか: - アプリとリンクしたアプリまたはウェブページを開くための http か https の URL

hint

enum (UrlHint)

URL タイプのヒントを示します。

UrlHint

URL ヒントのタイプ。

列挙型
AMP AMP コンテンツを直接指す URL、または を介して AMP コンテンツを参照する正規 URL を指します。https://amp.dev/ をご覧ください。

テキストの表を表示するテーブルカード。詳しくは、https://developers.google.com/assistant/conversational/prompts-rich#table_cards をご覧ください。

JSON 表現
{
  "title": string,
  "subtitle": string,
  "image": {
    object (Image)
  },
  "columns": [
    {
      object (TableColumn)
    }
  ],
  "rows": [
    {
      object (TableRow)
    }
  ],
  "button": {
    object (Link)
  }
}
フィールド
title

string

テーブルの全体的なタイトル。省略できますが、サブタイトルが設定されている場合は必ず設定する必要があります。

subtitle

string

テーブルのサブタイトル。省略可。

image

object (Image)

テーブルに関連付けられている画像。省略可。

columns[]

object (TableColumn)

ヘッダーと列の配置。

rows[]

object (TableRow)

テーブルの行データ。最初の 3 行は表示されることが保証されますが、その他の行はサーフェスによっては切り捨てられる場合があります。特定のサーフェスに対してどの行が表示されるかをシミュレータでテストしてください。WEB_BROWSER 機能をサポートするサーフェスでは、詳細なデータを示すウェブページを開くことができます。

button

object (Link)

ボタン。

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

セルのテキスト コンテンツ。

メディア

1 つのメディア オブジェクトを表します。名前、説明、URL など、メディアに関する情報が含まれています。https://developers.google.com/assistant/conversational/prompts-media をご覧ください。

JSON 表現
{
  "mediaType": enum (MediaType),
  "startOffset": string,
  "optionalMediaControls": [
    enum (OptionalMediaControls)
  ],
  "mediaObjects": [
    {
      object (MediaObject)
    }
  ],
  "repeatMode": enum (RepeatMode),
  "firstMediaObjectIndex": integer
}
フィールド
mediaType

enum (MediaType)

startOffset

string (Duration format)

最初のメディア オブジェクトの開始オフセット。

小数点以下 9 桁まで、「s」で終わる秒単位の期間(例: "3.5s")。

optionalMediaControls[]

enum (OptionalMediaControls)

このメディア レスポンス セッションがサポートするオプションのメディア コントロール タイプ。設定すると、特定のメディア イベントが発生したときにサードパーティにリクエストが行われます。このポリシーを設定しない場合でも、サードパーティは 2 つのデフォルトのコントロール タイプ(FINISHED と FAILED)を処理する必要があります。

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

メディア コンテンツを指す URL。MP3 ファイルはウェブサーバーでホストし、HTTPS URL で公開する必要があります。ライブ ストリーミングは 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)

タイトルの右側に表示される小さな画像アイコン。36×36 dp にサイズ変更されます。

RepeatMode

メディア オブジェクト リストの繰り返しモードの種類。

列挙型
REPEAT_MODE_UNSPECIFIED OFF に相当します。
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

必須。関連するタイプのエントリキー名と一致する 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 キー。

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

説明の下に表示されるコレクション アイテムのフッター テキスト。1 行のテキスト。省略記号で切り捨てられます。

image

object (Image)

コレクション アイテムの画像。

openUriAction

object (OpenUrl)

必須。アイテムが選択されたときに開く URI。

候補

候補では、ディスプレイ対応デバイスでアシスタントにメッセージを表示したときに候補ワードが表示されます。候補ワードを使用してユーザーの回答のヒントを得て、会話を続けたり会話を変えたりできます。タップすると、ユーザーが入力したかのように、表示されたテキストが候補ワードによって会話にそのまま返されます。詳しくは、https://developers.google.com/assistant/conversational/prompts#suggestions をご覧ください。

JSON 表現
{
  "title": string
}
フィールド
title

string

必須。候補ワードに表示されるテキスト。タップすると、あたかもユーザーがこのテキストをキーボードから入力したかのように、このテキストが会話にそのままポストバックされます。一連の候補ワードの間でタイトルが重複していてはなりません。最大 25 文字

キャンバス

ユーザーに送信される Interactive Canvas のレスポンスを表します。これは "firstSimple" 要素と組み合わせて使用できます。フィールドは、インタラクティブなキャンバスのレスポンスを表示するだけでなく、ユーザーに話しかけるためにプロンプトのレスポンスの最大サイズは 50,000 バイトです。詳しくは、https://developers.google.com/assistant/interactivecanvas をご覧ください。

JSON 表現
{
  "url": string,
  "data": [
    value
  ],
  "suppressMic": boolean,
  "continuousMatchConfig": {
    object (ContinuousMatchConfig)
  }
}
フィールド
url

string

読み込むインタラクティブなキャンバス ウェブアプリの URL。設定しない場合、現在アクティブなキャンバスの URL が再利用されます。

data[]

value (Value format)

省略可。没入型エクスペリエンスのウェブページにイベントとして渡される JSON データ。「オーバーライド」が含まれているプロンプトのフィールドが「false」であるこの Canvas プロンプトで定義したデータ値は、以前の 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 を代わりに使用してください。タイプが 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. 特に指定されていない限り、すべてのレベルの文字列はすべて 1,000 文字未満にする必要があります。2. 特に指定されていない限り、すべてのレベルの繰り返しフィールドの数は 50 未満にする必要があります。3. 指定する場合、すべてのレベルのタイムスタンプは有効なタイムスタンプである必要があります。

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

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

string

Google が割り当てた注文 ID。

merchantOrderId

string

必須: 販売者が割り当てた内部注文 ID。この ID は一意でなければならず、後続の注文更新操作に必要です。この ID は、指定された googleOrderId などの固有の値に設定できます。ユーザーに表示される ID は userVisibleOrderId ですが、ユーザー フレンドリーな別の値にすることもできます。最大文字数は 128 文字です。

userVisibleOrderId

string

現在の注文を参照する、ユーザーに表示される ID。この ID は、ウェブサイト、アプリ、メールなど、他のコンテキストで表示されるこの注文の ID と一致している必要があります。

userVisibleStateLabel
(deprecated)

string

非推奨: 代わりに OrderExtensions ステータスを使用してください。この注文の状態についてユーザーに表示されるラベル。

buyerInfo

object (UserInfo)

購入者に関する情報。

image

object (Image)

注文に関連付けられている画像。

createTime

string (Timestamp format)

必須: この注文が作成された日時。

RFC3339 UTC「Zulu」形式のタイムスタンプ。精度はナノ秒まで、小数点以下は最大 9 桁。例: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

lastUpdateTime

string (Timestamp format)

この注文が最後に更新された日時。OrderUpdate の場合は必須です。

RFC3339 UTC「Zulu」形式のタイムスタンプ。精度はナノ秒まで、小数点以下は最大 9 桁。例: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

transactionMerchant

object (Merchant)

購入手続きを処理した販売者。項目レベルのプロバイダとは異なる場合があります。例: 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

任意の型のフィールドを含むオブジェクト。型を識別する URI を含むフィールド "@type" を追加できます。例: { "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

国際電気通信連合(ITU)勧告 E.164 で定義されている E.164 形式の電話番号。Wiki のリンク: https://en.wikipedia.org/wiki/E.164

extension

string

内線番号については、長さが最大 40 桁の一連の番号であることを除き、ITU 勧告で標準化されていません。ここでは、内線番号の先頭にゼロを使用できるようにするため、文字列として定義されています(標準は定められていないため、自由に決定できます)。桁数以外に、「,」(ポーズを指します)などの他のダイヤル文字もここに保存されます。たとえば、「xxx-xxx-xxxx ext. 123」。「123」は内線番号です。

preferredDomesticCarrierCode

string

国内でこの電話番号を発信する際に推奨される携帯通信会社の選択コード。これには、固定電話から携帯電話(またはその逆)への通話時に一部の国で発信する必要があるコードも含まれます。たとえば、コロンビアでは、携帯電話から国内の固定電話(またはその逆)にかけるときに電話番号の前に「3」をダイヤルする必要があります(https://en.wikipedia.org/wiki/Telephone_numbers_in_Colombiahttps://en.wikipedia.org/wiki/Brazilian_Carrier_Selection_Code)。

これは「推奨」コードなので、他のコードも使用できます。

画像

カードに表示される画像。

JSON 表現
{
  "url": string,
  "accessibilityText": string,
  "height": integer,
  "width": integer
}
フィールド
url

string

画像のソース URL。JPG、PNG、GIF(アニメーション GIF と非アニメーション 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」。[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 つの lineItem が必要です。最大 50 個まで指定できます。項目はすべて同じカテゴリに属している必要があります。

LineItem

1 つの項目に 1 つのカテゴリが含まれます。注文またはカートに、同じカテゴリの複数の項目を含めることができます。サブ項目やアドオンなどは、使用事例に応じてカテゴリ プロトコルで定義する必要があります。注: 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)

特定の項目のプロバイダ(注文全体と異なる場合)。例: Expedia の注文と項目プロバイダ ANA。

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

任意の型のフィールドを含むオブジェクト。型を識別する URI を含むフィールド "@type" を追加できます。例: { "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。金額または割合(1,000 分の 1)を表します。spec は次のいずれかになります。
amount

object (Money)

金額。

amountMillipercentage
(deprecated)

integer

割合の spec で、0.001 パーセントが 1 で表されます。たとえば、8.750% は 8,750 として表されます。負の割合は割引率を表します。このフィールドは非推奨です。堅実なユースケースが求められる場合に、このフィールドの使用を検討できます。

タイプ

価格のタイプを表します。

列挙型
TYPE_UNSPECIFIED タイプは指定されていません。クライアントでこれを明示的に設定しないでください。
REGULAR 通常の表示価格。割引などが適用される前の価格です。
DISCOUNT 小計から差し引かれます。
TAX 小計に加算されます。
DELIVERY 小計に加算されます。
SUBTOTAL 手数料や追加料金が加算される前の小計。
FEE 追加料金。
GRATUITY 小計に加算されます。
TOTAL 注文または項目の表示価格。

価格の状態を表します。

列挙型
STATE_UNSPECIFIED 指定されていません。
ESTIMATE 料金はあくまで見積もり額ですが、最終的な金額はこの金額に近い額になります。例: 取引時に税金が正確に判明していない場合、合計金額は ESTIMATE になります。
ACTUAL ユーザーに請求される実際の価格。

Money

金額をその通貨タイプで表します。

JSON 表現
{
  "currencyCode": string,
  "amountInMicros": string
}
フィールド
currencyCode

string

ISO 4217 で定義されている 3 文字の通貨コード。

amountInMicros

string (int64 format)

100 万分の 1 単位で表された金額。たとえば、$1.99 の場合、このフィールドを 1,990,000 に設定します。

アクション

注文または品目に関連付けられたフォローアップ アクション。

JSON 表現
{
  "type": enum (Type),
  "title": string,
  "openUrlAction": {
    object (OpenUrlAction)
  },
  "actionMetadata": {
    object (ActionMetadata)
  }
}
フィールド
type

enum (Type)

必須: アクションのタイプ。

title

string

ユーザーに表示されるアクションのタイトルまたはラベル。最大文字数は 100 文字です。

openUrlAction

object (OpenUrlAction)

必要な対応。

actionMetadata

object (ActionMetadata)

アクションに関連付けられたメタデータ。

タイプ

有効なフォローアップ アクション。

列挙型
TYPE_UNSPECIFIED アクションは指定されていません。
VIEW_DETAILS 注文の詳細を表示するアクション。
MODIFY 注文の変更アクション。
CANCEL 注文のキャンセル アクション。
RETURN 注文の返品アクション。
EXCHANGE 注文の交換アクション。
EMAIL

メール アクション。EMAIL と CALL タイプは非推奨です。openUrlAction.url は、電話番号やメールアドレスとして使用できます。

CALL

通話アクション。

REORDER 再注文アクション。
REVIEW 注文の確認アクション。
CUSTOMER_SERVICE カスタマー サービスへのお問い合わせ。
FIX_ISSUE 問題を解決するために販売者サイトまたはアプリへ誘導。
DIRECTION 誘導リンク。

OpenUrlAction

指定された URL を開きます。

JSON 表現
{
  "url": string,
  "androidApp": {
    object (AndroidApp)
  },
  "urlTypeHint": enum (UrlTypeHint)
}
フィールド
url

string

次の URL フィールドのいずれか: - アプリとリンクしたアプリまたはウェブページを開くための http か https の URL

androidApp

object (AndroidApp)

Android アプリに関する情報(URL が Android アプリによって処理されることを想定している場合)。

urlTypeHint

enum (UrlTypeHint)

URL タイプのヒントを示します。

AndroidApp

Android アプリのフルフィルメント制限に関する仕様

JSON 表現
{
  "packageName": string,
  "versions": [
    {
      object (VersionFilter)
    }
  ]
}
フィールド
packageName

string

パッケージ名: Android フルフィルメントを指定する際は、パッケージ名を指定する必要があります。

versions[]

object (VersionFilter)

複数のフィルタを指定した場合、フィルタが一致するとアプリがトリガーされます。

VersionFilter

アプリの特定のバージョンが必要な場合は、VersionFilter を含める必要があります。

JSON 表現
{
  "minVersion": integer,
  "maxVersion": integer
}
フィールド
minVersion

integer

最小バージョン コードまたは 0(両端を含む)。

maxVersion

integer

最大バージョン コード(指定されたバージョンを含む)。考慮される範囲は [minVersion:maxVersion] です。null の範囲は任意のバージョンを意味します。例: 単一のバージョンを指定するには、[target_version:target_version] を使用します。任意のバージョンを指定するには、minVersion と maxVersion を未指定のままにします。maxVersion までのすべてのバージョンを指定するには、minVersion を未指定のままにします。minVersion 以降のすべてのバージョンを指定するには、maxVersion を未指定のままにします。

UrlTypeHint

URL ヒントのタイプ。

列挙型
URL_TYPE_HINT_UNSPECIFIED 指定なし
AMP_CONTENT AMP コンテンツを直接指す URL、または <link rel="amphtml"> を介して AMP コンテンツを参照する正規 URL を指す URL。

ActionMetadata

アクションごとの関連メタデータ。

JSON 表現
{
  "expireTime": string
}
フィールド
expireTime

string (Timestamp format)

このアクションの有効期限が切れる日時。

RFC3339 UTC「Zulu」形式のタイムスタンプ。精度はナノ秒まで、小数点以下は最大 9 桁。例: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

開示情報

ユーザーに提示される商品、サービス、またはポリシーの開示。

JSON 表現
{
  "title": string,
  "disclosureText": {
    object (DisclosureText)
  },
  "presentationOptions": {
    object (DisclosurePresentationOptions)
  }
}
フィールド
title

string

開示のタイトル。例:「安全性の情報」。

disclosureText

object (DisclosureText)

開示の内容。ウェブリンクを指定できます。

presentationOptions

object (DisclosurePresentationOptions)

開示の表示オプション。

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 またはオファー 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 を使用します。

任意の型のフィールドを含むオブジェクト。型を識別する URI を含むフィールド "@type" を追加できます。例: { "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)

単位: 例 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

このサービス オプションの一意の識別子。

fulfillmentType

enum (Type)

必須: フルフィルメントのタイプ。

expectedFulfillmentTime

object (Time)

時間範囲が指定されている場合は時間枠、または単一の時間が指定されている場合は到着予定時刻。 配達または受け取り予定時刻。

expectedPreparationTime

object (Time)

時間範囲が指定されている場合は時間枠、または単一の時間が指定されている場合は到着予定時刻。 料理の準備にかかる予定時間。単一の時間を指定することを推奨します。

location

object (Location)

受け取り場所または配達場所。

expireTime

string (Timestamp format)

このフルフィルメント オプションの有効期限が切れる日時。

RFC3339 UTC「Zulu」形式のタイムスタンプ。精度はナノ秒まで、小数点以下は最大 9 桁。例: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

price

object (PriceAttribute)

このオプションの費用。

fulfillmentContact

object (UserInfo)

このフルフィルメントのユーザーの連絡先。

shippingMethodName

string

ユーザーが選択した配送方法の名前。

storeCode

string

店舗の StoreCode。例: Walmart が販売者で、storeCode がフルフィルメントが発生した Walmart の店舗です。https://support.google.com/business/answer/3370250?ref_topic=4596653.

pickupInfo

object (PickupInfo)

注文の受け取り方法に関する追加情報。このフィールドは、フルフィルメント タイプが PICKUP の場合にのみ適用されます。

タイプ

フルフィルメント タイプ。

列挙型
TYPE_UNSPECIFIED 未指定
DELIVERY この注文は配達されます。
PICKUP この注文は受け取る必要があります。

時間

ユーザーに注文を表示するときに使用するイベントの時間を表す Time 構造体。

JSON 表現
{
  "timeIso8601": string
}
フィールド
timeIso8601

string

予約時間や配達時間など、注文イベントにおける時間を表します。期間(開始時間と終了時間)、日付、日時などがあります。サポートされるすべての形式については、https://ja.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)

自動車の写真の URL。写真は約 256 x 256 ピクセルで表示されます。jpg または png である必要があります。省略可。

CheckInInfo

チェックイン方法をサポートするためにパートナーが必要とするメタデータ。

JSON 表現
{
  "checkInType": enum (CheckInType)
}
フィールド
checkInType

enum (CheckInType)

チェックインの手順を送信する方法。

CheckInType

チェックイン手順を送信するさまざまな方法。

列挙型
CHECK_IN_TYPE_UNSPECIFIED 不明な値です。
EMAIL チェックイン情報はメールで送信されます。
SMS チェックイン情報は SMS で送信されます。

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

アイテムがアイテムの場合は、数量です。

productId

string

このオプションに関連付けられた商品 ID またはオファー ID。

subOptions[]

object (ItemOption)

ネストされた他のサブオプションを定義するには:

ProductDetails

商品に関する詳細。

JSON 表現
{
  "productId": string,
  "gtin": string,
  "plu": string,
  "productType": string,
  "productAttributes": {
    string: string,
    ...
  }
}
フィールド
productId

string

この項目に関連付けられた商品 ID またはオファー ID。

gtin

string

商品の国際取引商品番号。Merchant Center に offerId がない場合に役立ちます。省略可。

plu

string

価格ルックアップ コード(一般的に PLU コード、PLU 番号、PLU、生産コード、農産物ラベルと呼ばれる)は、食料品店やスーパーマーケットで販売されている一括販売商品を一意に識別する番号システムです。

productType

string

販売者が定義した商品カテゴリ。例:"ホーム >食料品 >乳製品、エッグ >牛乳 >全乳」

productAttributes

map (key: string, value: string)

販売者が提供する商品に関する詳細情報。例: { "アレルゲン": "ピーナッツ" }。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

行われている注文に関する支払い情報。このプロトコルは、ユーザーに表示される操作に役立つ情報をキャプチャします。

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 Checking acct **** 5678

paymentMethodVoiceName

string

音声のみのアシスタント デバイスでユーザーに読み上げられるお支払い方法の名前。たとえば、「ビザが 1 2 3 4 で終わる」や「当座預金口座が 567 で終わる」などです。注: これは音声のみのアシスタント デバイスで、paymentMethodDisplayName の代わりに使用される音声に最適化された文字列です。この文字列が設定されていない場合は、代わりに paymentMethodDisplayName が読み上げられます。

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 でフィールドを定義します。2. 汎用的でないカスタムのユースケース/機能に固有の場合は、vertical_extension を使用します。

任意の型のフィールドを含むオブジェクト。型を識別する URI を含むフィールド "@type" を追加できます。例: { "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、Promotion のいずれかでなければなりません。エンティティ 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 アカウントを自社のシステム内のアカウントにリンクしようとしましたが、エラーが発生しました。

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

イベント情報への URL。

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

必須。セッション中にフォームとインテントから収集されたすべてのパラメータのリスト。Key は、パラメータ名です。ここで定義したパラメータは、セッションですでに定義されているパラメータと統合されます。null 値を含むパラメータはセッションから削除されます。セッション ストレージに関するドキュメント(https://developers.google.com/assistant/conversational/storage-session)をご覧ください。

"key": value ペアのリストを含むオブジェクト。例: { "name": "wrench", "mass": "1.3kg", "count": "3" }

typeOverrides[]

object (TypeOverride)

省略可。セッションをスコープとするタイプ。セッション タイプの定義は、既存のタイプを補完したり、置き換えたりできます。型名は一意である必要があります。

languageCode

string

現在の会話セッションの言語。IETF BCP-47 言語コード(http://www.rfc-editor.org/rfc/bcp/bcp47.txt)に従います。アクションが多言語機能を使用している場合は、ユーザーの言語 / 地域とは異なることがあります。たとえば、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

必須。類義語のリスト(例: 「bike」、「cycle」)。

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

省略可。ブラウジング コレクション アイテムのフッター テキスト。説明の下に表示されます。1 行のテキスト。省略記号で切り捨てられます。

openUrl

object (OpenUrl)

ブラウジング カルーセル アイテムに関連付けられたドキュメントの URL。ブラウジング カルーセルに必要です。

ユーザー

アクションにリクエストを行っているユーザーを表します。

JSON 表現
{
  "locale": string,
  "params": {
    string: value,
    ...
  },
  "accountLinkingStatus": enum (AccountLinkingStatus),
  "verificationStatus": enum (UserVerificationStatus),
  "lastSeenTime": string,
  "engagement": {
    object (Engagement)
  },
  "packageEntitlements": [
    {
      object (PackageEntitlements)
    }
  ],
  "permissions": [
    enum (Permission)
  ]
}
フィールド
locale

string

リクエストを行っているユーザーのメインの言語 / 地域設定。IETF BCP-47 言語コード http://www.rfc-editor.org/rfc/bcp/bcp47.txt に準拠しています。ただし、script サブタグは含まれません。

params

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

省略可。現在のユーザーに関連付けられているすべてのパラメータのリスト。ユーザー ストレージに関するドキュメント(https://developers.google.com/assistant/conversational/storage-user)をご覧ください。

"key": value ペアのリストを含むオブジェクト。例: { "name": "wrench", "mass": "1.3kg", "count": "3" }

accountLinkingStatus

enum (AccountLinkingStatus)

ユーザー アカウントがアプリにリンクされているかどうか。

verificationStatus

enum (UserVerificationStatus)

ユーザーの確認ステータスを示します。

lastSeenTime

string (Timestamp format)

このユーザーとの最後のやり取りのタイムスタンプ。ユーザーが以前にこのエージェントとやり取りしたことがない場合、このフィールドは省略されます。

RFC3339 UTC「Zulu」形式のタイムスタンプ。精度はナノ秒まで、小数点以下は最大 9 桁。例: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

engagement

object (Engagement)

現在のユーザーのエンゲージメント(インテントへのサブスクリプションを含む)。

packageEntitlements[]

object (PackageEntitlements)

現在のアクションに関連付けられている Android パッケージに関連するユーザーの利用資格。

permissions[]

enum (Permission)

このアクションにユーザーが付与した権限が含まれます。

AccountLinkingStatus

エンドユーザーが自分のアカウントをこのアプリにリンクしているかどうかを示します。アカウントのリンクに関するドキュメント(https://developers.google.com/assistant/identity)をご覧ください。

列挙型
ACCOUNT_LINKING_STATUS_UNSPECIFIED 不明。
NOT_LINKED ユーザーは自分のアカウントをこのアプリにリンクしていません。
LINKED ユーザーは自分のアカウントをこのアプリにリンクしています。

UserVerificationStatus

Google がユーザーを確認したかどうかを示します。「VERIFIED」ステータスは、params フィールドまたはアカウントのリンクを使用して、会話間でデータを保存できることを示します。

列挙型
USER_VERIFICATION_STATUS_UNSPECIFIED 不明。
GUEST ゲストユーザー。
VERIFIED 確認済みのユーザーです。

エンゲージメント

現在のユーザーが登録しているエンゲージメント メカニズムに関する追加の読み取り専用情報を提供します。たとえば、ユーザーがすでにサブスクライブしているインテントを把握しておくと、同じインテントを再度サブスクライブするようユーザーに求めてしまわないようにするために役立ちます。つまり、この情報を使用して条件付きでシーンにルーティングし、ユーザーがまだ登録していない場合にのみ DailyUpdates または PushNotifications を設定できます。ユーザー エンゲージメントに関するドキュメント(https://developers.google.com/assistant/engagement)をご覧ください。

JSON 表現
{
  "pushNotificationIntents": [
    {
      object (IntentSubscription)
    }
  ],
  "dailyUpdateIntents": [
    {
      object (IntentSubscription)
    }
  ]
}
フィールド
pushNotificationIntents[]

object (IntentSubscription)

ユーザーがプッシュ通知を有効にしたインテントのリストが含まれます。

dailyUpdateIntents[]

object (IntentSubscription)

ユーザーが日次更新を有効にしたインテントのリストが含まれます。

IntentSubscription

既存の IntentSubscription を表します。

JSON 表現
{
  "intent": string,
  "contentTitle": string
}
フィールド
intent

string

サブスクライブしているインテントの名前。

contentTitle

string

サブスクリプションの簡単な説明。この名前は通知のラベルとして使用されます。また、アシスタントがユーザーに権限をリクエストするときに使用されます。

PackageEntitlements

パッケージ名に関連付けられているユーザーの利用資格のリスト。デジタル商品取引に関するドキュメント(https://developers.google.com/assistant/transactions/digital/dev-guide-digital-non-consumables)をご覧ください。

JSON 表現
{
  "packageName": string,
  "entitlements": [
    {
      object (Entitlement)
    }
  ]
}
フィールド
packageName

string

アクション パッケージで指定された Android パッケージ名。

entitlements[]

object (Entitlement)

指定したパッケージに対するユーザーの利用資格。

利用資格

ユーザーのデジタル利用資格を定義します。

JSON 表現
{
  "sku": string,
  "skuType": enum (SkuType),
  "inAppDetails": {
    object (SignedData)
  }
}
フィールド
sku

string

プロダクト SKU。有料アプリの場合はパッケージ名、アプリ内購入とアプリ内定期購入の場合は Finsky docid の接尾辞。Play InApp Billing API の getSku() と照合します。詳しくは、Play アプリ内課金に関するドキュメント(https://developer.android.com/google/play/billing)をご覧ください。

skuType

enum (SkuType)

SKU のタイプ。

inAppDetails

object (SignedData)

アプリ内購入とアプリ内定期購入でのみ表示されます。

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

省略可。クライアント デバイスに関連付けられているタイムゾーン。datetime 値を解決するために使用できます。

能力

リクエスト時にデバイス サーフェスがサポートする機能。

列挙型
UNSPECIFIED デバイスの機能が指定されていません。
SPEECH デバイスがテキスト読み上げまたは SSML でユーザーと話すことができる。
RICH_RESPONSE デバイスで、カード、リスト、表などのリッチな回答を表示できます。
LONG_FORM_AUDIO デバイスで音楽やポッドキャストなどの長時間の音声メディアを再生できます。
INTERACTIVE_CANVAS デバイスはインタラクティブなキャンバス レスポンスを表示できます。
HOME_STORAGE デバイスはホーム ストレージの保存と取得をサポートできる。

場所

場所を表すコンテナ。

JSON 表現
{
  "coordinates": {
    object (LatLng)
  },
  "postalAddress": {
    object (PostalAddress)
  }
}
フィールド
coordinates

object (LatLng)

地理座標。[DEVICE_PRECISE_LOCATION] 権限が必要です。

postalAddress

object (PostalAddress)

郵便住所。[DEVICE_PRECISE_LOCATION] または [DEVICE_COARSE_LOCATION] の権限が必要です。おおまかな位置情報の利用許可が付与されている場合は、「postalCode」「locality」フィールドには値が入力されることが想定されます。正確な位置情報の利用許可により、「administrativeArea」などの追加項目が入力されます。「addressLines」が含まれます。

TimeZone

IANA タイムゾーン データベースのタイムゾーンを表します。

JSON 表現
{
  "id": string,
  "version": string
}
フィールド
id

string

IANA タイムゾーン データベースのタイムゾーン(例: "America/New_York")。

version

string

省略可。IANA タイムゾーン データベースのバージョン番号(例: "2019a")。

コンテキスト

ユーザーがクエリを行う際のコンテキスト情報が含まれます。このようなコンテキストには、アクティブなメディア セッションやキャンバス ウェブアプリの状態に関する情報などが含まれますが、これらに限定されません。

JSON 表現
{
  "media": {
    object (MediaContext)
  },
  "canvas": {
    object (CanvasContext)
  }
}
フィールド
media

object (MediaContext)

現在アクティブなメディア セッションに関するコンテキスト情報が含まれます。

canvas

object (CanvasContext)

現在のキャンバスに関するコンテキスト情報が含まれます。

MediaContext

現在アクティブなメディア セッションに関するコンテキスト情報が含まれます。

JSON 表現
{
  "progress": string,
  "index": integer
}
フィールド
progress

string (Duration format)

現在アクティブなメディア ファイルのメディアの進行状況。

小数点以下 9 桁まで、「s」で終わる秒単位の期間(例: "3.5s")。

index

integer

メディア レスポンスのメディア ファイルのリスト内にある、現在アクティブなメディア ファイルの 0 から始まるインデックス。

CanvasContext

現在のキャンバスに関するコンテキスト情報が含まれます。

JSON 表現
{
  "state": value
}
フィールド
state

value (Value format)

省略可。サードパーティの Interactive Canvas アプリで設定された状態。これはリクエストに対してのみ設定され、レスポンスには設定されません。たとえば、レシピアプリの場合、状態は struct の値になります : { "current_page": 5, "last_page": 3, } サイズの上限は 50 KB です。

予測

次の対話ターンで想定される処理を記述します。

JSON 表現
{
  "speech": [
    string
  ]
}
フィールド
speech[]

string

音声バイアスのため、アクションがユーザーの発話から期待するフレーズのリスト。フレーズは 1,000 個まで指定できます。注: このフィールドは、v2 API の expectedInput.speech_biasing_hints と同じ意味です。