上云无忧 > 文档中心 > 百度智能云机器人平台 ABC Robot 端云交互协议
机器人平台 ABC Robot
百度智能云机器人平台 ABC Robot 端云交互协议

文档简介:
这套协议是客户端和ABC Robot云端的通信协议,客户端借助此协议,实现端云交互,完成请求发送和返回值处理。我们将端云交互抽象成事件、指令和端状态的形式,客户端的请求由事件和端状态组合而成,云端处理客户端传输的事件和端状态,将处理结果以指令集的形式下发给机器人,客户端执行收到的指令集,完成交互逻辑。
*此产品及展示信息均由百度智能云官方提供。免费试用 咨询热线:400-826-7010,为您提供专业的售前咨询,让您快速了解云产品,助您轻松上云! 微信咨询
  免费试用、价格特惠

这套协议是客户端和ABC Robot云端的通信协议,客户端借助此协议,实现端云交互,完成请求发送和返回值处理。我们将端云交互抽象成事件、指令和端状态的形式,客户端的请求由事件和端状态组合而成,云端处理客户端传输的事件和端状态,将处理结果以指令集的形式下发给机器人,客户端执行收到的指令集,完成交互逻辑。

ClientContext(端状态)

ClientContext(端状态)反映的是客户端发起请求时的状态,客户端把端状态告知云端,云端可以根据设备端当前状态做出不同的逻辑决策,从而下发不同的指令集。例如,当前设备端正在语音播报,客户端收音并发起请求时将语音播报状态带上,这样云端就可以智能选择是否要求客户端打断当前语音播报。

示例

{ "clientContextV2":{ "TTS_PLAYING": "true", "APP_VERSION": "2", "WAKEUP_TYPE": 
"easyTalk|wakeupWord|touchBody|touchScreen", "MANUAL_REPLY": "true|false", "DIRECTION_INVALID": 
"0", "NAV_RUNNING":"true|false", "GUIDE_RUNNING":"true|false", "CHAT_IN_GUIDING":"true|false",
 "KNOW_ME_RUNNING":"true|false", }, "event": { ... } }

参数说明

字段名 类型 是否必需 说明
TTS_PLAYING string 客户端语音播报状态,取值为 "true" 和 "false",表示是否在语音播报
APP_VERSION string 客户端Base App版本,目前取值为 "2"
WAKEUP_TYPE string 唤醒方式,取值为easyTalk、wakeupWord、touchBody、touchScreen
MANUAL_REPLY string 人工回复是否开启, 取值为 "true" 和 "false"
DIRECTION_INVALID string 语音角度,0表示角度内,其它表示角度外
NAV_RUNNING string 是否处于导航状态,取值为 "true" 和 "false"
GUIDE_RUNNING string 是否处于导览状态,取值为 "true" 和 "false"
CHAT_IN_GUIDING string 导览状态下是否支持聊天,取值为 "true" 和 "false"。当用户通过“开始导览”等话术触发导览,请注意对话接口Playload中的chatInGuiding字段的值。在导览过程中,将chatInGuiding字段的值进行回传即可;如果CHAT_IN_GUIDING没有回chatInGuiding的值,那么服务端将以客户端传值为准进行业务逻辑判断
KNOW_ME_RUNNING string 是否处于熟人识别状态,取值为 "true" 和 "false"。在项目支持熟人识别的情况下,用户通过“你认识我吗?”等话术触发熟人识别流程,在熟人识别过程中,需要将该字段的值设置为"true",其他情况下可以不传该字段的值或传"false"

Event(事件)

我们把客户端和云端交互的请求数据组装成Event(事件)发给云端,常见的事件例如:人脸识别事件等。

TextInput事件

TextInput事件是以文本的方式请求ABC Robot对话接口,这个过程不包含ASR。

示例

{ "header": { "namespace": "baidu.abcrobot.event.text_input", "name":
 "TextInput" }, "payload": { "query": "今天天气怎么样" } }

payload参数说明

