[API]会话

会话API接口

描述

根据机器人实例ID与其进行会话。

请求参数

名称

类型

是否必填

描述

Action

String

系统规定参数,取值:Chat

InstanceId

String

机器人实例ID。登录智能对话机器人控制台,左侧面板选择开发者->基本配置,查看机器人示例信息,可获得该实例ID。

Utterance

String

机器人访问者的输入

SessionId

String

会话ID,用于标识一个访问者的会话和保持上下文信息。对于一个新的访问者,首次调用Chat接口时无需传递此字段,机器人会开启一个会话,并在Chat接口的响应中返回该会话的SessionId。对于该访问者的后续轮次的会话,调用Chat接口时传递当前会话的SessionId,机器人即可基于SessionId继续该轮次会话。

SenderId

String

访问者ID。用于识别当前会话中的用户

SenderNick

String

当前会话中访问的昵称

Tag

String

可以传递任何内容参数,该参数将会直接在返回结果中透传回来。

Perspective.1

String

视角编码,用于调用同一知识标题下不同视角的答案。在拼装请求参数时,需要以Perspective.1={视角编码}的格式传递参数。如:&Perspective.1=FZJBY3raWr。使用SDK时以SDK中定义的参数为准。目前仅支持一个视角答案的调用。

VendorParam

String

是一个JSON格式的用户自定义参数集,可以传入用户自定义的参数到各对话引擎,例如:{"phone":123456789}

AgentKey

String

业务空间key,不传时访问默认业务空间,key值在主账号业务管理页面获取

返回参数

名称

类型

描述

MessageId

String

本条会话应答消息的ID

SessionId

String

本次会话的ID

Messages

Array of Message

消息的列表

Message

名称

类型

描述

AnswerType

String

本条消息的类型 Text=文本,Recommend=知识库关联问题推荐,Knowledge=知识库关联问题

AnswerSource

String

当AnswerType为Recommend时,此字段表示推荐的答案来源,枚举值如下:

KNOWLEDGE:问答

INTENT_FAQ_CLARIFY:FAQ和DS混合澄清

BotFramework:对话工厂澄清

Text

Text

当Type为Text时,此字段包含机器人返回的Text对象

Knowledge

Knowledge

当Type为Knowledge时,此字段包含机器人返回的Knowledge对象

Recommends

Array of Recommend

当Type为Recommend时,此字段包含机器人返回的Recommend的列表

Text

名称

类型

描述

Content

String

文本消息的内容

AnswerSource

String

区分答案类型。

ChitChat:系统预置闲聊;USER_DEFINED_CHAT:自定义闲聊;

BotFramework:对话工厂;NO_ANSWER:无答案;

SENSITIVE_WORD: 全局敏感词;

COMMANDS:系统指令

ContentType

String

纯文本/富文本答案的标示

枚举值如下:

PLAIN_TEXT:纯本文

RICH_TEXT: 富文本

VoiceTitle

String

当AnswerType为Recommend时,并且问答的机器人为语音机器人,此字段表示语音场景渲染之后的答案

Commands

Map<String, Object>

当AnswerSource为COMMANDS、BotFramework时,此字段返回指令信息

Commands 系统内置指令

参数名称

参数类型

参数含义

value值示例

内置value字段释义

sysToAgent

string

系统内置转人工指令

