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,即“祖鲁时”)格式,精确到纳秒,最多九个小数位。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

contentMessage

object (AgentContentMessage)

客服人员消息的内容。

联合字段 expiration

expiration 只能是下列其中一项:

expireTime

string (Timestamp format)

可选。资源被视为过期时的时间戳(世界协调时间)。如果已设置此值或已设置 TTL 字段,则在输出时提供此值。

时间戳采用 RFC3339 世界协调时间(UTC,即“祖鲁时”)格式,精确到纳秒,最多九个小数位。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

ttl

string (Duration format)

可选。仅限输入。消息在自动撤消前的有效期。

该时长以秒为单位,最多包含九个小数位,以“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 平台会返回一个文件名。已弃用,改为使用已上传的 RbmFile

uploadedRbmFile

object (UploadedRbmFile)

包含上传到 RBM 服务器并由其提供的文件和缩略图的标识符

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)

轮播界面中每张卡片的内容列表。轮播界面中卡片的数量不得少于 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

(可选)卡片的说明。不得超过 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 平台返回。已弃用,改为使用已上传的 RbmFile

uploadedRbmFile

object (UploadedRbmFile)

包含上传到 RBM 服务器并由 RBM 服务器投放的文件和缩略图的标识符

contentInfo

object (ContentInfo)

文件的相关信息,包括文件网址和文件缩略图的网址。

RBM 平台从缓存中提供内容,但代理可以强制 RBM 平台提取新版本的内容并刷新缓存。

ContentInfo

包含内容信息的消息。

JSON 表示法
{
  "fileUrl": string,
  "thumbnailUrl": string,
  "forceRefresh": boolean
}
字段
fileUrl

string

文件的可公开访问网址。在提取文件时,RBM 平台会根据 HTTP 标头中的 content-type 字段确定文件的 MIME 类型。网址的 HTTP 响应中必须包含 content-type 字段,且该字段必须准确无误。建议的文件大小上限为 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

(可选)在客户端不支持建议的操作时使用的后备网址。后备网址会在新的浏览器窗口中打开。不得超过 2048 个字符。

联合字段 action。用户点按建议操作 action 时在设备上发起的原生操作只能是下列其中一项:
dialAction

object (DialAction)

打开用户的默认拨号器应用,并填入客服人员指定的电话号码。

viewLocationAction

object (ViewLocationAction)

打开用户的默认地图应用,然后选择代理指定的位置,或根据代理指定的查询在用户所在位置附近进行搜索。

createCalendarEventAction

object (CreateCalendarEventAction)

打开用户的默认日历应用,并启动新的日历活动流程,其中预先填充了代理指定的活动数据。

openUrlAction

object (OpenUrlAction)

使用指定网址打开用户的默认网络浏览器应用。如果用户已安装了一个已注册为网址的默认处理程序的应用,则系统会改为打开该应用,并在建议的操作界面中使用其图标。

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”会选择这个特定地址,而不考虑用户身在何处。

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,即“祖鲁时”)格式,精确到纳秒,最多九个小数位。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

endTime

string (Timestamp format)

活动结束时间。

时间戳采用 RFC3339 世界协调时间(UTC,即“祖鲁时”)格式,精确到纳秒,最多九个小数位。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

title

string

活动标题。不得超过 100 个字符。

description

string

事件说明。请勿超过 500 个字符。

OpenUrlAction

打开用户的默认网络浏览器应用,并在其中打开指定网址。如果用户安装的应用已注册为网址的默认处理程序,系统会改为打开此应用,并在建议操作界面中使用该应用的图标。

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

string

网址。不得超过 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 未指定,用作完整查看模式。
FULL 需要全屏叠加,并且在状态栏内标记聊天机器人对话。
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_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

撤消已发送但尚未发送的代理消息。