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」のままにすると、Simple プロンプト、Suggestions プロンプト、Canvas プロンプト(Content プロンプトの一部)内の一部のフィールドへの追加も可能になります。コンテンツ メッセージとリンク メッセージがプロンプトで定義されている場合、常に上書きされます。デフォルト値は「false」です。

firstSimple

object (Simple)

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

content

object (Content)

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

lastSimple

object (Simple)

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

suggestions[]

object (Suggestion)

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

canvas

object (Canvas)

(省略可)ユーザーに送信するインタラクティブ キャンバスのレスポンスを表します。

orderUpdate

object (OrderUpdate)

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

簡単

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

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

string

(省略可)ユーザーに向けて読み上げられる音声を表します。SSML またはテキスト読み上げが可能です。含まれるプロンプトの「override」フィールドが「true」の場合、このフィールドで定義されている音声が、以前の Simple プロンプトの音声を置き換えます。詳しくは、https://developers.google.com/assistant/conversational/ssml をご覧ください。

text

string

チャットのふきだしに表示するテキスト(省略可)。指定しない場合、上記の音声フィールドの表示レンダリングが使用されます。最大 640 文字です。含まれるプロンプトの「override」フィールドが「true」の場合、このフィールドで定義されているテキストが、以前の Simple プロンプトのテキストに置き換えられます。

内容

リッチ プロンプトまたは選択プロンプト用のコンテナ オブジェクト。

JSON 表現
{

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

共用体フィールド content

content は次のいずれかになります。

card

object (Card)

ベーシック カード。

image

object (Image)

画像。

table

object (Table)

テーブルカード。

media

object (Media)

再生するメディアのセットを示すレスポンス。

collection

object (Collection)

選択可能なオプションのコレクションを示すカード。

list

object (List)

選択可能なオプションのリストを示すカード。

collectionBrowse

object (CollectionBrowse)

開くウェブページのコレクションを提示するカード。

Card

画像やテキストなどの情報を表示するための基本的なカード。https://developers.google.com/assistant/conversational/prompts-rich#basic_card をご覧ください。

JSON 表現
{
  "title": string,
  "subtitle": string,
  "text": string,
  "image": {
    object (Image)
  },
  "imageFill": enum (ImageFill),
  "button": {
    object (Link)
  }
}
フィールド
title

string

カードの全体的なタイトル。省略可。

subtitle

string

省略可。

text

string

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

image

object (Image)

カードのヒーロー画像。高さは 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 を指す 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

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

Media

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)

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

mediaObjects[]

object (MediaObject)

メディア オブジェクトのリスト

repeatMode

enum (RepeatMode)

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

firstMediaObjectIndex

integer

mediaObject 内で再生する最初のメディア オブジェクトの 0 から始まるインデックス。指定されていない場合(ゼロまたは境界外の場合)、mediaObject の最初のメディア オブジェクトから再生が開始されます。

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 文字

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 データ。含まれているプロンプトの「override」フィールドが「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. updateMask の一部として order.create_time、order.google_order_id、order.merchant_order_id を指定した場合は無視されます。

完全修飾フィールド名のカンマ区切りリストです。(例: "user.displayName,photo")。

userNotification

object (UserNotification)

指定すると、指定したタイトルとテキストで通知がユーザーに表示されます。通知を指定することは、ユーザーに通知するよう提案することにすぎず、必ずしも通知が表示されるとは限りません。

reason

string

変更/更新の理由。

種類

非推奨: OrderUpdate.update_mask を代わりに使用してください。注文に対する更新を許可します。

列挙型
TYPE_UNSPECIFIED タイプが指定されていません。明示的に設定できません。
ORDER_STATUS 注文ステータスのみを更新します。
SNAPSHOT 注文スナップショットを更新します。

順序

注文エンティティ。注: 1. 特に指定されていない限り、すべてのレベルの文字列はすべて 1,000 文字未満にする必要があります。2. 特に指定されていない限り、すべてのレベルの繰り返しフィールドの数は 50 未満にする必要があります。3. 指定する場合、すべてのレベルのタイムスタンプは有効なタイムスタンプである必要があります。

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

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

string

Google が割り当てた注文 ID。

merchantOrderId

