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 サーバーにアップロードされ、サーバーによって配信されたファイルとサムネイルの識別子が含まれます

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 件の候補が表示されます。

メディア

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

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 サーバーにアップロードされ、サーバーによって配信されたファイルとサムネイルの識別子が含まれます

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

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