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 プラットフォームからファイル名が返されます。非推奨になり、以下の uploadRbmFile に置き換えられました

uploadedRbmFile

object (UploadedRbmFile)

RBM サーバーへアップロードされ、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 文字。

description

string

(省略可)カードの説明。最大 2,000 文字です。

media

object (Media)

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

suggestions[]

object (Suggestion)

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

Media

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

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 プラットフォームから返された、ファイルの一意の名前。非推奨になり、以下の uploadRbmFile に置き換えられました

uploadedRbmFile

object (UploadedRbmFile)

RBM サーバーへアップロードされ、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 ファイルのプレビューは右揃えになります。

Methods

create

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

delete

送信済みでまだ配信されていないエージェント メッセージを取り消します。