小多机器人API

接入小多机器人API,第三方需要按步骤获取基本信息:

  1. 注册账号
  2. 登录系统,设置机器人渠道 (登录系统-->设置-->渠道设置-->创建机器人API渠道)
  3. 获取创建的渠道信息。企业ID、渠道ID、APPSecret、API地址

开始接入

请求地址:

https://cvd.xiaoduoai.com/v1/api/match_question

请求方式:

postform

请求参数:

参数 类型 默认值 描述
unit_id int 企业ID
channel_id int 渠道ID
salt string "" 签名加盐,生成方式如下
sign string "" 签名,生成方式如下
user_id string "" 用户ID,要求全局唯一
nick string "" 用户昵称
question string 用户提问

salt生成:

随机生成salt字符串(长度为8,由A-Z,a-z,0-9组成)

sign生成:

1)将user_id、question、nick三个参数进行字典序排序 
2)将三个参数字符串以&拼接成一个字符串
3)将第2步得到的字符串依次拼接APPSecret和salt得到的字符串进行MD5签名,得到一个16进制小写表示的字符串。

请求参数举例:

注册账号,获取到企业ID:5,渠道ID:157,APPSecret:"98f756ac5f938904fed5b6543f1af9b6"

参数如下:
unit_id=5&channel_id=157&user_id=XIAODUO&nick=lisi&question=你好

随机生成salt="RRONkNKn"

sign计算过程:
1)将user_id、question、nick三个参数进行字典序排序,以&拼接得到"nick=lisi&question=你好&user_id=XIAODUO"
2)再依次拼接APPSecret和salt得到"nick=lisi&question=你好&user_id=XIAODUO98f756ac5f938904fed5b6543f1af9b6RRONkNKn"
3) 再计算MD5,hex(MD5("nick=lisi&question=你好&user_id=XIAODUO98f756ac5f938904fed5b6543f1af9b6RRONkNKn"))="8de9493948aa8ef461b37266c3b27b44"
4)得到sign="8de9493948aa8ef461b37266c3b27b44"

请求参数如下:
unit_id=5&channel_id=157&user_id=XIAODUO&nick=lisi&question=你好&salt=RRONkNKn&sign=8de9493948aa8ef461b37266c3b27b44

返回值json:

{
     "error_code":0,
     "info":"",
     "data":{
          "msg_id":1504526690,             
          "user_id":"xiaoduo",        
          "question":"在吗?",    
          "answers":["在的,亲","嗯,在的"],  
          "options" :[],
          "recommend":[],                
          "related_questions":[],         
          "hot_questions":[],
          "inspects":[
            {
             "id":"59eda7daa005010001ac9874",
             "question":"在的,亲",
             "confidence":0.8,
             "accept":true
            },
            ......
          ]             
          "state": 1                 
      }
}

返回值说明:

参数 类型 描述
error_code int 错误码
info string 描述
msg_id int 消息ID
user_id string 第三方用户ID
question string 用户提问
answers 字符串数组 答案,说明如下
options 字符串数组 动态问答的反问可取值,说明如下
recommend 字符串数组 推荐问题,说明如下
related_questions 字符串数组 关联问题,说明如下
hot_questions 字符串数组 常见问题,说明如下
inspects 对象数组 置信度,说明如下
state int 状态,说明如下

answers字段说明:

针对用户的提问识别到的语义的答案

options 字段说明:

若识别的问题为动态问答,该问题在后台配置了“反问时显示可取值”时,options 会返所设置的可取值。非动态问答options为空

recommend字段说明:

针对用户的提问识别到的相识问题

related_questions字段说明:

针对用户的提问识别到的语义所配置的关联问题

hot_questions字段说明:

渠道设置的固定话术

inspects 字段说明:

| 参数      | 类型   | 描述      |
|-----------|---------|---------|
| id        | string  |问题ID    |
| question  | string  |问题      |
| confidence| float64 |置信度    |
| accept    | bool    |         |

inspects 表示用户提问机器人识别到的问题,每个问题识别的置信度用confidence和accept衡量,当accept=true时表示完全识别用户提问,confidence值越高置信度越高

state字段说明:

state=1时表示问题成功识别。answers中为所识别问题的答案列表,recommend为空,hot_questions为空,related_questions可能非空(若改问题配置了关联问题)
state=2时表示问题无法进准识别。可推荐相识问题。answers为空,hot_questions为空,recommend可能非空
state=3时表示问题无法识别。answers为空,recommend可能非空,hot_questions可能非空(如果配置了渠道热门问题则非空)

错误码:

错误码 描述
0 成功
100025 系统繁忙
100026 salt不合法
100027 签名错误
100028 参数错误
100029 channel_id或者unit_id错误
100030 question长度不能超过1000个字符

results matching ""

    No results matching ""