1. API接入
1.1. 问答接口
此接口用于机器人智能回复用户提问
调用协议
请求示例
iask.qq.com/aics/open/ask?appId=817c0cc4fb65b98022b73b56485a515d&uuId=aa&channel=1&query=再来试试&time=1528012017&sign=dc0900e8209f1b3c16f4c0bb736d7a39
参数说明
参数名称 |
参数类型 |
是否必填 |
参数说明 |
appId |
string |
是 |
应用ID,可在IASK应用管理界面获取 |
uuId |
string |
是 |
用户唯一ID,最大长度20位 |
channel |
int |
是 |
接口调用渠道,0:问答API ,1:公众号,2:桌面网站,3:移动网站 |
query |
string |
是 |
用户查询问题 |
time |
int |
是 |
时间戳,单位秒 |
sign |
string |
是 |
调用签名,根据接口调用参数及应用SECRET KEY 生成 |
接入流程
- 用户从 IASK 的应用获取
APPID
及SECRET KEY
- 确认除
sign
参数外各参数的值
- 生成
sign
参数,将appId
,uuId
,channel
,query
,time
参数按升序排列组合成字符串得到【&appId=x&channel=x&query=x&time=x&uuId=x】;在字符串头部加上SECRET KEY
得到【x&appId=x&channel=x&query=x&time=x&uuId=x】。对此字符串做 MD5 处理得到签名参数sign
sign
参数生成示例(PHP):
$secret_key = xxx; // IASK应用配置里面的secretKey
$params = [
'appId' => 'xx'
'time' => 1525339871,
'channel' => 'xx',
'uuId' => 'xx',
'query' => 'xx',
];
ksort($params);
foreach ($params as $key => $value) {
$secret_key.= '&' . $key . '=' . $value;
}
$sign = md5($secret_key);
响应参数
参数名 |
类型 |
说明 |
code |
int |
code码,0正常,非0异常 |
data |
object |
返回结果 |
msg |
string |
返回消息 |
响应示例
{
code: 0,
data: {
type => 'STRING', //答案结构类型,(‘STRING’,’ARRAY’)
prefix => '', //IASK提供的前置话术
answer => 'xxxx' //IASK返回的答案(type为STRING)
rel => [
"xxx",
"xxx"
], //IASK提供的关联问题集合
suffix => '', //IASK提供的后置话术
},
msg: "success"
}
{
code: 0,
data: {
type => 'ARRAY', //答案结构类型,(‘STRING’,’ARRAY’)
prefix => '', //IASK提供的前置话术
answer => [
"xxx" ,
"xxx" ,
], //IASK返回的追问回答集合(type为ARRAY)
rel => [], //IASK提供的关联问题集合
suffix => '', //IASK提供的后置话术
},
msg: "success"
}
1.2. 敏感词过滤接口
用户咨询输入的内容包含敏感词,该词会用**号展示替代,可在 IASK 管理台的会话设置页面添加敏感词。
调用协议
请求示例
iask.qq.com/aics/open/filterSensitiveWord?appId=817c0cc4fb65b98022b73b56485a515d&query=你能不能酸萝卜别吃了啊&time=1528803562&sign=a96c71b1d0f192906310bbaccf8ce1d1
参数说明
参数名称 |
参数类型 |
是否必填 |
参数说明 |
appId |
string |
是 |
应用ID,可在IASK应用管理界面获取 |
query |
string |
是 |
待过滤文本 |
time |
int |
是 |
时间戳,单位秒 |
sign |
string |
是 |
调用签名,根据接口调用参数及应用SECRET KEY生成 |
接入流程
- 用户从 IASK 的应用获取
APPID
及SECRET KEY
- 确认除
sign
参数外各参数的值
- 生成
sign
参数,将appId
,uuId
,channel
,query
,time
参数按升序排列组合成字符串得到【&appId=x&query=x&time=x】;在字符串头部加上SECRET KEY
得到【x&appId=x&query=x&time=x】。对此字符串做 MD5 处理得到签名参数sign
sign
参数生成示例(PHP):
$secret_key = xxx; // IASK应用配置里面的secretKey
$params = [
'appId' => 'xx'
'time' => 1525339871,
'query' => 'xx',
];
ksort($params);
foreach ($params as $key => $value) {
$secret_key.= '&' . $key . '=' . $value;
}
$sign = md5($secret_key);
响应参数
参数名称 |
参数类型 |
参数说明 |
code |
int |
code码,0正常,非0异常 |
data |
string |
返回过滤后的文本 |
msg |
string |
返回消息 |
响应示例
{
"code": 0,
"data": "你能不能*****了啊", //IASK过滤后结果,敏感词会逐字符替换为*
"msg": "success"
}
1.3. 模板消息推送接口
调用协议
- HTTPS POST请求
- content-type: application/json
请求示例
iask.qq.com/aics/open/pushTemplateMsg?appId=be043fdb5e7d23041f0436a27ae3777d&oaId=wxc300f0df2a16da43&openId=ogud103JWOxWQmSKy2DR-NE6NTD4&templateId=Jpdhk-mCTam7fQjbObwBgZW54g2ij8cjja7NYo_b8YU&url=http://www.qq.com×tamp=111&sign=xxx
参数说明
参数名称 |
参数类型 |
是否必填 |
参数说明 |
appId |
string |
是 |
应用ID,可在IASK应用管理界面获取 |
oaId |
string |
是 |
应用授权给IASK的公众号ID |
openId |
int |
是 |
接收者openid |
templateId |
string |
是 |
模板ID |
url |
string |
否 |
模板跳转链接 |
timestamp |
int |
是 |
时间戳,单位秒 |
sign |
string |
是 |
调用签名,根据接口调用参数及应用SECRET KEY生成 |
miniprogram |
json |
否 |
放置在post body中,详见示例1 |
data |
json |
是 |
放置在post body中,详见示例2 |
{
"appid":"xiaochengxuappid12345", //小程序appID
"pagepath":"index?foo=bar" //小程序具体页面地址
}
{
"first": {
"value":"工单处理进度通知",
"color":"#173177"
},
"keyword1":{
"value":"xxxx",
"color":"#173177"
},
"keyword2": {
"value":"xxx",
"color":"#173177
},
"keyword3": {
"value":"xxx",
"color":"#173177"
},
"remark":{
"value":"请点击查看详情!",
"color":"#173177"
}
}
接入流程
- 用户从 IASK 的应用获取
APPID
及SECRET KEY
- 确认除
sign
参数外各参数的值(不需要考虑postbody
里面的参数)
- 生成
sign
参数,将appId
,oaId
,openId
,templateId
,timestamp
参数按升序排列组合成字符串得到【&appId=x&openId=x&templateId=x×tamp=x】;在字符串头部加上SECRET KEY
得到
【x&appId=x&openId=x&templateId=x×tamp=x】。对此字符串做MD5处理得到签名参数sign
sign
参数生成示例(PHP):
$secret_key = xxx; // IASK应用配置里面的secretKey
$params = [
'appId' => 'xx'
'openId' => 'xx'
'timestamp' => 1525339871,
'oaId' => 'xx',
'templateId' => 'xx',
];
ksort($params);
foreach ($params as $key => $value) {
$secret_key.= '&' . $key . '=' . $value;
}
$sign = md5($secret_key);
响应参数
参数名称 |
参数类型 |
参数说明 |
code |
int |
code码,0正常,非0异常 |
data |
string |
返回过滤后的文本 |
msg |
string |
返回消息 |
响应示例
{
"code": 0,
"data": {
"errcode": 0, // 推送模板消息接口返回code码
"errmsg": "ok", // 推送模板消息接口返回msg
"msgid": 496146255857205248 // 推送模板消息接口返回msgId
},
"msg": "success"
}