天猫精灵对接

完整控制流程图

与天猫精灵对接后,终端用户可以通过对天猫精灵说出控制命令来调用云端的业务逻辑,最终将正确的操作反馈给用户。 流程图如下所示。

相关连接汇总

开发者网站: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

天猫精灵测试

  • 开启测试

  • 配置账户

  • 登录授权

  • 获取设备

  • 语音控制

提交发布

测试无问题后便可进行提交发布