# 动态实体上传
在 iFLYOS 中,我们提供了动态实体上传的接口。你的以下需求,可以通过动态实体来完成:
- 你的产品需要针对某一些场景词汇做热词识别。当你在测试的时候发现一些常用操作无法正确识别,你可以尝试上传client级的动态实体来解决这个问题。
- 你的产品需要针对每个用户或每个设备,进行个性化的语义理解,你可以尝试让用户配置device级或user级的动态实体。
# 准备
- 登录iFLYOS开放平台技能工作室 (opens new window),进入我的实体 (opens new window)页面。
- 创建动态实体,在动态实体内创建资源:
- 若该资源以
user_id
为区分,维度选择OS用户级。 - 若该资源以
device_id
为区分,维度选择OS设备级。 - 若该资源以
client_id
为区分,维度选择OS产品级。
- 若该资源以
# 接口说明
URI
https://platform.iflyos.cn/tools/upload_entities_v2
Method
POST
Header
Content-Type: application/json
Authorization: Bearer {{access_token}}
# 上传动态实体资源
注意
在不同的上传场景下,需要使用不同的access_token
# 上传场景
# 通过APP端上传
支持:用户级、设备级 ( 用户的设备 )
授权:使用app_token
,
app_token获取方式
- Android端获取方式:getToken接口
- iOS端获取:getToken接口
# 通过设备端上传
支持:设备级
授权:使用device_access_token
,查看获取方式
# 通过服务端上传
支持:产品级、设备级、用户级(仅使用第三方账号时支持)
授权:使用server_token
,查看获取方式
# 请求方式
请求示例
{
"type": "user",
"resource_name": "NAMESPACE.user",
"data": [
{
"name": "张三",
"alias": "老张"
},
{
"name": "李四",
"alias": "老李"
}
],
"user_id": "xxxxxxx"
}
参数说明
参数名 | 参数说明 | 类型 | 必填 |
---|---|---|---|
type | 实体维度:device : 设备级user : 用户级client : 产品级 | String | 是 |
resource_name | 上传资源名,即为命名空间.资源名 如: NAMESPACE.user | String | 是 |
data | 动态实体资源 | Array | 是 |
client_id | 产品ID 仅支持服务端上传场景 | String | 否 当服务端上传产品级或设备级动态实体时,必填 |
device_id | 设备ID APP端上传:仅支持用户已绑定的设备 服务端上传:仅支持厂商产品下的设备,此时 client_id 参数必填 | String | 否 当APP端、服务端上传设备级动态实体时,必填 |
user_id | 用户ID 仅上传场景为 服务端上传 且使用第三方账号接入iFLYOS时有效,与third_id 对应 | String | 否,在服务端上传用户级动态实体时,必填 |
上传成功响应示例
Status: 200 OK
{
"upload_id": "...."
}
上传失败响应示例
Status: 400/5xx
{
"message": "...",
"upload_id": "..."
}
← 红外控制API 服务端token接口 →