天猫精灵对接
完整控制流程图
与天猫精灵对接后,终端用户可以通过对天猫精灵说出控制命令来调用云端的业务逻辑,最终将正确的操作反馈给用户。 流程图如下所示。
相关连接汇总
开发者网站: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
天猫精灵测试
开启测试
配置账户
登录授权
获取设备
语音控制
提交发布
测试无问题后便可进行提交发布