新增热词表
协议类型:HTTPS
一、接入点
| 环境 |
地址 |
| 公网 |
https://api-maas.teleai.com.cn/aipaas/keyword/v1/hotwordTable/create |
- API Path:
/aipaas/keyword/v1/hotwordTable/create
- 请求方法:
POST
- Content-Type:
application/json
二、鉴权
采用请求头携带鉴权信息:
Authorization: <鉴权信息>
| 请求头 |
必填 |
说明 |
Content-Type |
是 |
内容类型,固定application/json |
X-APP-ID |
是 |
买家中心-已购能力-【X-APP-ID】,公网鉴权,公网调用时必传 |
Authorization |
是 |
公网鉴权信息,公网调用时必传 |
三、请求与响应
3.1 请求参数(Json Object)
| 参数名 |
说明 |
必填 |
类型 |
hotWordTableName |
热词表名称 |
是 |
string |
hotWordDetails |
热词列表 |
是 |
array |
appId |
asr 算法使用的应用 id |
是 |
string |
3.2 响应体(Json Object)
3.2.1 顶层字段
| 字段 |
类型 |
说明 |
code |
string |
状态码;1:操作成功;-1:操作失败 |
respCode |
string |
响应码,990001:操作成功;990002:操作失败;990004:错误的请求参数,参考【响应码说明】 |
msg |
string |
描述信息 |
success |
boolean |
业务成功失败标识;false-失败,true-成功 |
traceId |
string |
日志调用链 id |
data |
object |
返回数据 |
3.2.2 数据 data
| 字段 |
类型 |
说明 |
hotWordTableId |
string |
热词表 id |
3.3 请求示例
{
"hotWordTableName":"热词表名称",
"hotWordDetails":["风景很美","陕西西安"],
"appId":"your appId"
}
3.4 成功响应示例
{
"code": "1",
"respCode": "990001",
"msg": "操作成功",
"data": {
"hotWordTableId": "1940301508608081920"
},
"success": true
}
四、状态码说明
4.1 算法状态码
4.1.1 接口错误编码映射
| 响应 code |
响应信息 |
描述 |
990001 |
成功 |
操作成功 |
990002 |
失败 |
操作失败 |
010401 |
失败 |
该应用不存在 |
010402 |
失败 |
该应用与热词组 id 不匹配或未查询到热词 |
010403 |
失败 |
插入热词详情失败 |
010404 |
失败 |
热词表不能包含标点和特殊字符,且最多支持64个字符 |
010405 |
失败 |
热词不能少于2个或者不能大于20个字符,且热词不能包含标点、阿拉伯数字和特殊字符 |
010406 |
失败 |
该应用下创建超过30个热词表 |
010407 |
失败 |
该热词表下超过5000个热词 |
010408 |
失败 |
该应用不存在该热词组 |
4.2 公共状态码
- 接口响应的公共状态码由网关统一定义,一般用于标识鉴权失败、限流或服务异常,具体业务错误码、错误信息及排查建议请参考:开发指南-公共信息及状态码。
五、调用示例
5.1 Java 示例
import java.nio.charset.StandardCharsets;
import java.io.BufferedReader;
import java.net.HttpURLConnection;
import com.fasterxml.jackson.databind.node.ArrayNode;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import java.io.OutputStream;
import com.fasterxml.jackson.databind.node.ObjectNode;
import java.net.URL;
import lombok.extern.slf4j.Slf4j;
import java.io.InputStreamReader;
public class HttpPostRequestSender {
public static void sendPostRequest() {
HttpURLConnection connection = null;
try {
String url = "your_url"; // 这里替换为实际的的接口
String appId = "appid";
String appKey = "appkey";
String orderNum = "orderNum";
URL urlObj = new URL(url);
connection = ((HttpURLConnection) (urlObj.openConnection()));
connection.setRequestMethod("POST");
connection.setRequestProperty("Content-Type", "application/json");
//公网鉴权
connection.setRequestProperty("X-APP-ID", appId);
connection.setRequestProperty("Authorization", "yourAuthorization");
connection.setDoOutput(true);
ObjectMapper objectMapper = new ObjectMapper();
ObjectNode requestBody = objectMapper.createObjectNode();
requestBody.put("hotWordTableName", "热词名称");
requestBody.put("appId", "ysh67shs");
ArrayNode hotWordDetails= objectMapper.createArrayNode();
hotWordDetails.add("风景很美");
requestBody.set("hotWordDetails", hotWordDetails);
try (OutputStream os = connection.getOutputStream()) {
byte[] input = requestBody.toString().getBytes(StandardCharsets.UTF_8);
os.write(input, 0, input.length);
}
int responseCode = connection.getResponseCode();
if (responseCode == HttpURLConnection.HTTP_OK) {
try (BufferedReader br =
new BufferedReader(
new InputStreamReader(connection.getInputStream(), StandardCharsets.UTF_8))) {
StringBuilder response = new StringBuilder();
String responseLine;
while ((responseLine = br.readLine()) != null) {
response.append(responseLine.trim());
}
String responseString = response.toString();
JsonNode jsonResponse = objectMapper.readTree(responseString);
JsonNode data = jsonResponse.get("data");
}
} else {
System.out.println(responseCode);
}
} catch (Exception e) {
// 基本异常信息输出
System.out.println("发生异常: " + e.getMessage());
// 打印完整堆栈跟踪
e.printStackTrace();
} finally {
if (connection != null) {
connection.disconnect();
}
}
}
public static void main(String[] args) {
sendPostRequest();
}
}
5.2 Python 示例
import json
import requests
def send_post_request():
"""
发送POST请求到热词检测接口(同步简单版本)
"""
try:
# 配置参数
url = "your_url" # 这里替换为实际的接口
app_id = "appid"
authorization = "yourAuthorization"
# 构建请求头
headers = {
"Content-Type": "application/json",
"X-APP-ID": app_id,
"Authorization": authorization
}
# 构建请求体
request_body = {
"hotWordTableName": "热词名称",
"appId": "your appId",
"hotWordDetails": ["风景很美"]
}
# 发送POST请求
response = requests.post(
url=url,
headers=headers,
json=request_body,
timeout=30
)
# 处理响应
if response.status_code == 200:
response_data = response.json()
data = response_data.get("data")
print("POST请求成功")
return data
else:
print(f"POST请求失败,状态码: {response.status_code}")
return None
except Exception as e:
print(f"请求异常: {e}")
return None
# 使用示例
if __name__ == "__main__":
result = send_post_request()
if result is not None:
print("请求成功")
else:
print("请求失败")