字段名 类型 是否必需 说明
query string 请求文本

FaceRecognition事件

人脸识别事件,整个人脸识别请求由两部分组成:人脸识别事件和人脸图片。

{ "header": { "namespace": "baidu.abcrobot.event.face_recognition", "name": "FaceRecognition" }, 
"payload": { "group":"face group id" } }

字段名 类型 是否必需 说明
group string 人脸库ID。若不填写,则云端会默认使用default人脸库进行人脸识别。

二进制图片附件

--this-is-a-boundary
Content-Disposition: form-data; name="image"; filename="image"
Content-Type: application/octet-stream
{{binary image attachment}}
--this-is-a-boundary

FaceComparison事件

人脸1:1比对事件,整个人脸1:1比对请求由两部分组成:人脸1:1比对事件和两张人脸图片。

{ "header": { "namespace": "baidu.abcrobot.event.face_recognition", "name": "FaceComparison" },
 "payload": { "imageTypes":[ 1, 2 ] } }

payload参数说明

字段名 类型 是否必需 说明
imageTypes list of int 图片类型值,取值范围详见下面说明。

imageTypes参数说明

图片类型值 类型 是否必需
1 生活照 通常为手机、相机拍摄的人像图片、或从网络获取的人像图片等
2 身份证芯片照 二代身份证内置芯片中的人像照片
3 带水印证件照 一般为带水印的小图,如公安网小图
4 证件照片 如拍摄的身份证、工卡、护照、学生证等证件图片,注:需要确保人脸部分不可太小,通常为100px*100px

二进制图片附件

--this-is-a-boundary
Content-Disposition: form-data; name="image"; filename="image"
Content-Type: application/octet-stream
{{binary image 1 attachment}}
--this-is-a-boundary

--this-is-a-boundary
Content-Disposition: form-data; name="image"; filename="image"
Content-Type: application/octet-stream
{{binary image 2 attachment}}
--this-is-a-boundary

FaceImageInput事件

人脸图片上传事件,人脸图片上传请求由两部分组成:人脸图片上传事件和人脸图片。

{ "header": { "namespace": "baidu.abcrobot.event.image_input", "name": "FaceImageInput" }, "payload": {} }

二进制图片附件

--this-is-a-boundary
Content-Disposition: form-data; name="image"; filename="image"
Content-Type: application/octet-stream
{{binary image attachment}}
--this-is-a-boundary

RobotConfig事件

客户端拉取配置事件,云端收到这个事件后,会将云端配置下发给客户端。

{ "header": { "namespace": "baidu.abcrobot.event.system", "name": "RobotConfig" }, "payload": {} }

Directive(指令)

云端把下发给客户端的操作封装成指令的格式,客户端收到指令后,依据指令的namespace、name和payload做出相应的响应。比如,Text指令,客户端收到这个指令后显示指令里的文本内容。

header参数说明

字段名 类型 是否必需 说明
namesace string 指令的命名空间
name string 指令的名字
interactionId string 客户端生成的,本次请求的交互ID
messageId string 云端生成的消息ID

常规指令

Speak指令

语音播报指令,客户端将指令的文本内容转换成语音并播报。

{ "header": { "namespace": "baidu.abcrobot.directive.voice_output", "name": "Speak",
 "interactionId": "", "messageId": "" }, "payload": { "content": "今天晴,天气不错!" } }

payload参数说明

字段名 类型 是否必需 说明
content string 用于语音播报的文本内容

Text指令

文本显示指令,一般用于显示语音播报对应的文本,长文本的显示请使用卡片显示中的TextCard指令。

{ "header": { "namespace": "baidu.abcrobot.directive.text_output", "name": "Text", "interactionId":
 "", "messageId": "" }, "payload": { "content": "为您找到长城的介绍" } }

payload参数说明

字段名 类型 是否必需 说明
content string 用于显示的文本内容

Hints指令

提示信息指令,用于引导用户进行下一轮交互。如用户问“天气怎么样”,云端在返回天气答案的同时,会下发Hints指令,如“明天呢”、“天津呢”,引导用户进行多轮对话。

