[关闭]
@miniknife 2017-06-21T08:48:38.000000Z 字数 3932 阅读 5052

触动精灵企业版 API 开发手册

开发手册 企业版 API文档


注意:文档总所有json格式的例子协议都是示意格式,非标准json,在实际中,请使用标准json。

概述

授权概念

如何获取access_key

服务器协议

orderlist

输入

  1. {
  2. "access_key":"访问密钥",
  3. "client_ver":"客户端版本",
  4. "orders":[
  5. order数组,每个order的具体协议,参考以下order
  6. {
  7. "action":"命令字",
  8. "input":{
  9. 输入参数
  10. ...
  11. }
  12. }
  13. ....
  14. ]
  15. }

输出

  1. {
  2. success:命令序列执行是否成功
  3. message:错误原因
  4. results:[命令执行结果
  5. success:命令是否执行成功
  6. message:命令失败原因
  7. output:{
  8. 输出参数
  9. }
  10. ]
  11. }

order

order 登录

  1. 输入
  2. {
  3. atcion:login
  4. }
  5. 输出
  6. {
  7. success:true or false
  8. output:{
  9. email:账号邮箱,
  10. ip:外网ip
  11. }
  12. }

order 设备列表

  1. 输入
  2. {
  3. atcion:deviceList
  4. }
  5. 输出
  6. {
  7. success:true or false
  8. message:失败原因
  9. output:{
  10. devices:[
  11. 设备数组
  12. {
  13. device:设备号
  14. end_time:到期时间
  15. }
  16. ....
  17. ]
  18. }
  19. }

order 获取设备授权

  1. 输入
  2. {
  3. atcion:getAuth
  4. }
  5. 输出
  6. {
  7. success:true or false
  8. message:失败原因
  9. output:{
  10. auth:设备授权串
  11. end_time:到期时间
  12. }
  13. }

order 购买触动授权

  1. 输入
  2. {
  3. atcion:buyTsAuth,
  4. input:{
  5. devices:[] 设备号数组
  6. }
  7. }
  8. 输出
  9. {
  10. success:true or false
  11. message:失败原因
  12. output:{
  13. buy_url:购买跳转地址,用浏览器打开
  14. }
  15. }

order 查询脚本列表

  1. 输入
  2. {
  3. atcion:scriptList,
  4. }
  5. 输出
  6. {
  7. success:true or false
  8. message:失败原因
  9. output:{
  10. scripts:[
  11. 脚本数组
  12. {
  13. id:脚本id,
  14. point:剩余点数,
  15. info:{
  16. name:脚本名,
  17. ver_id:版本id,
  18. download_url:下载地址,
  19. md5:文件md5
  20. }
  21. }
  22. ...
  23. ]
  24. }
  25. }

order 运行脚本(获取脚本授权)

  1. 输入
  2. {
  3. atcion:runScript,
  4. input:{
  5. device:设备号,
  6. script_id:脚本id
  7. auto_pay:true or false,是否允许扣点,只有为true才会执行扣点加时间的操作,但不是说为true是一定扣点,扣点操作有服务策略控制。
  8. }
  9. }
  10. 输出
  11. {
  12. success:true or false
  13. message:失败原因
  14. output:{
  15. auth:脚本授权串
  16. end_time:到期时间
  17. change:点数变化
  18. }
  19. }

设备协议

获取设备信息

  1. 输入
  2. {
  3. atcion:info,
  4. }
  5. 输出
  6. {
  7. success:true or false
  8. message:失败原因
  9. output:{
  10. device:设备号
  11. tsver:触动版本号,服务版本号
  12. alias:设备别名
  13. client_ver:客户端版本号
  14. }
  15. }

运行脚本

  1. 输入
  2. http header:
  3. auth :设备授权串
  4. post body:
  5. {
  6. atcion:runScript,
  7. input:{
  8. auth:脚本授权信息,lua脚本不需要
  9. name:带路径文件名
  10. md5:文件md5
  11. param:{
  12. 启动参数,初始化为状态机全局变量
  13. }
  14. }
  15. }
  16. 输出
  17. {
  18. success:true or false
  19. message:失败原因
  20. }