{\"skillGroup\":\"12\",\"ext\":\"abc\"}

skillGroup: 技能组信息

ext:扩展字段

Knowledge

名称

类型

描述

Id

String

知识库中的知识标题ID

Title

String

知识标题

Summary

String

知识标题的简介

Content

String

知识标题的答案内容

RelatedKnowledges

List

关联知识列表

ContentType

String

纯文本/富文本答案的标示

枚举值如下:

PLAIN_TEXT:纯本文

RICH_TEXT: 富文本

RelatedKnowledge

名称

类型

描述

KnowledgeId

String

知识关联知识的ID

Title

String

知识的关联知识的标题

Recommend

名称

类型

描述

KnowledgeId

String

知识库中的知识标题的ID

Title

String

知识库中的知识标题

AnswerSource

String

澄清来源的标识,枚举值有:

Knowledge:FAQ标题

BotFramework:对话工厂

错误码

错误代码

Http状态码

描述

InvalidInstanceId.NotFound

404

指定的InstanceId不存在

InvalidParameter

400

参数不合法

InternalError

500

内部错误

示例

请求示例

https://chatbot.cn-shanghai.aliyuncs.com/?Action=Chat
&InstanceId=<InstanceId>
&Utterance=<Utterance>
&SenderId=<SenderId>
%SenderNick=<SenderNick>
%Perspective.1=<视角编码>
%Tag=xxxxx
&<公共请求参数>

返回示例

FAQ问答-直出

{
  "QuerySegList": [
    "测试",
    "富文",
    "本"
  ],
  "Messages": [
    {
      "Knowledge": {
        "Score": 100.0,
        "Category": "第一个类目",
        "ContentType": "RICH_TEXT",
        "AnswerSource": "KnowledgeBase",
        "Content": "<p>富文本答案啊</p>",
        "Summary": "富文本答案啊",
        "Title": "测试富文本",
        "Id": "4549"
      },
      "AnswerType": "Knowledge"
    }
  ],
  "RequestId": "1b8b19de-7e6d-4e45-b7f1-9daca21af8b0",
  "HttpStatus": 200,
  "SessionId": "1234",
  "MessageId": "1b8b19de-7e6d-4e45-b7f1-9daca21af8b0"
}

FAQ问答-澄清

{
  "QuerySegList": [
    "文本"
  ],
  "Messages": [
    {
      "AnswerSource": "KNOWLEDGE",
      "Recommends": [
        {
          "Score": 46.0,
          "Title": "测试纯文本",
          "KnowledgeId": "4548"
        }
      ],
      "AnswerType": "Recommend"
    }
  ],
  "RequestId": "5af5d5f9-76b1-45e9-8003-fcd07ab9a5e4",
  "HttpStatus": 200,
  "SessionId": "1234",
  "MessageId": "5af5d5f9-76b1-45e9-8003-fcd07ab9a5e4"
}

对话工厂直出

{
  "QuerySegList": [
    "查",
    "天气"
  ],
  "Messages": [
    {
      "Text": {
        "ContentType": "PLAIN_TEXT",
        "NodeName": "示例_查天气.查天气填槽.__city",
        "AnswerSource": "BotFramework",
        "Slots": [
          {
            "Origin": "",
            "Hit": false,
            "Value": "",
            "Name": "查天气意图.city"
          }
        ],
        "Score": 100.0,
        "DialogName": "示例_查天气",
        "IntentName": "查天气意图",
        "Content": "请问您要查哪里的天气?",
        "NodeId": "1410-c7a72a78.__city",
        "ExternalFlags": {
          
        }
      },
      "AnswerType": "Text"
    }
  ],
  "RequestId": "dc6757ef-9d03-4255-92ec-d262752a88ed",
  "HttpStatus": 200,
  "SessionId": "1234",
  "MessageId": "dc6757ef-9d03-4255-92ec-d262752a88ed"
}

对话工厂澄清

{
  "QuerySegList": [
    "公积金"
  ],
  "Messages": [
    {
      "VoiceTitle": "请问你说的是公积金查询,还是公积金提取",
      "AnswerSource": "BotFramework",
      "Recommends": [
        {
          "Score": 0.656,
          "AnswerSource": "BotFramework",
          "Title": "公积金查询",
          "KnowledgeId": "735899"
        },
        {
          "Score": 0.634,
          "AnswerSource": "BotFramework",
          "Title": "公积金提取",
          "KnowledgeId": "735900"
        }
      ],
      "AnswerType": "Recommend"
    }
  ],
  "RequestId": "ab6be8af-cee4-40c3-9919-2ac7461d7d98",
  "Success": true,
  "HttpStatus": 200,
  "SessionId": "123",
  "MessageId": "ab6be8af-cee4-40c3-9919-2ac7461d7d98"
}

意图、FAQ混合澄清

{
  "QuerySegList": [
    "公积金"
  ],
  "Messages": [
    {
      "VoiceTitle": "请问你说的是公积金查询,还是住房公积金在个人所得税税前扣除的具体规定是什么?",
      "AnswerSource": "INTENT_FAQ_CLARIFY",
      "Recommends": [
        {
          "Score": 0.656,
          "AnswerSource": "BotFramework",
          "Title": "公积金查询",
          "KnowledgeId": "735899"
        },
        {
          "Score": 0.47410887479782104,
          "Category": "税务-12366&680条-税款计算-居民个人取得综合所得-个人所得税专项扣除",
          "AnswerSource": "KNOWLEDGE",
          "Title": "住房公积金在个人所得税税前扣除的具体规定是什么?",
          "KnowledgeId": "7049"
        }
      ],
      "AnswerType": "Recommend"
    }
  ],
  "RequestId": "08d6bb1c-5394-4836-8e4a-86c07e7729b1",
  "Success": true,
  "HttpStatus": 200,
  "SessionId": "123",
  "MessageId": "08d6bb1c-5394-4836-8e4a-86c07e7729b1"
}

闲聊-系统语聊

{
  "QuerySegList": [
    "你好"
  ],
  "Messages": [
    {
      "Text": {
        "ContentType": "PLAIN_TEXT",
        "UserDefinedChatTitle": "其他",
        "AnswerSource": "ChitChat",
        "HitStatement": "你好",
        "Content": "哔~哔~哔~,我来了"
      },
      "AnswerType": "Text"
    }
  ],
  "RequestId": "8f267d8c-c118-4d6a-9ba1-2a5bdc720fed",
  "HttpStatus": 200,
  "SessionId": "1234",
  "MessageId": "8f267d8c-c118-4d6a-9ba1-2a5bdc720fed"
}

闲聊-自定义语聊

{
  "QuerySegList": [
    "谢谢你"
  ],
  "Messages": [
    {
      "Text": {
        "ContentType": "PLAIN_TEXT",
        "UserDefinedChatTitle": "感谢",
        "AnswerSource": "USER_DEFINED_CHAT",
        "HitStatement": "谢谢你",
        "Content": "能为您服务是我的荣幸~"
      },
      "AnswerType": "Text"
    }
  ],
  "RequestId": "56d89830-09fe-4606-afb2-240199509503",
  "HttpStatus": 200,
  "SessionId": "1234",
  "MessageId": "56d89830-09fe-4606-afb2-240199509503"
}

全局敏感词

{
  "QuerySegList": [
    "查",
    "天气"
  ],
  "Messages": [
    {
      "Text": {
        "ContentType": "PLAIN_TEXT",
        "AnswerSource": "SENSITIVE_WORD",
        "Content": "您说的这个问题我不能回答您,您可以尝试询问其他问题"
      },
      "AnswerType": "Text"
    }
  ],
  "RequestId": "961d4187-e2e7-4463-8063-a4c79c912227",
  "HttpStatus": 200,
  "SessionId": "1234",
  "MessageId": "961d4187-e2e7-4463-8063-a4c79c912227"
}

转人工

全局转人工

{
  "QuerySegList": [
    "净值",
    "大于",
    "1"
  ],
  "Messages": [
    {
      "Text": {
        "ContentType": "PLAIN_TEXT",
        "AnswerSource": "COMMANDS",
        "Content": "正在为您转接人工客服",
        "Commands": {
          "sysToAgent": "{\"skillGroup\":\"12\"}"
        }
      },
      "AnswerType": "Text"
    }
  ],
  "Success": true,
  "HttpStatus": 200,
  "SessionId": "123",
  "MessageId": "fbbe0230-af14-4850-8f59-2ff60dfbf773"
}

触发对话工厂意图转人工

{
  "QuerySegList": [
    "转",
    "人工"
  ],
  "Messages": [
    {
      "Text": {
        "ContentType": "PLAIN_TEXT",
        "NodeName": "公积金转人工.回复信息",
        "AnswerSource": "BotFramework",
        "Score": 100.0,
        "DialogName": "公积金转人工",
        "IntentName": "转人工",
        "Content": "这是转人工的回复",
        "Commands": {
          "sysToAgent": "{\"skillGroup\":\"8\",\"ext\":\"123\"}"
        },
        "NodeId": "i073y198",
        "ExternalFlags": {
          
        }
      },
      "AnswerType": "Text"
    }
  ],
  "Success": true,
  "HttpStatus": 200,
  "SessionId": "123",
  "MessageId": "590f0434-030a-4de2-8212-bf1a96e0c687"
}

无答案

{
  "QuerySegList": [
    "公积金",
    "贷款"
  ],
  "Messages": [
    {
      "Text": {
        "ContentType": "PLAIN_TEXT",
        "AnswerSource": "NO_ANSWER",
        "Content": "我还没有学会这个问题,已经记录会尽快学习为您解答,请尝试询问我其他问题"
      },
      "AnswerType": "Text"
    }
  ],
  "RequestId": "1ad8733a-7180-4e3b-a969-96f47d774256",
  "HttpStatus": 200,
  "SessionId": "1234",
  "MessageId": "1ad8733a-7180-4e3b-a969-96f47d774256"
}
阿里云首页 相关技术圈