REST Resource: phones.agentMessages

リソース: AgentMessage

エージェントからユーザーに送信されるメッセージ。

JSON 表現
{
  "name": string,
  "sendTime": string,
  "contentMessage": {
    object (AgentContentMessage)
  },

  // Union field expiration can be only one of the following:
  "expireTime": string,
  "ttl": string
  // End of list of possible types for union field expiration.
}
フィールド
name

string

このフィールドは RBM プラットフォームによって設定されます。エージェント向けのメッセージを作成する際には含めないでください。このフィールドは「phones/{E.164}/agentMessages/{messageId}」を解決します。ここで、{E.164} は E.164 形式のユーザーの電話番号、{messageId} はエージェントが割り当てたエージェント メッセージの ID です。

sendTime

string (Timestamp format)

このフィールドは RBM プラットフォームによって設定されます。エージェント向けのメッセージを作成する際には含めないでください。このフィールドは、メッセージがユーザーに送信された時刻に解決されます。

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

contentMessage

object (AgentContentMessage)

エージェント メッセージの内容。

共用体フィールド expiration

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

expireTime

string (Timestamp format)

省略可。このリソースが期限切れとみなされるタイムスタンプ(UTC)。この値は、設定されている場合、または TTL フィールドが設定されている場合は、出力に提供されます。

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

ttl

string (Duration format)

省略可。入力のみのメッセージが自動的に取り消されるまでの有効期間です。

s で終わる小数 9 桁までの秒単位の期間。例: "3.5s"

AgentContentMessage

エージェントからユーザーに送信されたメッセージの内容。

JSON 表現
{
  "suggestions": [
    {
      object (Suggestion)
    }
  ],

  // Union field content can be only one of the following:
  "text": string,
  "fileName": string,
  "uploadedRbmFile": {
    object (UploadedRbmFile)
  },
  "richCard": {
    object (RichCard)
  },
  "contentInfo": {
    object (ContentInfo)
  }
  // End of list of possible types for union field content.
}
フィールド
suggestions[]

object (Suggestion)

返信文と操作の候補のリスト。関連するエージェント メッセージの後に、候補ワードのリストとして表示されます。候補は最大 11 件です。

このチップは、関連付けられているエージェントのメッセージが会話内の最新のメッセージ(エージェントとユーザーのメッセージの両方を含む)である場合にのみ表示されます。ユーザーは提案された返信をタップして、テキスト返信をエージェントに返信できます。また、提案されたアクションをタップしてデバイスでネイティブ アクションを開始することもできます。

共用体フィールド content。エージェント メッセージ content の内容は、次のいずれかになります。
text

string

UTF-8 でエンコードされたテキスト。

fileName
(deprecated)

string

ファイルの一意の名前。エージェントがファイルをアップロードすると、RBM プラットフォームはファイル名を返します。以下で非推奨となり、uploadedRbmFile に置き換えられました。

uploadedRbmFile

object (UploadedRbmFile)

RBM サーバーによってアップロードされ、配信されたファイルとサムネイルの識別子が格納されています

richCard

object (RichCard)

スタンドアロンのリッチカード。

contentInfo

object (ContentInfo)

ファイルに関する情報(ファイルの URL やファイルのサムネイルの URL など)。

RBM プラットフォームはキャッシュからコンテンツを提供しますが、エージェントは RBM プラットフォームに対してコンテンツの新しいバージョンを取得してキャッシュを更新するよう強制できます。

UploadedRbmFile

ファイルとサムネイルの情報を含むメッセージ

JSON 表現
{
  "fileName": string,
  "thumbnailName": string
}
フィールド
fileName

string

ファイルのアップロード時に RBM プラットフォームから返されたファイルの名前。

thumbnailName

string

サムネイルのアップロード時に RBM プラットフォームから返されたサムネイルの名前。

RichCard

エージェントからユーザーに送信される、スタンドアロンのリッチカードまたはリッチカードのカルーセルです。