{ "header": { "namespace": "baidu.abcrobot.directive.hint", "name": "Hints", 
"interactionId": "", "messageId": "" }, "payload": { "hints": [ "我要办理值机" ] } }

payload参数说明

字段名 类型 是否必需 说明
hints list of string 提示信息列表

Text指令和Hints指令排版示例如下,其中“为您找到长城的介绍”为Text指令,“我要办理值机”为Hints指令。

卡片显示

下面介绍的指令都是涉及客户端卡片显示的,客户端收到这些指令后,根据不同的类型展示不同的卡片。卡片显示指令统一使用RenderCard指令header,通过不同的payload来区分不同的卡片。

{ "header": { "namespace": "baidu.abcrobot.directive.screen", "name": "RenderCard",
 "interactionId": "", "messageId": "" }, "payload": { {{不同的payload}} } }

TextCard类型卡片

文本卡片。参考排版方式:标题、内容上下排列,左对齐。

{ "type": "TextCard", "title": "长城", "content": "${{长城|link0}}(The Great Wall),
又称万里长城...", "url": "https://baike.baidu.com/item/%E9%95%BF%E5%9F%8E/14251", "links": 
{ "link0": { "type": "renderHtml", "url": "http://robot.baidu.com/" } } }

payload参数说明

字段名 类型 是否必需 说明
type string 模板类型,固定取值为TextCard
title string 标题
content string 内容
url string 点击卡片的跳转
links json 详见links说明

ImageCard类型卡片

图片卡片,包含图片和对应的文本信息。参考排版方式:图片在左侧,标题、内容上下排列,三者左对齐。

{ "type": "ImageCard", "title": "长城", "image": "https://timgsa.baidu.com/timg?
20100603_96286_1.jpg", "content": "Great Wall)又称${{万里长城|link0}},是中国古代的军事防御工程,
是...", "url": "https://baike.baidu.com/item/长城/14251", "links": { "link0": { "type": 
"renderHtml", "url": "http://robot.baidu.com/" } } }

payload参数说明

字段名 类型 是否必需 说明
type string 模板类型,固定取值为ImageCard
title string 标题
content string 内容
image string 图片
url string 点击卡片的跳转
links json 详见links说明

ListCard类型卡片

列表卡片格式一,参考排版方式:列表包行多项,上下依次排列。每一项的排列方式和ImageCard的相同。

