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 世界標準時間「Zulu」格式的時間戳記,精確度達奈秒單位,最多九個小數位數。範例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

contentMessage

object (AgentContentMessage)

服務專員訊息的內容。

聯集欄位 expiration

expiration 只能採用下列其中一種設定:

expireTime

string (Timestamp format)

選用設定。資源到期時間的時間戳記 (世界標準時間)。如果已設定此值或 TTL 欄位,系統會在輸出時提供這個值。

RFC3339 世界標準時間「Zulu」格式的時間戳記,精確度達奈秒單位,最多九個小數位數。範例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

ttl

string (Duration format)

選用設定。僅限輸入。訊息的有效期限。

時間長度以秒為單位,最多可有 9 個小數位數,並應以「s」結尾,例如:"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 編碼的文字。長度上限為 3072 個半形字元。

fileName
(deprecated)

string

檔案的專屬名稱。服務專員上傳檔案時,RBM 平台會傳回檔案名稱。已淘汰,改用下方的 uploadedRbmFile

uploadedRbmFile

object (UploadedRbmFile)

內含由 RBM 伺服器上傳及提供的檔案和縮圖 ID

richCard

object (RichCard)

獨立的複合式資訊卡。

contentInfo

object (ContentInfo)

檔案資訊,包括檔案網址和檔案縮圖網址。

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)

輪轉介面中每張資訊卡的內容清單。輪轉介面最多可包含 10 張資訊卡,最少則為 2 張。

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

(選用) 知識卡說明。長度上限為 2000 個半形字元。

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 平台在檔案上傳時傳回。已淘汰,改用下方的 uploadRbmFile

uploadedRbmFile

object (UploadedRbmFile)

包含已上傳至 RBM 伺服器並由該伺服器提供的檔案和縮圖 ID

contentInfo

object (ContentInfo)

檔案相關資訊,包括檔案網址和縮圖網址。

RBM 平台會從快取提供內容,但代理程式可以強制 RBM 平台擷取新版內容並重新整理快取。

ContentInfo

包含內容資訊的訊息。

JSON 表示法
{
  "fileUrl": string,
  "thumbnailUrl": string,
  "forceRefresh": boolean
}
欄位
fileUrl

string

檔案可公開存取的網址。當 RBM 平台擷取檔案時,會根據 HTTP 標頭中的內容類型欄位,判斷檔案的 MIME 類型。網址的 HTTP 回應中必須包含內容類型欄位,且該欄位必須正確。建議的檔案大小上限為 100 MB。

thumbnailUrl

string

(選用,僅限圖片、音訊和影片檔案) 可公開存取的縮圖網址。大小上限為 100 KB。

如果您沒有提供縮圖網址,RBM 平台會顯示空白的預留位置縮圖,直到使用者裝置下載該檔案為止。視使用者的設定而定,檔案可能不會自動下載,使用者也可能必須輕觸下載按鈕。

forceRefresh

boolean

設定後,即使平台已快取檔案 (和/或縮圖) 的副本,RBM 平台仍會從指定的網址擷取檔案和縮圖。

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 個半形字元。

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 編碼) 會在使用者輕觸建議動作時傳送至代理程式的結果。最多 2048 個字元。

fallbackUrl

string

(選用) 備用網址 (如果用戶端不支援建議動作,就會使用這個網址)。備用網址會在新的瀏覽器視窗中開啟。必須是 RFC 3986 中定義的有效 URI。最多 2048 個字元。

聯集欄位 action。使用者輕觸建議動作 action 時,在裝置上啟動的原生動作只能是下列其中一種:
dialAction

object (DialAction)

開啟使用者的預設撥號應用程式,並填入服務專員指定的電話號碼。

viewLocationAction

object (ViewLocationAction)

開啟使用者的預設地圖應用程式,然後選取服務專員指定的位置,或在服務專員指定的查詢中,搜尋使用者所在位置的附近地點。

createCalendarEventAction

object (CreateCalendarEventAction)