JSON 表現
{

  // Union field card can be only one of the following:
  "carouselCard": {
    object (CarouselCard)
  },
  "standaloneCard": {
    object (StandaloneCard)
  }
  // End of list of possible types for union field card.
}
フィールド
共用体フィールド card。単独のカードまたはカードのカルーセル。card は次のいずれかになります。
carouselCard

object (CarouselCard)

カードのカルーセル。

standaloneCard

object (StandaloneCard)

スタンドアロンのカード。

CarouselCard

カードのカルーセル。

JSON 表現
{
  "cardWidth": enum (CarouselCard.CardWidth),
  "cardContents": [
    {
      object (CardContent)
    }
  ]
}
フィールド
cardWidth

enum (CarouselCard.CardWidth)

カルーセル内のカードの幅。

cardContents[]

object (CardContent)

カルーセル内の各カードのコンテンツのリスト。カルーセルには、最低 2 枚のカード、最大 10 枚のカードを含めることができます。

CarouselCard.CardWidth

カルーセル内のカードの幅。

列挙型
CARD_WIDTH_UNSPECIFIED 指定されていません。
SMALL 120 DP。なお、縦長のメディアは使用できません。
MEDIUM 232 DP。

CardContent

カードの内容

JSON 表現
{
  "title": string,
  "description": string,
  "media": {
    object (Media)
  },
  "suggestions": [
    {
      object (Suggestion)
    }
  ]
}
フィールド
title

string

(省略可)カードのタイトル。最大半角 200 文字(全角 100 文字)。

description

string

(省略可)カードの説明。最大半角 2,000 文字(全角 1,000 文字)。

media

object (Media)

(省略可)カードに含めるメディア(画像、GIF、動画)。

suggestions[]

object (Suggestion)

(省略可)カードに含める候補のリスト。候補は最大 4 件です。

メディア

リッチカード内のメディア ファイル。

JSON 表現
{
  "height": enum (Media.Height),

  // Union field content can be only one of the following:
  "fileName": string,
  "uploadedRbmFile": {
    object (UploadedRbmFile)
  },
  "contentInfo": {
    object (ContentInfo)
  }
  // End of list of possible types for union field content.
}
フィールド
height

enum (Media.Height)

縦向きレイアウトのリッチカード内のメディアの高さ。横向きレイアウトのスタンドアロン カードの場合、高さはカスタマイズできないため、このフィールドは無視されます。

共用体フィールド content。メディア コンテンツ content は次のいずれかになります。
fileName
(deprecated)

string

ファイルのアップロード時に RBM プラットフォームから返されたファイルの一意の名前。以下で非推奨となり、uploadedRbmFile に置き換えられました。

uploadedRbmFile

object (UploadedRbmFile)

RBM サーバーによってアップロードされ、配信されたファイルとサムネイルの識別子が格納されています

contentInfo

object (ContentInfo)

ファイルに関する情報(ファイルの URL やファイルのサムネイルの URL など)。

RBM プラットフォームはキャッシュからコンテンツを提供しますが、エージェントは RBM プラットフォームに対してコンテンツの新しいバージョンを取得してキャッシュを更新するよう強制できます。

ContentInfo

コンテンツ情報を含むメッセージ。

JSON 表現
{
  "fileUrl": string,
  "thumbnailUrl": string,
  "forceRefresh": boolean
}
フィールド
fileUrl

string

一般公開されているファイルの URL。RBM プラットフォームは、ファイルをフェッチするときに、HTTP ヘッダーの content-type フィールドからファイルの MIME タイプを判断します。URL からの HTTP レスポンスに content-type フィールドは正確に記述されている必要があります。推奨される最大ファイルサイズは 100 MB です。

thumbnailUrl

string

(省略可、画像ファイル、音声ファイル、動画ファイルの場合のみ)一般にアクセス可能なサムネイルの URL。最大サイズ: 100 KB。

サムネイルの URL を指定しない場合、ユーザーのデバイスがファイルをダウンロードするまで、RBM プラットフォームは空白のプレースホルダのサムネイルを表示します。ユーザーの設定によっては、ファイルが自動的にダウンロードされず、ダウンロード ボタンをタップしなければならない場合があります。

forceRefresh

boolean

