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 平台会返回文件名。已废弃,取而代之的是下方的 uploadedRbmFile

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 平台在上传文件时返回。已废弃,取而代之的是下方的 uploadedRbmFile

uploadedRbmFile

object (UploadedRbmFile)

包含上传到 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

(可选)如果客户端不支持建议的操作,则要使用的回退网址。后备网址会在新浏览器窗口中打开。必须是 RFC 3986 中定义的有效 URI。不得超过 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

网址。必须是 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 需要全屏叠加层,并在状态栏中标记聊天机器人对话。
HALF 需要半屏叠加层。
TALL 需要四分之三的屏幕叠加层。

ShareLocationAction

此类型没有字段。

打开 RCS 应用的位置选择器,以便用户选择要发回给客服人员的位置。

ComposeAction

撰写消息并将其发送到聊天机器人预定义的目的地。如需检查用户的设备是否支持此操作,请先运行 capability 检查。如需了解详情,请参阅文档: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

撤消已发送但尚未递送的客服消息。