https://github.com/telefonica/latch-sdk-java
https://github.com/telefonica/latch-sdk-java
dir-cto org-cdo public srv-latch srv-livingapps
Last synced: about 1 year ago
JSON representation
- Host: GitHub
- URL: https://github.com/telefonica/latch-sdk-java
- Owner: Telefonica
- License: lgpl-2.1
- Created: 2013-12-10T19:13:58.000Z (over 12 years ago)
- Default Branch: main
- Last Pushed: 2025-02-27T07:42:44.000Z (about 1 year ago)
- Last Synced: 2025-04-13T05:07:13.832Z (about 1 year ago)
- Topics: dir-cto, org-cdo, public, srv-latch, srv-livingapps
- Language: Java
- Homepage:
- Size: 1.69 MB
- Stars: 6
- Watchers: 7
- Forks: 11
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
### LATCH JAVA SDK ###
#### PREREQUISITES ####
* Java 1.5 or above.
* Read API documentation (https://latch.tu.com/www/developers/doc_api).
* To get the "Application ID" and "Secret", (fundamental values for integrating Latch in any application), it’s necessary to register a developer account in Latch's website: https://latch.tu.com. On the upper right side, click on "Developer area".
#### CREATING THE JAR DEPENDENCY ####
Now using Maven (maven.apache.org) is easy to compile and pack all the code for using externally:
> mvn install
And the compiled jar was located in the `target` directory.
You can also compile the jar with all Latch dependencies included:
> mvn clean compile assembly:single
=======
#### USING THE SDK IN JAVA ####
* Include all SDK files and dependencies in your project.
* Create a Latch object with the "Application ID" and "Secret" previously obtained.
```
Latch latch = new Latch(APP_ID, SECRET);
```
* Call to Latch Server. Pairing will return an account id that you should store for future api calls
```
LatchResponse pairResponse = latch.pair(TOKEN);
LatchResponse statusResponse = latch.status(ACCOUNT_ID);
LatchResponse opStatusResponse = latch.operationStatus(ACCOUNT_ID, OPERATION_ID);
LatchResponse unpairResponse = latch.unpair(ACCOUNT_ID);
```
* After every API call, get Latch response data and errors and handle them.
```
JsonObject jObject = latchResponse.getData();
com.elevenpaths.latch.Error error = latchResponse.getError();
```
#### USING JAVA SDK FOR WEB3 SERVICES ####
For using the Java SDK within an Web3 service, you must complain with the following:
* In the Latch website, having an developer account, with the Web3 permissions activated. You must see a new button for creating a Web3 new app.
* [Tutorial to follow for creating a new WEB3 app](doc/Latch_WEB3_Apps.pdf)
* You need a wallet to operate on Polygon blockchain. You can easily create one through [Metamask](https://metamask.io/download/).
You need this additional parameters:
- WEB3WALLET: The Ethereum-based address wallet for the user that wants to pair the service.
- WEB3SIGNATURE: A proof-of-ownership signature of a constant, in order to verify that the user owns the private key of the wallet. You can use https://etherscan.io/verifiedSignatures# to sign the following message:
- MESSAGE TO SIGN : **"Latch-Web3"**
Example of using it [java example](src/test/java/ExampleWeb3.java)
#### TROUBLESHOOTING ####
*A javax.net.ssl.SSLHandshakeException with a nested sun.security.validator.ValidatorException is thrown when invoking an API call.*
This exception is normally thrown when the JDK doesn't trust the CA that signs the digital certificate used in Latch's website (https://latch.tu.com). You may need to install the CA (http://www.startssl.com/certs/ca.pem) as a trusted certificate in your JDK's truststore (normally in jre/lib/security/cacerts) using the keytool utility.