設定されている場合、RBM プラットフォームはファイル(またはサムネイル)のコピーをキャッシュに保存している場合でも、指定された URL からファイルとサムネイルを取得します。

Media.Height

メディアの高さ

列挙型
HEIGHT_UNSPECIFIED 指定されていません。
SHORT 112 DP。
MEDIUM 168 DP。
TALL 264 DP。カードの幅が小に設定されている場合、リッチカード カルーセルでは使用できません。

候補

リッチカード内または候補ワードリスト内に含まれる返信文や操作の候補。

JSON 表現
{

  // Union field option can be only one of the following:
  "reply": {
    object (SuggestedReply)
  },
  "action": {
    object (SuggestedAction)
  }
  // End of list of possible types for union field option.
}
フィールド
共用体フィールド option。定型返信文または操作候補 option は、次のいずれかになります。
reply

object (SuggestedReply)

ユーザーは提案された返信をタップして、エージェントにテキスト返信を返信できます。

action

object (SuggestedAction)

ユーザーは提案されたアクションをタップして、対応するネイティブ アクションをデバイス上で開始できます。

SuggestedReply

タップすると、テキスト返信がエージェントに返されます。

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

string

定型返信文に表示され、ユーザーがタップしたときにエージェントに返送されるテキスト。半角 25 文字(全角 12 文字)以内。

postbackData

string

ユーザーが返信メッセージの候補をタップしたときに、エージェントがユーザー イベントで受け取る Base64 エンコード ペイロード。

SuggestedAction

タップすると、対応するネイティブ アクションがデバイス上で開始されます。

JSON 表現
{
  "text": string,
  "postbackData": string,
  "fallbackUrl": string,

  // Union field action can be only one of the following:
  "dialAction": {
    object (DialAction)
  },
  "viewLocationAction": {
    object (ViewLocationAction)
  },
  "createCalendarEventAction": {
    object (CreateCalendarEventAction)
  },
  "openUrlAction": {
    object (OpenUrlAction)
  },
  "shareLocationAction": {
    object (ShareLocationAction)
  }
  // End of list of possible types for union field action.
}
フィールド
text

string

アクション候補に表示されるテキスト。半角 25 文字(全角 12 文字)以内。

postbackData

string

ユーザーが提案されたアクションをタップしたときに発生するユーザー イベントでエージェントに送信されるペイロード(base64 エンコード)。

fallbackUrl

string

(省略可)推奨される操作がクライアントでサポートされていない場合に使用するフォールバック URL。代替 URL は新しいブラウザ ウィンドウで開きます。

共用体フィールド action。提案されたアクション action をユーザーがタップしたときにデバイスで開始されるネイティブ アクションは、次のいずれかになります。
dialAction

object (DialAction)

ユーザーのデフォルトの電話アプリを開いて、エージェントが指定した電話番号を入力します。

viewLocationAction

object (ViewLocationAction)

ユーザーのデフォルトの地図アプリを開き、エージェントが指定した場所を選択するか、エージェントが指定したクエリでユーザーの現在地周辺を検索します。

createCalendarEventAction

object (CreateCalendarEventAction)

ユーザーのデフォルトのカレンダー アプリを開き、エージェント指定のイベントデータが事前入力された状態で新しいカレンダー イベント フローを開始します。

openUrlAction

object (OpenUrlAction)

指定された URL に対して、ユーザーのデフォルトのウェブブラウザ アプリを開きます。ユーザーがアプリをインストールし、そのアプリが URL のデフォルト ハンドラとして登録されている場合は、代わりにこのアプリが開き、操作候補の UI でアプリのアイコンが使用されます。

shareLocationAction

object (ShareLocationAction)

RCS アプリの位置情報選択ツールが開き、エージェントに送信する位置情報をユーザーが選択できるようになります。

DialAction

ユーザーのデフォルトの電話アプリを開いて、エージェントが指定した電話番号を入力します。

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

string

E.164 形式の電話番号(例: +12223334444)。

ViewLocationAction

ユーザーのデフォルトの地図アプリを開き、エージェントが指定した場所を選択するか、エージェントが指定したクエリでユーザーの現在地周辺を検索します。