string

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

userVisibleOrderId

string

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

userVisibleStateLabel
(deprecated)

string

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

buyerInfo

object (UserInfo)

購入者に関する情報。

image

object (Image)

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

createTime

string (Timestamp format)

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

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

lastUpdateTime

string (Timestamp format)

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

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

transactionMerchant

object (Merchant)

購入手続きを処理した販売者。項目レベルのプロバイダとは異なる場合があります。例: ANA の項目を含む Expedia の注文。

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)

特定の項目のプロバイダ(注文全体と異なる場合)。例: 広告申込情報プロバイダ 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

任意の型のフィールドを含むオブジェクト。タイプを識別する 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 ユーザーに請求される実際の価格。

通貨

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

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 Fulfillment を指定するときはパッケージ名を指定する必要があります。

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://en.wikipedia.org/wiki/ISO_8601 をご覧ください。

PickupInfo

注文の受け取り方法に関する詳細。受け取りのタイプや、各タイプに添付されたメタデータなどの詳細が含まれます(追加情報がある場合)。

JSON 表現
{
  "pickupType": enum (PickupType),
  "curbsideInfo": {
    object (CurbsideInfo)
  },
  "checkInInfo": [
    {
      object (CheckInInfo)
    }
  ]
}
フィールド
pickupType

enum (PickupType)

受け取り方法(INSTORE、CURBSIDE など)

curbsideInfo

object (CurbsideInfo)

店舗受け取り情報固有の詳細。 pickupType が「CURBSIDE」でない場合、このフィールドは無視されます。

checkInInfo[]

object (CheckInInfo)

チェックインをサポートするパートナーでサポートされているさまざまな方法のリスト。

PickupType

サポートされている受け取りタイプのリスト。

列挙型
UNSPECIFIED 受け取りタイプが指定されていません。
INSTORE レストラン内で料理を受け取ります。
CURBSIDE レストラン外の指定された場所に駐車して、そこに料理が届けられます。

CurbsideInfo

店舗受け取り注文をどのように行うかに関する詳細。

JSON 表現
{
  "curbsideFulfillmentType": enum (CurbsideFulfillmentType),
  "userVehicle": {
    object (Vehicle)
  }
}
フィールド
curbsideFulfillmentType

enum (CurbsideFulfillmentType)

店舗受け取り注文には追加情報が必要です。選択されたフルフィルメント タイプに応じて、対応する詳細をユーザーから収集します。

userVehicle

object (Vehicle)

注文を行ったユーザーの車両の詳細。

CurbsideFulfillmentType

店舗受け取りのフルフィルメント タイプに指定可能な値。

列挙型
UNSPECIFIED 店舗受け取りのフルフィルメント タイプが指定されていません。
VEHICLE_DETAIL 店舗受け取りに必要な自動車の詳細。

車両

乗り物に関する詳細。

JSON 表現
{
  "make": string,
  "model": string,
  "licensePlate": string,
  "colorName": string,
  "image": {
    object (Image)
  }
}
フィールド
make

string

自動車のメーカー(例: 「Honda」)。これはユーザーに表示されるため、ローカライズする必要があります。必須。

model

string

自動車のモデル(例: 「Grom」)。これはユーザーに表示されるため、ローカライズする必要があります。必須。

licensePlate

string

自動車のナンバー プレート番号(例: 「1ABC234」)。必須。

colorName

string

車両の色の名前(例: 黒)。省略可。

image

object (Image)

自動車の写真の 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 当座預金口座 **** 5678

paymentMethodVoiceName

string

音声のみのアシスタント デバイスでユーザーに読み上げられるお支払い方法の名前。例: 「ビザ末尾が one two three four」、「当座預金口座 末尾 5 6 7 8」など。注: これは、音声のみのアシスタント デバイスで 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))

必須。セッション中にフォームとインテントから収集されたすべてのパラメータのリスト。キーはパラメータ名です。ここで定義したパラメータは、セッションですでに定義されているパラメータとマージされます。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)

(省略可)クライアント デバイスに関連付けられているタイムゾーン。これを使用して日時の値を解決できます。

可能な操作

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

列挙型
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 の ExpectInput.speech_biasing_tipss と同じものです。