This framework is intended for users of the Keepa API.
- Retrieves content from the API asynchronously and in parallel via Deferred callbacks (Java 8 Lambda friendly)
- Parses API response to easy to use Java objects
- Provides methods that facilitate the work with price history data
<repositories>
<repository>
<id>Keepa</id>
<name>Keepa Repository</name>
<url>https://keepa.com/maven/</url>
</repository>
...
</repositories>
<dependencies>
<dependency>
<groupId>com.keepa.api</groupId>
<artifactId>backend</artifactId>
<version>LATEST</version>
</dependency>
...
</dependencies>
repositories {
...
maven { url 'https://keepa.com/maven/' }
}
dependencies {
...
compile 'com.keepa.api:backend:latest.release'
}
Also consider to add
configurations.all {
resolutionStrategy {
cacheDynamicVersionsFor 0, 'seconds'
cacheChangingModulesFor 0, 'seconds'
}
}
Which makes sure that the newest version from our servers is pulled during build.
KeepaAPI api = new KeepaAPI("YOUR_API_KEY"); // the KeepaAPI object is reuseable
Request r = Request.getProductRequest(AmazonLocale.US, 90, null, "B001GZ6QEC");
api.sendRequest(r)
.done(result -> {
switch (result.status) {
case OK:
// iterate over received product information
for (Product product : result.products){
// System.out.println(product);
if (product.productType == Product.ProductType.STANDARD.code || product.productType == Product.ProductType.DOWNLOADABLE.code) {
//get basic data of product and print to stdout
int currentAmazonPrice = ProductAnalyzer.getLast(product.csv[Product.CsvType.AMAZON.index], Product.CsvType.AMAZON);
//check if the product is in stock -1 -> out of stock
if (currentAmazonPrice == -1) {
System.out.println(product.asin + " " + product.title + " is currently out of stock!");
} else {
System.out.println(product.asin + " " + product.title + " Current Amazon Price: " + currentAmazonPrice);
}
// get weighted mean of the last 90 days for Amazon
int weightedMean90days = ProductAnalyzer.calcWeightedMean(product.csv[Product.CsvType.AMAZON.index], KeepaTime.nowMinutes(), 90, Product.CsvType.AMAZON);
...
} else {
...
}
}
break;
default:
System.out.println(result);
}
})
.fail(failure -> System.out.println(failure));