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 個の候補。

チップは、関連するエージェント メッセージが会話内の最新のメッセージ(エージェント メッセージとユーザー メッセージの両方を含む)の場合にのみ表示されます。ユーザーは、候補の返信をタップしてエージェントにテキスト レスポンスを送信したり、候補のアクションをタップしてデバイスでネイティブ アクションを開始したりできます。候補は最大 11 件です。

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

string

UTF-8 でエンコードされたテキスト。最大 3,072 文字です。

fileName
(deprecated)

string

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

uploadedRbmFile

object (UploadedRbmFile)

RBM サーバーにアップロードされ、RBM サーバーから提供されたファイルとサムネイルの ID が含まれます。

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 文字(全角 1,000 文字)。

media

object (Media)

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

suggestions[]

object (Suggestion)

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

メディア

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

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 サーバーにアップロードされ、RBM サーバーから提供されたファイルとサムネイルの ID が含まれます。

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)
  },
  "composeAction": {
    object (ComposeAction)
  }
  // End of list of possible types for union field action.
}
フィールド
text

string

操作候補に表示されるテキスト。最大 25 文字。

postbackData

string

ユーザーが候補アクションをタップしたときに発生するユーザー イベントでエージェントに送信されるペイロード(Base64 エンコード)。2,048 文字以内で指定します。

fallbackUrl

string

(省略可)クライアントがおすすめのアクションをサポートしていない場合に使用するフォールバック URL。代替 URL は新しいブラウザ ウィンドウで開きます。RFC 3986 で定義されている有効な URI である必要があります。2,048 文字以内で指定します。

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

object (DialAction)

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

viewLocationAction

object (ViewLocationAction)

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

createCalendarEventAction

object (CreateCalendarEventAction)

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

openUrlAction

object (OpenUrlAction)

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

shareLocationAction

object (ShareLocationAction)

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

composeAction

object (ComposeAction)

chatbot によって事前定義された宛先にメッセージを作成して送信する。

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 メッセージ クライアントでのみサポート)緯度と経度(および必要に応じてラベル)を指定する代わりに、クエリ文字列を指定できます。検索機能をサポートするデフォルトの地図アプリ(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

イベントのタイトル。100 文字以内で指定します。

description

string

イベントの説明。500 文字まで入力できます。

OpenUrlAction

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

JSON 表現
{
  "url": string,
  "application": enum (OpenUrlApplication),
  "webviewViewMode": enum (WebviewViewMode),
  "description": string
}
フィールド
url

string

URL を入力します。RFC 3986 で定義されている有効な URI である必要があります。2,048 文字以内で指定します。

application

enum (OpenUrlApplication)

URL でアプリケーション、ブラウザ、WebView を開く。ユーザーのデバイスがウェブビュー モードをサポートしているかどうかを確認するには、まず機能チェックを実行します。詳しくは、ドキュメント(https://developers.google.com/business-communications/rcs-business-messaging/guides/build/capabilities)をご覧ください。

webviewViewMode

enum (WebviewViewMode)

WebView の表示モード

description

string

WebView のユーザー補助機能の説明。

OpenUrlApplication

URL オープン アプリケーションのタイプ

列挙型
OPEN_URL_APPLICATION_UNSPECIFIED 指定しない場合、ブラウザを使用して開きます。
BROWSER ブラウザを使用して URL を開きます。
WEBVIEW 統合されたウェブビュー ウィンドウで URL を開く

WebviewViewMode

WebView のビューモードのタイプ。

列挙型
WEBVIEW_VIEW_MODE_UNSPECIFIED 指定なし。WebView を使用するには、ビューモードを指定する必要があります。
FULL ステータスバー内に chatbot との会話というラベルの付いた全画面オーバーレイが必要です。
HALF 画面の半分をオーバーレイする必要があります。
TALL 4 分の 3 の画面オーバーレイが必要です。

ShareLocationAction

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

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

ComposeAction

chatbot によって事前定義された宛先にメッセージを作成して送信します。お客様のデバイスがこの操作に対応しているかどうかを確認するには、まず機能チェックを実行します。詳しくは、ドキュメント(https://developers.google.com/business-communications/rcs-business-messaging/guides/build/capabilities)をご覧ください。

JSON 表現
{

  // Union field action can be only one of the following:
  "composeTextMessage": {
    object (ComposeAction.ComposeTextMessage)
  },
  "composeRecordingMessage": {
    object (ComposeAction.ComposeRecordingMessage)
  }
  // End of list of possible types for union field action.
}
フィールド

共用体フィールド action

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

composeTextMessage

object (ComposeAction.ComposeTextMessage)

テキスト メッセージを作成して送信する。

composeRecordingMessage

object (ComposeAction.ComposeRecordingMessage)

音声メッセージまたは動画メッセージの録画と送信を開始します。

ComposeAction.ComposeTextMessage

テキスト メッセージを作成して送信する。

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

string

チャットボットによってリンク先の電話番号があらかじめ入力されている。

text

string

下書き: 送信メッセージのテキスト フィールドに移動します。

ComposeAction.ComposeRecordingMessage

音声メッセージまたは動画メッセージの録画と送信を開始します。

JSON 表現
{
  "phoneNumber": string,
  "type": enum (ComposeRecordingActionType)
}
フィールド
phoneNumber

string

発信先の電話番号が chatbot によって事前入力されます。

type

enum (ComposeRecordingActionType)

録音アクションのタイプ。

ComposeRecordingActionType

作成録音アクションのタイプ。

列挙型
COMPOSE_RECORDING_ACTION_TYPE_UNSPECIFIED 指定されていません。
ACTION_TYPE_AUDIO オーディオの種類。
ACTION_TYPE_VIDEO 動画の種類。

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

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