获取机器人回复
根据用户输入的文本消息,机器人理解并做出响应,返回最合适的答复给用户。调用本接口的前提是已经在机器人平台搭建并训练了机器人。
POST
/openapi/v1/message
content-type
application/json
请求参数:
{
"sid": "4632847230984",
"user_id": "current_user_id",
"text": "你好吗"
}
参数 | 类型 | 规则 | 说明 |
---|---|---|---|
sid | string | 必填 | 会话标识。在多轮对话中[1]需使用相同的会话标识。 |
user_id | string | 必填 | 用户唯一标识。需确保该值与终端用户一一对应。 |
text | string | 必填 | 请求消息文本。 |
[1]多轮对话,表示在多个对话之间保持上下文共享。使用相同的会话标识表示希望本轮对话处于多轮对话中,使用不同的会话标识则表示处于新会话。
应答结果:
{
"code": 0,
"msg": "",
"result": {
"cards": [{
"title": "我很好",
"list": [{
"text": "推荐问题1",
"type": "TextCard",
"feedback_id": null
}, {
"text": "推荐问题2",
"type": "TextCard",
"feedback_id": null
}],
"type": "TitleListCard",
"feedback_id": "526d5cad8a6c4b2ca485abc8010333b9"
}]
}
}
返回结果为 JSON 字符串,各字段说明如下:
JSON字段 | 类型 | 说明 |
---|---|---|
code | int | 结果代码。(具体见状态码说明) |
msg | string | 详细信息,对接口请求的补充说明。 |
result | object | 结果数据。 |
result 字段说明如下:
JSON字段 | 类型 | 说明 |
---|---|---|
cards | array | 消息卡片。包含至少一条或多条消息卡片的里欸包 |
cards 字段说明如下:
JSON字段 | 类型 | 说明 |
---|---|---|
type | string | 卡片类型。用于呈现不同的回复结果。 |
feedback_id | string | 反馈信息id。用于满意度反馈接口 |
type 卡片类型说明如下
类型 | 说明 |
---|---|
TextCard | 文本卡片 |
ImageCard | 图片卡片 |
LinkCard | 链接卡片 |
QuickReplyCard | 快捷输入卡片 |
VideotexCard | 图文卡片 |
TitleListCard | 标题列表卡片 |
TitlePictureCard | 标题大图列表卡片 |
MarkdownCard | Markdown卡片 |
SensitiveWorkCard | 敏感词卡片 |
EntityCard | 分词卡片 |
DebugCard | 调试信息卡片。包含详细会话上下文信息(仅在调试机器人状态下有效) |
不同的卡片类型对应包含不同的数据类型,具体结构说明如下:
TextCard
纯文本卡片,常见于机器人回复纯文本时。也会存在于其他卡片类型中充当子类型。
{ "text": "机器人回复语", "type": "TextCard", "feedback_id": null }
ImageCard
图片卡片,当机器人回复为图片时时。也会存在于其他卡片类型中充当子类型。
{ "base64": "data:image/jpeg;base64,/.....", "type": "ImageCard", "feedback_id": null }
base64字段:图片经过base64编码后的字符串。
LinkCard
链接卡片,用于提供点击打开网页。也会存在于其他卡片类型中充当子类型。
{ "text": "打开网页", "url": "http://www.aladdingo.com", "type": "LinkCard", "feedback_id": null }
QuickReplyCard
快捷输入卡片,用于提供用户便捷回复功能。
{ "options": ["广州", "上海", "北京", "深圳", "杭州"], "type": "QuickReplyCard", "feedback_id": null }
options字段:可供选择字符串列表。
VideotexCard
图文卡片,包含自定义格式的文本和图片。
{ "text": "<p>官网</p><p><a href=\"http://www.aladdingo.com\" rel=\"noopener noreferrer\" target=\"_blank\">链接</a></p>", "type": "VideotexCard", "feedback_id": null }
TitleListCard
标题列表卡片,包含标题、列表及网页链接。
{ "title": "标题列表", "list": [{ "text": "列表项", "type": "TextCard", "feedback_id": null }, { "text": "官网", "url": "http://www.aladdingo.com", "type": "LinkCard", "feedback_id": null }], "type": "TitleListCard", "feedback_id": null }
TitlePictureCard
大图列表卡片,包含图片、标题、列表及网页链接。
{ "img": "data:image/jpeg;base64,/....", "title": "标题大图", "list": [{ "text": "列表项", "type": "TextCard", "feedback_id": null }, { "text": "官网", "url": "http://www.aladdingo.com", "type": "LinkCard", "feedback_id": null }], "type": "TitlePictureCard", "feedback_id": "99e75d22269d41bca2ccabca011e8f59" }
MarkdownCard
Markdown卡片,包含Markdown样式的文本。
{ "markdown": "### 标题", "html": "<h3>标题</h3>", "type": "QuickReplyCard", "feedback_id": null }
markdown字段:markdown格式文本。
html字段:转换为html格式的文本。
SensitiveWorkCard
敏感词卡片,当用户输入包含系统中设定敏感词时存在。
{ "word": "黄赌毒", "type": "SensitiveWordCard", "feedback_id": null }
EntityCard
实体卡片,用于展示用户输入语句中包含的实体词详情。
{ "name": "广州市", "entity_type": "内置.中国城市", "value": "广州市", "type": "EntityCard", "feedback_id": null }
DebugCard
调试信息卡片,用于在调试机器人中显示与机器人的交互详情。
{ "segments": ["广州", "明天", "天气", "如何"], "entities": [{ "text": "广州", "start": 1, "end": 2, "raw_type": null, "main_type": "buildin.city", "sub_type": "city", "extractor": "buildin", "values": ["广州"], "resolution": { "intent": "intent.3ff33cfa217b4ece8717ab8800f072f8", "skill": "skill.1d9cd06edf5a494fb7ebab8800f023e0" } }], "qna_best": { "hit_question": "吃", "standard_question": "吃", "score": "100" }, "qna_similars": [{ "hit_question": "吃什么好", "standard_question": "吃什么好", "score": "78" }, { "hit_question": "想吃什么", "standard_question": "想吃什么", "score": "78" }], "skill_best": { "skill_name": "天气查询", "intent_name": "查询指定城市天气", "score": "97" }, "skill_similars": [{ "skill_name": "技能1", "intent_name": "意图1", "score": "21" }], "skill_flow": [{ "skill_name": "天气查询", "intent_name": "查询指定城市天气", "input_nodes": [], "slots": [{ "Key": "城市", "Value": "" }], "node": "词槽-城市" }], "type": "DebugCard", "feedback_id": null }
segments字段:用户输入的语句的分词结果列表。
entities字段:用户输入的语句中包含的实体词列表。
qna_best字段:最佳匹配问答(仅一个)。
hit_question字段:命中的问题。
standard_question字段:命中问题的标准问法。
score字段:得分(1~100),越高越匹配。
qna_similars字段:相似问答列表(一个或多个)。
skill_best字段:最佳匹配技能(仅一个)。
skill_name字段:技能名称。
intent_name字段:意图名称。
score字段:得分(1~100),越高越匹配。
skill_similars字段:相似技能列表(一个或多个)。
skill_flow字段:技能流程进程列表。
skill_name字段:当前流程技能名称。
intent_name字段:当前流程意图名称。
input_nodes字段:当前流程输入节点列表。
slots字段:当前流程已填充词槽列表。
node字段:当前流程活跃节点名称。