Last Updated on : 2022-04-07 10:01:44download
This topic describes the request structure, authentication method, request signatures, and other technical knowledge involved in the use of Tuya commercial lighting APIs to speed up your API calls.
In fact, you can call the commercial lighting APIs in the same way as you call other open APIs of Tuya. You only need to contact your account manager and subscribe to the commercial lighting SaaS services.
GET
method that carries the body
parameter. Therefore, you must select a suitable HTTP request framework.Java SDK
Apache HttpClient
.Edition | Update time | Update content |
---|---|---|
1.2.1 | April 7, 2022 | ProductProperty adds a field dpId . |
1.2.0 | November 27, 2021 | Updated some domain definitions. |
1.1.2 | November 24, 2021 | Fixed the issue of the wrong DeviceApi#getDetail access modifier. |
1.1.1 | November 18, 2021 | Fixed the issue of wrong AlarmListItem attribute type. |
1.1 | November 5, 2021 | Updated the signature algorithm. |
1.0 | October 10, 2021 | Added existing APIs. |
The SDK is suitable for Java
developers who use Apache HttpClient
and do not want to introduce additional dependencies. To implement the SDK
, Apache HttpClient
is used as the HTTP
request client, and FastJson
is used to handle serialization and deserialization. The latest updated OpenAPI
will be provided as soon as possible.
(Recommended) If you use Apache Maven
to manage your Java
projects, just add the dependencies to the pom.xml
file of your project.
<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>
If you do not download the .jar
package from the Maven
repository, you need to create a lib
folder in the project root directory, put the downloaded lighting-open-api-java-sdk-{version}.jar
in the lib
folder, and then add the following dependencies to pom.xml
. Otherwise, a NoClassDefFoundError
exception will be reported.
<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>
The procedure is as follows.
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);
}
}
All the APIs are shown as follows.
APIs
: TokenApi
, AccountApi
, ProjectApi
, ConstructionTaskApi
, DeviceApi
, AlarmApi
, GroupApi
, SceneApi
, LinkageApi
, TemplateApi
, and EnergyStaticApi
.
Is this page helpful?
YesFeedbackIs this page helpful?
YesFeedback