REST Resource: phones.agentMessages

资源:AgentMessage

代理向用户发送的消息。

JSON 表示法
{
  "name": string,
  "sendTime": string,
  "contentMessage": {
    object (AgentContentMessage)
  },
  "messageTrafficType": enum (MessageTrafficType),

  // 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 平台设置。创建客服人员消息时,请勿添加此参数。该字段用于解析向用户发送消息的时间。

采用 RFC 3339 标准,生成的输出将始终在末尾带 Z,并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

contentMessage

object (AgentContentMessage)

代理消息的内容。

messageTrafficType

enum (MessageTrafficType)

消息流量类型。

联合字段 expiration

expiration 只能是下列其中一项:

expireTime

string (Timestamp format)

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

采用 RFC 3339 标准,生成的输出将始终在末尾带 Z,并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

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、视频、PDF)。

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 响应中必须包含内容类型字段,且该字段必须准确无误。建议的文件大小上限为 100 MB。

注意:文件网址中的重定向不受支持。如果需要重定向,请使用 CreateFileRequest。

thumbnailUrl

string

(可选,仅适用于图片、音频和视频文件)缩略图的可公开访问的网址。大小上限为 100 kB。

如果您未提供缩略图网址,RBM 平台会显示空白的占位缩略图,直到用户的设备下载该文件为止。根据用户的设置,文件可能不会自动下载,可能需要用户点按下载按钮。

注意:文件网址中的重定向不受支持。如果需要重定向,请使用 CreateFileRequest。

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)
  }
  // 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)

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

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 地图),点按此建议的操作会导致以用户当前位置为中心进行位置搜索。如果查询足够具体,代理就可以使用它来选择世界上的任何位置。

例如,将查询字符串设置为“金叶银行”将显示用户附近的所有金叶银行营业地点。将查询字符串设置为“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)

活动开始时间。

采用 RFC 3339 标准,生成的输出将始终在末尾带 Z,并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

endTime

string (Timestamp format)

活动结束时间。

采用 RFC 3339 标准,生成的输出将始终在末尾带 Z,并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

title

string

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

description

string

活动说明。请勿超过 500 个字符。

OpenUrlAction

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

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 在集成式 WebView 窗口中打开网址

WebviewViewMode

WebView 的视图模式类型。

枚举
WEBVIEW_VIEW_MODE_UNSPECIFIED 未指定。如需使用 WebView,必须指定视图模式。
FULL 需要一个全屏叠加层,其中包含聊天机器人的对话,并在状态栏中添加标签。
HALF 需要半屏叠加层。
TALL 需要四分之三的屏幕叠加。

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 字段,则还必须包含至少一个 titledescriptionsuggestions[] 字段。

VERTICAL 垂直布局。

StandaloneCard.ThumbnailImageAlignment

采用横向布局的独立卡片的图片预览对齐方式。

枚举
THUMBNAIL_IMAGE_ALIGNMENT_UNSPECIFIED 未指定。
LEFT 文件预览左对齐。
RIGHT 文件预览右对齐。

MessageTrafficType

支持的消息流量类型。枚举将扩展为支持其他流量类型。

枚举
MESSAGE_TRAFFIC_TYPE_UNSPECIFIED 默认行为:消息流量类型由代理的应用场景决定。根据消息内容,根据需要更新流量类型。对于多次使用代理,系统不提供默认值。必须手动设置流量类型(例如,TRANSACTION、PROMOTION)。
AUTHENTICATION 用于 OTP 代理使用情形中的身份验证消息。
TRANSACTION 适用于交易型或多用途代理应用场景中的交易型消息。
PROMOTION 对于“促销”或“多用途代理”使用情形下的促销消息。
SERVICEREQUEST 对于用户同意接收的服务相关消息。用于 OTP、事务性、促销或多用途代理应用场景。
ACKNOWLEDGEMENT 用于确认用户取消订阅请求的消息。用于 OTP、事务性、促销或多用途代理应用场景。

方法

create

从代理向用户发送消息。

delete

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