停止脚本

  1. 输入
  2. http header:
  3. auth :设备授权串
  4. post body:
  5. {
  6. atcion:stopScript,
  7. }
  8. 输出
  9. {
  10. success:true or false
  11. message:失败原因
  12. }

文件列表

  1. 输入
  2. http header:
  3. auth :设备授权串
  4. post body:
  5. {
  6. atcion:list,
  7. input:{
  8. root:根路径lua,res,plugin,log,如果都获取,可以不设置。
  9. }
  10. }
  11. 输出
  12. {
  13. success:true or false
  14. message:失败原因,
  15. output:{
  16. list:[
  17. 文件列表数组
  18. {
  19. name:带路径文件名,
  20. md5:文件md5
  21. }
  22. ....
  23. ]
  24. }
  25. }

设备状态

  1. 输入
  2. http header:
  3. auth :设备授权串
  4. post body:
  5. {
  6. atcion:status,
  7. }
  8. 输出
  9. {
  10. success:true or false
  11. message:失败原因,
  12. output:{
  13. status:runidleerror 运行状态,
  14. scrIsLock:设备是否锁定,
  15. batteryLevel:电池水平,
  16. batteryCharging:充电状态,
  17. name:运行脚本的名字,
  18. script_id:运行脚本的id,
  19. pause:暂停状态,
  20. }
  21. }

上传文件

  1. 输入
  2. http header:
  3. auth :设备授权串
  4. name :文件名
  5. Content-Length :文件长度
  6. post body:文件内容
  7. 输出
  8. {
  9. success:true or false
  10. message:失败原因,
  11. }

截屏

  1. 输入
  2. http header:
  3. auth :设备授权串
  4. name :文件名
  5. Content-Length :文件长度
  6. post body:
  7. {
  8. atcion:snapshot,
  9. input:{
  10. orient:方向,0竖屏,1横屏
  11. ext:扩展名,png,jpg
  12. compress:压缩率,0-1
  13. }
  14. }
  15. 输出:图片数据

设置音量

  1. 输入
  2. http header:
  3. auth :设备授权串
  4. post body:
  5. {
  6. atcion:setVolume,
  7. input:{
  8. volume:音量值,0-1
  9. }
  10. }
  11. 输出
  12. {
  13. success:true or false
  14. message:失败原因,
  15. }

暂停继续脚本

  1. 输入
  2. http header:
  3. auth :设备授权串
  4. post body:
  5. {
  6. atcion:pauseScript,
  7. input:{
  8. type:pause or resume,暂停or继续脚本
  9. }
  10. }
  11. 输出
  12. {
  13. success:true or false
  14. message:失败原因,
  15. }

重启,关机,注销

  1. 输入
  2. http header:
  3. auth :设备授权串
  4. post body:
  5. {
  6. atcion:reboot,
  7. input:{
  8. type:1重启、10关机、其他注销
  9. }
  10. }
  11. 输出
  12. {
  13. success:true or false
  14. message:失败原因,
  15. }

安装ipa,卸载ipa

  1. 输入
  2. http header:
  3. auth :设备授权串
  4. post body:
  5. {
  6. atcion:ipa,
  7. input:{
  8. type:1安装,2卸载
  9. param:安装的时候是文件名,卸载的时候是bundleId
  10. }
  11. }
  12. 输出
  13. {
  14. success:true or false
  15. message:失败原因,
  16. }

设置亮度

  1. 输入
  2. http header:
  3. auth :设备授权串
  4. post body:
  5. {
  6. atcion:setBrightness,
  7. input:{
  8. value:0-1
  9. }
  10. }
  11. 输出
  12. {
  13. success:true or false
  14. message:失败原因,
  15. }

解锁屏幕

  1. 输入
  2. http header:
  3. auth :设备授权串
  4. post body:
  5. {
  6. atcion:unlockScreen,
  7. }
  8. 输出
  9. {
  10. success:true or false
  11. message:失败原因,
  12. }

广播协议

  1. 广播端口:14100
  2. 广播数据:
  3. {
  4. ip:发起广播的ip
  5. port:发起广播的端口
  6. }
  7. 接收数据:
  8. {
  9. deviceid:设备号,
  10. ip:设备ip
  11. }
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注