JSON 表現
{
  "latLong": {
    object (LatLng)
  },
  "label": string,
  "query": string
}
フィールド
latLong

object (LatLng)

(省略可)指定した場所の緯度と経度。

label

string

(省略可)latLong でドロップされたピンのラベル。

query

string

(省略可、Android メッセージ クライアントでのみサポート)latLong(および必要に応じてラベル)を指定する代わりに、エージェントがクエリ文字列を指定できます。検索機能をサポートするデフォルトの地図アプリ(Google マップなど)では、この操作候補をタップすると、ユーザーの現在地を中心に場所検索が行われます。クエリが具体的であれば、エージェントはそれを使用して世界中の場所を選択できます。

たとえば、クエリ文字列を「Growing Tree Bank」に設定します。ユーザーの近隣にある Growing Tree Bank のすべての場所が表示されます。クエリ文字列を「1600 Amphitheater Parkway, Mountain View, CA 94043」に設定するユーザーの所在地にかかわらず、該当の住所が選択されます。

LatLng

緯度と経度のペアを表すオブジェクト。これは緯度を表す倍精度値と経度を表す倍精度値のペアで表現されます。特に明記されていない限り、このオブジェクトは WGS84 規格に準拠する必要があります。値は正規化範囲内で指定する必要があります。

JSON 表現
{
  "latitude": number,
  "longitude": number
}
フィールド
latitude

number

緯度(度単位)。範囲 [-90.0, +90.0] 内になければなりません。

longitude

number

経度(度単位)。範囲 [-180.0, +180.0] 内になければなりません。

CreateCalendarEventAction

ユーザーのデフォルトのカレンダー アプリを開き、エージェント指定のイベントデータが事前入力された状態で新しいカレンダー イベント フローを開始します。

JSON 表現
{
  "startTime": string,
  "endTime": string,
  "title": string,
  "description": string
}
フィールド
startTime

string (Timestamp format)

イベントの開始時間。

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

endTime

string (Timestamp format)

予定の終了時間。

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

title

string

イベントのタイトル。

description

string

イベントの説明。

OpenUrlAction

指定された URL に対して、ユーザーのデフォルトのウェブブラウザ アプリを開きます。ユーザーがアプリをインストールし、そのアプリが URL のデフォルト ハンドラとして登録されている場合は、代わりにこのアプリが開き、操作候補の UI でアプリのアイコンが使用されます。

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

string

URL

ShareLocationAction

この型にはフィールドがありません。

RCS アプリの位置情報選択ツールが開き、エージェントは位置情報を選択してエージェントに返送できます。

StandaloneCard

スタンドアロンのカード

JSON 表現
{
  "cardOrientation": enum (StandaloneCard.CardOrientation),
  "thumbnailImageAlignment": enum (StandaloneCard.ThumbnailImageAlignment),
  "cardContent": {
    object (CardContent)
  }
}
フィールド
cardOrientation

enum (StandaloneCard.CardOrientation)

カードの向き。

thumbnailImageAlignment

enum (StandaloneCard.ThumbnailImageAlignment)

横向きレイアウトのスタンドアロン カードの画像プレビューの配置。

cardContent

object (CardContent)

カードのコンテンツ。

StandaloneCard.CardOrientation

カードの向き。

列挙型
CARD_ORIENTATION_UNSPECIFIED 指定されていません。
HORIZONTAL

横向きレイアウト。

横向きリッチカードの object(CardContent)media フィールドが含まれている場合は、少なくとも titledescription、または suggestions[] フィールドも含める必要があります。

VERTICAL 縦向きレイアウト。

StandaloneCard.ThumbnailImageAlignment

横向きレイアウトのスタンドアロン カードの画像プレビューの配置。

列挙型
THUMBNAIL_IMAGE_ALIGNMENT_UNSPECIFIED 指定されていません。
LEFT ファイルのプレビューが左揃えになっています。
RIGHT ファイルのプレビューが右揃えになっています。

メソッド

create

エージェントからユーザーにメッセージを送信します。

delete

送信済みだが未配信のエージェント メッセージを取り消します。