{ "type":"ListCard", "links":{ "link0":{ "speak":"播报话术", "type":"sendTextEvent",
 "query":"防御工程" }, "link1":{ "speak":"播报话术", "type":"sendTextEvent", "query":"防御工程" } 
} "title": "", "list":[ { "title": "柳宗元", "content":"${{防御工程|link0}}", "image": 
"https://ss2.baidu.com/6ONYsjip0QIZ8tyhnq/it/u=2541339440,4048181160&fm=58", "url": "" }, 
{ "title": "曾巩", "content":"${{防御工程|link1}}", "image": "https://ss2.baidu.com/6ONYsj
ip0QIZ8tyhnq/it/u=2541339440,4048181160&fm=58", "url": "" }, ... ] }

列表卡片格式二,参考排版方式:卡片主标题和列表项上下依次排列,左对齐。

{ "type":"ListCard", "links":{ "link0":{ "speak":"播报话术", "type":"sendTextEvent",
 "query":"里程查询" }, "link1":{ "speak":"播报话术", "type":"sendTextEvent", "query":"里程补登" }, 
"link1":{ "speak":"播报话术", "type":"sendTextEvent", "query":"里程兑换" } } "title":
 "请选择您所需要办理的业务类型", "list":[ { "content":"${{1.里程查询|link0}}", }, 
{ "content":"${{2.里程补登|link1}}", }, { "content":"${{3.里程兑换|link2}}", } ] }

payload参数说明

字段名 类型 是否必需 说明
type string 模板类型,固定取值为ListCard
title string 标题
list json array
links json 详见links说明

列表项

字段名 类型 是否必需 说明
title string 标题
content string 内容
image string 图片
url string 点击列表项的跳转

SimpleImageListCard类型卡片

简单图片列表卡片,为多个图片的集合,在仅展示图片的场景下,建议用此卡片。参考排版方式:这种类型只包含图片列表,图片排列依据屏幕宽度换行排列。

{ "type": "SimpleImageListCard", "list": [ { "image": "image_src", "url": "http://robot.baidu.com/" },
 { "image": "image_src", "url": "http://robot.baidu.com/" } ] }

payload参数说明

字段名 类型 是否必需 说明
type string 模板类型,固定取值为SimpleImageListCard
list json array

列表项

字段名 类型 是否必需 说明
image string 图片
url string 点击列表项的跳转

InputCard类型卡片

输入卡片,参考排版格式:标题、内容、输入说明列表项上下依次排列,左对齐。

{ "type": "InputCard", "content" : "请您输入需查询的完整的城市对信息,例如广州飞北京', 
"inputList" : [ "出发城市:", "到达城市:" ] "queryFormat": "${{input0}}飞${{input1}}" }

payload参数说明

字段名 类型 是否必需 说明
type string 模板类型,固定取值为InputCard
title string 标题
content string 内容
inputList string array 输入列表说明,inputList的数量,对应输入框数量。
queryFormat string 输入内容编排格式,对应格式为 ${{input0}} ${{input1}},input的序号对应inputList数组的index。

HintsCard类型卡片

信息提示卡片,list中为提示内容列表信息。

{ "type": "HintsCard", "content" : "小度能带你到这些地方', "list": [ { "content": "带我去第七展厅" },
 { "content": "带我去7号楼" }, { "content": "带我去卫生间" },
 { "content": "带我去电梯口" }, { "content": "带我去净化器" } ] }

payload参数说明

字段名 类型 是否必需 说明
type string 模板类型,固定取值为HintsCard
content string 标题
list string 内容

复合类型卡片

复合类型卡片支持更复杂的卡片点击、卡片间跳转等操作,目前我们为用户航班信息查询场景,提供里程查询、消费查询等卡片间的跳转。如果开发者有接入需求,请提交工单联系我们。

links字段说明

文本点击操作,文本整段或部分显示可点击。自定义协议:${{长城|link0}},link0为links json里的key。

字段名 类型 json key json value类型 json value具体内容 说明
links json
link0 json {"type": "renderHtml","url": "http://xxxx"} renderHtml点击获取网页。link0为点击文本对应的ID,实际使用时取值不定。type和url都是必须的。
link1 json {"type": "sendTextEvent","speak": "播报内容","query": "具体query"} sendTextEvent点击发起event请求。speak为点击时的播报。query为event发起的文本query。
link2 json {"type": "renderCard","speak": "播报内容","cardIndex": 1} renderCard点击跳转到本地卡片。speak为点击时的播报。cardIndex为卡片的ID。
...

音量控制

AdjustVolume指令

调节音量指令,客户端根据指令内的字段调节本地系统音量。

{ "header": { "namespace": "baidu.abcrobot.directive.speaker_controller", "name": "AdjustVolume", 
"interactionId": "", "messageId": "" }, "payload": { "volume_control": "down", "volume_value": "5.0" } }

payload参数说明

字段名 类型 是否必需 说明
volume_control string 声音调高或调低,取值为up和down。
volume_value string 声音调高或调低的数值,例如:"5.0"。当此字段为空时(如用户说“声音大一点”,没有包含具体的音量值),客户端可按照固定的音量值进行调节。

SetMute指令

静音指令,客户端根据指令设置打开或取消静音。

{ "header": { "namespace": "baidu.abcrobot.directive.speaker_controller", "name": "SetMute",
 "interactionId": "", "messageId": "" }, "payload": { "switch":"on" } }

payload参数说明

字段名 类型 是否必需 说明
switch string 静音,取值为on和off,on表示打开静音,off表示取消静音。

运动控制

下面介绍的都是涉及客户端运动控制的指令,客户端收到这些指令后,可以控制客户端做出相应的动作。

Walk指令

行走指令,控制设备行走一段距离。

{ "header": { "namespace": "baidu.abcrobot.directive.action", "name": "Walk", 
"interactionId": "", "messageId": "" }, "payload": { "direction": "forward", "distance": "5.0", "distance_unit": "米" } }

payload参数说明

字段名 类型 是否必需 说明
direction string 移动的方向,取值为forward、backward、left、right。
distance string 移动的距离,例如:"5.0"。
distance_unit string 移动距离的单位,例如:"米"。

Turn指令

转动指令,控制设备转动一定角度。

{ "header": { "namespace": "baidu.abcrobot.directive.action", "name": "Turn", 
"interactionId": "", "messageId": "" }, "payload": { "direction": "forward", "angle": "90.0", "angle_unit": "度" } }

payload参数说明

字段名 类型 是否必需 说明
direction string 转动的方向,取值为forward、backward、left、right。
angle string 转动的角度,例如:"90.0"。
angle_unit string 移动距离的单位,例如:"度"。

RaiseHands指令

抬手指令,设备可以抬起手臂。

{ "header": { "namespace": "baidu.abcrobot.directive.action", "name": "RaiseHands", 
"interactionId": "", "messageId": "" }, "payload": { "hands": "hand" } }

payload参数说明

字段名 类型 是否必需 说明
hands string 手臂选择,取值为hand、left_hand、right_hand。

ShakeHands指令

握手指令,设备可以做出握手动作。例如当用户说“握个手”时,云端会下发该指令。

{ "header": { "namespace": "baidu.abcrobot.directive.action", "name": "ShakeHands", 
"interactionId": "", "messageId": "" }, "payload": {} }

Hug指令

拥抱指令,设备可以做出拥抱动作。

{ "header": { "namespace": "baidu.abcrobot.directive.action", "name": "Hug" }, "payload": {} }

TwistHead指令

摇头指令,设备可以做出摇头动作。

{ "header": { "namespace": "baidu.abcrobot.directive.action", "name": "TwistHead" }, "payload": {} }

TurnHeadLeft指令

向左看指令,客户端可以做出向左看动作。

{ "header": { "namespace": "baidu.abcrobot.directive.action", "name": "TurnHeadLeft", 
"interactionId": "", "messageId": "" }, "payload": {} }

TurnHeadRight指令

向右看指令,客户端可以做出向右看动作。

{ "header": { "namespace": "baidu.abcrobot.directive.action", "name": "TurnHeadRight",
 "interactionId": "", "messageId": "" }, "payload": {} }

Stop指令

停止运动指令,设备收到该指令后停止当前动作。

{ "header": { "namespace": "baidu.abcrobot.directive.action", "name": "Stop" }, "payload": {} }

Wave指令

打招呼指令。

{ "header": { "namespace": "baidu.abcrobot.directive.action", "name": "Wave", "interactionId":
 "", "messageId": "" }, "payload": {} }

DoAnAction指令

动一下指令。

{ "header": { "namespace": "baidu.abcrobot.directive.action", "name": "DoAnAction",
 "interactionId": "", "messageId": "" }, "payload": {} }

Charge指令

充电指令,控制设备开始充电或停止充电。例如,当用户说“回去充电”时,可控制机器人进行自主充电。

{ "header": { "namespace": "baidu.abcrobot.directive.action", "name": "Charge",
 "interactionId": "", "messageId": "" }, "payload": { "switch": "on" } }

payload参数说明

字段名 类型 是否必需 说明
switch string 充电,取值为on和off,on表示开始充电, off表示停止充电。

巡航指令

巡航指令,控制设备开始巡航或停止巡航。例如,当用户说“开始巡航”时,可控制机器人按编排的路线进行巡航。

{ "header": { "namespace": "baidu.abcrobot.directive.action", "name": "Cruise", "interactionId":
 "", "messageId": "" }, "payload": { "switch": "on" } }

payload参数说明

字段名 类型 是否必需 说明
switch string 巡航,取值为on和off,on表示开始巡航, off表示停止巡航。

导航指令

当用户说“带我去XXX”时,可控制机器人导航至XXX地点。

{ "header": { "namespace": "baidu.airport.directive.navigation", "name": "Navigate",
 "interactionId": "", "messageId": "" }, "payload": { "target": "卫生间" } }

payload参数说明

字段名 类型 是否必需 说明
target string 用户要导航的地点,要求该地点在机器人地图上存在

导览指令

开始导览指令

当用户说“开始导览”时,可控制机器人按编排的路线进行导览讲解。

{ "header": { "namespace": "baidu.standard.directive.guide", "name": "StartGuideFlow", 
"interactionId": "", "messageId": "" }, "payload": { "routeName":"导览路线1", "chatInGuiding" : true } }

payload参数说明

字段名 类型 是否必需 说明
flowName string 导览路线名称
thumbnailsUrl string 导览路线缩略图
chatInGuiding string 在该路线的导览讲解过程中是否支持聊天

结束导览指令

当用户说“结束导览”时,可控制机器人结束导览讲解。

{ "header": { "namespace": "baidu.standard.directive.guide", "name": "EndGuideFlow", 
"interactionId": "", "messageId": "" }, "payload": { } }

继续导览指令

当机器人在导览过程中被打断后处于暂停导览状态的情况下,用户说“继续导览”时,可控制机器人继续暂停前的导览讲解。

{ "header": { "namespace": "baidu.standard.directive.guide", "name": "ProceedCurrentStep",
 "interactionId": "", "messageId": "" }, "payload": { } }

下一个导览点

当机器人在某一个导览点进行讲解时,可以通过“下一个讲解点”话术,控制机器人结束当前点的讲解,直接到下一个导览点进行讲解。

{ "header": { "namespace": "baidu.standard.directive.guide", "name": "ProceedNextStep", 
"interactionId": "", "messageId": "" }, "payload": { } }


人脸指令

FaceRecognitionResult指令

人脸识别结果指令,云端下发人脸识别结果给客户端。

{ "header": { "namespace": "baidu.abcrobot.directive.face_recognition", "name": 
"FaceRecognitionResult", "interactionId": "", "messageId": "" }, "payload": { "name": 
"name", "sex": "MALE", "age": 30, "uid": "N1088", "faceliveness": true, "type": "VIP" } }

payload参数说明

字段名 类型 是否必需 说明
name string 人脸的名字
sex string 人脸的性别,取值位MALE和FEMALE。
age int 人脸的年龄
uid string 人脸ID
faceliveness boolean 检测是否是活体
type string 人脸类型,取值为VIP和UNKNOWN。

FaceComparisonResult指令

人脸比对结果指令,云端下发人脸比对结果给客户端。

{ "header": { "namespace": "baidu.abcrobot.directive.face_recognition", "name": "FaceComparisonResult",
 "interactionId": "", "messageId": "" }, "payload": { "score": 89.9 } }

payload参数说明

字段名 类型 是否必需 说明
score float 比对分数,80分以上可以认为是同一个人

GetFaceImage指令

上传人脸图片指令,客户端收到这个指令后,上传人脸图片到云端,与FaceImageInput事件配合使用。

{ "header": { "namespace": "baidu.abcrobot.directive.image_input", "name": "GetFaceImage", 
"interactionId": "", "messageId": "" }, "payload": {} }


系统指令

SyncRobotConfig指令

云端配置下发指令,由RobotConfig事件触发。

{ "header": { "namespace": "baidu.abcrobot.directive.system", "name": "SyncRobotConfig", 
"interactionId": "", "messageId": "" }, "payload": { "welcomeSpeeches": [ "您好,很高兴为您服务",
 "${name}您好,很高兴为您服务" ], "faceWakeUpType": 1, "sensitiveWords":[ "abc", "edf" ] } }

payload参数说明

字段名 类型 是否必需 说明
welcomeSpeeches list of string 欢迎语列表
faceWakeUpType int 人脸唤醒类型,1在线,2代表离线。
sensitiveWords list of string 敏感词列表

InquireEnergy指令

电量查询指令,客户端收到这个指令后,显示客户端电量。

{ "header": { "namespace": "baidu.abcrobot.directive.instruction", "name": "InquireEnergy", 
"interactionId": "", "messageId": "" }, "payload": {} }

ShowFeatures指令

功能页展示指令,客户端收到这个指令后,展示功能介绍页。

{ "header": { "namespace": "baidu.abcrobot.directive.instruction", "name": "ShowFeatures",
 "interactionId": "", "messageId": "" }, "payload": {} }

媒体资源控制指令

媒体播放指令

用于播放媒体资源,如唱一首没有共产党就没有新中国。

{ "header": { "namespace": "baidu.abcrobot.directive.media_control", "name": "PlayMedia",
 "interactionId": "", "messageId": "" }, "payload": { "name":"没有共产党就没有新中国", "type":"SING_SONG" } }

payload参数说明

字段名 类型 是否必需 说明
type string 播放媒体类型,目前只支持“SING_SONG”类型
name string 播放内容名称

媒体播放控制指令

用于媒体播放控制,如暂停,继续,下一个,换一个等

{ "header": { "namespace": "baidu.abcrobot.directive.media_control", "name": "PlayControl", 
"interactionId": "", "messageId": "" }, "payload": { "action":"play_next" } }

payload参数说明

字段名 类型 是否必需 说明
action string 播放控制动作,可选值:play_pause(暂停), play_continue(继续), play_next(下一个), play_switch(切换)

页面切换控制指令

用于页面切换控制,比如返回主页,返回上一页,下一页等

{ "header": { "namespace": "baidu.abcrobot.directive.media_control", "name": "PageControl", 
"interactionId": "", "messageId": "" }, "payload": { "pageName":"MAIN_PAGE" } }

payload参数说明

字段名 类型 是否必需 说明
pageName string 页面名称,可选值:MAIN_PAGE(返回主页),PREVIOUS_PAGE(返回父级页面),LAST_PAGE(上一页),NEXT_PAGE(下一页)

按索引选择指令

用于在媒体列表中,按索引选择要操作的媒体项。如第一个/页,倒数第一个/页等,

{ "header": { "namespace": "baidu.abcrobot.directive.media_control", "name": "SelectByIndex", 
"interactionId": "", "messageId": "" }, "payload": { "order": "POS", "index": 1, "unit": "page" } }

payload参数说明

字段名 类型 是否必需 说明
order string 选择顺序,如,第一个、倒数第一个等。可选值:POS(顺序)、NEG(倒序)
index int 选择索引,整数,可选值:1、2、3...
unit string 索引单位,如第一页、第一个等。可选值:page(页)、pcs(个)

其它指令

NLUResult指令

语义理解结果指令,开发者使用自定义技能时,可以在技能回复中配置成直接获取NLU结果,并通过这个指令下发。

{ "header": { "namespace": "baidu.abcrobot.directive.nlu", "name": "NLUResult", 
"interactionId": "", "messageId": "" }, "payload": { "skill": { "name": "CUSTOMER" },
 "intent": { "name": "RECHARGE" }, "slots": [ { "name": "cellphone", "originalWord": 
"13810102020", "normalizedWord": "13810102020" } ] } }

payload参数说明

字段名 类型 是否必需 说明
skill.name string 技能名称
intent.name string 意图名称
slots json array 槽位列表
slots[i].name string 槽位名称
slots[i].originalWord string 槽位值
slots[i].normalizedWord string 归一化槽位值

CustomData指令

自定义参数下发指令,通常为控制台配置的KV集合,例如问答库中的自定义参数。

{ "header": { "namespace": "baidu.abcrobot.directive.custom", "name": "CustomData",
 "interactionId": "", "messageId": "" }, "payload": { "data": { "key": "value", ... } } }

payload参数说明

字段名 类型 是否必需 说明
data json 自定义参数json结构,json里的取值是自定义的key和value,目前问答库支持自定义参数下发。

技能分发描述指令

用于表明用户问题命中技能和答案来源技能。

{ "header": { "namespace": "baidu.abcrobot.directive.skill_dispatch", "name":
 "SkillInfo", "interactionId": "", "messageId": "" }, "payload": { "type": "Navigation", } }

payload参数说明

字段名 类型 是否必需 说明
type String 问题命中技能信息,目前只支持Navigation,在没有明确下发导航指令,但用户问题命中导航意图时下发,用于机器人端打开导航相关页面的判断条件

End指令

再见指令,客户端收到这个指令后,客户端重置和云端交互的session。

{ "header": { "namespace": "baidu.abcrobot.directive.session", "name": "End",
 "interactionId": "", "messageId": "" }, "payload": {} }

Error指令

错误指令,客户端请求云端返回此指令,表示请求失败,客户端根据相应的错误码做错误处理。

{ "header": { "namespace": "baidu.abcrobot.directive.error", "name": "Error",
 "interactionId": "", "messageId": "" }, "payload": { "code": 50300, "message": "……" } }

payload参数说明

字段名 类型 是否必需 说明
code int 错误码
message string 错误描述

错误码

错误码 描述 类别 备注
40001 客户端http请求缺少参数,或者参数错误 请求数据数据问题(4xxxx) 详细信息见message字段
40002 没有对应的处理器处理该event 请求数据数据问题(4xxxx) 详细信息见message字段
50100 协议模块通用错误 协议模块问题(501xx) 详细信息见message字段
50200 对话模块通用错误 下游对话服务问题(502xx) 详细信息见message字段
50300 人脸模块通用错误 下游人脸服务问题(503xx) 详细信息见message字段
50000 其他通用错误 通用错误 详细信息见message字段

相似文档
  • 百度内容审核平台是一款针对多媒体内容进行智能审核的服务平台。具有精准的审核模型、丰富的审核维度、灵活的规则配置等特点。通过界面化选择审核维度、个性化调整松紧度,实现自动检测涉政、涉黄、涉恐、恶意推广等违规内容,降低业务违规风险。
  • 内容审核各服务均提供一定额度的免费测试资源供测试使用,免费测试资源使用完毕后,可选择付费使用。其中图像审核、文本审核提供两种付费方式:按调用量后付费、购买次数包预付费,两种付费方式均可在控制台直接开通或购买,开通付费后默认按量后付费的方式进行计费,如有购买对应服务的次数包,则优先消耗次数包额度,抵扣完毕后自动转为按量后付费方式。根据实际调用的成功次数,系统每小时会对您的账户进行扣费。
  • 内容审核平台所包含的以下各个能力都提供了免费测试资源,开通付费后,免费测试资源仍保留。开始产生调用次数时,优先抵扣免费额度,超出免费额度后按次计费。具体的免费测试资源如下:
  • 图像审核: 在 控制台-免费资源领取页 可领取所需接口的免费测试资源。 个人认证 10,000次,企业认证50,000 次。 免费测试资源用尽后按照如下价格进行计费。如需付费使用,可点击开通按量后付费或 购买次数包 。
  • 本文主要讲述购买百度内容审核服务的方法与注意事项。 账户充值: 您可以直接点击充值,或者通过以下方式进入充值页面: 方式一:在控制台首页,将鼠标移到右上角导航栏的“财务”按钮上方,弹出小窗口,点击“充值”按钮。 方式二:在控制台首页,点击右上角导航栏的“财务”按钮,进入“财务中心”,在“账务总览”页面,点击"充值"按钮。
官方微信
联系客服
400-826-7010
7x24小时客服热线
分享
  • QQ好友
  • QQ空间
  • 微信
  • 微博
返回顶部