攀登者机器人客户语义解析对接

  • 当前版本V1.0.2
  • 修改时间2020-12-16

一、Token校验

1.1 Token校验密钥

请妥善保管好密钥

******  请联系客服获取

1.2 Token生成

token生成需要unix时间戳、密钥两个参数。生成方式见如下示例:

public String buildToken(long timeStamp, String appKey) {
    String text = timeStamp +"\t"+ appKey;
    String token = getSha1(text);
    return token;
}   
public String getSha1(String str){
    if (null == str || 0 == str.length()){
        return null;
    }
    char[] hexDigits = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
            'a', 'b', 'c', 'd', 'e', 'f'};
    try {
        MessageDigest mdTemp = MessageDigest.getInstance("SHA1");
        mdTemp.update(str.getBytes("UTF-8"));

        byte[] md = mdTemp.digest();
        int j = md.length;
        char[] buf = new char[j * 2];
        int k = 0;
        for (int i = 0; i < j; i++) {
            byte byte0 = md[i];
            buf[k++] = hexDigits[byte0 >>> 4 & 0xf];
            buf[k++] = hexDigits[byte0 & 0xf];
        }
        return new String(buf);
    } catch (NoSuchAlgorithmException e) {
        e.printStackTrace();
    } catch (UnsupportedEncodingException e) {
        e.printStackTrace();
    }
    return null;
}

二、机器人请求调用接口

接口地址

http://www.hanarobot.net:8080/minidancerserver/req/semanticreq?devid=8019092600000001&ts=1592366506&token=32c8e655202b8458fd1833b27623d86b69977143

http://www.hanarobot.net:8080/minidancerserver/req/semanticreq 此服务器地址可以根据客户自己的实际地址进行修改

基本方式

  • 接口通过 HTTP POST JSON 方法发送
  • 接口支持 HTTP
  • 接口返回数据格式为 JSON 格式

请求 URL 参数说明

参数名 类型 说明 必要
devid string 机器人ID
ts long 当前unix秒级时间戳
token string 校验token

请求 JSON 参数说明

参数名 类型 说明
type int 请求事件类型 100-接口可用检测 101-问答请求
text string type=100时为空字符串,type=101时是语音转换后的文字内容

返回参数说明

参数名 类型 说明
code int 返回结果码,type=100时0为接口可用,其它值为接口不可用,type=101时0为未处理,1为已处理不结束多轮对话,2为已处理并结束多轮对话, 负数为出错
type int 请求事件类型 100-接口可用检测 101-问答请求
text string type=100时如果需要带过滤的关键词则关键词按英文逗号分隔(,)目前限制最大支持100个关键词,如果不需要过滤关键词返回空字符串,type=101时是处理结果需要机器人播报的文字内容
url string type=100固定为空字符串,type=101时是处理结果需要机器人播报的音频地址,此优先级比text高

请求实例

接口是否可用POST请求:
http://www.hanarobot.net:8080/minidancerserver/req/semanticreq?devid=8019092600000001&ts=1592366506&token=32c8e655202b8458fd1833b27623d86b69977143
{"text":"","type":100}
返回结果:
{"type":100,"code":0,"text":"","url":""}
接口可用,会把所有的语音对话内容上传给服务器
返回结果:
{"type":100,"code":0,"text":"打开,关闭,测试,查找","url":""}
接口可用,带过滤关键词,机器人只会把语音对话内容中包含关键词的语句上传给服务器

问答请求 POST请求:
http://www.hanarobot.net:8080/minidancerserver/req/semanticreq?devid=8019092600000001&ts=1592366506&token=32c8e655202b8458fd1833b27623d86b69977143
{"text":"我要找三国演义","type":101}
返回结果:
{"type":101,"code":1,"text":"三国演义这本书在第一排第三层书架上","url":""}
获取答案