动态实体上传

在 iFLYOS 中,我们提供了动态实体上传的接口。你的以下需求,可以通过动态实体来完成:

  1. 你的产品需要针对某一些场景词汇做热词识别。当你在测试的时候发现一些常用操作无法正确识别,你可以尝试上传client级的动态实体来解决这个问题。
  2. 你的产品需要针对每个用户或每个设备,进行个性化的语义理解,你可以尝试让用户配置device级或user级的动态实体。

注意

该接口需要联系商务开通权限。

准备

  1. 登录iFLYOS开放平台技能工作室,进入"我的实体页面"。
  2. 创建动态实体,动态实体维度要求:当实体为用户级,配置自定义维度,维度名称为os_user_id;当实体为产品级,配置自定义维度为os_client_id;当实体为设备级,配置自定义维度为os_device_id

接口说明

POST https://platform.iflyos.cn/tools/upload_entities

Content-Type: application/json
Authorization: {token}

Token需要根据上传的实体维度选择对应Token

  • os_user_id: 用户token(app端)
  • os_device_id: 设备端token
  • os_client_id: 需要先申请获取token权限,然后参考获取云端token接口获取token
参数名 参数说明 类型 参数示例 必填
type 实体维度:
user: 用户级
client: 产品级
device: 设备级
string user
resource_name 上传资源名,即为命名空间.资源名,命名空间可在 string NAMESPACE.user
data 动态实体资源 array [...]
appid 当需要在前拦截器AIUI WebAPI生效时需要传,为拦截器配置的appid string xxx

请求示例

{
	"type": "user",
	"resource_name": "NAMESPACE.user",
	"data": [
		{
			"name": "张三",
			"alias": "老张"
		},
		{
			"name": "李四",
			"alias": "老李"
		}
	]
}

上传成功响应示例

Status: 200 OK

{
	"sid": "...."
}

上传失败响应示例

Status: 400 Bad Request

{
	"code": "...",
    "message": "...",
    "sid": "..."
}

云端token接口

获取云端token接口

POST https://auth.iflyos.cn/oauth/token

Content-Type: application/json
参数名 参数说明 类型 参数示例 必填
client_id 设备client_id,从开放平台设备接入控制台获取 string use845b0cc8-xxxx-xxxx-xxx-xxxxxxx
client_secret 设备client_secret,从开放平台设备接入控制台获取 string xxxx-xxx-xx-xx-xxx
grant_type 授权类型,为"client_credentials" string client_credentials

响应示例

Status: 200 OK

{
    "token_type": "bearer",
    "refresh_token": "D7IhIcfBCe9y4CFow9CYeOvCNOjOHWoBtXKYK6Gc9D_V91hyqjxAv8JuS6o368R8",
    "expires_in": 86400000,
    "created_at": 1555669003,
    "access_token": "bCmbscoej0BI0f70-Wi03qCCDF_4RyWKAp7jQeQjyE0akiWRp6uqnnmb5w_982zl"
}

刷新云端token接口

POST https://auth.iflyos.cn/oauth/token

Content-Type: application/json
参数名 参数说明 类型 参数示例 必填
refresh_token 获取token时得到的refresh_token string c6AbJgXHhg5N1OMHIQSjF43k47Tua-jv24uwfZEsAHhCGK3MrstRRnn0szypLMsX
grant_type 授权类型,为"refresh_token" string refresh_token

响应示例

Status: 200 OK

{
    "token_type": "bearer",
    "refresh_token": "D7IhIcfBCe9y4CFow9CYeOvCNOjOHWoBtXKYK6Gc9D_V91hyqjxAv8JuS6o368R8",
    "expires_in": 86400000,
    "created_at": 1555669003,
    "access_token": "bCmbscoej0BI0f70-Wi03qCCDF_4RyWKAp7jQeQjyE0akiWRp6uqnnmb5w_982zl"
}