天猫精灵对接
完整控制流程图
与天猫精灵对接后,终端用户可以通过对天猫精灵说出控制命令来调用云端的业务逻辑,最终将正确的操作反馈给用户。 流程图如下所示。
相关连接汇总
开发者网站:https://open.bot.tmall.com/account/login
添加新技能:https://open.bot.tmall.com/console/skill/list
示例代码见:https://github.com/AbleCloudGit/tmallbot_server_demo/tmallbot_server_demo.js
新技能配置
-
前往开发者网站(https://open.bot.tmall.com/account/login)注册后登陆开发者平台。
-
点击"添加新技能"新增一个技能。
- 按照界面提示配置技能基本信息。
序号 | 选项 | 备注 |
---|---|---|
1. | 技能名称 | 可由开发者自定义 |
2. | 调用词 | 使用者通过调用词进入对应的技能,由开发者自定义,例如:通过“天猫精灵+Able”可以进入到创建的Able技能执行操作。 |
3. | 技能类型 | 选择标准类型,目前天猫精灵仅支持标准技能。 |
4. | 技能模板 | 选择智能家居。 |
5. | 技能描述 | 针对技能的描述说明,由开发者自定义。 |
- 按照界面提示配置服务基本信息
序号 | 选项 | 备注 |
---|---|---|
1. | 账户授权连接 | 由AbleCloud提供,用于AbleCloud账号为天猫精灵授权。 |
2. | Client ID | 由AbleCloud分配用于对接天猫精灵 |
3. | Client Secret | 由AbleCloud分配用于对接天猫精灵 |
4. | Access Token URL | 由AbleCloud提供,天猫精灵通过链接获取到用户账号的token |
5. | 开发者网关地址 | 服务所在的服务器地址(由于天猫没有提供对应的服务,所以该部分有开发者提供服务器,并部署对应的服务) |
账户授权连接 Url 填入:
https://oauthtest.ablecloud.cn/authorize (测试环境)
https://oauth.ablecloud.cn/authorize (国内环境)
https://usoauth.ablecloud.cn/authorize (北美环境)
https://euoauth.ablecloud.cn/authorize (欧洲环境)
Access Token Url 填入:
https://oauthtest.ablecloud.cn/token (测试环境)
https://oauth.ablecloud.cn/token (国内环境)
https://usoauth.ablecloud.cn/token (北美环境)
https://euoauth.ablecloud.cn/token (欧洲环境)
协议说明
协议地址:http://doc-bot.tmall.com/docs/doc.htm?spm=0.0.0.0.ZsYBQd&treeId=393&articleId=107454&docType=1
设备发现
序号 | 选项 | 备注 |
---|---|---|
1. | accessToken | 天猫精灵通过OAUTH2从AbleCloud获取的用户token,所有请求会自动带入 |
设备控制
序号 | 选项 | 备注 |
---|---|---|
1. | accessToken | 天猫精灵通过OAUTH2从AbleCloud获取的用户token,所有请求会自动带入 |
2. | deivceId | 设备发现过程中,由开发者返回的响应中获取 |
{
"header":{
"namespace":"ali_genie.Iot.Device.Discovery",
"name":"DiscoveryDevices",
"messageId":"1bd5d003-31b9-476f-ad03-71d471922820",
"payLoadVersion":1
},
"payload":{
"accessToken":"access token"
}
}
{
"header":{
"namespace":"ali_genie.Iot.Device.Control",
"name":"TurnOn",
"messageId":"1bd5d003-31b9-476f-ad03-71d471922820",
"payLoadVersion":1
},
"payload":{
"accessToken":"access token",
"deviceId":"34234",
"deviceType":"XXX",
"attribute":"powerstate",
"value":"on",
"extensions":{
"extension1":"",
"extension2":""
}
}
}
header协议中的namespace列表:
ali_genie.Iot.Device.Discovery 设备发现
ali_genie.Iot.Device.Control 设备控制
ali_genie.Iot.Device.Query 属性查询
服务开发示例URL
由于天猫本身并没有提供托管服务,因此开发者需要准备一台服务器用于服务程序部署运行。开发过程中建议开发者不要再服务程序中做过多的逻辑处理,而是将主要逻辑处理放在云端UDS内部进行处理,在服务中调用sendToService接口,请求UDS进行处理具体逻辑详见服务程序示例,该示例为node.js开发者可选择其他语言自行实现。至此天猫接入流程完成,可以在镇机上针对天猫精灵进行测。示例地址: https://github.com/AbleCloudGit/tmallbot_server_demo/blob/master/tmallbot_server_demo.js
天猫精灵测试
- 开启测试
- 配置账户
- 登录授权
- 获取设备
- 语音控制
提交发布
测试无问题后便可进行提交发布