与天猫精灵对接后,终端用户可以通过对天猫精灵说出控制命令来调用云端的业务逻辑,最终将正确的操作反馈给用户。 流程图如下所示。
开发者网站: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账号为天猫精灵授权。2Client ID由AbleCloud分配用于对接天猫精灵3Client Secret由AbleCloud分配用于对接天猫精灵4Access Token URL由AbleCloud提供,天猫精灵通过链接获取到用户账号的token5开发者网关地址服务所在的服务器地址(由于天猫没有提供对应的服务,所以该部分有开发者提供服务器,并部署对应的服务)
账户授权连接 Url 填入:
https://oauthtest.ablecloud.cn/authorize (测试环境)
https://oauth.ablecloud.cn/authorize (国内环境)
Access Token Url 填入:
https://oauthtest.ablecloud.cn/token (测试环境)
https://oauth.ablecloud.cn/token (国内环境)
协议地址:http://doc-bot.tmall.com/docs/doc.htm?spm=0.0.0.0.ZsYBQd&treeId=393&articleId=107454&docType=1
设备发现
设备控制
{ "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":"" } } }由于天猫本身并没有提供托管服务,因此开发者需要准备一台服务器用于服务程序部署运行。开发过程中建议开发者不要再服务程序中做过多的逻辑处理,而是将主要逻辑处理放在云端UDS内部进行处理,在服务中调用sendToService接口,请求UDS进行处理具体逻辑详见服务程序示例,该示例为node.js开发者可选择其他语言自行实现。至此天猫接入流程完成,可以在镇机上针对天猫精灵进行测。示例地址: https://github.com/AbleCloudGit/tmallbot_server_demo/blob/master/tmallbot_server_demo.js
测试无问题后便可进行提交发布