
com.recombee.api_client.api_requests.AddCartAddition Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of api-client Show documentation
Show all versions of api-client Show documentation
A client library for easy use of the Recombee recommendation API
package com.recombee.api_client.api_requests;
/*
This file is auto-generated, do not edit
*/
import java.util.Date;
import java.util.Map;
import java.util.HashMap;
import com.recombee.api_client.util.HTTPMethod;
/**
* Adds a cart addition of a given item made by a given user.
*/
public class AddCartAddition extends Request {
/**
* User who added the item to the cart
*/
protected String userId;
/**
* Item added to the cart
*/
protected String itemId;
/**
* UTC timestamp of the cart addition as ISO8601-1 pattern or UTC epoch time. The default value is the current time.
*/
protected Date timestamp;
/**
* Sets whether the given user/item should be created if not present in the database.
*/
protected Boolean cascadeCreate;
/**
* Amount (number) added to cart. The default is 1. For example if `user-x` adds two `item-y` during a single order (session...), the `amount` should equal to 2.
*/
protected Double amount;
/**
* Price of the added item. If `amount` is greater than 1, sum of prices of all the items should be given.
*/
protected Double price;
/**
* If this cart addition is based on a recommendation request, `recommId` is the id of the clicked recommendation.
*/
protected String recommId;
/**
* Construct the request
* @param userId User who added the item to the cart
* @param itemId Item added to the cart
*/
public AddCartAddition (String userId,String itemId) {
this.userId = userId;
this.itemId = itemId;
this.timeout = 1000;
}
/**
* @param timestamp UTC timestamp of the cart addition as ISO8601-1 pattern or UTC epoch time. The default value is the current time.
*/
public AddCartAddition setTimestamp(Date timestamp) {
this.timestamp = timestamp;
return this;
}
/**
* @param cascadeCreate Sets whether the given user/item should be created if not present in the database.
*/
public AddCartAddition setCascadeCreate(boolean cascadeCreate) {
this.cascadeCreate = cascadeCreate;
return this;
}
/**
* @param amount Amount (number) added to cart. The default is 1. For example if `user-x` adds two `item-y` during a single order (session...), the `amount` should equal to 2.
*/
public AddCartAddition setAmount(double amount) {
this.amount = amount;
return this;
}
/**
* @param price Price of the added item. If `amount` is greater than 1, sum of prices of all the items should be given.
*/
public AddCartAddition setPrice(double price) {
this.price = price;
return this;
}
/**
* @param recommId If this cart addition is based on a recommendation request, `recommId` is the id of the clicked recommendation.
*/
public AddCartAddition setRecommId(String recommId) {
this.recommId = recommId;
return this;
}
public String getUserId() {
return this.userId;
}
public String getItemId() {
return this.itemId;
}
public Date getTimestamp() {
return this.timestamp;
}
public boolean getCascadeCreate() {
if (this.cascadeCreate==null) return false;
return this.cascadeCreate;
}
public double getAmount() {
return this.amount;
}
public double getPrice() {
return this.price;
}
public String getRecommId() {
return this.recommId;
}
/**
* @return Used HTTP method
*/
@Override
public HTTPMethod getHTTPMethod() {
return HTTPMethod.POST;
}
/**
* @return URI to the endpoint including path parameters
*/
@Override
public String getPath() {
return "/cartadditions/";
}
/**
* Get query parameters
* @return Values of query parameters (name of parameter: value of the parameter)
*/
@Override
public Map getQueryParameters() {
HashMap params = new HashMap();
return params;
}
/**
* Get body parameters
* @return Values of body parameters (name of parameter: value of the parameter)
*/
@Override
public Map getBodyParameters() {
HashMap params = new HashMap();
params.put("userId", this.userId);
params.put("itemId", this.itemId);
if (this.timestamp!=null) {
params.put("timestamp", this.timestamp.getTime()/1000.0);
}
if (this.cascadeCreate!=null) {
params.put("cascadeCreate", this.cascadeCreate);
}
if (this.amount!=null) {
params.put("amount", this.amount);
}
if (this.price!=null) {
params.put("price", this.price);
}
if (this.recommId!=null) {
params.put("recommId", this.recommId);
}
return params;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy