接入指南

更新时间:2022-04-07 10:01:26下载pdf

本章节为您介绍使用涂鸦商用照明 API 过程中所涉及的请求结构、授权方式、签名机制等技术要点,便于您快速实现 API 调用。

事实上,调用商用照明相关的 API 的方法和调用其他涂鸦开放 API 的方法是一样的,只需要您再联系商务开通商用照明 SaaS 服务。

文档列表

注意事项

  • 开通云服务:调用 API 前请确保您已开通相关的云服务。
  • 开通 SaaS 服务:调用 API 前请确保您已联系商务开通商用照明 SaaS 服务。
  • 部分 API 需要 HTTP 客户端支持 GET 方法携带 body 参数,请选择合适的 HTTP 请求框架。

资源下载

Postman 脚本下载

可供参考的 JavaSDK 下载

SDK 更新日志
版本 更新时间 更新内容
1.2.1 20220407 ProductProperty 新增 dpId 属性
1.2.0 20211127 更新部分 domain 定义
1.1.2 20211124 修复 DeviceApi#getDetail 访问修饰符错误的问题
1.1.1 20211118 修复 AlarmListItem 属性类型错误的问题
1.1 20211105 升级签名算法
1.0 20211010 添加现有 API 接口

Java SDK 使用说明

基于 Apache HttpClient 的 SDK

该 SDK 适用于使用 Apache HttpClient 且不希望引入额外依赖的 Java 开发者。该 SDK 的实现使用了 Apache HttpClient 作为 HTTP 请求客户端,且使用 FastJson 处理序列化和反序列化。它将尽快提供最新更新的 OpenAPI

如果您使用 Apache Maven 来管理 Java 项目,只需在项目的 pom.xml 文件加入相应的依赖项即可(推荐)。

<dependency>
   <groupId>com.tuya</groupId>
   <artifactId>lighting-open-api-java-sdk</artifactId>
   <version>{version}</version>
</dependency>

<repositories>
   <repository>
       <id>tuya-maven</id>
       <url>https://maven-other.tuya.com/repository/maven-public/</url>
   </repository>
</repositories>

如果您不从 Maven 存储库下载 jar 包,则需要在项目根目录下创建 lib 文件夹,将下载得到的 lighting-open-api-java-sdk-{version}.jar 放入其中,并在pom.xml 中添加如下依赖,否则将报告 NoClassDefFoundError 异常。

<dependency>
    <groupId>com.tuya</groupId>
    <artifactId>lighting-open-api-java-sdk</artifactId>
    <version>{version}</version>
    <scope>system</scope>
    <systemPath>${project.basedir}/lib/lighting-open-api-java-sdk-{version}.jar</systemPath>
</dependency>
<dependency>
    <groupId>org.apache.httpcomponents</groupId>
    <artifactId>httpclient</artifactId>
    <version>4.5.3</version>
</dependency>
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>fastjson</artifactId>
    <version>1.2.68</version>
</dependency>

使用方式如下。

public class Main {
    public static void main(String[]args){
        TuyaOpenApiConfiguration tuyaOpenApiConfiguration = new TuyaOpenApiConfiguration();
        tuyaOpenApiConfiguration.setUrl("https://openapi.tuyacn.com");
        tuyaOpenApiConfiguration.setClientId("****rgswael9wqsz****");
        tuyaOpenApiConfiguration.setClientSecret("****d09f429248caab6017554f93****");
        HttpClientUtils.setTuyaOpenApiConfiguration(tuyaOpenApiConfiguration);
        ProjectApi projectApi = new ProjectApi();
        TokenApi tokenApi = new TokenApi();
        BaseResponse<TokenResult> accessToken = tokenApi.getAccessToken(1);
        HttpClientUtils.setTokenResult(accessToken.getResult());
        BaseResponse<PageResult<ProjectListItem>> response = projectApi.page(1, 10, null);
    }
}

全部 API 清单请参见以下列表。

Api 类:TokenApiAccountApiProjectApiConstructionTaskApiDeviceApiAlarmApiGroupApiSceneApiLinkageApiTemplateApiEnergyStaticApi