開啟使用者的預設日曆應用程式,並開始新的日曆事件流程,其中預先填入了由服務項目指定的事件資料。

openUrlAction

object (OpenUrlAction)

開啟使用者的預設網路瀏覽器應用程式,並前往指定網址。如果使用者已安裝的應用程式註冊為網址的預設處理常式,系統會改為開啟這個應用程式,並在建議動作 UI 中使用該應用程式的圖示。

shareLocationAction

object (ShareLocationAction)

開啟 RCS 應用程式的位置選擇器,讓使用者選擇要傳送給服務專員的位置。

composeAction

object (ComposeAction)

透過聊天機器人,撰寫並傳送訊息至預先定義的目的地。

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, USA」,無論使用者位在何處,都會選取特定地址。

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 世界標準時間「Zulu」格式的時間戳記,精確度達奈秒單位,最多九個小數位數。例如 "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

endTime

string (Timestamp format)

活動結束時間。

RFC3339 世界標準時間「Zulu」格式的時間戳記,精確度達奈秒單位,最多九個小數位數。例如 "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

title

string

活動名稱。最多 100 個字元。

description

string

事件說明。最多 500 個字元。

OpenUrlAction

開啟使用者的預設網路瀏覽器應用程式,並前往指定網址。如果使用者安裝的應用程式已註冊為網址的預設處理常式,系統就會改為開啟這個應用程式,並在建議動作 UI 中使用該應用程式的圖示。

JSON 表示法
{
  "url": string,
  "application": enum (OpenUrlApplication),
  "webviewViewMode": enum (WebviewViewMode),
  "description": string
}
欄位
url

string

網址。必須是 RFC 3986 中定義的有效 URI。最多 2048 個字元。

application

enum (OpenUrlApplication)

網址開啟應用程式、瀏覽器或 WebView。如要檢查使用者裝置是否支援 WebView 模式,請先執行功能檢查。詳情請參閱說明文件:https://developers.google.com/business-communications/rcs-business-messaging/guides/build/capabilities

webviewViewMode

enum (WebviewViewMode)

WebView 的檢視模式

description

string

WebView 的無障礙說明。

OpenUrlApplication

開啟的網址應用程式類型

列舉
OPEN_URL_APPLICATION_UNSPECIFIED 如未指定,系統會使用瀏覽器開啟。
BROWSER 使用瀏覽器開啟網址。
WEBVIEW 在整合式網頁檢視畫面中開啟網址

WebviewViewMode

WebView 檢視模式的類型。

列舉
WEBVIEW_VIEW_MODE_UNSPECIFIED 不指定。如要使用 WebView,您必須指定檢視模式。
FULL 必須是全螢幕疊加層,並在狀態列中標示出 Chatbot 對話。
HALF 需要半螢幕疊加層。
TALL 需要四分之三的畫面重疊。

ShareLocationAction

這個類型沒有任何欄位。

開啟 RCS 應用程式的地點選擇器,讓使用者選擇要傳回給服務專員的地點。

ComposeAction

撰寫訊息並傳送至聊天機器人預先定義的目的地。如要檢查使用者的裝置是否支援這項動作,請先執行功能檢查。詳情請參閱說明文件: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

聊天機器人預先填入目的地電話號碼。

type

enum (ComposeRecordingActionType)

錄製動作的類型。

ComposeRecordingActionType

Compose 錄音動作的類型。

列舉
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 欄位,則至少也必須包含 titledescriptionsuggestions[] 欄位。

VERTICAL 垂直版面配置。

StandaloneCard.ThumbnailImageAlignment

水平版面配置的獨立資訊卡圖片預覽對齊方式。

列舉
THUMBNAIL_IMAGE_ALIGNMENT_UNSPECIFIED 不指定。
LEFT 檔案預覽畫面會靠左對齊。
RIGHT 檔案預覽畫面會靠右對齊。

方法

create

將服務專員傳送的訊息傳送給使用者。

delete

撤銷已傳送但尚未送達的服務專員訊息。