public class KKRMIEng extends KKRMIEngBase implements KKEngIf
Modifier and Type | Field and Description |
---|---|
protected static org.apache.commons.logging.Log |
log |
Constructor and Description |
---|
KKRMIEng(EngineConfigIf engConf)
Constructor - code is in the Base
|
Modifier and Type | Method and Description |
---|---|
int |
addAddressToCustomer(java.lang.String sessionId,
AddressIf addr)
The Address object is added to the customer defined by the
sessionId . |
int |
addCreditCardToCustomer(java.lang.String sessionId,
CreditCardIf card,
CreditCardOptionsIf options)
Inserts a CreditCard object into the database.
|
void |
addCustomDataToSession(java.lang.String sessionId,
java.lang.String data,
int position)
A sessionId is created when a customer logs in to KonaKart using the login() API call.
|
void |
addCustomerNotifications(NotificationOptionsIf options)
A method that allows you sign up a customer for a newsletter or product notification.
|
int |
addPoints(java.lang.String sessionId,
int points,
java.lang.String code,
java.lang.String description)
Adds a number of reward points to the total for customer identified by the
sessionId parameter. |
void |
addProductNotificationToCustomer(java.lang.String sessionId,
int productId)
Adds a product notification to the list of notifications for the customer.
|
java.math.BigDecimal |
addTax(java.math.BigDecimal cost,
int countryId,
int zoneId,
int taxClassId)
Calculates the final cost (including tax) for a product with a certain
taxClassId and cost , delivered to a country (countryId
) and zone (zoneId ). |
int |
addToBasket(java.lang.String sessionId,
int customerId,
BasketIf item)
Saves the Basket object in the database for a customer.
|
int |
addToBasketWithOptions(java.lang.String sessionId,
int customerId,
BasketIf item,
AddToBasketOptionsIf options)
If
options is set to null, this method is identical to
addToBasket() . |
void |
addToCustomerTag(java.lang.String sessionId,
java.lang.String tagName,
int tagValue)
This method is used for customer tags where the value is of type
com.konakart.app.CustomerTag.MULTI_INT_TYPE or
MULTI_INT_PLUS_TIME_TYPE . |
void |
addToCustomerTagForGuest(int customerId,
java.lang.String tagName,
int tagValue)
This method is used for customer tags where the value is of type
com.konakart.app.CustomerTag.MULTI_INT_TYPE or
MULTI_INT_PLUS_TIME_TYPE . |
int |
addToWishList(java.lang.String sessionId,
WishListItemIf wishListItem)
Add a WishListItem object to the wish list referenced by wishListId.
|
int |
addToWishListWithOptions(java.lang.String sessionId,
WishListItemIf wishListItem,
AddToWishListOptionsIf options)
If
options is set to null, this method is identical to
addToWishList() . |
OrderIf |
changeDeliveryAddress(java.lang.String sessionId,
OrderIf order,
AddressIf deliveryAddress)
The delivery address of the order is changed and the tax rates for the various products
within the order are re-calculated.
|
void |
changeOrderStatus(java.lang.String sessionId,
int orderId,
int status,
boolean customerNotified,
java.lang.String comments)
Deprecated.
From version 6.2.0.0 you should use
updateOrder(java.lang.String, int, int, boolean, java.lang.String, com.konakart.appif.OrderUpdateIf) instead. |
void |
changePassword(java.lang.String sessionId,
java.lang.String currentPassword,
java.lang.String newPassword)
Ensures that the current password is correct, and then changes it to the new password.
|
int |
checkCoupon(java.lang.String couponCode)
This method is used to verify whether a coupon code actually exists and if it does, whether
the coupon is still active.
|
void |
checkFileAccess(java.lang.String fileName)
Check that we allow access to this location.
|
int |
checkSession(java.lang.String sessionId)
The given
sessionId is checked to see whether it exists and whether it is has
timed out. |
OrderIf |
createAndSaveOrder(java.lang.String emailAddr,
java.lang.String password,
CustomerRegistrationIf custReg,
BasketIf[] basketItemArray,
java.lang.String shippingModule,
java.lang.String paymentModule,
int languageId)
A high level call to simplify the process of creating a KonaKart order.
|
OrderIf |
createOrder(java.lang.String sessionId,
BasketIf[] basketItemArray,
int languageId)
An order object is returned with all addresses populated with the default address of the
customer referenced by
sessionId . |
OrderIf |
createOrderWithOptions(java.lang.String sessionId,
BasketIf[] basketItemArray,
CreateOrderOptionsIf options,
int languageId)
If
options is set to null, this method is identical to
createOrder() . |
ProductQuantityIf |
createProductQuantityEncodedKeyFromEncodedProductId(java.lang.String encodedProductId)
A utility API that returns a ProductQuantity object containing the product id and the encoded
option values from an encoded product id.
|
int |
createWishList(java.lang.String sessionId,
WishListIf wishList)
Create a wish list from a WishList object.
|
int |
createWishListWithOptions(java.lang.String sessionId,
WishListIf wishList,
AddToWishListOptionsIf options)
Create a wish list from a WishList object.
|
java.lang.String |
custom(java.lang.String input1,
java.lang.String input2)
A custom interface that you have to provide an implementation for.
|
java.lang.String |
customSecure(java.lang.String sessionId,
java.lang.String input1,
java.lang.String input2)
A custom interface that you have to provide an implementation for.
|
void |
deleteAddressFromCustomer(java.lang.String sessionId,
int addressId)
The address defined by the
sessionId and addressId is deleted. |
void |
deleteCookie(java.lang.String customerUuid,
java.lang.String attrId)
Deletes the cookie object from the database that is referenced by the customerUuid and attrId
parameters.
|
void |
deleteCreditCard(java.lang.String sessionId,
int cardId)
Deletes the CreditCard object referenced by cardId that must belong to the logged in
customer.
|
void |
deleteCustomer(int custId)
The customer defined by the
customerId is deleted. |
void |
deleteCustomerNotifications(NotificationOptionsIf options)
A method that allows you remove a customer notification for a newsletter or product.
|
void |
deleteCustomerTag(java.lang.String sessionId,
java.lang.String tagName)
This method deletes the customer tag referenced by the parameter
tagName and for
the customer referenced by the sessionId . |
void |
deleteCustomerTagForGuest(int customerId,
java.lang.String tagName)
This method deletes the customer tag referenced by the parameter
tagName and for
the guest customer referenced by the negative customerId . |
void |
deleteOrderIdForSecretKey(java.lang.String secretKey)
The secret key is removed from the system.
|
int |
deletePoints(java.lang.String sessionId,
int points,
java.lang.String code,
java.lang.String description)
Deletes a number of reward points from the total for the customer identified by the
sessionId parameter. |
void |
deleteProductNotificationFromCustomer(java.lang.String sessionId,
int productId)
Deletes a product notification from the list of notifications for the customer.
|
void |
deleteReservedPoints(java.lang.String sessionId,
int reservationId,
java.lang.String code,
java.lang.String description)
Verifies that the
reservationId parameter exists and that it belongs to the
customer identified by the sessionId parameter. |
void |
deleteWishList(java.lang.String sessionId,
int wishListId)
The wish list referenced by wishListId and all of the items contained by the wish list, will
be deleted.
|
void |
deleteWishListWithOptions(java.lang.String sessionId,
int wishListId,
AddToWishListOptionsIf options)
The wish list referenced by wishListId and all of the items contained by the wish list, will
be deleted.
|
boolean |
doesCustomerExistForEmail(java.lang.String emailAddr)
Determine whether a customer has already registered with a certain eMail address as their
username.
|
void |
editConfiguration(java.lang.String key,
java.lang.String value)
Deprecated.
From version 6.3.0.0 you should use the Administration APIs (KKAdminIf) instead.
|
void |
editCreditCard(java.lang.String sessionId,
CreditCardIf card,
CreditCardOptionsIf options)
Edit the CreditCard object of a logged in customer referenced by sessionId.
|
void |
editCustomer(java.lang.String sessionId,
CustomerIf cust)
The Customer object will replace the existing customer object in the database.
|
void |
editCustomerAddress(java.lang.String sessionId,
AddressIf addr)
The Address object will replace the existing address object in the database with the same id.
|
void |
editCustomerWithOptions(java.lang.String sessionId,
CustomerIf cust,
EditCustomerOptionsIf options)
The Customer object will replace the existing customer object in the database.
|
void |
editDigitalDownload(java.lang.String sessionId,
DigitalDownloadIf digitalDownload)
Edits the digital download object if it belongs to the customer identified by the sessionId.
|
void |
editWishList(java.lang.String sessionId,
WishListIf wishList)
Edit an existing wish list object.
|
void |
editWishListWithOptions(java.lang.String sessionId,
WishListIf wishList,
AddToWishListOptionsIf options)
Edit an existing wish list object.
|
void |
enableCustomer(java.lang.String secretKey)
This method reads the SSO token using the Secret Key.
|
boolean |
evaluateExpression(java.lang.String sessionId,
int expressionId,
java.lang.String expressionName)
An expression object is retrieved from the database and evaluated for the customer referenced
by the
sessionId . |
boolean |
evaluateExpressionForGuest(int customerId,
int expressionId,
java.lang.String expressionName)
An expression object is retrieved from the database and evaluated for the guest customer
referenced by the negative
customerId . |
ExternalLoginResultIf |
externalLogin(ExternalLoginInputIf loginInfo)
Used for logging in customers using a mechanism outside of KonaKart such as social login
using Facebook.
|
int |
forceRegisterCustomer(CustomerRegistrationIf custReg)
This API Call is used rather than
registerCustomer() when you want to provide a
store that doesn't force a customer to register. |
int |
freeReservedPoints(java.lang.String sessionId,
int reservationId)
Verifies that the
reservationId parameter exists and that it belongs to the
customer identified by the sessionId parameter. |
AddressIf[] |
getAddressesPerCustomer(java.lang.String sessionId)
Returns all of the addresses registered for the given customer.
|
AddressIf[] |
getAddressesPerManufacturer(int manufacturerId)
Gets an array of Address objects that have been defined for the manufacturer referenced by
the manufacturerId.
|
AddressIf[] |
getAddressesPerProduct(int productId)
Gets an array of Address objects that have been defined for the product referenced by the
productId.
|
AddressIf[] |
getAddressesPerStore(java.lang.String addressStoreId)
Gets an array of Address objects that have been defined for the store referenced by the
addressStoreId.
|
AddressIf[] |
getAddressesPerVendor(VendorIf vendor)
Returns all of the addresses registered for the given vendor.
|
java.lang.String |
getAddressFormatTemplate(int templateId)
Returns the address format template for the numeric id passed in as a parameter.
|
KKCookieIf[] |
getAllCookies(java.lang.String customerUuid)
Fetches all of the cookie object from the database that are referenced by the customerUuid
parameter.
|
CountryIf[] |
getAllCountries()
Returns an array of Country objects for all of the countries in the system.
|
CurrencyIf[] |
getAllCurrencies()
Returns an array of currency objects for all the records in the currencies table.
|
CustomerGroupIf[] |
getAllCustomerGroups(int languageId)
Returns an array of customer groups for all customer groups that have been defined in the
system.
|
LanguageIf[] |
getAllLanguages()
Returns an array of Language classes containing all of the languages that have been defined
within the system.
|
ManufacturerIf[] |
getAllManufacturers()
Returns an array of Manufacturer objects for all of the manufacturers in the system.
|
OrderStatusIf[] |
getAllOrderStatuses(int languageId)
Returns an array of order status objects for the language defined by languageId.
|
ProductRelationshipIf[] |
getAllProductRelationships()
A fast utility to returns all product relationships in the products_to_products table.
|
ProductsIf |
getAllProducts(java.lang.String sessionId,
DataDescriptorIf dataDesc,
int languageId)
Returns all products using the given language.
|
ProductsIf |
getAllProductsWithOptions(java.lang.String sessionId,
DataDescriptorIf dataDesc,
int languageId,
FetchProductOptionsIf options)
An options object is passed in to customize from where some of the product attributes (such
as price and quantity) are fetched from.
|
PromotionIf[] |
getAllPromotions()
Returns an array of all active promotions.
|
ReviewsIf |
getAllReviews(DataDescriptorIf dataDesc)
An array of review objects is returned.
|
ProductsIf |
getAllSpecials(java.lang.String sessionId,
DataDescriptorIf dataDesc,
int languageId)
Returns all specials using the given language.
|
ProductIf[] |
getAlsoPurchased(java.lang.String sessionId,
DataDescriptorIf dataDesc,
int productId,
int languageId)
Find products that were in the same order as orders containing the product referenced by
productId . |
ProductIf[] |
getAlsoPurchasedWithOptions(java.lang.String sessionId,
DataDescriptorIf dataDesc,
int productId,
int languageId,
FetchProductOptionsIf options)
An options object is passed in to customize from where some of the product attributes (such
as price and quantity) are fetched from.
|
BasketIf[] |
getBasketItemsPerCustomer(java.lang.String sessionId,
int customerId,
int languageId)
Get the basket items for a customer and language.
|
BasketIf[] |
getBasketItemsPerCustomerWithOptions(java.lang.String sessionId,
int customerId,
int languageId,
AddToBasketOptionsIf options)
Get the basket items for a customer and language.
|
ProductIf[] |
getBestSellers(DataDescriptorIf dataDesc,
int categoryId,
int languageId)
Returns an array of bestseller products for the category referenced by
categoryId and its children. |
ProductIf[] |
getBestSellersWithOptions(DataDescriptorIf dataDesc,
int categoryId,
int languageId,
FetchProductOptionsIf options)
An options object is passed in to customize from where some of the product attributes (such
as price and quantity) are fetched from.
|
ProductIf[] |
getBookableProductConflict(java.lang.String sessionId,
ProductIf bookableProd,
BookableProductOptionsIf options)
This method checks to see whether the bookable product passed in as a parameter conflicts
with any bookable products that the customer identified by the sessionId has already signed
up for.
If no conflicts are found, null is returned. |
BookingsIf |
getBookingsPerCustomer(java.lang.String sessionId,
DataDescriptorIf dataDesc,
BookableProductOptionsIf options)
Get an array of bookings for a logged in customer.
|
BookingsIf |
getBookingsPerProduct(DataDescriptorIf dataDesc,
int productId,
BookableProductOptionsIf options)
Get an array of bookings for a bookable product.
|
ProductsIf |
getBundlesThatProductBelongsTo(java.lang.String sessionId,
DataDescriptorIf dataDesc,
int productId,
int languageId,
FetchProductOptionsIf options)
The method fetches an array of bundles (products of type bundle), all of which contain the
product with id
productId as one of the bundled products. |
ProductsIf |
getBundlesThatProductsBelongTo(java.lang.String sessionId,
DataDescriptorIf dataDesc,
int[] productIds,
boolean exactMatch,
int languageId,
FetchProductOptionsIf options)
The method fetches an array of bundles (products of type bundle), all of which contain the
products with ids
productIds as one or more of the bundled products. |
CatalogIf |
getCatalogPerKey(java.lang.String catalogKey)
Returns a catalog object for the catalog key.
|
CategoryIf[] |
getCategoriesPerManufacturer(int manufacturerId,
int languageId)
Returns an array of leaf Category objects for the given manufacturer.
|
CategoryIf[] |
getCategoriesPerProduct(int productId,
int languageId)
Returns an array of Category objects for the given product.
|
CategoryIf |
getCategory(int categoryId,
int languageId)
Returns a complete single Category object for the given
categoryId and language. |
CategoryIf[] |
getCategoryTree(int languageId,
boolean getNumProducts)
Returns a category tree structure consisting of an array of top level categories, each of
which may contain an array of child categories.
|
CategoryIf[] |
getCategoryTreeWithOptions(CategoryTreeOptionsIf options)
Returns a category tree structure consisting of an array of top level categories, each of
which may contain an array of child categories.
|
ConfigDataIf[] |
getConfigData(java.lang.String sessionId,
java.lang.String key)
Returns the ConfigData items with the specified key or all ConfigData items if the key is
null
|
KKConfigurationIf |
getConfiguration(java.lang.String key)
Returns a Configuration object referenced by the key passed in as a parameter.
|
KKConfigurationIf |
getConfigurationNoCache(java.lang.String key)
Returns a Configuration object referenced by the key passed in as a parameter.
|
KKConfigurationIf[] |
getConfigurations()
Returns an array of Configuration objects containing all configurations that have been
defined in the system and that have been defined to be returned via the API.
|
java.lang.String |
getConfigurationValue(java.lang.String key)
Returns a Configuration Value referenced by the key passed in as a parameter.
|
java.math.BigDecimal |
getConfigurationValueAsBigDecimal(java.lang.String key)
Returns a Configuration Value as a BigDecimal for the key passed in as a parameter.
|
java.math.BigDecimal |
getConfigurationValueAsBigDecimalWithDefault(java.lang.String key,
java.math.BigDecimal def)
Returns a Configuration Value as a BigDecimal for the key passed in as a parameter.
|
java.lang.Boolean |
getConfigurationValueAsBool(java.lang.String key,
java.lang.Boolean def)
Returns a Configuration Value as a Boolean for the key passed in as a parameter.
|
int |
getConfigurationValueAsInt(java.lang.String key)
Returns a Configuration Value as an integer for the key passed in as a parameter.
|
int |
getConfigurationValueAsIntWithDefault(java.lang.String key,
int def)
Returns a Configuration Value as an integer for the key passed in as a parameter.
|
ContentIf |
getContent(int contentId,
int languageId)
Get the latest (last to be inserted) enabled Content record with the specified contentId for
the specified languageId.
|
ContentSearchResultIf |
getContents(java.lang.String sessionId,
ContentSearchIf search,
DataDescriptorIf dd)
Retrieve Content records using the specified search criteria
|
ContentTypeIf |
getContentType(int contentTypeId,
int languageId)
Return the ContentType for the specified language and contentTypeId
|
ContentTypeIf[] |
getContentTypes(int languageId)
Return all the ContentTypes for the specified language
|
KKCookieIf |
getCookie(java.lang.String customerUuid,
java.lang.String attrId)
Fetches the cookie object from the database that is referenced by the customerUuid and attrId
parameters.
|
CountryIf |
getCountry(int countryId)
Returns the country object for the
countryId , or null if the country doesn't
exist in the DB. |
CountryIf |
getCountryPerName(java.lang.String countryName)
Returns the country object for the
countryName , or null if the country doesn't
exist in the DB. |
CouponIf |
getCouponPerId(int couponId,
CouponOptionsIf options)
Returns a coupon for the coupon id passed in as a parameter.
|
CouponIf[] |
getCouponsPerCode(java.lang.String couponCode,
CouponOptionsIf options)
Returns an array of coupons for the coupon code passed in as a parameter.
|
CreditCardIf[] |
getCreditCardsPerCustomer(java.lang.String sessionId,
CreditCardOptionsIf options)
Get an array of CreditCard objects for a logged in customer.
|
CurrencyIf |
getCurrency(java.lang.String currencyCode)
Returns the currency referenced by
currencyCode . |
java.lang.String |
getCustomDataFromSession(java.lang.String sessionId,
int position)
A sessionId is created when a customer logs in to KonaKart using the login() API call.
|
CustomerIf |
getCustomer(java.lang.String sessionId)
Returns the customer object for the customer defined by the given
sessionId . |
CustomerGroupIf |
getCustomerGroup(int customerGroupId,
int languageId)
Returns a customer group object for the customerGroupId passed in as a parameter.
|
CustomerTagIf |
getCustomerTag(java.lang.String sessionId,
java.lang.String tagName)
A CustomerTag object referenced by the parameter
tagName is returned. |
CustomerTagIf |
getCustomerTagForGuest(int customerId,
java.lang.String tagName)
A CustomerTag object referenced by the parameter
tagName is returned. |
CustomerTagIf[] |
getCustomerTags(java.lang.String sessionId)
This method fetches all of the customer tags for the customer referenced by the
sessionId . |
CustomerTagIf[] |
getCustomerTagsForGuest(int customerId)
This method fetches all of the customer tags for the guest customer referenced by the
customerId which must have a negative value. |
java.lang.String |
getCustomerTagValue(java.lang.String sessionId,
java.lang.String tagName)
A string is returned containing the value of the customer tag referenced by the parameter
tagName and for the customer referenced by the sessionId . |
java.lang.String |
getCustomerTagValueForGuest(int customerId,
java.lang.String tagName)
A string is returned containing the value of the customer tag referenced by the parameter
tagName and for the guest customer referenced by the negative
customerId . |
CustomerIf |
getCustomerWithOptions(java.lang.String sessionId,
FetchCustomerOptionsIf options)
Returns the customer object for the customer defined by the given
sessionId . |
AddressIf |
getDefaultAddressPerCustomer(java.lang.String sessionId)
Returns the default address for the given customer.
|
CurrencyIf |
getDefaultCurrency()
The default currency is referenced by a configuration variable called DEFAULT_CURRENCY.
|
CustomerIf |
getDefaultCustomer()
Returns the customer object for the default customer.
|
LanguageIf |
getDefaultLanguage()
The default language is referenced by a configuration variable called DEFAULT_LANGUAGE.
|
DigitalDownloadIf |
getDigitalDownloadById(java.lang.String sessionId,
int digitalDownloadId)
Returns a Digital Download object for the digital download id.
|
DigitalDownloadIf[] |
getDigitalDownloads(java.lang.String sessionId)
Returns an array of Digital Download objects for the customer identified by the
sessionId parameter. |
DigitalDownloadIf[] |
getDigitalDownloadsWithOptions(java.lang.String sessionId,
int languageId,
FetchDigitalDownloadOptionsIf ddOptions,
FetchProductOptionsIf prodOptions)
Returns an array of Digital Download objects for the customer identified by the
sessionId parameter. |
ExpressionIf |
getExpression(java.lang.String sessionId,
int expressionId,
java.lang.String expressionName)
An Expression object, fully populated with an array of Expression Variables is returned.
|
ExpressionIf |
getExpressionForGuest(int customerId,
int expressionId,
java.lang.String expressionName)
An Expression object, fully populated with an array of Expression Variables is returned.
|
GeoZoneIf[] |
getGeoZonesPerZone(ZoneIf zone)
Returns an array of GeoZone objects (tax areas) for the zone passed in as a parameter.
|
IpnHistoryIf[] |
getIpnHistory(java.lang.String sessionId,
int orderId)
Retrieve an array of IpnHistory objects for an order.
|
KKEventIf[] |
getKKEvents(java.lang.String sessionId,
KKEventSearchIf search,
DataDescriptorIf desc)
Search for events
|
java.util.Calendar |
getKonakartTimeStamp()
Get a Date Time Stamp from the server
|
java.lang.String |
getKonaKartVersion()
Return the version number of KonaKart that is contained within the konakart.jar
|
LanguageIf |
getLanguagePerCode(java.lang.String code)
Retrieves the language object referenced by the two letter code (i.e.
|
LanguageIf |
getLanguagePerId(int languageId)
Retrieves the language object referenced by the id.
|
LanguageIf[] |
getLanguages(LanguageSearchIf search)
Returns an array of Language classes containing all of the languages that satisfy the search
criteria.
|
ManufacturerIf |
getManufacturer(int manufacturerId,
int languageId)
Returns a Manufacturer object for the given
manufacturerId and language. |
ManufacturerIf |
getManufacturerPerProduct(int productId,
int languageId)
Returns a Manufacturer object for the given
productId and language. |
ManufacturerIf[] |
getManufacturers(DataDescriptorIf dataDesc,
ManufacturerSearchIf search,
int languageId)
Returns an array of Manufacturer objects that match the specified search criteria in the
ManufacturerSearch object.
|
ManufacturerIf[] |
getManufacturersPerCategory(int categoryId)
Returns an array of Manufacturer objects for the given category.
|
NameValueIf[] |
getMessages(int type,
java.lang.String locale)
Used to fetch a message catalog for a locale and message type.
|
MiscItemIf[] |
getMiscItemsPerType(int typeId,
int languageId)
Get an array of MiscItem objects for a MiscItem type.
|
java.lang.String |
getMsgValue(java.lang.String key,
int type,
java.lang.String locale)
Get an Application Message Value.
|
OrderIf |
getOrder(java.lang.String sessionId,
int orderId,
int languageId)
Gets on order with the specified order Id, for the customer referenced by the
sessionId . |
ProductIf[] |
getOrderHistory(DataDescriptorIf dataDesc,
java.lang.String sessionId,
int languageId)
Get a list of the products ordered by the customer referenced by
sessionId . |
ProductIf[] |
getOrderHistoryWithOptions(DataDescriptorIf dataDesc,
java.lang.String sessionId,
int languageId,
FetchProductOptionsIf options)
An options object is passed in to customize from where some of the product attributes (such
as price and quantity) are fetched from.
|
int |
getOrderIdFromSecretKey(java.lang.String secretKey)
When an order is created, a secret key is generated that may be used to send to the payment
gateway if the payment gateway uses a callback mechanism.
|
OrdersIf |
getOrdersPerCustomer(DataDescriptorIf dataDesc,
java.lang.String sessionId,
int languageId)
Retrieve a number of orders for the customer referenced by the
sessionId . |
OrdersIf |
getOrdersPerCustomerWithOptions(DataDescriptorIf dataDesc,
java.lang.String sessionId,
int languageId,
FetchOrderOptionsIf options)
Retrieve a number of orders for the customer referenced by the
sessionId . |
int |
getOrderStatus(java.lang.String sessionId,
int orderId)
Get the order status for an order.
|
OrderIf |
getOrderTotals(OrderIf order,
int languageId)
The order object is populated with an array of order totals.
|
OrderIf |
getOrderWithOptions(java.lang.String sessionId,
int orderId,
int languageId,
FetchOrderOptionsIf options)
Gets on order with the specified order Id, for the customer referenced by the
sessionId . |
PaymentDetailsIf |
getPaymentDetails(java.lang.String sessionId,
java.lang.String moduleCode,
int orderId,
java.lang.String hostAndPort,
int languageId)
This method is called once a payment gateway has been selected and an order has been saved in
the database.
|
PaymentDetailsIf |
getPaymentDetailsCustom(java.lang.String sessionId,
java.lang.String moduleCode,
NameValueIf[] parameters)
Method used to return any custom information required from the payment module.
|
PaymentDetailsIf |
getPaymentDetailsPerOrder(java.lang.String sessionId,
java.lang.String moduleCode,
OrderIf order,
java.lang.String hostAndPort,
int languageId)
This method is called once a payment gateway has been selected even if the order has not been
saved in the database.
|
PaymentDetailsIf |
getPaymentGateway(OrderIf order,
java.lang.String moduleName,
int languageId)
The payment module called
moduleName is called to get a PaymentDetails object
for the order passed in as a parameter. |
PaymentDetailsIf[] |
getPaymentGateways(OrderIf order,
int languageId)
Each payment module is called and asked to return a PaymentDetails object.
|
PaymentScheduleIf |
getPaymentSchedule(int id)
Returns the payment schedule object for the
id parameter, or Null if the payment
schedule object doesn't exist in the DB. |
PdfResultIf |
getPdf(java.lang.String sessionId,
PdfOptionsIf options)
Creates a PDF document.
|
ProductIf |
getProduct(java.lang.String sessionId,
int productId,
int languageId)
Returns a complete Product object for the given
productId and language. |
ProductImagesIf |
getProductImages(ProductImagesOptionsIf options)
Get the image file names associated with the product whose id is specified.
|
ProductIf[] |
getProductNotificationsPerCustomer(java.lang.String sessionId,
int languageId)
Returns all products sorted by name, that the customer has asked to be notified about.
|
ProductIf[] |
getProductNotificationsPerCustomerWithOptions(java.lang.String sessionId,
int languageId,
FetchProductOptionsIf options)
An options object is passed in to customize from where some of the product attributes (such
as price and quantity) are fetched from.
|
ProductIf |
getProductPerSku(java.lang.String sessionId,
java.lang.String sku,
int languageId)
Get a product from its SKU.
|
ProductIf |
getProductPerSkuWithOptions(java.lang.String sessionId,
java.lang.String sku,
int languageId,
FetchProductOptionsIf options)
Get a product from its SKU.
|
ProductQuantityIf |
getProductQuantity(java.lang.String encodedProductId)
The stock level of the product and the date available are returned within a ProductQuantity
object.
|
ProductQuantityIf |
getProductQuantityWithOptions(java.lang.String encodedProductId,
FetchProductOptionsIf options)
The stock level of the product and the date available are returned within a ProductQuantity
object.
|
ProductIf[] |
getProductsFromIdsWithOptions(java.lang.String sessionId,
DataDescriptorIf dataDesc,
int[] prodIdArray,
int languageId,
FetchProductOptionsIf options)
An array of products is returned that corresponds to an array of productIds passed in as a
parameter.
|
ProductsIf |
getProductsPerCategory(java.lang.String sessionId,
DataDescriptorIf dataDesc,
int categoryId,
boolean searchInSubCats,
int languageId)
Returns a Products object for the given category and language.
|
ProductsIf |
getProductsPerCategoryPerManufacturer(java.lang.String sessionId,
DataDescriptorIf dataDesc,
int categoryId,
int manufacturerId,
int languageId)
Returns a Products object for the given category, language and manufacturer.
|
ProductsIf |
getProductsPerCategoryPerManufacturerWithOptions(java.lang.String sessionId,
DataDescriptorIf dataDesc,
int categoryId,
int manufacturerId,
int languageId,
FetchProductOptionsIf options)
An options object is passed in to customize from where some of the product attributes (such
as price and quantity) are fetched from.
|
ProductsIf |
getProductsPerCategoryWithOptions(java.lang.String sessionId,
DataDescriptorIf dataDesc,
int categoryId,
boolean searchInSubCats,
int languageId,
FetchProductOptionsIf options)
An options object is passed in to customize from where some of the product attributes (such
as price and quantity) are fetched from.
|
ProductsIf |
getProductsPerManufacturer(java.lang.String sessionId,
DataDescriptorIf dataDesc,
int manufacturerId,
int languageId)
Returns a Products object for the given manufacturer and language.
|
ProductsIf |
getProductsPerManufacturerWithOptions(java.lang.String sessionId,
DataDescriptorIf dataDesc,
int manufacturerId,
int languageId,
FetchProductOptionsIf options)
An options object is passed in to customize from where some of the product attributes (such
as price and quantity) are fetched from.
|
ProductIf |
getProductWithOptions(java.lang.String sessionId,
int productId,
int languageId,
FetchProductOptionsIf options)
An options object is passed in to customize from where some of the product attributes (such
as price and quantity) are fetched from.
|
PromotionIf |
getPromotion(int promotionId,
java.lang.String promotionName,
int languageId,
FetchPromotionOptionsIf prmOptions,
FetchProductOptionsIf prodOptions)
This API call is used to retrieve a single promotion matching an id or name.
|
PromotionIf[] |
getPromotionsPerCoupon(java.lang.String couponCode,
int couponId,
PromotionOptionsIf options)
This method is used to return an array of promotions associated with the coupon(s) identified
by the input parameters.
|
ProductIf[] |
getPromotionsPerProducts(java.lang.String sessionId,
int customerId,
ProductIf[] products,
PromotionIf[] promotions,
java.lang.String[] couponCodes,
PromotionOptionsIf options)
This method is used to calculate a discount on individual products so that the discount can
be displayed without having to add the product to the cart.
The method receives an array of products and returns an array of products with attached PromotionResult objects that contain the results of one or more of the promotions passed in as a parameter. |
PunchOutResultIf |
getPunchOutMessage(java.lang.String sessionId,
OrderIf order,
PunchOutOptionsIf options)
Creates a punch out message from an order.
|
ProductsIf |
getRelatedProducts(java.lang.String sessionId,
DataDescriptorIf dataDesc,
int productId,
int relationType,
int languageId)
Find products related to the product defined by the
productId parameter. |
ProductsIf |
getRelatedProductsWithOptions(java.lang.String sessionId,
DataDescriptorIf dataDesc,
int productId,
int relationType,
int languageId,
FetchProductOptionsIf options)
An options object is passed in to customize from where some of the product attributes (such
as price and quantity) are fetched from.
|
ReviewIf |
getReview(int reviewId)
An review object is returned for the given
reviewId . |
ReviewsIf |
getReviews(DataDescriptorIf dataDesc,
ReviewSearchIf search)
Returns an array of Reviews (within a Reviews object) that match the specified search
criteria in the ReviewSearch object.
|
ReviewsIf |
getReviewsPerProduct(DataDescriptorIf dataDesc,
int productId)
An array of review objects is returned for the given
productId . |
ReviewsIf |
getReviewsPerVendor(DataDescriptorIf dataDesc,
int vendorId)
Returns an array of reviews for the vendor referenced by the given vendorId.
|
RewardPointsIf |
getRewardPoints(java.lang.String sessionId,
DataDescriptorIf dataDesc)
Gets an array of reward point objects for a customer identified by the
sessionId
parameter. |
RewardPointsIf |
getRewardPointsWithOptions(java.lang.String sessionId,
DataDescriptorIf dataDesc,
FetchRewardPointOptionsIf options)
Gets an array of reward point objects for a customer identified by the
sessionId
parameter. |
java.lang.String |
getSecretKeyForOrderId(int orderId)
A secret key is generated and stored in the database for the orderId passed as a parameter.
|
ShippingQuoteIf |
getShippingQuote(OrderIf order,
java.lang.String moduleName,
int languageId)
The shipping module called
moduleName is called to get a shipping quote for the
order passed in as a parameter. |
ShippingQuoteIf[] |
getShippingQuotes(OrderIf order,
int languageId)
All active installed shipping modules are called in order to get an array of shipping quotes.
|
java.lang.String |
getSku(OrderProductIf orderProd)
Deprecated.
|
ProductsIf |
getSpecialsPerCategory(java.lang.String sessionId,
DataDescriptorIf dataDesc,
int categoryId,
boolean searchInSubCats,
int languageId)
Returns all specials for the given
categoryId and language. |
SSOTokenIf |
getSSOToken(java.lang.String secretKey,
boolean deleteToken)
Returns an SSOToken object for the secretKey (UUID).
|
java.lang.String |
getStatusText(int statusId,
int languageId)
Returns the text of a status from the orders_status table.
|
StoreIf |
getStore()
Returns the store that this KonaKart engine is connected to.
|
StoreIf |
getStoreForId(java.lang.String vendorStoreId)
Returns the store referenced by the vendorStoreId parameter.
|
java.lang.String[] |
getStoreIds()
Returns an array of strings containing the store ids for the stores being used in a
multi-store / multi-database environment.
|
SubscriptionIf[] |
getSubscriptionsPerCustomer(java.lang.String sessionId)
Returns an array of Subscription objects for a customer referred to by the sessionId
parameter.
|
SuggestedSearchItemIf[] |
getSuggestedSearchItems(java.lang.String sessionId,
SuggestedSearchOptionsIf options)
An array of SuggestedSearchItems is returned for search text within the options parameter.
|
SuggestedSpellingItemIf[] |
getSuggestedSpellingItems(java.lang.String sessionId,
SuggestedSpellingOptionsIf options)
An array of SuggestedSpellingItems is returned for search text within the options parameter.
|
SuggestionIf[] |
getSuggestions(java.lang.String sessionId,
SuggestionIf suggestion,
DataDescriptorIf dataDesc)
This retrieves Product Recommendation Suggestion objects from the database.
|
TagIf |
getTag(int tagId,
boolean getProdCount,
int languageId)
Returns a Tag object for the id passed in as a parameter.
|
TagGroupIf |
getTagGroup(int tagGroupId,
boolean getProdCount,
int languageId)
Returns a TagGroup object for the id passed in as a parameter.
|
TagGroupIf[] |
getTagGroupsPerCategory(int categoryId,
boolean getProdCount,
int languageId)
Return an array of TagGroup objects for a category.
|
TagGroupIf[] |
getTagGroupsPerCategoryWithOptions(int categoryId,
int languageId,
FetchTagGroupOptionsIf options)
Return an array of TagGroup objects for a category.
|
TagIf[] |
getTagsPerCategory(int categoryId,
boolean getProdCount,
int languageId)
Return an array of Tag objects for a category.
|
java.math.BigDecimal |
getTax(java.math.BigDecimal cost,
int countryId,
int zoneId,
int taxClassId)
Calculates the tax for a product with a
taxClassId and cost ,
delivered to a country (countryId ) and zone (zoneId ). |
java.math.BigDecimal |
getTaxRate(int countryId,
int zoneId,
int taxClassId)
Calculates the tax rate for a product with a
taxClassId delivered to a country (
countryId ) and zone (zoneId ). |
int |
getTempCustomerId()
When a customer that hasn't logged in adds products to the shopping cart, we use a temporary
customer id which is always negative and unique.
|
VendorIf |
getVendorForId(int vendorId)
Returns the vendor object for the vendor defined by the given vendorId.
|
ReviewIf |
getVendorReview(int reviewId)
Returns a vendor review for the given reviewId
|
ReviewsIf |
getVendorReviews(DataDescriptorIf dataDesc,
ReviewSearchIf search)
Returns an array of Reviews (within a Reviews object) that match the specified search
criteria in the ReviewSearch object.
|
VendorsIf |
getVendors(DataDescriptorIf dataDesc,
VendorSearchIf search)
Returns an array of Vendors (within a Vendors object) that match the specified search
criteria in the VendorSearch object.
|
WishListIf |
getWishList(java.lang.String sessionId,
int wishListId)
Returns a WishList object not populated with an array of WishListItem objects.
|
WishListItemsIf |
getWishListItems(java.lang.String sessionId,
DataDescriptorIf dataDesc,
int wishListId,
int languageId)
Returns a WishListItems object containing an array of items and the number of items returned.
|
WishListItemsIf |
getWishListItemsWithOptions(java.lang.String sessionId,
DataDescriptorIf dataDesc,
int wishListId,
int languageId,
AddToWishListOptionsIf options)
Returns a WishListItems object containing an array of items and the number of items returned.
|
WishListIf |
getWishListWithItems(java.lang.String sessionId,
int wishListId,
int languageId)
Returns a fully populated WishList object that may contain an array of WishListItem objects.
|
WishListIf |
getWishListWithItemsWithOptions(java.lang.String sessionId,
int wishListId,
int languageId,
AddToWishListOptionsIf options)
If
options is set to null, this method is identical to
getWishListWithItems() . |
WishListIf |
getWishListWithOptions(java.lang.String sessionId,
int wishListId,
AddToWishListOptionsIf options)
Returns a WishList object not populated with an array of WishListItem objects.
|
ZoneIf[] |
getZonesPerCountry(int countryId)
Returns an array of Zone objects for the country referenced by the
countryId . |
int |
insertBooking(java.lang.String sessionId,
BookingIf booking,
BookableProductOptionsIf options)
Inserts a Booking object into the database.
|
void |
insertCustomerEvent(CustomerEventIf event)
The customer event is written to a queue and control is immediately returned to the caller.
|
void |
insertCustomerTag(java.lang.String sessionId,
CustomerTagIf tag)
Assigns a customer tag to the customer referenced by the
sessionId . |
void |
insertCustomerTagForGuest(int customerId,
CustomerTagIf tag)
Assigns a customer tag to the guest customer referenced by the
customerId which
must have a negative value. |
int |
insertDigitalDownload(java.lang.String sessionId,
int productId)
Create and insert a digital download record for the product identified by the
productId and the customer identified by the sessionId . |
int |
insertKKEvent(java.lang.String sessionId,
KKEventIf event)
Insert an event
|
int |
insertSubscription(java.lang.String sessionId,
SubscriptionIf subscription)
A Subscription object is inserted into the database.
|
boolean |
isCustomerSubscribedToNewsletter(java.lang.String emailAddr)
Regardless of the type of customer, this API call returns true if the customer referenced by
the
emailAddr parameter is subscribed to receive the newsletter. |
boolean |
isEmailValid(java.lang.String emailAddr)
Determines whether the eMail address is valid
|
java.lang.String |
login(java.lang.String emailAddr,
java.lang.String password)
Returns a 16 byte long session key is the login is successful, otherwise it returns null.
|
java.lang.String |
loginByAdmin(java.lang.String adminSession,
int customerId)
Used to log in to the application as a customer by an Administrator.
|
LoginResultIf |
loginWithOptions(LoginInputIf input)
Returns a LoginResult object containing the result of the login.
|
void |
logout(java.lang.String sessionId)
Logs out the user with the specified session Id.
|
void |
mergeBaskets(java.lang.String sessionId,
int customerFromId)
Add all items from the basket of customerFrom to the basket of the customer associated to the
sessionId . |
void |
mergeBasketsWithOptions(java.lang.String sessionId,
int customerFromId,
AddToBasketOptionsIf options)
Add all items from the basket of customerFrom to the basket of the customer associated to the
sessionId . |
void |
mergeWishListsWithOptions(java.lang.String sessionId,
int customerFromId,
int languageId,
AddToWishListOptionsIf options)
Add all items from the wish list of customerFrom to the wish list of customerTo which is
retrieved from the sessionId.
|
EmailIf |
notifySysAdmin(java.lang.String message,
EmailOptionsIf options)
This method is used to send a template based eMail to the System Administrator.
|
int |
pointsAvailable(java.lang.String sessionId)
Calculates the number of reward points available for the customer identified by the
sessionId parameter. |
void |
postMessageToQueue(java.lang.String sessionId,
MqOptionsIf options)
Post a message to a specified queue.
|
void |
processKKEvents(java.lang.String sessionId)
To force the processing of KKEvents
|
MqResponseIf |
readMessageFromQueue(java.lang.String sessionId,
MqOptionsIf options)
Read a single message from a specified queue.
|
int |
registerCustomer(CustomerRegistrationIf custReg)
Receives all of the necessary parameters from the Customer Registration object to create a
new customer in the database.
|
void |
removeBasketItemsPerCustomer(java.lang.String sessionId,
int customerId)
All Basket objects that exist for this customer are deleted.
|
void |
removeFromBasket(java.lang.String sessionId,
int customerId,
BasketIf item)
The Basket object is deleted.
|
void |
removeFromWishList(java.lang.String sessionId,
int wishListItemId)
Remove the WishListItem object referenced by wishListItemId.
|
void |
removeFromWishListWithOptions(java.lang.String sessionId,
int wishListItemId,
AddToWishListOptionsIf options)
Remove the WishListItem object referenced by wishListItemId.
|
int |
removeStockReservationsForBasketItems(java.lang.String sessionId,
BasketIf[] basketItems,
StockReservationOptionsIf options)
This API call is used to remove stock reservations.
|
int |
removeStockReservationsForIds(java.lang.String sessionId,
int[] idArray,
StockReservationOptionsIf options)
This API call is used to remove stock reservations.
|
int |
removeStockReservationsForOrderProducts(java.lang.String sessionId,
OrderProductIf[] orderProducts,
StockReservationOptionsIf options)
This API call is used to remove stock reservations.
|
int |
reservePoints(java.lang.String sessionId,
int points)
Removes a number of reward points from the total for the customer identified by the
sessionId parameter. |
BasketIf[] |
reserveStock(java.lang.String sessionId,
BasketIf[] basketItems,
StockReservationOptionsIf options)
The purpose of this API call is to reserve stock in order to give a customer enough time to
checkout without risking that the products being ordered become unavailable while checking
out.
|
int |
saveIpnHistory(java.lang.String sessionId,
IpnHistoryIf ipnHistory)
A new IpnHistory (Instant Product Notification) record is created in the database.
|
int |
saveOrder(java.lang.String sessionId,
OrderIf order,
int languageId)
A new order is created in the DB.
|
int |
saveOrderWithOptions(java.lang.String sessionId,
OrderIf order,
int languageId,
SaveOrderOptionsIf options)
A new order is created in the DB.
|
java.lang.String |
saveSSOToken(SSOTokenIf token)
Saves the SSOToken in the database and returns a UUID secret key identifier.
|
OrdersIf |
searchForOrdersPerCustomer(java.lang.String sessionId,
DataDescriptorIf dataDesc,
OrderSearchIf orderSearch,
int languageId)
Retrieve a number of orders for the customer referenced by the
sessionId for the
given language. |
ProductsIf |
searchForProducts(java.lang.String sessionId,
DataDescriptorIf dataDesc,
ProductSearchIf prodSearch,
int languageId)
Returns all products using the given language.
|
ProductsIf |
searchForProductsWithOptions(java.lang.String sessionId,
DataDescriptorIf dataDesc,
ProductSearchIf prodSearch,
int languageId,
FetchProductOptionsIf options)
An options object is passed in to customize from where some of the product attributes (such
as price and quantity) are fetched from.
|
SubscriptionsIf |
searchForSubscriptionsPerCustomer(java.lang.String sessionId,
DataDescriptorIf dataDesc,
SubscriptionSearchIf subscriptionSearch)
Retrieve a number of subscriptions for the customer referenced by the
sessionId . |
WishListsIf |
searchForWishLists(java.lang.String sessionId,
DataDescriptorIf dataDesc,
CustomerSearchIf customerSearch)
All wish lists matching the search criteria will be returned.
|
ZoneIf[] |
searchForZones(ZoneSearchIf search)
Search for zones using various search criteria
|
void |
sendNewPassword(java.lang.String emailAddr,
java.lang.String subject,
java.lang.String countryCode)
Deprecated.
|
EmailIf |
sendNewPassword1(java.lang.String emailAddr,
EmailOptionsIf options)
A mail is sent to emailAddr containing a new password.
|
void |
sendOrderConfirmationEmail(java.lang.String sessionId,
int orderId,
java.lang.String mailSubject,
int languageId)
Deprecated.
|
EmailIf |
sendOrderConfirmationEmail1(java.lang.String sessionId,
int orderId,
int langIdForOrder,
EmailOptionsIf options)
A confirmation mail is sent after submitting an order.
|
void |
sendTemplateEmailToCustomer(int customerId,
java.lang.String templateName,
java.lang.String message,
java.lang.String countryCode)
Deprecated.
|
EmailIf |
sendTemplateEmailToCustomer1(int customerId,
java.lang.String message,
EmailOptionsIf options)
This method is used to send a template based eMail to a customer identified by the customerId
parameter.
|
void |
sendWelcomeEmail(int customerId,
java.lang.String mailSubject,
java.lang.String countryCode)
Deprecated.
|
EmailIf |
sendWelcomeEmail1(int customerId,
EmailOptionsIf options)
A welcome email is sent after registration of a new customer.
|
void |
setCookie(KKCookieIf cookie)
Saves the cookie in the database.
|
void |
setCreditCardDetailsOnOrder(java.lang.String sessionId,
int orderId,
CreditCardIf card)
The credit card details in the CreditCard object passed in as a parameter, are saved in the
database for an existing order.
|
void |
setDefaultAddressPerCustomer(java.lang.String sessionId,
int addressId)
Sets the default address for this customer to be the address identified by
addressId . |
void |
setEndpoint(java.lang.String wsEndpoint)
Set the Web Service endpoint for the engine.
|
void |
setNewPassword(java.lang.String adminSession,
java.lang.String customerEmailAddr,
int customerId,
java.lang.String newPassword)
Used to change the password of a customer.
|
void |
setRewardPointReservationId(java.lang.String sessionId,
int orderId,
int reservationId)
Verifies that the order belongs to the customer identified by the
sessionId
parameter and then updates the reservation id on the order. |
void |
updateBasket(java.lang.String sessionId,
int customerId,
BasketIf item)
Updates the Basket object in the database.
|
void |
updateBasketWithOptions(java.lang.String sessionId,
int customerId,
BasketIf item,
AddToBasketOptionsIf options)
Updates the Basket object in the database.
|
BasketIf[] |
updateBasketWithStockInfo(BasketIf[] basketItems)
Receives an array of basket items and updates each one with the current stock level.
|
BasketIf[] |
updateBasketWithStockInfoWithOptions(BasketIf[] basketItems,
AddToBasketOptionsIf options)
Receives an array of basket items and updates each one with the current stock level.
|
void |
updateCachedConfigurations()
Wherever in the engine any configurations have been cached, they are refreshed when this
method is called.
|
int |
updateDigitalDownloadCount(java.lang.String sessionId,
int productId)
Updates the count of the Digital Download identified by the
productId and the
customer identified by the sessionId . |
int |
updateDigitalDownloadCountById(java.lang.String sessionId,
int digitalDownloadId)
Updates the count of the Digital Download identified by the
digitalDownloadId
and the customer identified by the sessionId . |
void |
updateInventory(java.lang.String sessionId,
int orderId)
If the STOCK_LIMITED configuration variable is set to true, we subtract the products in stock
by the product orders.
|
void |
updateInventoryWithOptions(java.lang.String sessionId,
int orderId,
CreateOrderOptionsIf options)
If
options is set to null, this method is identical to
updateInventory() . |
void |
updateManufacturerViewedCount(int manufacturerId,
int languageId)
It updates the number of times that the manufacturer referenced by
manufacturerId , has been clicked on, to view the home page. |
void |
updateOrder(java.lang.String sessionId,
int orderId,
int status,
boolean customerNotified,
java.lang.String comments,
OrderUpdateIf updateOrder)
The state of the order referenced by the orderId parameter is changed, and an
orders_status_history record is added to the order to keep track of the change.
|
void |
updateOrderWithPaymentModuleSubCode(java.lang.String sessionId,
int orderId,
int status,
boolean customerNotified,
java.lang.String comments,
java.lang.String paymentModuleSubCode,
OrderUpdateIf updateOrder)
The state of the order referenced by the orderId parameter is changed, and an
orders_status_history record is added to the order to keep track of the change.
|
void |
updateProductViewedCount(int productId,
int languageId)
It updates the number of times that the product referenced by
productId , has
been viewed. |
void |
updateSubscription(java.lang.String sessionId,
SubscriptionIf subscription)
A Subscription object identified by the subscription passed in as a parameter is updated in
the database.
|
CaptchaResultIf |
validateCaptcha(CaptchaInputIf captchaInfo)
Used for validate captcha
|
boolean |
validatePassword(java.lang.String sessionId,
java.lang.String password)
This method validates the password of a logged in customer and can be used to force the
customer to enter his password before allowing certain actions like the modification of the
customer's email address.
|
int |
writeReview(java.lang.String sessionId,
ReviewIf review)
Receives all of the necessary parameters from the Review object to create a new review in the
database.
|
getCodeFromException, getEngConf, getRmiEngine, getRmiHost, getRmiPort, getStoreId, handleThrowable, init, isSuccessfullyInitialised, setEngConf, setRmiEngine, setRmiHost, setRmiPort, setStoreId, setSuccessfullyInitialised
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getEngConf
public KKRMIEng(EngineConfigIf engConf) throws com.konakart.app.KKException
engConf
- the engine configurationcom.konakart.app.KKException
- an unexpected exceptionpublic LanguageIf[] getLanguages(LanguageSearchIf search) throws com.konakart.app.KKException
getLanguages
in interface KKEngIf
search
- criteriacom.konakart.app.KKException
- an unexpected KKException exceptionpublic LanguageIf[] getAllLanguages() throws com.konakart.app.KKException
getAllLanguages
in interface KKEngIf
com.konakart.app.KKException
- an unexpected KKException exceptionpublic LanguageIf getDefaultLanguage() throws com.konakart.app.KKException
getDefaultLanguage
in interface KKEngIf
com.konakart.app.KKException
- an unexpected KKException exceptionpublic LanguageIf getLanguagePerCode(java.lang.String code) throws com.konakart.app.KKException
getLanguagePerCode
in interface KKEngIf
code
- The two letter language code such as en, de, es etc.com.konakart.app.KKException
- an unexpected KKException exceptionpublic LanguageIf getLanguagePerId(int languageId) throws com.konakart.app.KKException
getLanguagePerId
in interface KKEngIf
languageId
- The numeric id of the language objectcom.konakart.app.KKException
- an unexpected KKException exceptionpublic CategoryIf[] getCategoryTree(int languageId, boolean getNumProducts) throws com.konakart.app.KKException
The name of the category is language dependent and will be returned in the language defined
by the languageId
parameter.
Each Category class contains a numberOfProducts
field that describes how many
products exist for that category. It is only calculated if the getNumProducts
input parameter is set to true. For performance reasons this parameter should be set to false
if numberOfProducts
is not required.
If you do not set numberOfProducts
to true beware that the category tree
returned will be a reference to the static category tree object and not a clone. This is only
relevant when using the POJO KKEng engine.
getCategoryTree
in interface KKEngIf
languageId
- The id for the language that will be used to determine the Category name. Value of
-1 selects the default language.getNumProducts
- A boolean that specifies whether the Category objects should have the
numberOfProducts attribute set.com.konakart.app.KKException
- an unexpected KKException exceptionpublic CategoryIf[] getCategoryTreeWithOptions(CategoryTreeOptionsIf options) throws com.konakart.app.KKException
The name of the category is language dependent and will be returned in the language defined
by the languageId
parameter of the CategoryTreeOptions object.
Each Category class contains a numberOfProducts
field that describes how many
products exist for that category. It is only calculated if the getNumProducts
input parameter of the CategoryTreeOptions object is set to true. For performance reasons
this parameter should be set to false if numberOfProducts
is not required.
If the CategoryTreeOptions object has its returnClonedTree attribute set to true a cloned
version of the category tree will be returned. A cloned version of the category tree will
always be returned if you set the numberOfProducts
to true. This is only
relevant when using the POJO KKEng engine.
getCategoryTreeWithOptions
in interface KKEngIf
options
- Category tree options object.com.konakart.app.KKException
- an unexpected KKException exceptionpublic ProductsIf getProductsPerCategory(java.lang.String sessionId, DataDescriptorIf dataDesc, int categoryId, boolean searchInSubCats, int languageId) throws com.konakart.app.KKException
Only Products with a non zero status and non zero invisible are returned. The description (which can be very long) and the array of options are not set. The specialPrice is null if a special offer doesn't exist for the product.
dataDesc
may be null. In this case, the number of retrieved products is limited
to a default number, the products are ordered by the ProductId and the offset is set to zero.
However, by setting the attributes of dataDesc
, the following functionality may
be controlled :
getProductsPerCategory
in interface KKEngIf
sessionId
- The session id of the logged in user; use null if the customer isn't logged in.dataDesc
- Used to control the data offset, limit the number of items returned and set the
sort ordercategoryId
- The numeric id of the categorysearchInSubCats
- Determines whether products are searched for in the sub-categories of the
specified categorylanguageId
- The id for the language that will be used. Value of -1 selects the default
language.com.konakart.app.KKException
- an unexpected KKException exceptionpublic ProductsIf getProductsPerCategoryWithOptions(java.lang.String sessionId, DataDescriptorIf dataDesc, int categoryId, boolean searchInSubCats, int languageId, FetchProductOptionsIf options) throws com.konakart.app.KKException
Returns a Products object for the given category and language.
Only Products with a non zero status and non zero invisible are returned. The description (which can be very long) and the array of options are not set. The specialPrice is null if a special offer doesn't exist for the product.
dataDesc
may be null. In this case, the number of retrieved products is limited
to a default number, the products are ordered by the ProductId and the offset is set to zero.
However, by setting the attributes of dataDesc
, the following functionality may
be controlled :
getProductsPerCategoryWithOptions
in interface KKEngIf
sessionId
- The session id of the logged in user; use null if the customer isn't logged in.dataDesc
- Used to control the data offset, limit the number of items returned and set the
sort ordercategoryId
- The numeric id of the categorysearchInSubCats
- Determines whether products are searched for in the sub-categories of the
specified categorylanguageId
- The id for the language that will be used. Value of -1 selects the default
language.options
- An object containing options for the method. It may be set to null.com.konakart.app.KKException
- an unexpected KKException exceptionpublic ProductsIf getProductsPerCategoryPerManufacturer(java.lang.String sessionId, DataDescriptorIf dataDesc, int categoryId, int manufacturerId, int languageId) throws com.konakart.app.KKException
Only Products with a non zero status and non zero invisible are returned. The description (which can be very long) and the array of options are not set. The specialPrice is null if a special offer doesn't exist for the product.
dataDesc
may be null. In this case, the number of retrieved products is limited
to a default number, the products are ordered by the ProductId and the offset is set to zero.
However, by setting the attributes of dataDesc
, the following functionality may
be controlled :
getProductsPerCategoryPerManufacturer
in interface KKEngIf
sessionId
- The session id of the logged in user; use null if the customer isn't logged in.dataDesc
- Used to control the data offset, limit the number of items returned and set the
sort ordercategoryId
- The numeric id of the categorylanguageId
- The id for the language that will be used. Value of -1 selects the default
language.manufacturerId
- The numeric id of the manufacturercom.konakart.app.KKException
- an unexpected KKException exceptionpublic ProductsIf getProductsPerCategoryPerManufacturerWithOptions(java.lang.String sessionId, DataDescriptorIf dataDesc, int categoryId, int manufacturerId, int languageId, FetchProductOptionsIf options) throws com.konakart.app.KKException
Returns a Products object for the given category, language and manufacturer.
Only Products with a non zero status and non zero invisible are returned. The description (which can be very long) and the array of options are not set. The specialPrice is null if a special offer doesn't exist for the product.
dataDesc
may be null. In this case, the number of retrieved products is limited
to a default number, the products are ordered by the ProductId and the offset is set to zero.
However, by setting the attributes of dataDesc
, the following functionality may
be controlled :
getProductsPerCategoryPerManufacturerWithOptions
in interface KKEngIf
sessionId
- The session id of the logged in user; use null if the customer isn't logged in.dataDesc
- Used to control the data offset, limit the number of items returned and set the
sort ordercategoryId
- The numeric id of the categorylanguageId
- The id for the language that will be used. Value of -1 selects the default
language.manufacturerId
- The numeric id of the manufactureroptions
- An object containing options for the method. It may be set to null.com.konakart.app.KKException
- an unexpected KKException exceptionpublic ProductsIf getProductsPerManufacturer(java.lang.String sessionId, DataDescriptorIf dataDesc, int manufacturerId, int languageId) throws com.konakart.app.KKException
Only Products with a non zero status and non zero invisible are returned. The description (which can be very long) and the array of options are not set. The specialPrice is null if a special offer doesn't exist for the product.
dataDesc
may be null. In this case, the number of retrieved products is limited
to a default number, the products are ordered by the ProductId and the offset is set to zero.
However, by setting the attributes of dataDesc
, the following functionality may
be controlled :
getProductsPerManufacturer
in interface KKEngIf
sessionId
- The session id of the logged in user; use null if the customer isn't logged in.dataDesc
- Used to control the data offset, limit the number of items returned and set the
sort ordermanufacturerId
- The numeric id of the manufacturerlanguageId
- The id for the language that will be used. Value of -1 selects the default
language.com.konakart.app.KKException
- an unexpected KKException exceptionpublic ProductsIf getProductsPerManufacturerWithOptions(java.lang.String sessionId, DataDescriptorIf dataDesc, int manufacturerId, int languageId, FetchProductOptionsIf options) throws com.konakart.app.KKException
Returns a Products object for the given manufacturer and language.
Only Products with a non zero status and non zero invisible are returned. The description (which can be very long) and the array of options are not set. The specialPrice is null if a special offer doesn't exist for the product.
dataDesc
may be null. In this case, the number of retrieved products is limited
to a default number, the products are ordered by the ProductId and the offset is set to zero.
However, by setting the attributes of dataDesc
, the following functionality may
be controlled :
getProductsPerManufacturerWithOptions
in interface KKEngIf
sessionId
- The session id of the logged in user; use null if the customer isn't logged in.dataDesc
- Used to control the data offset, limit the number of items returned and set the
sort ordermanufacturerId
- The numeric id of the manufacturerlanguageId
- The id for the language that will be used. Value of -1 selects the default
language.options
- An object containing options for the method. It may be set to null.com.konakart.app.KKException
- an unexpected KKException exceptionpublic ProductIf getProduct(java.lang.String sessionId, int productId, int languageId) throws com.konakart.app.KKException
productId
and language.
Returns null if no product is found. The specialPrice is null if a special offer doesn't exist for the product.
getProduct
in interface KKEngIf
sessionId
- The session id of the logged in user; use null if the customer isn't logged in.productId
- The numeric id of the productlanguageId
- The id for the language that will be used. Value of -1 selects the default
language.com.konakart.app.KKException
- an unexpected KKException exceptionpublic ProductIf getProductWithOptions(java.lang.String sessionId, int productId, int languageId, FetchProductOptionsIf options) throws com.konakart.app.KKException
Returns a complete Product object for the given productId
and language.
Returns null if no product is found. The specialPrice is null if a special offer doesn't exist for the product.
getProductWithOptions
in interface KKEngIf
sessionId
- The session id of the logged in user; use null if the customer isn't logged in.productId
- The numeric id of the productlanguageId
- The id for the language that will be used. Value of -1 selects the default
language.options
- An object containing options for the method. It may be set to null.com.konakart.app.KKException
- an unexpected KKException exceptionpublic CategoryIf[] getCategoriesPerManufacturer(int manufacturerId, int languageId) throws com.konakart.app.KKException
getCategoriesPerManufacturer
in interface KKEngIf
manufacturerId
- The numeric id of the manufacturerlanguageId
- The id for the language that will be used. Value of -1 selects the default
language.com.konakart.app.KKException
- an unexpected KKException exceptionpublic CategoryIf[] getCategoriesPerProduct(int productId, int languageId) throws com.konakart.app.KKException
getCategoriesPerProduct
in interface KKEngIf
productId
- The numeric id of the productlanguageId
- The id for the language that will be used. Value of -1 selects the default
language.com.konakart.app.KKException
- an unexpected KKException exceptionpublic ManufacturerIf[] getManufacturersPerCategory(int categoryId) throws com.konakart.app.KKException
This method is normally used for fetching all the product manufacturers within a category so that products may be filtered by manufacturer.
getManufacturersPerCategory
in interface KKEngIf
categoryId
- The numeric id of the categorycom.konakart.app.KKException
- an unexpected KKException exceptionpublic ManufacturerIf[] getManufacturers(DataDescriptorIf dataDesc, ManufacturerSearchIf search, int languageId) throws com.konakart.app.KKException
dataDesc
controls the following functionality:
getManufacturers
in interface KKEngIf
dataDesc
- The data descriptor object that defines the sort order, constraints on custom
fields and offset and limit for paging.search
- The Manufacturer search object that defines the search criterialanguageId
- The language id is used for language specific attributes of the manufacturer such
as the URL.com.konakart.app.KKException
- an unexpected KKException exceptionpublic ManufacturerIf[] getAllManufacturers() throws com.konakart.app.KKException
If the system has a large number of manufacturers, it better to use the
getManufacturers(DataDescriptorIf dataDesc, ManufacturerSearchIf search, int languageId)
method where the DatDescriptor can be used to limit the number of manufacturers returned.
getAllManufacturers
in interface KKEngIf
com.konakart.app.KKException
- an unexpected KKException exceptionpublic ManufacturerIf getManufacturerPerProduct(int productId, int languageId) throws com.konakart.app.KKException
productId
and language.getManufacturerPerProduct
in interface KKEngIf
productId
- The numeric id of the productlanguageId
- The id for the language that will be used. Value of -1 selects the default
language.com.konakart.app.KKException
- an unexpected KKException exceptionpublic ManufacturerIf getManufacturer(int manufacturerId, int languageId) throws com.konakart.app.KKException
manufacturerId
and language.getManufacturer
in interface KKEngIf
manufacturerId
- The numeric id of the manufacturerlanguageId
- The id for the language that will be used. Value of -1 selects the default
language.com.konakart.app.KKException
- an unexpected KKException exceptionpublic CategoryIf getCategory(int categoryId, int languageId) throws com.konakart.app.KKException
categoryId
and language.
It does not populate the children even if they exist. It does populate the MiscItem array.getCategory
in interface KKEngIf
categoryId
- The numeric id of the categorylanguageId
- The id for the language that will be used. Value of -1 selects the default
language.com.konakart.app.KKException
- an unexpected KKException exceptionpublic ProductsIf getSpecialsPerCategory(java.lang.String sessionId, DataDescriptorIf dataDesc, int categoryId, boolean searchInSubCats, int languageId) throws com.konakart.app.KKException
categoryId
and language.
Only Products with a non zero status and non zero invisible are returned. The description (which can be very long) and the array of options are not set. The specialPrice is null if a special offer doesn't exist for the product.
dataDesc
may be null. In this case, the number of retrieved products is limited
to a default number, the products are ordered by the ProductId and the offset is set to zero.
However, by setting the attributes of dataDesc
, the following functionality may
be controlled :
getSpecialsPerCategory
in interface KKEngIf
sessionId
- The session id of the logged in userdataDesc
- Used to control the data offset, limit the number of items returned and set the
sort ordercategoryId
- The numeric id of the categorysearchInSubCats
- Determines whether products are searched for in the sub-categories of the
specified categorylanguageId
- The id for the language that will be used. Value of -1 selects the default
language.com.konakart.app.KKException
- an unexpected KKException exceptionpublic ProductsIf getAllSpecials(java.lang.String sessionId, DataDescriptorIf dataDesc, int languageId) throws com.konakart.app.KKException
Only Products with a non zero status and non zero invisible are returned. The description (which can be very long) and the array of options are not set. The specialPrice is null if a special offer doesn't exist for the product.
dataDesc
may be null. In this case, the number of retrieved products is limited
to a default number, the products are ordered by the ProductId and the offset is set to zero.
However, by setting the attributes of dataDesc
, the following functionality may
be controlled :
getAllSpecials
in interface KKEngIf
sessionId
- The session id of the logged in userdataDesc
- Used to control the data offset, limit the number of items returned and set the
sort orderlanguageId
- The id for the language that will be used. Value of -1 selects the default
language.com.konakart.app.KKException
- an unexpected KKException exceptionpublic ProductsIf getAllProducts(java.lang.String sessionId, DataDescriptorIf dataDesc, int languageId) throws com.konakart.app.KKException
Only Products with a non zero status and non zero invisible are returned. The description (which can be very long) and the array of options are not set. The specialPrice is null if a special offer doesn't exist for the product.
dataDesc
may be null. In this case, the number of retrieved products is limited
to a default number, the products are ordered by the ProductId and the offset is set to zero.
However, by setting the attributes of dataDesc
, the following functionality may
be controlled :
getAllProducts
in interface KKEngIf
sessionId
- The session id of the logged in userdataDesc
- Used to control the data offset, limit the number of items returned and set the
sort orderlanguageId
- The id for the language that will be used. Value of -1 selects the default
language.com.konakart.app.KKException
- an unexpected KKException exceptionpublic ProductsIf getAllProductsWithOptions(java.lang.String sessionId, DataDescriptorIf dataDesc, int languageId, FetchProductOptionsIf options) throws com.konakart.app.KKException
Returns all products using the given language.
Only Products with a non zero status and non zero invisible are returned. The description (which can be very long) and the array of options are not set. The specialPrice is null if a special offer doesn't exist for the product.
dataDesc
may be null. In this case, the number of retrieved products is limited
to a default number, the products are ordered by the ProductId and the offset is set to zero.
However, by setting the attributes of dataDesc
, the following functionality may
be controlled :
getAllProductsWithOptions
in interface KKEngIf
sessionId
- The session id of the logged in userdataDesc
- Used to control the data offset, limit the number of items returned and set the
sort orderlanguageId
- The id for the language that will be used. Value of -1 selects the default
language.options
- An object containing options for the method. It may be set to null.com.konakart.app.KKException
- an unexpected KKException exceptionpublic ReviewsIf getReviewsPerProduct(DataDescriptorIf dataDesc, int productId) throws com.konakart.app.KKException
productId
.
The averageRating
attribute of the reviews is calculated and set by the method.
All reviews are retrieved, regardless of the language. dataDesc
may be null. In
this case, the number of retrieved reviews is limited to a default number, the reviews are
ordered by the ReviewId and the offset is set to zero. However, by setting the attributes of
dataDesc
, the following functionality may be controlled :
getReviewsPerProduct
in interface KKEngIf
dataDesc
- Used to control the data offset, limit the number of items returned and set the
sort orderproductId
- The numeric id of the productcom.konakart.app.KKException
- an unexpected KKException exceptionpublic ReviewIf getReview(int reviewId) throws com.konakart.app.KKException
reviewId
. The
averageRating
attribute of the review is calculated and set by the method.public ReviewsIf getAllReviews(DataDescriptorIf dataDesc) throws com.konakart.app.KKException
dataDesc
may be null. In this case, the number of retrieved reviews is limited
to a default number, the reviews are ordered by the ReviewId and the offset is set to zero.
However, by setting the attributes of dataDesc
, the following functionality may
be controlled :
getAllReviews
in interface KKEngIf
dataDesc
- Used to control the data offset, limit the number of items returned and set the
sort ordercom.konakart.app.KKException
- an unexpected KKException exceptionpublic ReviewsIf getReviews(DataDescriptorIf dataDesc, ReviewSearchIf search) throws com.konakart.app.KKException
The ReviewSearch object also allows you to specify that the return data contains:
dataDesc
controls the following functionality:
getReviews
in interface KKEngIf
dataDesc
- The data descriptor object that defines the sort order, constraints on custom
fields and offset and limit for paging.search
- The Review search object that defines the search criteriacom.konakart.app.KKException
- an unexpected KKException exceptionpublic ProductsIf searchForProducts(java.lang.String sessionId, DataDescriptorIf dataDesc, ProductSearchIf prodSearch, int languageId) throws com.konakart.app.KKException
Only Products with a non zero status and non zero invisible are returned. The description (which can be very long) and the array of options are not set. The specialPrice is null if a special offer doesn't exist for the product.
dataDesc
may be null. In this case, the number of retrieved products is limited
to a default number, the products are ordered by the ProductId and the offset is set to zero.
However, by setting the attributes of dataDesc
, the following functionality may
be controlled :
searchForProducts
in interface KKEngIf
sessionId
- The session id of the logged in userdataDesc
- Used to control the data offset, limit the number of items returned and set the
sort orderprodSearch
- Contains information used to search the catalog for a productlanguageId
- The id for the language that will be used. Value of -1 selects the default
language.com.konakart.app.KKException
- an unexpected KKException exceptionpublic ProductsIf searchForProductsWithOptions(java.lang.String sessionId, DataDescriptorIf dataDesc, ProductSearchIf prodSearch, int languageId, FetchProductOptionsIf options) throws com.konakart.app.KKException
Returns all products using the given language. The ProductSearch class contains the search criteria.
Only Products with a non zero status and non zero invisible are returned. The description (which can be very long) and the array of options are not set. The description will only be set if specified in the ProductSearch object passed in as a parameter. The specialPrice is null if a special offer doesn't exist for the product.
dataDesc
may be null. In this case, the number of retrieved products is limited
to a default number, the products are ordered by the ProductId and the offset is set to zero.
However, by setting the attributes of dataDesc
, the following functionality may
be controlled :
searchForProductsWithOptions
in interface KKEngIf
sessionId
- The session id of the logged in userdataDesc
- Used to control the data offset, limit the number of items returned and set the
sort orderprodSearch
- Contains information used to search the catalog for a productlanguageId
- The id for the language that will be used. Value of -1 selects the default
language.options
- An object containing options for the method. It may be set to null.com.konakart.app.KKException
- an unexpected KKException exceptionpublic int registerCustomer(CustomerRegistrationIf custReg) throws com.konakart.app.KKException
telephoneUnique
and
telephone1Unique
attributes of the CustomerRegistration object you can instruct
KonaKart to check the telephone numbers for uniqueness.
If the country has at least one zone defined in the database, then we verify that the State attribute of the CustomerRegistration object matches one of the defined zones, otherwise a kkInvalidZoneException is thrown. If a match is found, then the zoneId is saved in the database table. If no zones are defined for the country, then we don't make the check and save the State attribute directly in the database.
registerCustomer
in interface KKEngIf
custReg
- Contains all the required data in order to register a new customercom.konakart.app.KKException
- an unexpected KKException exceptionpublic int forceRegisterCustomer(CustomerRegistrationIf custReg) throws com.konakart.app.KKException
registerCustomer()
when you want to provide a
store that doesn't force a customer to register. It registers a customer as a temporary
customer and allows you to register this customer more than once as long as the customer
remains temporary. i.e. Doesn't go through a proper registration process.
KonaKart requires a temporary customer (one that has never registered) to be present in its database even if the store doesn't require registration. If a temporary customer with the same eMail address already exists, then this customer is deleted. An exception is thrown if a non-temporary customer (one that has registered) exists with the same eMail. You must still supply a password (which can be randomly generated) which you must then use to log in the customer so that he can checkout.
If you wish to allow a registered customer to checkout without logging in, then you must set
allowMultipleRegistrations
to true in the CustomerRegistration
object passed in as a parameter. Note that a temporary customer is created for the checkout,
and the order is not added to the account of the existing registered customer with the same
email address.
If your online store lets users choose whether to register or not, this method should be used if a user decides not to register since you still require to gather the user's personal details such as name and address.
Depending on how much customer information you have, you may set booleans in the Customer Registration object in order to instruct KonaKart to create default values. These booleans are:
forceRegisterCustomer
in interface KKEngIf
custReg
- Contains all the required data in order to register a new customercom.konakart.app.KKException
- an unexpected KKException exceptionpublic CountryIf[] getAllCountries() throws com.konakart.app.KKException
getAllCountries
in interface KKEngIf
com.konakart.app.KKException
- an unexpected KKException exceptionpublic java.lang.String login(java.lang.String emailAddr, java.lang.String password) throws com.konakart.app.KKException
public LoginResultIf loginWithOptions(LoginInputIf input) throws com.konakart.app.KKException
The input object allows you to set either the email address, username, telephone number or telephone number 1 as the username. Only one of these must contain a non null value, otherwise an exception will be thrown.
loginWithOptions
in interface KKEngIf
input
- LoginInput object containing the username and passwordcom.konakart.app.KKException
- an unexpected KKException exceptionpublic void logout(java.lang.String sessionId) throws com.konakart.app.KKException
public AddressIf[] getAddressesPerCustomer(java.lang.String sessionId) throws com.konakart.app.KKException
getAddressesPerCustomer
in interface KKEngIf
sessionId
- The session id of the logged in usercom.konakart.app.KKException
- an unexpected KKException exceptionpublic AddressIf[] getAddressesPerManufacturer(int manufacturerId) throws com.konakart.app.KKException
getAddressesPerManufacturer
in interface KKEngIf
manufacturerId
- the manufacturerIdcom.konakart.app.KKException
- an unexpected KKException exceptionpublic AddressIf[] getAddressesPerProduct(int productId) throws com.konakart.app.KKException
getAddressesPerProduct
in interface KKEngIf
productId
- the productIdcom.konakart.app.KKException
- an unexpected KKException exceptionpublic AddressIf[] getAddressesPerStore(java.lang.String addressStoreId) throws com.konakart.app.KKException
getAddressesPerStore
in interface KKEngIf
addressStoreId
- the addressStoreIdcom.konakart.app.KKException
- an unexpected KKException exceptionpublic AddressIf getDefaultAddressPerCustomer(java.lang.String sessionId) throws com.konakart.app.KKException
getDefaultAddressPerCustomer
in interface KKEngIf
sessionId
- The session id of the logged in usercom.konakart.app.KKException
- an unexpected KKException exceptionpublic void setDefaultAddressPerCustomer(java.lang.String sessionId, int addressId) throws com.konakart.app.KKException
addressId
. A check is made to determine whether an address exists with that id
and that it belongs to the customer logged in with this sessionId
.setDefaultAddressPerCustomer
in interface KKEngIf
sessionId
- The session id of the logged in useraddressId
- The numeric id of the address objectcom.konakart.app.KKException
- an unexpected KKException exceptionpublic int addAddressToCustomer(java.lang.String sessionId, AddressIf addr) throws com.konakart.app.KKException
sessionId
. The id of
the address object is ignored since it is calculated during the insertion process. The zoneId
is also calculated unless addr.isUseZoneId()is set to true. In this case the zoneId from the
address object is used. The customerId of the address object is also ignored. An exception is
thrown if the sessionId isn't valid.addAddressToCustomer
in interface KKEngIf
sessionId
- The session id of the logged in useraddr
- The address object which will be added to the customercom.konakart.app.KKException
- an unexpected KKException exceptionpublic void deleteAddressFromCustomer(java.lang.String sessionId, int addressId) throws com.konakart.app.KKException
sessionId
and addressId
is deleted. The
customerId is retrieved from the session. An exception is thrown if the session isn't valid
and if the address referenced by the addressId
doesn't belong to the customer
referenced by the sessionId
. An exception is also thrown if we attempt to delete
the default address.deleteAddressFromCustomer
in interface KKEngIf
sessionId
- The session id of the logged in useraddressId
- The numeric id of the address objectcom.konakart.app.KKException
- an unexpected KKException exceptionpublic void editCustomerAddress(java.lang.String sessionId, AddressIf addr) throws com.konakart.app.KKException
sessionId
passed in as a parameter. The zoneId is ignored since it is calculated
during the insertion process, unless addr.isUseZoneId() is set to true. In this case the
zoneId from the address object is used. The addressId
is used to identify the
address object. The customerId attribute of the address object is ignored since it is
obtained from the sessionId
. An exception is thrown if the session isn't valid.editCustomerAddress
in interface KKEngIf
sessionId
- The session id of the logged in useraddr
- The address object to editcom.konakart.app.KKException
- an unexpected KKException exceptionpublic CustomerIf getCustomer(java.lang.String sessionId) throws com.konakart.app.KKException
sessionId
.
Throws an exception if the session has expired.getCustomer
in interface KKEngIf
sessionId
- The session id of the logged in usercom.konakart.app.KKException
- an unexpected KKException exceptionpublic CustomerIf getCustomerWithOptions(java.lang.String sessionId, FetchCustomerOptionsIf options) throws com.konakart.app.KKException
sessionId
.
Throws an exception if the session has expired.getCustomerWithOptions
in interface KKEngIf
sessionId
- The session id of the logged in useroptions
- An object containing options for the method. It may be set to null.com.konakart.app.KKException
- an unexpected KKException exceptionpublic void editCustomer(java.lang.String sessionId, CustomerIf cust) throws com.konakart.app.KKException
cust
has to be the same customer logged in with a valid sessionId
.
Only non null attributes or integers not equal to -1 will be used (i.e. set an integer field
to -1 if you do not want to change it).
The attributes from the Customer object that are used are :
editCustomer
in interface KKEngIf
sessionId
- The session id of the logged in usercust
- The customer object to editcom.konakart.app.KKException
- an unexpected KKException exceptionpublic void editCustomerWithOptions(java.lang.String sessionId, CustomerIf cust, EditCustomerOptionsIf options) throws com.konakart.app.KKException
cust
has to be the same customer logged in with a valid sessionId
.
Only non null attributes or integers not equal to -1 will be used (i.e. set an integer field
to -1 if you do not want to change it).
The attributes from the Customer object that are used are :
editCustomerWithOptions
in interface KKEngIf
sessionId
- The session id of the logged in usercust
- The customer object to editoptions
- Allows you to define whether KonaKart should check that the telephone number being
set is unique (does not belong to an existing registered customer).com.konakart.app.KKException
- an unexpected KKException exceptionpublic java.util.Calendar getKonakartTimeStamp() throws com.konakart.app.KKException
getKonakartTimeStamp
in interface KKEngIf
com.konakart.app.KKException
- an unexpected KKException exceptionpublic int writeReview(java.lang.String sessionId, ReviewIf review) throws com.konakart.app.KKException
sessionId
.
The obligatory parameters are :
writeReview
in interface KKEngIf
sessionId
- The session id of the logged in userreview
- The review that will be insertedcom.konakart.app.KKException
- an unexpected KKException exceptionpublic int checkSession(java.lang.String sessionId) throws com.konakart.app.KKException
sessionId
is checked to see whether it exists and whether it is has
timed out. If it is valid, the expiry attribute is updated. An exception is thrown if it is
not valid.checkSession
in interface KKEngIf
sessionId
- The session id of the logged in usercom.konakart.app.KKException
- an unexpected KKException exceptionpublic int addToBasket(java.lang.String sessionId, int customerId, BasketIf item) throws com.konakart.app.KKException
The Basket object does not have to be fully populated. The compulsory attributes are:
If the customer is logged in to the application, then a valid sessionId
is
required and the customerId
is ignored. Otherwise, the sessionId
may be set to null and the method will use the customerId
, ensuring that the
customer is not a registered customer by checking that the customerId
is
negative. All registered customers have positive ids.
addToBasket
in interface KKEngIf
sessionId
- The session id of the logged in usercustomerId
- The numeric id of the customeritem
- The basket item to add to the basketcom.konakart.app.KKException
- an unexpected KKException exceptionpublic int addToBasketWithOptions(java.lang.String sessionId, int customerId, BasketIf item, AddToBasketOptionsIf options) throws com.konakart.app.KKException
options
is set to null, this method is identical to
addToBasket()
. Otherwise the functionality differs depending on the combination
of options set.
Saves the Basket object in the database for a customer. If the Basket object already exists with exactly the same options etc, then we either just increase the quantity of the existing object or we add a new object. This depends on the options.
The Basket object does not have to be fully populated. The compulsory attributes are:
If the customer is logged in to the application, then a valid sessionId
is
required and the customerId
is ignored. Otherwise, the sessionId
may be set to null and the method will use the customerId
, ensuring that the
customer is not a registered customer by checking that the customerId
is
negative. All registered customers have positive ids.
addToBasketWithOptions
in interface KKEngIf
sessionId
- The session id of the logged in usercustomerId
- The numeric id of the customeritem
- The basket item to add to the basketoptions
- An object containing options for the method. It may be set to null.com.konakart.app.KKException
- an unexpected KKException exceptionpublic void mergeBaskets(java.lang.String sessionId, int customerFromId) throws com.konakart.app.KKException
sessionId
. The customer receiving the basket items, must be logged on, which is
why the method parameter is a sessionId
and not a customerId
. This
method is normally called when a customer logs on, in order to move his temporary basket to
his permanent basket. The items are merged into the target basket. i.e. If a similar item
already exists, then the quantity is increased.mergeBaskets
in interface KKEngIf
sessionId
- The session id of the logged in usercustomerFromId
- The numeric id of the customer that has the temporary basketcom.konakart.app.KKException
- an unexpected KKException exceptionpublic void mergeBasketsWithOptions(java.lang.String sessionId, int customerFromId, AddToBasketOptionsIf options) throws com.konakart.app.KKException
sessionId
. The customer receiving the basket items, must be logged on, which is
why the method parameter is a sessionId
and not a customerId
. This
method is normally called when a customer logs on, in order to move his temporary basket to
his permanent basket. The items are merged into the target basket. i.e. If a similar item
already exists, then the quantity is increased.
If options is set to null then this call is identical to mergeBaskets(). The options may determine from where we read the price and quantity of the basket items.
mergeBasketsWithOptions
in interface KKEngIf
sessionId
- The session id of the logged in usercustomerFromId
- The numeric id of the customer that has the temporary basketoptions
- An object containing options for the method. It may be set to null.com.konakart.app.KKException
- an unexpected KKException exceptionpublic void updateBasket(java.lang.String sessionId, int customerId, BasketIf item) throws com.konakart.app.KKException
The only attributes that may be changed are:
If the customer is logged in to the application, then a valid sessionId
is
required and the customerId
is ignored. Otherwise, the sessionId
may be set to null and the method will use the customerId
, ensuring that the
customer is not a registered customer by checking that the customerId
is
negative. All registered customers have positive ids.
A check is also made to ensure that the basket item being modified, actually belongs to the customer.
updateBasket
in interface KKEngIf
sessionId
- The session id of the logged in usercustomerId
- The numeric id of the customeritem
- The basket item to updatecom.konakart.app.KKException
- an unexpected KKException exceptionpublic void updateBasketWithOptions(java.lang.String sessionId, int customerId, BasketIf item, AddToBasketOptionsIf options) throws com.konakart.app.KKException
The only attributes that may be changed are:
If the customer is logged in to the application, then a valid sessionId
is
required and the customerId
is ignored. Otherwise, the sessionId
may be set to null and the method will use the customerId
, ensuring that the
customer is not a registered customer by checking that the customerId
is
negative. All registered customers have positive ids.
A check is also made to ensure that the basket item being modified, actually belongs to the customer.
If options is set to null, this method is identical to updateBasket(). Otherwise the functionality differs depending on the combination of options set.
updateBasketWithOptions
in interface KKEngIf
sessionId
- The session id of the logged in usercustomerId
- The numeric id of the customeritem
- The basket item to updateoptions
- An object containing options for the method. It may be set to null.com.konakart.app.KKException
- an unexpected KKException exceptionpublic void removeFromBasket(java.lang.String sessionId, int customerId, BasketIf item) throws com.konakart.app.KKException
If the customer is logged in to the application, then a valid sessionId
is
required and the customerId
is ignored. Otherwise, the sessionId
may be set to null and the method will use the customerId
, ensuring that the
customer is not a registered customer by checking that the customerId
is
negative. All registered customers have positive ids.
A check is also made to ensure that the basket item being deleted, actually belongs to the customer.
removeFromBasket
in interface KKEngIf
sessionId
- The session id of the logged in usercustomerId
- The numeric id of the customeritem
- The basket item to deletecom.konakart.app.KKException
- an unexpected KKException exceptionpublic void removeBasketItemsPerCustomer(java.lang.String sessionId, int customerId) throws com.konakart.app.KKException
If the customer is logged in to the application, then a valid sessionId
is
required and the customerId
is ignored. Otherwise, the sessionId
may be set to null and the method will use the customerId
, ensuring that the
customer is not a registered customer by checking that the customerId
is
negative. All registered customers have positive ids.
removeBasketItemsPerCustomer
in interface KKEngIf
sessionId
- The session id of the logged in usercustomerId
- The numeric id of the customercom.konakart.app.KKException
- an unexpected KKException exceptionpublic BasketIf[] getBasketItemsPerCustomer(java.lang.String sessionId, int customerId, int languageId) throws com.konakart.app.KKException
Each basket item has an instantiated product object.
If the customer is logged in to the application, then a valid sessionId
is
required and the customerId
is ignored. Otherwise, the sessionId
may be set to null and the method will use the customerId
, ensuring that the
customer is not a registered customer by checking that the customerId
is
negative. All registered customers have positive ids.
getBasketItemsPerCustomer
in interface KKEngIf
sessionId
- The session id of the logged in usercustomerId
- The numeric id of the customerlanguageId
- The id for the language that will be used. Value of -1 selects the default
language.com.konakart.app.KKException
- an unexpected KKException exceptionpublic BasketIf[] getBasketItemsPerCustomerWithOptions(java.lang.String sessionId, int customerId, int languageId, AddToBasketOptionsIf options) throws com.konakart.app.KKException
If the customer is logged in to the application, then a valid sessionId
is
required and the customerId
is ignored. Otherwise, the sessionId
may be set to null and the method will use the customerId
, ensuring that the
customer is not a registered customer by checking that the customerId
is
negative. All registered customers have positive ids.
If in the options object, getStockReservationInfo
is set to true, then stock
reservation information is returned. The extra attributes returned are
reservationId
- The identifier of the stock reservation.qtyResrvdForResId
- The number of reserved items for the basket reservation
id. This is not always equal to the quantity of the basket item.reservationExpiryDate
- The date time when the reservation expires.reservationStartDate
- The date time when the reservation started.If options is set to null then this call is identical to getBasketItemsPerCustomer(). The options may determine from where we read the price and quantity of the basket items.
getBasketItemsPerCustomerWithOptions
in interface KKEngIf
sessionId
- The session id of the logged in usercustomerId
- The numeric id of the customerlanguageId
- The id for the language that will be used. Value of -1 selects the default
language.options
- An object containing options for the method. It may be set to null.com.konakart.app.KKException
- an unexpected KKException exceptionpublic CurrencyIf getDefaultCurrency() throws com.konakart.app.KKException
getDefaultCurrency
in interface KKEngIf
com.konakart.app.KKException
- an unexpected KKException exceptionpublic CurrencyIf[] getAllCurrencies() throws com.konakart.app.KKException
getAllCurrencies
in interface KKEngIf
com.konakart.app.KKException
- an unexpected KKException exceptionpublic KKConfigurationIf[] getConfigurations() throws com.konakart.app.KKException
getConfigurations
in interface KKEngIf
com.konakart.app.KKException
- an unexpected KKException exceptionpublic KKConfigurationIf getConfiguration(java.lang.String key) throws com.konakart.app.KKException
getConfiguration
in interface KKEngIf
key
- The key of the configuration objectcom.konakart.app.KKException
- an unexpected KKException exceptionpublic KKConfigurationIf getConfigurationNoCache(java.lang.String key) throws com.konakart.app.KKException
getConfigurationNoCache
in interface KKEngIf
key
- The key of the configuration objectcom.konakart.app.KKException
- an unexpected KKException exceptionpublic java.lang.String getConfigurationValue(java.lang.String key) throws com.konakart.app.KKException
getConfigurationValue
in interface KKEngIf
key
- The key of the configuration objectcom.konakart.app.KKException
- an unexpected KKException exceptionpublic int getConfigurationValueAsInt(java.lang.String key) throws com.konakart.app.KKException
getConfigurationValueAsInt
in interface KKEngIf
key
- the Configuration Keycom.konakart.app.KKException
- if there is a problem converting the configuration value into an integer.public int getConfigurationValueAsIntWithDefault(java.lang.String key, int def) throws com.konakart.app.KKException
getConfigurationValueAsIntWithDefault
in interface KKEngIf
key
- the Configuration Keydef
- default value to return if the key isn't found.com.konakart.app.KKException
- if there is a problem converting the configuration value into an integer.public java.math.BigDecimal getConfigurationValueAsBigDecimal(java.lang.String key) throws com.konakart.app.KKException
getConfigurationValueAsBigDecimal
in interface KKEngIf
key
- the Configuration Keycom.konakart.app.KKException
- if there is a problem converting the configuration value into a BigDecimal.public java.math.BigDecimal getConfigurationValueAsBigDecimalWithDefault(java.lang.String key, java.math.BigDecimal def) throws com.konakart.app.KKException
getConfigurationValueAsBigDecimalWithDefault
in interface KKEngIf
key
- the Configuration Keydef
- default value to use if the key doesn't exist.com.konakart.app.KKException
- if there is a problem converting the configuration value into a BigDecimal.public java.lang.Boolean getConfigurationValueAsBool(java.lang.String key, java.lang.Boolean def) throws com.konakart.app.KKException
getConfigurationValueAsBool
in interface KKEngIf
key
- the Configuration Keydef
- the default value to be returned if there's a problemcom.konakart.app.KKException
- an unexpected KKException exception@Deprecated public void editConfiguration(java.lang.String key, java.lang.String value) throws com.konakart.app.KKException
Previously this call allowed the edit of an existing configuration parameter. It threw an exception if the configuration didn't exist.
editConfiguration
in interface KKEngIf
key
- The key of the configuration objectvalue
- The new value for the configurationcom.konakart.app.KKException
- in all cases warning that the API call should no longer be used.public void changePassword(java.lang.String sessionId, java.lang.String currentPassword, java.lang.String newPassword) throws com.konakart.app.KKException
changePassword
in interface KKEngIf
sessionId
- The session id of the logged in usercurrentPassword
- The current password of the logged in usernewPassword
- The new password of the logged in usercom.konakart.app.KKException
- an unexpected KKException exceptionpublic ProductIf[] getProductNotificationsPerCustomer(java.lang.String sessionId, int languageId) throws com.konakart.app.KKException
sessionId
isn't valid.
Only Products with a non zero status and non zero invisible are returned. The description (which can be very long) and the array of options are not set. The specialPrice is null if a special offer doesn't exist for the product.
getProductNotificationsPerCustomer
in interface KKEngIf
sessionId
- The session id of the logged in userlanguageId
- The id for the language that will be used. Value of -1 selects the default
language.com.konakart.app.KKException
- an unexpected KKException exceptionpublic ProductIf[] getProductNotificationsPerCustomerWithOptions(java.lang.String sessionId, int languageId, FetchProductOptionsIf options) throws com.konakart.app.KKException
Returns all products sorted by name, that the customer has asked to be notified about. An
exception is thrown if the sessionId
isn't valid.
Only Products with a non zero status and non zero invisible are returned. The description (which can be very long) and the array of options are not set. The specialPrice is null if a special offer doesn't exist for the product.
getProductNotificationsPerCustomerWithOptions
in interface KKEngIf
sessionId
- The session id of the logged in userlanguageId
- The id for the language that will be used. Value of -1 selects the default
language.options
- An object containing options for the method. It may be set to null.com.konakart.app.KKException
- an unexpected KKException exceptionpublic void addProductNotificationToCustomer(java.lang.String sessionId, int productId) throws com.konakart.app.KKException
sessionId
isn't valid.addProductNotificationToCustomer
in interface KKEngIf
sessionId
- The session id of the logged in userproductId
- The numeric id of the productcom.konakart.app.KKException
- an unexpected KKException exceptionpublic void deleteProductNotificationFromCustomer(java.lang.String sessionId, int productId) throws com.konakart.app.KKException
sessionId
isn't valid.deleteProductNotificationFromCustomer
in interface KKEngIf
sessionId
- The session id of the logged in userproductId
- The numeric id of the productcom.konakart.app.KKException
- an unexpected KKException exceptionpublic void updateProductViewedCount(int productId, int languageId) throws com.konakart.app.KKException
productId
, has
been viewed. The languageId
is required because a separate count is kept for how
many times the product has been viewed in each supported language.updateProductViewedCount
in interface KKEngIf
productId
- The numeric id of the productlanguageId
- The id for the language that will be used. Value of -1 selects the default
language.com.konakart.app.KKException
- an unexpected KKException exceptionpublic ProductIf[] getBestSellers(DataDescriptorIf dataDesc, int categoryId, int languageId) throws com.konakart.app.KKException
categoryId
and its children. The products are returned in the language
referenced by languageId
. If the categoryId
is equal to 0, then it
is not used as a constraint for the query.
dataDesc
defines the ordering of the products and the number of products
returned.
getBestSellers
in interface KKEngIf
dataDesc
- Used to control the data offset, limit the number of items returned and set the
sort ordercategoryId
- The numeric id of the categorylanguageId
- The id for the language that will be used. Value of -1 selects the default
language.com.konakart.app.KKException
- an unexpected KKException exceptionpublic ProductIf[] getBestSellersWithOptions(DataDescriptorIf dataDesc, int categoryId, int languageId, FetchProductOptionsIf options) throws com.konakart.app.KKException
Returns an array of bestseller products for the category referenced by
categoryId
and its children. The products are returned in the language
referenced by languageId
. If the categoryId
is equal to 0, then it
is not used as a constraint for the query.
dataDesc
defines the ordering of the products and the number of products
returned.
getBestSellersWithOptions
in interface KKEngIf
dataDesc
- Used to control the data offset, limit the number of items returned and set the
sort ordercategoryId
- The numeric id of the categorylanguageId
- The id for the language that will be used. Value of -1 selects the default
language.options
- An object containing options for the method. It may be set to null.com.konakart.app.KKException
- an unexpected KKException exceptionpublic OrdersIf getOrdersPerCustomer(DataDescriptorIf dataDesc, java.lang.String sessionId, int languageId) throws com.konakart.app.KKException
sessionId
. The
orders are always returned sorted by date (most recent orders first). dataDesc
is used to retrieve offset and limit information. If null, the offset defaults to 0 and a
default limit is used.getOrdersPerCustomer
in interface KKEngIf
dataDesc
- Used to control the data offset, limit the number of items returned and set the
sort ordersessionId
- The session id of the logged in userlanguageId
- The id for the language that will be used. Value of -1 selects the default
language.com.konakart.app.KKException
- an unexpected KKException exceptionpublic OrdersIf getOrdersPerCustomerWithOptions(DataDescriptorIf dataDesc, java.lang.String sessionId, int languageId, FetchOrderOptionsIf options) throws com.konakart.app.KKException
sessionId
. The
orders are always returned sorted by date (most recent orders first). dataDesc
is used to retrieve offset and limit information. If null, the offset defaults to 0 and a
default limit is used.
Options object allows you to define whether the orders may be orders belonging to a customer within the hierarchy of the customer referenced by the sessionId.
getOrdersPerCustomerWithOptions
in interface KKEngIf
dataDesc
- Used to control the data offset, limit the number of items returned and set the
sort ordersessionId
- The session id of the logged in userlanguageId
- The id for the language that will be used. Value of -1 selects the default
language.options
- Allows you to define whether the orders may be orders belonging to a customer
within the hierarchy of the customer referenced by the sessionId.com.konakart.app.KKException
- an unexpected KKException exceptionpublic OrdersIf searchForOrdersPerCustomer(java.lang.String sessionId, DataDescriptorIf dataDesc, OrderSearchIf orderSearch, int languageId) throws com.konakart.app.KKException
sessionId
for the
given language. The OrderSearch class contains the search criteria although it may be null.
dataDesc
may be null. In this case, the number of retrieved orders is limited to
a default number, the orders are ordered by the OrderId and the offset is set to zero.
However, by setting the attributes of dataDesc
, the following functionality may
be controlled :
searchForOrdersPerCustomer
in interface KKEngIf
sessionId
- The session id of the logged in userdataDesc
- Used to control the data offset, limit the number of items returned and set the
sort orderorderSearch
- Contains information used to add search constraintslanguageId
- The id for the language that will be used. Value of -1 selects the default
language.com.konakart.app.KKException
- an unexpected KKException exceptionpublic OrderIf getOrder(java.lang.String sessionId, int orderId, int languageId) throws com.konakart.app.KKException
sessionId
.getOrder
in interface KKEngIf
sessionId
- The session id of the logged in userorderId
- The numeric id of the orderlanguageId
- The id for the language that will be used. Value of -1 selects the default
language.com.konakart.app.KKException
- an unexpected KKException exceptionpublic OrderIf getOrderWithOptions(java.lang.String sessionId, int orderId, int languageId, FetchOrderOptionsIf options) throws com.konakart.app.KKException
sessionId
. Options object allows you to define whether the order may be an order
belonging to a customer within the hierarchy of the customer referenced by the
sessionId
.getOrderWithOptions
in interface KKEngIf
sessionId
- The session id of the logged in userorderId
- The numeric id of the orderlanguageId
- The id for the language that will be used. Value of -1 selects the default
language.options
- Allows you specify whether the order may be an order belonging to a customer
within the hierarchy of the customer referenced by the sessionId. Also allows you
to specify whether the archiveOrders
attribute should be populated.com.konakart.app.KKException
- an unexpected KKException exceptionpublic CurrencyIf getCurrency(java.lang.String currencyCode) throws com.konakart.app.KKException
currencyCode
.getCurrency
in interface KKEngIf
currencyCode
- The 3 letter currency code (i.e. USD, EUR ..)com.konakart.app.KKException
- an unexpected KKException exceptionpublic OrderIf createOrder(java.lang.String sessionId, BasketIf[] basketItemArray, int languageId) throws com.konakart.app.KKException
sessionId
. The products added to the order are retrieved
from the basketItemArray. Each OrderProduct object attached to the Order has a populated
Product object. The returned object has not been saved in the DB and so an Order Id has not
yet been assigned.
Null is returned if the products and/or product options referenced by the array of basket items are no longer available.
createOrder
in interface KKEngIf
sessionId
- The session id of the logged in userbasketItemArray
- The array of basket items to add to the orderlanguageId
- The id for the language that will be used. Value of -1 selects the default
language.com.konakart.app.KKException
- an unexpected KKException exceptionpublic OrderIf createOrderWithOptions(java.lang.String sessionId, BasketIf[] basketItemArray, CreateOrderOptionsIf options, int languageId) throws com.konakart.app.KKException
options
is set to null, this method is identical to
createOrder()
. Otherwise the functionality differs depending on the combination
of options set.
An order object is returned with all addresses populated with the default address of the
customer referenced by sessionId
. The products added to the order are retrieved
from the basketItemArray. The returned object has not been saved in the DB and so an Order Id
has not yet been assigned.
Null is returned if the products and/or product options referenced by the array of basket items are no longer available.
One available option is to automatically copy all of the basket
custom fields to
the orderProduct
custom fields which are generated from the basket items.
Another option allows you to leave the sessionId null and to use a default customer. This default customer needs to be setup using the Admin App and is used to create a temporary order even before the customer logs in or registers, so that he can view the order totals in the window that shows him the cart details. These order totals give an indication of the shipping cost and also show any discounts available. The Administrator can create a default customer that matches his typical customer. For example if a store normally ships overseas, then the default customer can be set up with an overseas address so that the shipping costs are calculated at overseas rates.
A further option is to use the shipping address retrieved from a wish list if the wish list id of any one of the basket items is set to a valid wish list. This is useful in the case of gift registries to ship the gifts directly to the owner of the registry.
The options
object contains a number of attributes to control whether the
returned order includes an array of available payment modules and shipping quotes and if so
which one to use as the selected module or quote. The population of order total modules may
also be enabled. The Javadoc of CreateOrderOptionsIf
provides more details.
createOrderWithOptions
in interface KKEngIf
sessionId
- The session id of the logged in userbasketItemArray
- The array of basket items to add to the orderoptions
- An object containing options for the method. It may be set to null.languageId
- The id for the language that will be used. Value of -1 selects the default
language.com.konakart.app.KKException
- an unexpected KKException exceptionpublic ProductIf[] getOrderHistory(DataDescriptorIf dataDesc, java.lang.String sessionId, int languageId) throws com.konakart.app.KKException
sessionId
. The
number of products returned and the return order is determined by the dataDesc
parameter. The default OrderBy is "ORDER_BY_NAME_ASCENDING".getOrderHistory
in interface KKEngIf
dataDesc
- Used to control the data offset, limit the number of items returned and set the
sort ordersessionId
- The session id of the logged in userlanguageId
- The id for the language that will be used. Value of -1 selects the default
language.com.konakart.app.KKException
- an unexpected KKException exceptionpublic ProductIf[] getOrderHistoryWithOptions(DataDescriptorIf dataDesc, java.lang.String sessionId, int languageId, FetchProductOptionsIf options) throws com.konakart.app.KKException
Get a list of the products ordered by the customer referenced by sessionId
. The
number of products returned and the return order is determined by the dataDesc
parameter. The default OrderBy is "ORDER_BY_NAME_ASCENDING".
getOrderHistoryWithOptions
in interface KKEngIf
dataDesc
- Used to control the data offset, limit the number of items returned and set the
sort ordersessionId
- The session id of the logged in userlanguageId
- The id for the language that will be used. Value of -1 selects the default
language.options
- An object containing options for the method. It may be set to null.com.konakart.app.KKException
- an unexpected KKException exceptionpublic ProductIf[] getAlsoPurchased(java.lang.String sessionId, DataDescriptorIf dataDesc, int productId, int languageId) throws com.konakart.app.KKException
productId
. The return order of the products is by purchase date.
dataDesc
determines the number of products returned.
sessionId
may be set to null. If it is valid, then the customer information is
used to calculate the tax. Otherwise the store location is used.
getAlsoPurchased
in interface KKEngIf
sessionId
- The session id of the logged in userdataDesc
- Used to control the data offset, limit the number of items returned and set the
sort orderproductId
- The numeric id of the productlanguageId
- The id for the language that will be used. Value of -1 selects the default
language.com.konakart.app.KKException
- an unexpected KKException exceptionpublic ProductIf[] getAlsoPurchasedWithOptions(java.lang.String sessionId, DataDescriptorIf dataDesc, int productId, int languageId, FetchProductOptionsIf options) throws com.konakart.app.KKException
Find products that were in the same order as orders containing the product referenced by
productId
. The return order of the products is by purchase date.
dataDesc
determines the number of products returned.
sessionId
may be set to null. If it is valid, then the customer information is
used to calculate the tax. Otherwise the store location is used.
getAlsoPurchasedWithOptions
in interface KKEngIf
sessionId
- The session id of the logged in userdataDesc
- Used to control the data offset, limit the number of items returned and set the
sort orderproductId
- The numeric id of the productlanguageId
- The id for the language that will be used. Value of -1 selects the default
language.options
- An object containing options for the method. It may be set to null.com.konakart.app.KKException
- an unexpected KKException exceptionpublic ProductsIf getRelatedProducts(java.lang.String sessionId, DataDescriptorIf dataDesc, int productId, int relationType, int languageId) throws com.konakart.app.KKException
productId
parameter.
The relationType
defines the relation. Valid values for
relationType
are:
When all relationships are returned by setting relationType
to 0, the
prodRelationType
attribute of the returned products is set, so that the
information about the type of relationship is not lost.
getRelatedProducts
in interface KKEngIf
sessionId
- The session id of the logged in userdataDesc
- Used to control the data offset, limit the number of items returned and set the
sort order. It may be null, in which case the number of retrieved products is
limited to a default number and the offset is set to zero.productId
- The numeric id of the productrelationType
- The numeric relation type defining up selling, cross selling etc.languageId
- The id for the language that will be used. Value of -1 selects the default
language.com.konakart.app.KKException
- an unexpected KKException exceptionpublic ProductsIf getRelatedProductsWithOptions(java.lang.String sessionId, DataDescriptorIf dataDesc, int productId, int relationType, int languageId, FetchProductOptionsIf options) throws com.konakart.app.KKException
Find products related to the product defined by the productId
parameter. The
relationType
defines the relation. Valid values for relationType
are:
When all relationships are returned by setting relationType
to 0, the
prodRelationType
attribute of the returned products is set, so that the
information about the type of relationship is not lost.
getRelatedProductsWithOptions
in interface KKEngIf
sessionId
- The session id of the logged in userdataDesc
- Used to control the data offset, limit the number of items returned and set the
sort order. It may be null, in which case the number of retrieved products is
limited to a default number and the offset is set to zero.productId
- The numeric id of the productrelationType
- The numeric relation type defining up selling, cross selling etc.languageId
- The id for the language that will be used. Value of -1 selects the default
language.options
- An object containing options for the method. It may be set to null. This object
contains an attribute called invertRelatedProductDirection
which If
true, inverts the direction of the related product link. This is especially useful
for bundled products, so rather than discovering the products within a bundle, you
can determine which bundles a product belongs to by setting this attribute to
true.com.konakart.app.KKException
- an unexpected KKException exceptionpublic CountryIf getCountryPerName(java.lang.String countryName) throws com.konakart.app.KKException
countryName
, or null if the country doesn't
exist in the DB. If there is more than one country with the same name, we return the first
one that we find.getCountryPerName
in interface KKEngIf
countryName
- The name of the countrycom.konakart.app.KKException
- an unexpected KKException exceptionpublic CountryIf getCountry(int countryId) throws com.konakart.app.KKException
countryId
, or null if the country doesn't
exist in the DB.getCountry
in interface KKEngIf
countryId
- The id of the country objectcom.konakart.app.KKException
- an unexpected KKException exceptionpublic ShippingQuoteIf[] getShippingQuotes(OrderIf order, int languageId) throws com.konakart.app.KKException
getShippingQuotes
in interface KKEngIf
order
- The order objectlanguageId
- The id for the language that will be used. Value of -1 selects the default
language.com.konakart.app.KKException
- an unexpected KKException exceptionpublic ShippingQuoteIf getShippingQuote(OrderIf order, java.lang.String moduleName, int languageId) throws com.konakart.app.KKException
moduleName
is called to get a shipping quote for the
order passed in as a parameter. Null is returned if the shipping module isn't available.getShippingQuote
in interface KKEngIf
order
- The order objectmoduleName
- e.g. flat or item or table etc.languageId
- The id for the language that will be used. Value of -1 selects the default
language.com.konakart.app.KKException
- an unexpected KKException exceptionpublic OrderIf changeDeliveryAddress(java.lang.String sessionId, OrderIf order, AddressIf deliveryAddress) throws com.konakart.app.KKException
changeDeliveryAddress
in interface KKEngIf
sessionId
- The session id of the logged in userorder
- The order objectdeliveryAddress
- The address object containing the delivery addresscom.konakart.app.KKException
- an unexpected KKException exceptionpublic java.math.BigDecimal getTaxRate(int countryId, int zoneId, int taxClassId) throws com.konakart.app.KKException
taxClassId
delivered to a country (
countryId
) and zone (zoneId
). There may be multiple tax rates which
are added and / or compounded as appropriate.getTaxRate
in interface KKEngIf
countryId
- The numeric id of the countryzoneId
- The numeric id of the zonetaxClassId
- The numeric id of the taxClasscom.konakart.app.KKException
- an unexpected KKException exceptionpublic java.math.BigDecimal getTax(java.math.BigDecimal cost, int countryId, int zoneId, int taxClassId) throws com.konakart.app.KKException
taxClassId
and cost
,
delivered to a country (countryId
) and zone (zoneId
).getTax
in interface KKEngIf
cost
- The cost of the productcountryId
- The numeric id of the countryzoneId
- The numeric id of the zonetaxClassId
- The numeric id of the taxClasscom.konakart.app.KKException
- an unexpected KKException exceptionpublic java.math.BigDecimal addTax(java.math.BigDecimal cost, int countryId, int zoneId, int taxClassId) throws com.konakart.app.KKException
taxClassId
and cost
, delivered to a country (countryId
) and zone (zoneId
).addTax
in interface KKEngIf
cost
- The cost of the productcountryId
- The numeric id of the countryzoneId
- The numeric id of the zonetaxClassId
- The numeric id of the taxClasscom.konakart.app.KKException
- an unexpected KKException exceptionpublic OrderIf getOrderTotals(OrderIf order, int languageId) throws com.konakart.app.KKException
getOrderTotals
in interface KKEngIf
order
- The order objectlanguageId
- The id for the language that will be used. Value of -1 selects the default
language.com.konakart.app.KKException
- an unexpected KKException exceptionpublic PaymentDetailsIf[] getPaymentGateways(OrderIf order, int languageId) throws com.konakart.app.KKException
Based on the zone of the billing address, the module may decide that it cannot process payment for that zone and so not even return a PaymentDetails object.
getPaymentGateways
in interface KKEngIf
order
- The order objectlanguageId
- The id for the language that will be used. Value of -1 selects the default
language.com.konakart.app.KKException
- an unexpected KKException exceptionpublic PaymentDetailsIf getPaymentGateway(OrderIf order, java.lang.String moduleName, int languageId) throws com.konakart.app.KKException
moduleName
is called to get a PaymentDetails object
for the order passed in as a parameter. Null is returned if the PaymentDetails object isn't
available.
Based on the zone of the billing address, the module may decide that it cannot process payment for that zone and so in this case, null is returned.
getPaymentGateway
in interface KKEngIf
order
- The order objectmoduleName
- This is the name of the payment module. The name must match the class name except
that the first letter doesn't have to be in Caps. e.g. CyberSourceSA,
CommideaVanguard, BarclaycardSmartPayApi etc. The moduleName can be
the module name on its own or it can be "moduleName~~moduleSubCode" if the module
has a subCode.languageId
- The id for the language that will be used. Value of -1 selects the default
language.com.konakart.app.KKException
- an unexpected KKException exceptionpublic PaymentDetailsIf getPaymentDetails(java.lang.String sessionId, java.lang.String moduleCode, int orderId, java.lang.String hostAndPort, int languageId) throws com.konakart.app.KKException
The module matching the moduleCode
is called in order to get a fully populated
PaymentDetails object containing all of the required parameters etc. for the payment gateway.
getPaymentDetails
in interface KKEngIf
sessionId
- The session id of the logged in usermoduleCode
- This is the name of the payment module in lower case. Examples are cod, paypal,
usaepay, worldpay etc.orderId
- The numeric id of the orderhostAndPort
- The host and port in the format "host:port" for the KonaKart servlet engine.languageId
- The id for the language that will be used. Value of -1 selects the default
language.com.konakart.app.KKException
- an unexpected KKException exceptionpublic PaymentDetailsIf getPaymentDetailsPerOrder(java.lang.String sessionId, java.lang.String moduleCode, OrderIf order, java.lang.String hostAndPort, int languageId) throws com.konakart.app.KKException
The module matching the moduleCode
is called in order to get a fully populated
PaymentDetails object containing all of the required parameters etc. for the payment gateway.
getPaymentDetailsPerOrder
in interface KKEngIf
sessionId
- The session id of the logged in usermoduleCode
- This is the name of the payment module in lower case. Examples are cod, paypal,
usaepay, worldpay etc.order
- The order objecthostAndPort
- The host and port in the format "host:port" for the KonaKart servlet engine.languageId
- The id for the language that will be used. Value of -1 selects the default
language.com.konakart.app.KKException
- an unexpected KKException exceptionpublic PaymentDetailsIf getPaymentDetailsCustom(java.lang.String sessionId, java.lang.String moduleCode, NameValueIf[] parameters) throws com.konakart.app.KKException
getPaymentDetailsCustom
in interface KKEngIf
sessionId
- The session id of the logged in usermoduleCode
- This is the name of the payment module in lower case. Examples are cod, paypal,
usaepay, worldpay etc.parameters
- An array of parameters used by the payment module to determine what it needs to
return.com.konakart.app.KKException
- an unexpected KKException exceptionpublic int saveOrder(java.lang.String sessionId, OrderIf order, int languageId) throws com.konakart.app.KKException
To save an order we have to write into a few DB tables: orders, orders_products, orders_products_attributes, orders_total, orders_status_history. We do this in a single transaction.
saveOrder
in interface KKEngIf
sessionId
- The session id of the logged in userorder
- The order objectlanguageId
- The id for the language that will be used. Value of -1 selects the default
language.com.konakart.app.KKException
- an unexpected KKException exceptionpublic int saveOrderWithOptions(java.lang.String sessionId, OrderIf order, int languageId, SaveOrderOptionsIf options) throws com.konakart.app.KKException
To save an order we have to write into a few DB tables: orders, orders_products, orders_products_attributes, orders_total, orders_status_history. We do this in a single transaction.
The options object allows you to define the id of the order to be archived which is the id of an order that this order is replacing. Both orders will be given the same archiveId. Note that the state of the order to be archived is not changed automatically. You should call updateOrder() to place it in the OrderMgr.ARCHIVED_STATUS state.
saveOrderWithOptions
in interface KKEngIf
sessionId
- The session id of the logged in userorder
- The order objectlanguageId
- The id for the language that will be used. Value of -1 selects the default
language.options
- Options object allowing you to specify the id of the order to be archivedcom.konakart.app.KKException
- an unexpected KKException exceptionpublic java.lang.String getStatusText(int statusId, int languageId) throws com.konakart.app.KKException
getStatusText
in interface KKEngIf
statusId
- The numeric id of the OrderStatus objectlanguageId
- The id for the language that will be used. Value of -1 selects the default
language.com.konakart.app.KKException
- an unexpected KKException exceptionpublic void updateOrder(java.lang.String sessionId, int orderId, int status, boolean customerNotified, java.lang.String comments, OrderUpdateIf updateOrder) throws com.konakart.app.KKException
updateOrder
in interface KKEngIf
sessionId
- The session id of the logged in userorderId
- The numeric id of the orderstatus
- The new numeric state of the order. Valid states are defined in the database.customerNotified
- If you send an eMail to the customer to notify him of the state change then set
this to true to register the fact that an eMail has been sentcomments
- These comments are written into the orders_status_history recordupdateOrder
- contains order update data such as who updated the ordercom.konakart.app.KKException
- an unexpected KKException exceptionpublic void updateOrderWithPaymentModuleSubCode(java.lang.String sessionId, int orderId, int status, boolean customerNotified, java.lang.String comments, java.lang.String paymentModuleSubCode, OrderUpdateIf updateOrder) throws com.konakart.app.KKException
updateOrderWithPaymentModuleSubCode
in interface KKEngIf
sessionId
- The session id of the logged in userorderId
- The numeric id of the orderstatus
- The new numeric state of the order. Valid states are defined in the database.customerNotified
- If you send an eMail to the customer to notify him of the state change then set
this to true to register the fact that an eMail has been sentcomments
- These comments are written into the orders_status_history recordpaymentModuleSubCode
- A code to indicate what type of payment method has been used when we're using gateway like
BraintreeupdateOrder
- contains order update data such as who updated the ordercom.konakart.app.KKException
- an unexpected KKException exception@Deprecated public void changeOrderStatus(java.lang.String sessionId, int orderId, int status, boolean customerNotified, java.lang.String comments) throws com.konakart.app.KKException
updateOrder(java.lang.String, int, int, boolean, java.lang.String, com.konakart.appif.OrderUpdateIf)
instead.changeOrderStatus
in interface KKEngIf
sessionId
- The session id of the logged in userorderId
- The numeric id of the orderstatus
- The new numeric state of the order. Valid states are defined in the database.customerNotified
- If you send an eMail to the customer to notify him of the state change then set
this to true to register the fact that an eMail has been sentcomments
- These comments are written into the orders_status_history recordcom.konakart.app.KKException
- an unexpected KKException exceptionpublic void updateInventory(java.lang.String sessionId, int orderId) throws com.konakart.app.KKException
updateInventory
in interface KKEngIf
sessionId
- The session id of the logged in userorderId
- The numeric id of the ordercom.konakart.app.KKException
- an unexpected KKException exceptionpublic void updateInventoryWithOptions(java.lang.String sessionId, int orderId, CreateOrderOptionsIf options) throws com.konakart.app.KKException
options
is set to null, this method is identical to
updateInventory()
. Otherwise the functionality differs depending on the
combination of options set.
If the STOCK_LIMITED configuration variable is set to true, we subtract the products in stock by the product orders. If we hit the STOCK_REORDER_LEVEL, then we instantiate a class defined by the STOCK_REORDER_CLASS and call it. If STOCK_ALLOW_CHECKOUT is set to true, when we hit zero items in stock we don't touch the status, otherwise we disable the product when the quantity reaches zero by setting the status to zero.
updateInventoryWithOptions
in interface KKEngIf
sessionId
- The session id of the logged in userorderId
- The numeric id of the orderoptions
- An object containing options for the method. It may be set to null.com.konakart.app.KKException
- an unexpected KKException exception@Deprecated public void sendNewPassword(java.lang.String emailAddr, java.lang.String subject, java.lang.String countryCode) throws com.konakart.app.KKException
sendNewPassword
in interface KKEngIf
emailAddr
- Address of the emailsubject
- The email subject line. If null it is retrieved from the first line of the
template.countryCode
- Two letter code used to pick correct templatecom.konakart.app.KKException
- an unexpected KKException exceptionpublic EmailIf sendNewPassword1(java.lang.String emailAddr, EmailOptionsIf options) throws com.konakart.app.KKException
Valid options are:
templateName
: The name of the template used to send the mail without the
country code and the .vm extension. e.g. If the name of the template is myTemplate and the
two letter country code is en, then KonaKart will search for a template called
myTemplate_en.vm .countryCode
: The two letter (lower case) country code used to search for the
template. e.g. en, de, es etc.customAttrs
: An array of name value pairs used to pass custom information to
the Velocity engine. The value can be retrieved from the template using the name preceded by
the $ sign. e.g. If a name value pair contains StoreId and 22, the value 22 will be displayed
in the eMail where the template contains $StoreId.fullAttachmentFilename
: The complete filename of an attachment.friendlyAttachmentName
: The friendly filename of an attachment that can be
viewed from the eMail.deleteAttachmentAfterSend
: When set to true
, the attachment is
deleted after being sent. The default value is false
.The Velocity context contains the following data:
emailAddr
: The email address of the recipientnewPassword
: The new passwordcustomerName
: The name of the customer in the format firstName lastNamecustomer
: The CustomerIf objectstoreOwner
: The name of the store owner.storeName
: The name of the store.storeOwnerEmailAddr
: The email address of the store owner.dateTool
: org.apache.velocity.tools.generic.DateTool object used to format
dates.escTool
: org.apache.velocity.tools.generic.EscapeTool object used to escape
characters.listTool
: org.apache.velocity.tools.generic.ListTool object used to format
lists.mathTool
: org.apache.velocity.tools.generic.MathTool object used to do sums.
locale
: java.util.Locale objectcurrencyMgr
: Used to format pricessendNewPassword1
in interface KKEngIf
emailAddr
- Address of the emailoptions
- Options for the emailcom.konakart.app.KKException
- an unexpected KKException exception@Deprecated public void sendWelcomeEmail(int customerId, java.lang.String mailSubject, java.lang.String countryCode) throws com.konakart.app.KKException
sendWelcomeEmail
in interface KKEngIf
customerId
- The numeric id of the customermailSubject
- The email subject line. If null it is retrieved from the first line of the
template.countryCode
- The two letter country code used to select the velocity template that creates the
mailcom.konakart.app.KKException
- an unexpected KKException exceptionpublic EmailIf sendWelcomeEmail1(int customerId, EmailOptionsIf options) throws com.konakart.app.KKException
Valid options are:
templateName
: The name of the template used to send the mail without the
country code and the .vm extension. e.g. If the name of the template is myTemplate and the
two letter country code is en, then KonaKart will search for a template called
myTemplate_en.vm .countryCode
: The two letter (lower case) country code used to search for the
template. e.g. en, de, es etc.customAttrs
: An array of name value pairs used to pass custom information to
the Velocity engine. The value can be retrieved from the template using the name preceded by
the $ sign. e.g. If a name value pair contains StoreId and 22, the value 22 will be displayed
in the eMail where the template contains $StoreId.fullAttachmentFilename
: The complete filename of an attachment.friendlyAttachmentName
: The friendly filename of an attachment that can be
viewed from the eMail.deleteAttachmentAfterSend
: When set to true
, the attachment is
deleted after being sent. The default value is false
.The Velocity context contains the following data:
customerName
: The name of the customer in the format firstName lastNamecustomer
: The CustomerIf objectstoreOwner
: The name of the store owner.storeName
: The name of the store.storeOwnerEmailAddr
: The email address of the store owner.dateTool
: org.apache.velocity.tools.generic.DateTool object used to format
dates.locale
: java.util.Locale objectcurrencyMgr
: Used to format pricessendWelcomeEmail1
in interface KKEngIf
customerId
- The numeric id of the customeroptions
- Options for the emailcom.konakart.app.KKException
- an unexpected KKException exception@Deprecated public void sendOrderConfirmationEmail(java.lang.String sessionId, int orderId, java.lang.String mailSubject, int languageId) throws com.konakart.app.KKException
sendOrderConfirmationEmail
in interface KKEngIf
sessionId
- The session id of the logged in userorderId
- The numeric id of the ordermailSubject
- The subject of the emaillanguageId
- The id for the language that will be used. Value of -1 selects the default
language.com.konakart.app.KKException
- an unexpected KKException exceptionpublic EmailIf sendOrderConfirmationEmail1(java.lang.String sessionId, int orderId, int langIdForOrder, EmailOptionsIf options) throws com.konakart.app.KKException
Valid options are:
templateName
: The name of the template used to send the mail without the
country code and the .vm extension. e.g. If the name of the template is myTemplate and the
two letter country code is en, then KonaKart will search for a template called
myTemplate_en.vm .countryCode
: The two letter (lower case) country code used to search for the
template. e.g. en, de, es etc.customAttrs
: An array of name value pairs used to pass custom information to
the Velocity engine. The value can be retrieved from the template using the name preceded by
the $ sign. e.g. If a name value pair contains StoreId and 22, the value 22 will be displayed
in the eMail where the template contains $StoreId.The Velocity context contains the following data:
order
: The OrderIf objectcustomerName
: The name of the customer in the format firstName lastNamecustomer
: The CustomerIf objectstoreOwner
: The name of the store owner.storeName
: The name of the store.storeOwnerEmailAddr
: The email address of the store owner.dateTool
: org.apache.velocity.tools.generic.DateTool object used to format
dates.locale
: java.util.Locale objectcurrencyMgr
: Used to format pricessendOrderConfirmationEmail1
in interface KKEngIf
sessionId
- The session id of the logged in userorderId
- The numeric id of the orderlangIdForOrder
- The languageId used for retrieving the order, to translate things such as order
status. Value of -1 selects the default language.options
- Options for the emailcom.konakart.app.KKException
- an unexpected KKException exceptionpublic java.lang.String getSecretKeyForOrderId(int orderId) throws com.konakart.app.KKException
getSecretKeyForOrderId
in interface KKEngIf
orderId
- the orderIdcom.konakart.app.KKException
- an unexpected KKException exceptionpublic int getOrderIdFromSecretKey(java.lang.String secretKey) throws com.konakart.app.KKException
getOrderIdFromSecretKey
in interface KKEngIf
secretKey
- A string representing the secret keycom.konakart.app.KKException
- an unexpected KKException exceptionpublic void deleteOrderIdForSecretKey(java.lang.String secretKey) throws com.konakart.app.KKException
deleteOrderIdForSecretKey
in interface KKEngIf
secretKey
- A string representing the secret keycom.konakart.app.KKException
- an unexpected KKException exceptionpublic int saveIpnHistory(java.lang.String sessionId, IpnHistoryIf ipnHistory) throws com.konakart.app.KKException
saveIpnHistory
in interface KKEngIf
sessionId
- The session id of the logged in useripnHistory
- The IpnHistory object to savecom.konakart.app.KKException
- an unexpected KKException exceptionpublic void updateManufacturerViewedCount(int manufacturerId, int languageId) throws com.konakart.app.KKException
manufacturerId
, has been clicked on, to view the home page. The
languageId
is required because a separate count is kept for how many times the
manufacturer home page has been viewed in each supported language.updateManufacturerViewedCount
in interface KKEngIf
manufacturerId
- The numeric id of the manufacturerlanguageId
- The id for the language that will be used. Value of -1 selects the default
language.com.konakart.app.KKException
- an unexpected KKException exceptionpublic ZoneIf[] getZonesPerCountry(int countryId) throws com.konakart.app.KKException
countryId
.getZonesPerCountry
in interface KKEngIf
countryId
- The numeric id of the countrycom.konakart.app.KKException
- an unexpected KKException exceptionpublic ZoneIf[] searchForZones(ZoneSearchIf search) throws com.konakart.app.KKException
searchForZones
in interface KKEngIf
search
- the searchcom.konakart.app.KKException
- an unexpected KKException exceptionpublic void updateCachedConfigurations() throws com.konakart.app.KKException
updateCachedConfigurations
in interface KKEngIf
com.konakart.app.KKException
- an unexpected KKException exceptionpublic boolean doesCustomerExistForEmail(java.lang.String emailAddr) throws com.konakart.app.KKException
doesCustomerExistForEmail
in interface KKEngIf
emailAddr
- The username in the format of an email addresscom.konakart.app.KKException
- an unexpected KKException exceptionpublic boolean isEmailValid(java.lang.String emailAddr) throws com.konakart.app.KKException
isEmailValid
in interface KKEngIf
emailAddr
- A string representing an email addresscom.konakart.app.KKException
- an unexpected KKException exceptionpublic BasketIf[] updateBasketWithStockInfo(BasketIf[] basketItems) throws com.konakart.app.KKException
If the product or any of the product attributes of a basket item no longer exist, then that basket item is not returned. This means that the size of the returned array may be smaller than the size of the array passed in as a parameter.
updateBasketWithStockInfo
in interface KKEngIf
basketItems
- An array of basket itemscom.konakart.app.KKException
- an unexpected KKException exceptionpublic BasketIf[] updateBasketWithStockInfoWithOptions(BasketIf[] basketItems, AddToBasketOptionsIf options) throws com.konakart.app.KKException
If the product or any of the product attributes of a basket item no longer exist, then that basket item is not returned. This means that the size of the returned array may be smaller than the size of the array passed in as a parameter.
If in the options object, getStockReservationInfo
is set to true, then stock
reservation information is returned. As well as the quantityInStock
and
dateAvailable
attributes, the following attributes are also populated:
quantityReserved
- The total number of reserved similar items in the system.
qtyResrvdForResId
- The number of reserved items for this basket reservation
id. This is not always equal to the quantity of the basket item.qtyResrvdForResId
will be set
to 0 and reservationId
will be set to -1 and these changes will be reflected in
the database. Also in this case the stock reservation record is deleted from the database.
If options is set to null, this method is identical to updateBasketWithStockInfo(). Otherwise the functionality differs depending on the combination of options set.
updateBasketWithStockInfoWithOptions
in interface KKEngIf
basketItems
- An array of basket itemsoptions
- An object containing options for the method. It may be set to null.com.konakart.app.KKException
- an unexpected KKException exceptionpublic ProductQuantityIf getProductQuantity(java.lang.String encodedProductId) throws com.konakart.app.KKException
If there are no option / value pairs then we use the stock level from the product object. If there is at least one option / value pair, we attempt to find the quantity in the product quantity table. If we can't find it in the product_quantity table we look for at least one record in the product_quantity table for this product id. If we find something then we assume that the quantity is zero. If we find no records, we use the quantity from the product object.
getProductQuantity
in interface KKEngIf
encodedProductId
- The encoded product id which can reference a particular configuration of a
product. i.e. A green shirt rather than a blue shirt.com.konakart.app.KKException
- an unexpected KKException exceptionpublic ProductQuantityIf getProductQuantityWithOptions(java.lang.String encodedProductId, FetchProductOptionsIf options) throws com.konakart.app.KKException
If there are no option / value pairs then we use the stock level from the product object. If there is at least one option / value pair, we attempt to find the quantity in the product quantity table. If we can't find it in the product_quantity table we look for at least one record in the product_quantity table for this product id. If we find something then we assume that the quantity is zero. If we find no records, we use the quantity from the product object.
The options object is used to set whether the quantity and available date should be fetched from an external table based on the catalogId.
getProductQuantityWithOptions
in interface KKEngIf
encodedProductId
- The encoded product id which can reference a particular configuration of a
product. i.e. A green shirt rather than a blue shirt.options
- An object containing options for the method. It may be set to null.com.konakart.app.KKException
- an unexpected KKException exceptionpublic OrderIf createAndSaveOrder(java.lang.String emailAddr, java.lang.String password, CustomerRegistrationIf custReg, BasketIf[] basketItemArray, java.lang.String shippingModule, java.lang.String paymentModule, int languageId) throws com.konakart.app.KKException
The caller supplies the username (email address) and password of the KonaKart user. If the user has not yet been registered, then the caller must also supply a populated CustomerRegistration object, otherwise this can be set to null. The registration is done automatically if the email address doesn't exist in the KonaKart database.
The shipping and payment module names must be names of modules that have been installed in the KonaKart engine.
createAndSaveOrder
in interface KKEngIf
emailAddr
- The username of the customer creating the orderpassword
- The password of the customer creating the ordercustReg
- Object that contains all necessary details to register a new customer. Can be set
to null if user has already been registered.basketItemArray
- Array of basket items to add to the ordershippingModule
- Shipping module to use (null if no shipping required). This parameter must contain
the name of the module (i.e. flat or item or table..)paymentModule
- Payment module to use. This parameter must contain the name of the module (i.e.
chronopay or cod or worldpay..)languageId
- The id for the language that will be used. Value of -1 selects the default
language.com.konakart.app.KKException
- an unexpected KKException exception@Deprecated public java.lang.String getSku(OrderProductIf orderProd) throws com.konakart.app.KKException
public void setEndpoint(java.lang.String wsEndpoint) throws com.konakart.app.KKException
The effect will be to set the web service endpoint for the proxy to the KonaKart engine.
setEndpoint
in interface KKEngIf
wsEndpoint
- A String representing the web service endpointcom.konakart.app.KKException
- an unexpected KKException exceptionpublic int insertDigitalDownload(java.lang.String sessionId, int productId) throws com.konakart.app.KKException
productId
and the customer identified by the sessionId
. If the
digital download already exists, then we overwrite it with the new one.
The attributes of the digital download product such as the maximum number of days that it is valid and how many times it can be downloaded, are retrieved from configuration variables or from the product directly.
insertDigitalDownload
in interface KKEngIf
sessionId
- The session id of the logged in userproductId
- The numeric id of the productcom.konakart.app.KKException
- an unexpected KKException exceptionpublic DigitalDownloadIf[] getDigitalDownloads(java.lang.String sessionId) throws com.konakart.app.KKException
sessionId
parameter. The product attribute of the Digital Download objects is
not populated.
If the DD_DELETE_ON_EXPIRATION configuration variable is set to "true", then the objects read from the database that have expired, are automatically deleted. This avoids having to maintain the database table. Regardless of the setting of DD_DELETE_ON_EXPIRATION, only valid (not expired) objects are ever returned.
getDigitalDownloads
in interface KKEngIf
sessionId
- The session id of the logged in usercom.konakart.app.KKException
- an unexpected KKException exceptionpublic DigitalDownloadIf[] getDigitalDownloadsWithOptions(java.lang.String sessionId, int languageId, FetchDigitalDownloadOptionsIf ddOptions, FetchProductOptionsIf prodOptions) throws com.konakart.app.KKException
sessionId
parameter. The ddOptions
parameter allows you to define
whether the product attribute of the returned Digital Download objects is populated.
If the DD_DELETE_ON_EXPIRATION configuration variable is set to "true", then the objects read from the database that have expired, are automatically deleted. This avoids having to maintain the database table. Regardless of the setting of DD_DELETE_ON_EXPIRATION, only valid (not expired) objects are ever returned.
getDigitalDownloadsWithOptions
in interface KKEngIf
sessionId
- The session id of the logged in userlanguageId
- The id for the language that will be used for the digital download products. Value
of -1 selects the default language.ddOptions
- Options object that allows you to define whether the product attribute of the
returned Digital Download objects is populated. It may be set to null.prodOptions
- An object containing options for the digital download products. It may be set to
null.com.konakart.app.KKException
- an unexpected KKException exceptionpublic int updateDigitalDownloadCount(java.lang.String sessionId, int productId) throws com.konakart.app.KKException
productId
and the
customer identified by the sessionId
. The count defines how many times it has
been downloaded.updateDigitalDownloadCount
in interface KKEngIf
sessionId
- The session id of the logged in userproductId
- The numeric id of the productcom.konakart.app.KKException
- an unexpected KKException exceptionpublic int updateDigitalDownloadCountById(java.lang.String sessionId, int digitalDownloadId) throws com.konakart.app.KKException
digitalDownloadId
and the customer identified by the sessionId
. The count defines how many times
it has been downloaded. This is used when there may be many digital downloads for the same
product pointing to different files. i.e. TicketsupdateDigitalDownloadCountById
in interface KKEngIf
sessionId
- The session id of the logged in userdigitalDownloadId
- The numeric id of the digital download objectcom.konakart.app.KKException
- an unexpected KKException exceptionpublic int getTempCustomerId() throws com.konakart.app.KKException
getTempCustomerId
in interface KKEngIf
com.konakart.app.KKException
- an unexpected KKException exceptionpublic CustomerGroupIf[] getAllCustomerGroups(int languageId) throws com.konakart.app.KKException
getAllCustomerGroups
in interface KKEngIf
languageId
- The id for the language that will be used to determine the customer group name and
description. Value of -1 selects the default language.com.konakart.app.KKException
- an unexpected KKException exceptionpublic CustomerGroupIf getCustomerGroup(int customerGroupId, int languageId) throws com.konakart.app.KKException
getCustomerGroup
in interface KKEngIf
customerGroupId
- the customerGroupIdlanguageId
- The id for the language that will be used to determine the customer group name and
description. Value of -1 selects the default language.com.konakart.app.KKException
- an unexpected KKException exception@Deprecated public void sendTemplateEmailToCustomer(int customerId, java.lang.String templateName, java.lang.String message, java.lang.String countryCode) throws com.konakart.app.KKException
We ship an example template called GenericCustEmail_en.vm . Note that the first line of the template is used to generate the subject of the eMail.
sendTemplateEmailToCustomer
in interface KKEngIf
customerId
- The numeric id of the customertemplateName
- The name of the template, not including "_countryCode.vm". If the template file
name is CustomEmail_en.vm, the parameter must be set to CustomEmail.message
- The information within the message may be used by the template.countryCode
- The two letter country code used to select the velocity template that creates the
mail.com.konakart.app.KKException
- an unexpected KKException exceptionpublic EmailIf sendTemplateEmailToCustomer1(int customerId, java.lang.String message, EmailOptionsIf options) throws com.konakart.app.KKException
emailAddr
is set on the options object, the email is sent to the emailAddr
address . Note that in this case the Velocity context will not contain the customer details
since these aren't available.
Valid options are:
templateName
: The name of the template used to send the mail without the
country code and the .vm extension. e.g. If the name of the template is myTemplate and the
two letter country code is en, then KonaKart will search for a template called
myTemplate_en.vm .countryCode
: The two letter (lower case) country code used to search for the
template. e.g. en, de, es etc.customAttrs
: An array of name value pairs used to pass custom information to
the Velocity engine. The value can be retrieved from the template using the name preceded by
the $ sign. e.g. If a name value pair contains StoreId and 22, the value 22 will be displayed
in the eMail where the template contains $StoreId.fullAttachmentFilename
: The complete filename of an attachment.friendlyAttachmentName
: The friendly filename of an attachment that can be
viewed from the eMail.deleteAttachmentAfterSend
: When set to true
, the attachment is
deleted after being sent. The default value is false
.emailAddr
: When the customerId doesn't reference a registered customer and
emailAddr is set, then the email is sent to the emailAddr address . Note that in this case
the Velocity context will not contain the customer details since these aren't available.The Velocity context contains the following data:
customerName
: The name of the customer in the format firstName lastNamecustomer
: The CustomerIf objectemailAddr
: The email address of the customer where the mail has been
sentmessage
: The message that may be used by the templatestoreOwner
: The name of the store owner.storeName
: The name of the store.storeOwnerEmailAddr
: The email address of the store owner.dateTool
: org.apache.velocity.tools.generic.DateTool object used to format
dates.locale
: java.util.Locale objectcurrencyMgr
: Used to format pricessendTemplateEmailToCustomer1
in interface KKEngIf
customerId
- The numeric id of the customermessage
- The information within the message may be used by the template.options
- Options for the emailcom.konakart.app.KKException
- an unexpected KKException exceptionpublic EmailIf notifySysAdmin(java.lang.String message, EmailOptionsIf options) throws com.konakart.app.KKException
Valid options are:
templateName
: The name of the template used to send the mail without the
country code and the .vm extension. e.g. If the name of the template is myTemplate and the
two letter country code is en, then KonaKart will search for a template called
myTemplate_en.vm .countryCode
: The two letter (lower case) country code used to search for the
template. e.g. en, de, es etc.customAttrs
: An array of name value pairs used to pass custom information to
the Velocity engine. The value can be retrieved from the template using the name preceded by
the $ sign. e.g. If a name value pair contains StoreId and 22, the value 22 will be displayed
in the eMail where the template contains $StoreId.fullAttachmentFilename
: The complete filename of an attachment.friendlyAttachmentName
: The friendly filename of an attachment that can be
viewed from the eMail.deleteAttachmentAfterSend
: When set to true
, the attachment is
deleted after being sent. The default value is false
.The Velocity context contains the following data:
customerName
: The name of the customer in the format firstName lastNamecustomer
: The CustomerIf objectmessage
: The message that may be used by the templatestoreOwner
: The name of the store owner.storeName
: The name of the store.storeOwnerEmailAddr
: The email address of the store owner.dateTool
: org.apache.velocity.tools.generic.DateTool object used to format
dates.locale
: java.util.Locale objectcurrencyMgr
: Used to format pricesnotifySysAdmin
in interface KKEngIf
message
- The information within the message may be used by the template. Typically this
might be an exception message.options
- Options for the emailcom.konakart.app.KKException
- an unexpected KKException exceptionpublic java.lang.String loginByAdmin(java.lang.String adminSession, int customerId) throws com.konakart.app.KKException
The adminSession must contain the session of a logged in Administrator User. The customerId must contain the Id of the customer to login as.
loginByAdmin
in interface KKEngIf
adminSession
- The session of a logged in administrator usercustomerId
- The id of the customer to login ascom.konakart.app.KKException
- an unexpected KKException exceptionpublic java.lang.String custom(java.lang.String input1, java.lang.String input2) throws com.konakart.app.KKException
There are two versions, one that requires a valid sessionId (customSecure) and one that does not (custom).
You are free to use the two input String parameters in any way you choose, for example you may wish to use one to indicate which of your custom functions to run, and the other might contain XML to give you a great deal of flexibility - but it's up to you!
public java.lang.String customSecure(java.lang.String sessionId, java.lang.String input1, java.lang.String input2) throws com.konakart.app.KKException
There are two versions, one that requires a valid sessionId (customSecure) and one that does not (custom).
You are free to use the two input String parameters in any way you choose, for example you may wish to use one to indicate which of your custom functions to run, and the other might contain XML to give you a great deal of flexibility - but it's up to you!
customSecure
in interface KKEngIf
sessionId
- The session id of the logged in userinput1
- The first input String - can be anything you chooseinput2
- The second input String - can be anything you choosecom.konakart.app.KKException
- an unexpected KKException exceptionpublic TagGroupIf[] getTagGroupsPerCategory(int categoryId, boolean getProdCount, int languageId) throws com.konakart.app.KKException
getTagGroupsPerCategory
in interface KKEngIf
categoryId
- The numeric id of the category. If set to -1 then all TagGroups are returned.getProdCount
- If true, the Tag objects are populated with the number of products present for the
taglanguageId
- The id for the language that will be used to determine the tag group name and
description. Value of -1 selects the default language.com.konakart.app.KKException
- an unexpected KKException exceptionpublic TagGroupIf[] getTagGroupsPerCategoryWithOptions(int categoryId, int languageId, FetchTagGroupOptionsIf options) throws com.konakart.app.KKException
getTagGroupsPerCategoryWithOptions
in interface KKEngIf
categoryId
- The numeric id of the category. If set to -1 then all TagGroups are returned.languageId
- The id for the language that will be used to determine the tag group name and
description. Value of -1 selects the default language.options
- An object containing options for the method.com.konakart.app.KKException
- an unexpected KKException exceptionpublic TagIf[] getTagsPerCategory(int categoryId, boolean getProdCount, int languageId) throws com.konakart.app.KKException
getTagsPerCategory
in interface KKEngIf
categoryId
- The numeric id of the category. If set to -1 then all tags are returned.getProdCount
- If true, the Tag objects are populated with the number of productslanguageId
- The id for the language that will be used to determine the tag name. Value of -1
selects the default language.com.konakart.app.KKException
- an unexpected KKException exceptionpublic TagGroupIf getTagGroup(int tagGroupId, boolean getProdCount, int languageId) throws com.konakart.app.KKException
getTagGroup
in interface KKEngIf
tagGroupId
- The numeric Id of the tag groupgetProdCount
- If true, the Tag objects are populated with the number of productslanguageId
- The id for the language that will be used to determine the tag group name and
description. Value of -1 selects the default language.com.konakart.app.KKException
- an unexpected KKException exceptionpublic TagIf getTag(int tagId, boolean getProdCount, int languageId) throws com.konakart.app.KKException
getTag
in interface KKEngIf
tagId
- The numeric Id of the taggetProdCount
- If true, the Tag object is populated with the number of productslanguageId
- The id for the language that will be used to determine the tag name. Value of -1
selects the default language.com.konakart.app.KKException
- an unexpected KKException exceptionpublic CustomerIf getDefaultCustomer() throws com.konakart.app.KKException
The default customer can be configured in the Admin App. It is a fictitious customer with a real address that is used to create a temporary order even when a customer is not logged in or hasn't registered yet. The order totals of this temporary order are displayed in the cart details screen to give an indication of shipping costs and to display any available discounts.
getDefaultCustomer
in interface KKEngIf
com.konakart.app.KKException
- an unexpected KKException exceptionpublic java.lang.String[] getStoreIds() throws com.konakart.app.KKException
getStoreIds
in interface KKEngIf
com.konakart.app.KKException
- an unexpected KKException exceptionpublic void setCreditCardDetailsOnOrder(java.lang.String sessionId, int orderId, CreditCardIf card) throws com.konakart.app.KKException
No update or insert is done for attributes of the CreditCard object that are set to null. The credit card details are mapped as follows to attributes in the order object:
setCreditCardDetailsOnOrder
in interface KKEngIf
sessionId
- The session id of the logged in userorderId
- The numeric id of the ordercard
- CreditCard object containing the credit card detailscom.konakart.app.KKException
- an unexpected KKException exceptionpublic int addToWishList(java.lang.String sessionId, WishListItemIf wishListItem) throws com.konakart.app.KKException
The compulsory attributes for the WishListItem are:
The WishListItem may also contain an array of options if these are applicable for the chosen product.
addToWishList
in interface KKEngIf
sessionId
- The session id of the logged in userwishListItem
- The wish list item to be added to the wish listcom.konakart.app.KKException
- an unexpected KKException exceptionpublic int addToWishListWithOptions(java.lang.String sessionId, WishListItemIf wishListItem, AddToWishListOptionsIf options) throws com.konakart.app.KKException
options
is set to null, this method is identical to
addToWishList()
. Otherwise the functionality differs depending on the
combination of options set.
Add a WishListItem object to the wish list referenced by wishListId. The sessionId may be left null if a temporary customer id (negative number) is added to the options object. If the wish list doesn't belong to the logged in customer or the customer referenced by the customer id, an exception is thrown. If the WishListItem already exists, then it is updated.
The compulsory attributes for the WishListItem are:
The WishListItem may also contain an array of options if these are applicable for the chosen product.
addToWishListWithOptions
in interface KKEngIf
sessionId
- The session id of the logged in userwishListItem
- The wish list item to be added to the wish listoptions
- An object containing options for the method. It may be set to null.com.konakart.app.KKException
- an unexpected KKException exceptionpublic int createWishList(java.lang.String sessionId, WishListIf wishList) throws com.konakart.app.KKException
addToWishList()
can be called to add wish list items to the wish list. The
customer must be logged in with a valid sessionId when this method is called.
The compulsory attributes for the WishListItem are:
createWishList
in interface KKEngIf
sessionId
- The session id of the logged in userwishList
- The wish list to be createdcom.konakart.app.KKException
- an unexpected KKException exceptionpublic int createWishListWithOptions(java.lang.String sessionId, WishListIf wishList, AddToWishListOptionsIf options) throws com.konakart.app.KKException
addToWishList()
can be called to add wish list items to the wish list. This
method may be called even when a customer isn't logged in. In this case the
customerId
attribute of the options object must be set to the id of the
temporary customer which is negative.
The compulsory attributes for the WishListItem are:
createWishListWithOptions
in interface KKEngIf
sessionId
- The session id of the logged in userwishList
- The wish list to be createdoptions
- An object containing options for the method. It may be set to null.com.konakart.app.KKException
- an unexpected KKException exceptionpublic void editWishList(java.lang.String sessionId, WishListIf wishList) throws com.konakart.app.KKException
editWishList
in interface KKEngIf
sessionId
- The session id of the logged in userwishList
- The wish list to be editedcom.konakart.app.KKException
- an unexpected KKException exceptionpublic void editWishListWithOptions(java.lang.String sessionId, WishListIf wishList, AddToWishListOptionsIf options) throws com.konakart.app.KKException
editWishListWithOptions
in interface KKEngIf
sessionId
- The session id of the logged in userwishList
- The wish list to be editedoptions
- An object containing options for the method. It may be set to null.com.konakart.app.KKException
- an unexpected KKException exceptionpublic void deleteWishList(java.lang.String sessionId, int wishListId) throws com.konakart.app.KKException
deleteWishList
in interface KKEngIf
sessionId
- The session id of the logged in userwishListId
- The numeric id of the wish listcom.konakart.app.KKException
- an unexpected KKException exceptionpublic void deleteWishListWithOptions(java.lang.String sessionId, int wishListId, AddToWishListOptionsIf options) throws com.konakart.app.KKException
deleteWishListWithOptions
in interface KKEngIf
sessionId
- The session id of the logged in userwishListId
- The numeric id of the wish listoptions
- An object containing options for the method. It may be set to null.com.konakart.app.KKException
- an unexpected KKException exceptionpublic WishListIf getWishListWithItems(java.lang.String sessionId, int wishListId, int languageId) throws com.konakart.app.KKException
Each WishListItem object will have a populated product
attribute and populated
opts
attribute if the WishListItem contains options. The items will be ordered
by priority with the highest priority first.
getWishListWithItems
in interface KKEngIf
sessionId
- The session id of the logged in user. It may be null if the user isn't logged in.wishListId
- The numeric id of the wish listlanguageId
- The id for the language that will be used. Value of -1 selects the default
language.com.konakart.app.KKException
- an unexpected KKException exceptionpublic WishListIf getWishListWithItemsWithOptions(java.lang.String sessionId, int wishListId, int languageId, AddToWishListOptionsIf options) throws com.konakart.app.KKException
options
is set to null, this method is identical to
getWishListWithItems()
. Otherwise the functionality differs depending on the
combination of options set. The sessionId may be left null if a temporary customer id
(negative number) is added to the options object. An exception will be thrown if the wish
list doesn't belong to the logged in customer or customer referenced by customer id, and is
private.
Returns a fully populated WishList object that may contain an array of WishListItem objects. An exception will be thrown if the wish list doesn't belong to the logged in customer and is private.
Each WishListItem object will have a populated product
attribute and populated
opts
attribute if the WishListItem contains options. The items will be ordered
by priority with the highest priority first.
getWishListWithItemsWithOptions
in interface KKEngIf
sessionId
- The session id of the logged in user. It may be null if the user isn't logged in.wishListId
- The numeric id of the wish listlanguageId
- The id for the language that will be used. Value of -1 selects the default
language.options
- An object containing options for the method. It may be set to null.com.konakart.app.KKException
- an unexpected KKException exceptionpublic WishListIf getWishList(java.lang.String sessionId, int wishListId) throws com.konakart.app.KKException
getWishList
in interface KKEngIf
sessionId
- The session id of the logged in user. It may be null if the user isn't logged in.wishListId
- The numeric id of the wish listcom.konakart.app.KKException
- an unexpected KKException exceptionpublic WishListIf getWishListWithOptions(java.lang.String sessionId, int wishListId, AddToWishListOptionsIf options) throws com.konakart.app.KKException
getWishListWithOptions
in interface KKEngIf
sessionId
- The session id of the logged in user. It may be null if the user isn't logged in.wishListId
- The numeric id of the wish listoptions
- An object containing options for the method. It may be set to null.com.konakart.app.KKException
- an unexpected KKException exceptionpublic WishListItemsIf getWishListItemsWithOptions(java.lang.String sessionId, DataDescriptorIf dataDesc, int wishListId, int languageId, AddToWishListOptionsIf options) throws com.konakart.app.KKException
However, by setting the attributes of dataDesc
, the following functionality may
be controlled :
If the onlyShowAvailable
attribute of the options object is set, then the wish
list items that have quantity received equal to quantity desired, are not returned.
getWishListItemsWithOptions
in interface KKEngIf
sessionId
- The session id of the logged in user. It may be null if the user isn't logged in.dataDesc
- Used to control the data offset, limit the number of items returned and set the
sort orderwishListId
- The numeric id of the WishList object that the wish list items belong tolanguageId
- The numeric id of the language objectoptions
- An object containing options for the method. It may be set to null.com.konakart.app.KKException
- an unexpected KKException exceptionpublic WishListItemsIf getWishListItems(java.lang.String sessionId, DataDescriptorIf dataDesc, int wishListId, int languageId) throws com.konakart.app.KKException
However, by setting the attributes of dataDesc
, the following functionality may
be controlled :
getWishListItems
in interface KKEngIf
sessionId
- The session id of the logged in user. It may be null if the user isn't logged in.dataDesc
- Used to control the data offset, limit the number of items returned and set the
sort orderwishListId
- The numeric id of the WishList object that the wish list items belong tolanguageId
- The numeric id of the language objectcom.konakart.app.KKException
- an unexpected KKException exceptionpublic void removeFromWishList(java.lang.String sessionId, int wishListItemId) throws com.konakart.app.KKException
removeFromWishList
in interface KKEngIf
sessionId
- The session id of the logged in userwishListItemId
- The numeric id of the wish list itemcom.konakart.app.KKException
- an unexpected KKException exceptionpublic void removeFromWishListWithOptions(java.lang.String sessionId, int wishListItemId, AddToWishListOptionsIf options) throws com.konakart.app.KKException
removeFromWishListWithOptions
in interface KKEngIf
sessionId
- The session id of the logged in userwishListItemId
- The numeric id of the wish list itemoptions
- An object containing options for the method. It may be set to null.com.konakart.app.KKException
- an unexpected KKException exceptionpublic void mergeWishListsWithOptions(java.lang.String sessionId, int customerFromId, int languageId, AddToWishListOptionsIf options) throws com.konakart.app.KKException
The currently logged in customer may have more than one wish list. The one used is the first one found of listType == 0.
mergeWishListsWithOptions
in interface KKEngIf
sessionId
- the sessionIdcustomerFromId
- the customerFromIdlanguageId
- the languageIdoptions
- the optionscom.konakart.app.KKException
- an unexpected KKException exceptionpublic WishListsIf searchForWishLists(java.lang.String sessionId, DataDescriptorIf dataDesc, CustomerSearchIf customerSearch) throws com.konakart.app.KKException
getWishListWithItems()
method, passing it the id of the wish list. This will
also populate the final price attributes of the wish list.
If customerSearch is null, then only the wish lists of the logged in customer will be returned. If dataDesc is set to null, a default DataDescriptor will be used.
Only the following attributes of the CustomerSearchIf object will be used to search:
The custom fields of the dataDesc object will also be used in the search if not set to null.
searchForWishLists
in interface KKEngIf
sessionId
- The session id of the logged in user. It may be null if the user isn't logged in.dataDesc
- Used to control the data offset, limit the number of items returned and set the
sort ordercustomerSearch
- Used to search for customerscom.konakart.app.KKException
- an unexpected KKException exceptionpublic StoreIf getStore() throws com.konakart.app.KKException
public StoreIf getStoreForId(java.lang.String vendorStoreId) throws com.konakart.app.KKException
getStoreForId
in interface KKEngIf
vendorStoreId
- the vendorStoreIdcom.konakart.app.KKException
- an unexpected KKException exceptionpublic void addCustomDataToSession(java.lang.String sessionId, java.lang.String data, int position) throws com.konakart.app.KKException
addCustomDataToSession
in interface KKEngIf
sessionId
- The sessionIddata
- The data to be savedposition
- This must be in the range of 1-5 to identify custom1 to custom5com.konakart.app.KKException
- an unexpected KKException exceptionpublic java.lang.String getCustomDataFromSession(java.lang.String sessionId, int position) throws com.konakart.app.KKException
getCustomDataFromSession
in interface KKEngIf
sessionId
- The sessionIdposition
- This must be in the range of 1-5 to identify custom1 to custom5com.konakart.app.KKException
- an unexpected KKException exceptionpublic void setCookie(KKCookieIf cookie) throws com.konakart.app.KKException
The cookie object passed in as a parameter must have the following attributes set:
The unique key for the cookie is the customerUuid together with the attributeId. The customerUuid is the value that should be saved and retrieved from the browser cookie and then used to look up the attributes saved in the KonaKart database. It can be created using the java.util.UUID class.
public KKCookieIf getCookie(java.lang.String customerUuid, java.lang.String attrId) throws com.konakart.app.KKException
When this method is called, the last_read date of the returned cookie in the database, is updated.
public KKCookieIf[] getAllCookies(java.lang.String customerUuid) throws com.konakart.app.KKException
When this method is called, the last_read date for each returned cookies in the database, is updated.
getAllCookies
in interface KKEngIf
customerUuid
- A random string used to identify the customer that owns the cookiescom.konakart.app.KKException
- an unexpected KKException exceptionpublic void deleteCookie(java.lang.String customerUuid, java.lang.String attrId) throws com.konakart.app.KKException
deleteCookie
in interface KKEngIf
customerUuid
- A random string used to identify the customer that owns the cookiesattrId
- An identifier for the cookiecom.konakart.app.KKException
- an unexpected KKException exceptionpublic GeoZoneIf[] getGeoZonesPerZone(ZoneIf zone) throws com.konakart.app.KKException
getGeoZonesPerZone
in interface KKEngIf
zone
- The physical zonecom.konakart.app.KKException
- an unexpected KKException exceptionpublic void insertCustomerTag(java.lang.String sessionId, CustomerTagIf tag) throws com.konakart.app.KKException
sessionId
.
If a tag already exists with this name, then the value is replaced with the new value. The compulsory tag fields are:
Note that a customer tag with name tag.getName()
must exist in the database
since it is used to validate tag.getValue()
.
insertCustomerTag
in interface KKEngIf
sessionId
- The session id of the logged in usertag
- Customer Tagcom.konakart.app.KKException
- an unexpected KKException exceptionpublic void insertCustomerTagForGuest(int customerId, CustomerTagIf tag) throws com.konakart.app.KKException
customerId
which
must have a negative value.
If a tag already exists with this name, then the value is replaced with the new value. The compulsory tag fields are:
Note that a customer tag with name tag.getName()
must exist in the database
since it is used to validate tag.getValue()
.
insertCustomerTagForGuest
in interface KKEngIf
customerId
- The id of the guest customer which has a negative value.tag
- Customer Tagcom.konakart.app.KKException
- an unexpected KKException exceptionpublic void addToCustomerTag(java.lang.String sessionId, java.lang.String tagName, int tagValue) throws com.konakart.app.KKException
com.konakart.app.CustomerTag.MULTI_INT_TYPE
or
MULTI_INT_PLUS_TIME_TYPE
. This customer tag type is used to store a series of
integers and is useful for cases where you want to store information such as the last 5
product ids that a customer looked at.
If the customer tag doesn't yet exist for the customer referenced by the
sessionId
, then a new customer tag is added with the value in the
tagValue
parameter. Otherwise the new value is added. When the number of
integers stored reaches the maximum value defined for the customer tag, then the new value is
added and the oldest value is removed.
In the case of MULTI_INT_PLUS_TIME_TYPE
tags, the timestamp component is added
on the server so does not need to be specified.
addToCustomerTag
in interface KKEngIf
sessionId
- The session id of the logged in usertagName
- Name of the customer tagtagValue
- Value of the customer tagcom.konakart.app.KKException
- an unexpected KKException exceptionpublic void addToCustomerTagForGuest(int customerId, java.lang.String tagName, int tagValue) throws com.konakart.app.KKException
com.konakart.app.CustomerTag.MULTI_INT_TYPE
or
MULTI_INT_PLUS_TIME_TYPE
. This customer tag type is used to store a series of
integers and is useful for cases where you want to store information such as the last 5
product ids that a customer looked at.
If the customer tag doesn't yet exist for the guest customer referenced by the
customerId
(negative value), then a new customer tag is added with the value in
the tagValue
parameter. Otherwise the new value is added. When the number of
integers stored reaches the maximum value defined for the customer tag, then the new value is
added and the oldest value is removed.
In the case of MULTI_INT_PLUS_TIME_TYPE
tags, the timestamp component is added
on the server so does not need to be specified.
addToCustomerTagForGuest
in interface KKEngIf
customerId
- The id of the guest customer which has a negative value.tagName
- Name of the customer tagtagValue
- Value of the customer tagcom.konakart.app.KKException
- an unexpected KKException exceptionpublic CustomerTagIf getCustomerTag(java.lang.String sessionId, java.lang.String tagName) throws com.konakart.app.KKException
tagName
is returned. The value
attribute of the tag is populated for the customer referenced by the sessionId
.
If sessionId
is set to null, then a customer tag object with a null value is
returned.
The CustomerTag object contains utility methods to convert the tag string into its original type (i.e. Date, boolean, int etc.).
getCustomerTag
in interface KKEngIf
sessionId
- The session id of the logged in usertagName
- Name of the customer tagcom.konakart.app.KKException
- an unexpected KKException exceptionpublic CustomerTagIf getCustomerTagForGuest(int customerId, java.lang.String tagName) throws com.konakart.app.KKException
tagName
is returned. The value
attribute of the tag is populated for the guest customer referenced by the negative
customerId
.
The CustomerTag object contains utility methods to convert the tag string into its original type (i.e. Date, boolean, int etc.).
getCustomerTagForGuest
in interface KKEngIf
customerId
- The id of the guest customer which has a negative value.tagName
- Name of the customer tagcom.konakart.app.KKException
- an unexpected KKException exceptionpublic java.lang.String getCustomerTagValue(java.lang.String sessionId, java.lang.String tagName) throws com.konakart.app.KKException
tagName
and for the customer referenced by the sessionId
. This
method is faster than the getCustomerTag
method, but the actual CustomerTag
object isn't available to convert the String into a more usable form such as boolean or date.getCustomerTagValue
in interface KKEngIf
sessionId
- The session id of the logged in usertagName
- Name of the customer tagcom.konakart.app.KKException
- an unexpected KKException exceptionpublic java.lang.String getCustomerTagValueForGuest(int customerId, java.lang.String tagName) throws com.konakart.app.KKException
tagName
and for the guest customer referenced by the negative
customerId
. This method is faster than the getCustomerTag
method,
but the actual CustomerTag object isn't available to convert the String into a more usable
form such as boolean or date.getCustomerTagValueForGuest
in interface KKEngIf
customerId
- The id of the guest customer which has a negative value.tagName
- Name of the customer tagcom.konakart.app.KKException
- an unexpected KKException exceptionpublic void deleteCustomerTag(java.lang.String sessionId, java.lang.String tagName) throws com.konakart.app.KKException
tagName
and for
the customer referenced by the sessionId
.deleteCustomerTag
in interface KKEngIf
sessionId
- The session id of the logged in usertagName
- Name of the customer tagcom.konakart.app.KKException
- an unexpected KKException exceptionpublic void deleteCustomerTagForGuest(int customerId, java.lang.String tagName) throws com.konakart.app.KKException
tagName
and for
the guest customer referenced by the negative customerId
.deleteCustomerTagForGuest
in interface KKEngIf
customerId
- The id of the guest customer which has a negative value.tagName
- Name of the customer tagcom.konakart.app.KKException
- an unexpected KKException exceptionpublic CustomerTagIf[] getCustomerTags(java.lang.String sessionId) throws com.konakart.app.KKException
sessionId
.
An empty array is returned if no tags exist.
getCustomerTags
in interface KKEngIf
sessionId
- The session id of the logged in usercom.konakart.app.KKException
- an unexpected KKException exceptionpublic CustomerTagIf[] getCustomerTagsForGuest(int customerId) throws com.konakart.app.KKException
customerId
which must have a negative value.
An empty array is returned if no tags exist.
getCustomerTagsForGuest
in interface KKEngIf
customerId
- The id of the guest customer which has a negative value.com.konakart.app.KKException
- an unexpected KKException exceptionpublic boolean evaluateExpression(java.lang.String sessionId, int expressionId, java.lang.String expressionName) throws com.konakart.app.KKException
sessionId
. If the expressionName
parameter is not set to
null, then the Expression is searched for by name. Otherwise it is searched for by the id
contained in the expressionId
parameter.evaluateExpression
in interface KKEngIf
sessionId
- The session id of the logged in userexpressionId
- Numeric Id of the expressionexpressionName
- Name of expressioncom.konakart.app.KKException
- an unexpected KKException exceptionpublic boolean evaluateExpressionForGuest(int customerId, int expressionId, java.lang.String expressionName) throws com.konakart.app.KKException
customerId
. If the expressionName
parameter is not set to null, then the Expression is searched for by name. Otherwise it is
searched for by the id contained in the expressionId
parameter.evaluateExpressionForGuest
in interface KKEngIf
customerId
- The id of the guest customer which has a negative value.expressionId
- Numeric Id of the expressionexpressionName
- Name of expressioncom.konakart.app.KKException
- an unexpected KKException exceptionpublic ExpressionIf getExpression(java.lang.String sessionId, int expressionId, java.lang.String expressionName) throws com.konakart.app.KKException
expressionName
parameter is not set to null, then the Expression is searched
for by name. Otherwise it is searched for by the id contained in the
expressionId
parameter.
If the sessionId
parameter is null we get the expression variables without any
customer tag values. Otherwise the expression variables will be populated with the customer
tag values for the customer referenced by sessionId
. other
getExpression
in interface KKEngIf
sessionId
- The session id of the logged in userexpressionId
- Numeric Id of the expressionexpressionName
- Name of expressioncom.konakart.app.KKException
- an unexpected KKException exceptionpublic ExpressionIf getExpressionForGuest(int customerId, int expressionId, java.lang.String expressionName) throws com.konakart.app.KKException
expressionName
parameter is not set to null, then the Expression is searched
for by name. Otherwise it is searched for by the id contained in the
expressionId
parameter.
The expression variables will be populated with the customer tag values for the guest
customer referenced by customerId
.
getExpressionForGuest
in interface KKEngIf
customerId
- The id of the guest customer which has a negative value.expressionId
- Numeric Id of the expressionexpressionName
- Name of expressioncom.konakart.app.KKException
- an unexpected KKException exceptionpublic int pointsAvailable(java.lang.String sessionId) throws com.konakart.app.KKException
sessionId
parameter.pointsAvailable
in interface KKEngIf
sessionId
- The session id of the logged in usercom.konakart.app.KKException
- an unexpected KKException exceptionpublic int addPoints(java.lang.String sessionId, int points, java.lang.String code, java.lang.String description) throws com.konakart.app.KKException
sessionId
parameter.addPoints
in interface KKEngIf
sessionId
- The session id of the logged in userpoints
- Number of points to addcode
- An optional code to categorize the reason for awarding the pointsdescription
- An optional description describing why the points were awardedcom.konakart.app.KKException
- an unexpected KKException exceptionpublic int deletePoints(java.lang.String sessionId, int points, java.lang.String code, java.lang.String description) throws com.konakart.app.KKException
sessionId
parameter.deletePoints
in interface KKEngIf
sessionId
- The session id of the logged in userpoints
- Number of points to deletecode
- An optional code to categorize the reason for redeeming the pointsdescription
- An optional description describing how the points were redeemedcom.konakart.app.KKException
- an unexpected KKException exceptionpublic int reservePoints(java.lang.String sessionId, int points) throws com.konakart.app.KKException
sessionId
parameter. The removed points are not deleted but reserved, so that
they are no longer available for spending but may be deleted once the order has been paid for
or shipped. If the order is never fulfilled, then the reserved points may be freed and
returned to the available total.reservePoints
in interface KKEngIf
sessionId
- The session id of the logged in userpoints
- Number of points to reservecom.konakart.app.KKException
- an unexpected KKException exceptionpublic void deleteReservedPoints(java.lang.String sessionId, int reservationId, java.lang.String code, java.lang.String description) throws com.konakart.app.KKException
reservationId
parameter exists and that it belongs to the
customer identified by the sessionId
parameter. The reserved points are normally
deleted once the order has been paid for or shipped. If the order is never fulfilled, then
the reserved points may be freed and returned to the available total. Once deleted. the
points can no longer be returned to the total.deleteReservedPoints
in interface KKEngIf
sessionId
- The session id of the logged in userreservationId
- Numeric identifier of the reservationcode
- An optional code to categorize the reason for redeeming the pointsdescription
- An optional description describing how the points were redeemedcom.konakart.app.KKException
- an unexpected KKException exceptionpublic int freeReservedPoints(java.lang.String sessionId, int reservationId) throws com.konakart.app.KKException
reservationId
parameter exists and that it belongs to the
customer identified by the sessionId
parameter. The reserved points may be freed
and returned to the available total using this API call. The method checks to see whether
some or all of the points have expired while they were in the reserved state.freeReservedPoints
in interface KKEngIf
sessionId
- The session id of the logged in userreservationId
- Numeric identifier of the reservationcom.konakart.app.KKException
- an unexpected KKException exceptionpublic void setRewardPointReservationId(java.lang.String sessionId, int orderId, int reservationId) throws com.konakart.app.KKException
sessionId
parameter and then updates the reservation id on the order.setRewardPointReservationId
in interface KKEngIf
sessionId
- the sessionIdorderId
- the orderIdreservationId
- the reservationIdcom.konakart.app.KKException
- an unexpected KKException exceptionpublic RewardPointsIf getRewardPointsWithOptions(java.lang.String sessionId, DataDescriptorIf dataDesc, FetchRewardPointOptionsIf options) throws com.konakart.app.KKException
sessionId
parameter. The most recent objects are returned first. The options object allows you to
define whether to return expired points.getRewardPointsWithOptions
in interface KKEngIf
sessionId
- The session id of the logged in userdataDesc
- Used to control the data offset and limit the number of items returnedoptions
- Allows you to define whether to return expired pointscom.konakart.app.KKException
- an unexpected KKException exceptionpublic RewardPointsIf getRewardPoints(java.lang.String sessionId, DataDescriptorIf dataDesc) throws com.konakart.app.KKException
sessionId
parameter. The most recent objects are returned first.getRewardPoints
in interface KKEngIf
sessionId
- The session id of the logged in userdataDesc
- Used to control the data offset and limit the number of items returnedcom.konakart.app.KKException
- an unexpected KKException exceptionpublic int insertSubscription(java.lang.String sessionId, SubscriptionIf subscription) throws com.konakart.app.KKException
The methods:
The subscription may have an attached CreditCard object. The data within this object will not be persisted in the database but will be passed to the code that communicates with the payment gateway so that it can be transmitted and stored by the payment gateway.
insertSubscription
in interface KKEngIf
sessionId
- The session id of the logged in usersubscription
- The subscription object to be insertedcom.konakart.app.KKException
- an unexpected KKException exceptionpublic void updateSubscription(java.lang.String sessionId, SubscriptionIf subscription) throws com.konakart.app.KKException
updateSubscription
in interface KKEngIf
sessionId
- The session id of the logged in usersubscription
- The subscription object to be updatedcom.konakart.app.KKException
- an unexpected KKException exceptionpublic PaymentScheduleIf getPaymentSchedule(int id) throws com.konakart.app.KKException
id
parameter, or Null if the payment
schedule object doesn't exist in the DB.getPaymentSchedule
in interface KKEngIf
id
- The id of the payment schedule objectcom.konakart.app.KKException
- an unexpected KKException exceptionpublic SubscriptionIf[] getSubscriptionsPerCustomer(java.lang.String sessionId) throws com.konakart.app.KKException
getSubscriptionsPerCustomer
in interface KKEngIf
sessionId
- The session id of the logged in usercom.konakart.app.KKException
- an unexpected KKException exceptionpublic SubscriptionsIf searchForSubscriptionsPerCustomer(java.lang.String sessionId, DataDescriptorIf dataDesc, SubscriptionSearchIf subscriptionSearch) throws com.konakart.app.KKException
sessionId
.
The SubscriptionSearch class contains the search criteria although it may be null.
dataDesc
may be null. In this case, the number of retrieved subscriptions is
limited to a default number, the subscriptions are ordered by the SubscriptionId and the
offset is set to zero. However, by setting the attributes of dataDesc
, the
following functionality may be controlled :
searchForSubscriptionsPerCustomer
in interface KKEngIf
sessionId
- The session id of the logged in userdataDesc
- Used to control the data offset, limit the number of items returned and set the
sortsubscriptionSearch
- Contains information used to add search constraintscom.konakart.app.KKException
- an unexpected KKException exceptionpublic ProductIf getProductPerSkuWithOptions(java.lang.String sessionId, java.lang.String sku, int languageId, FetchProductOptionsIf options) throws com.konakart.app.KKException
getProductPerSkuWithOptions
in interface KKEngIf
sessionId
- The session id of the logged in user; use null if the customer isn't logged in.sku
- The product SKUlanguageId
- The id for the language that will be used. Value of -1 selects the default
language.options
- An object containing options for the method. It may be set to null.com.konakart.app.KKException
- an unexpected KKException exceptionpublic ProductIf getProductPerSku(java.lang.String sessionId, java.lang.String sku, int languageId) throws com.konakart.app.KKException
getProductPerSku
in interface KKEngIf
sessionId
- The session id of the logged in user; use null if the customer isn't logged in.sku
- The product SKUlanguageId
- The id for the language that will be used. Value of -1 selects the default
language.com.konakart.app.KKException
- an unexpected KKException exceptionpublic IpnHistoryIf[] getIpnHistory(java.lang.String sessionId, int orderId) throws com.konakart.app.KKException
getIpnHistory
in interface KKEngIf
sessionId
- The session id of the logged in userorderId
- The numeric id of the ordercom.konakart.app.KKException
- an unexpected KKException exceptionpublic PdfResultIf getPdf(java.lang.String sessionId, PdfOptionsIf options) throws com.konakart.app.KKException
public DigitalDownloadIf getDigitalDownloadById(java.lang.String sessionId, int digitalDownloadId) throws com.konakart.app.KKException
getDigitalDownloadById
in interface KKEngIf
sessionId
- The session id of the logged in userdigitalDownloadId
- The numeric id of the digital download objectcom.konakart.app.KKException
- an unexpected KKException exceptionpublic void editDigitalDownload(java.lang.String sessionId, DigitalDownloadIf digitalDownload) throws com.konakart.app.KKException
editDigitalDownload
in interface KKEngIf
sessionId
- The session id of the logged in userdigitalDownload
- The digital download object to be editedcom.konakart.app.KKException
- an unexpected KKException exceptionpublic java.lang.String getMsgValue(java.lang.String key, int type, java.lang.String locale) throws com.konakart.app.KKException
getMsgValue
in interface KKEngIf
key
- the message keytype
- the message type (should use KKConstants.MSG_TYP_APPLICATION for application
messages)locale
- the message locale (eg. "en_GB"). Default is used if left null.com.konakart.app.KKException
- an unexpected KKException exceptionpublic NameValueIf[] getMessages(int type, java.lang.String locale) throws com.konakart.app.KKException
getMessages
in interface KKEngIf
type
- the message type (should use KKConstants.MSG_TYP_APPLICATION for application
messages)locale
- the message locale (eg. "en_GB"). Default is used if left null.com.konakart.app.KKException
- an unexpected KKException exceptionpublic void postMessageToQueue(java.lang.String sessionId, MqOptionsIf options) throws com.konakart.app.KKException
postMessageToQueue
in interface KKEngIf
sessionId
- the sessionIdoptions
- the MQ optionscom.konakart.app.KKException
- an unexpected KKException exceptionpublic MqResponseIf readMessageFromQueue(java.lang.String sessionId, MqOptionsIf options) throws com.konakart.app.KKException
readMessageFromQueue
in interface KKEngIf
sessionId
- the sessionIdoptions
- the MQ optionscom.konakart.app.KKException
- an unexpected KKException exceptionpublic void insertCustomerEvent(CustomerEventIf event) throws com.konakart.app.KKException
The DateAdded attribute of the event object is added by the engine if left null. The storeId attribute of the event object is added by the engine.
insertCustomerEvent
in interface KKEngIf
event
- A customer event objectcom.konakart.app.KKException
- an unexpected KKException exceptionpublic SuggestedSearchItemIf[] getSuggestedSearchItems(java.lang.String sessionId, SuggestedSearchOptionsIf options) throws com.konakart.app.KKException
getSuggestedSearchItems
in interface KKEngIf
sessionId
- the sessionId which may be left null if the customer isn't logged inoptions
- A SuggestedSearchOptions object containing all parameters necessary to configure
the SuggestedSearch operationcom.konakart.app.KKException
- an unexpected KKException exceptionpublic SuggestedSpellingItemIf[] getSuggestedSpellingItems(java.lang.String sessionId, SuggestedSpellingOptionsIf options) throws com.konakart.app.KKException
getSuggestedSpellingItems
in interface KKEngIf
sessionId
- the sessionId which may be left null if the customer isn't logged inoptions
- A SuggestedSpellingOptions object containing all parameters necessary to configure
the SuggestedSpelling operationcom.konakart.app.KKException
- an unexpected KKException exceptionpublic ProductIf[] getProductsFromIdsWithOptions(java.lang.String sessionId, DataDescriptorIf dataDesc, int[] prodIdArray, int languageId, FetchProductOptionsIf options) throws com.konakart.app.KKException
getProductsFromIdsWithOptions
in interface KKEngIf
sessionId
- The session id of the logged in user; use null if the customer isn't logged in.dataDesc
- Can be used to add sort by information and to set whether to return the
description of the products.prodIdArray
- An array of product idslanguageId
- The id for the language that will be used. Value of -1 selects the default
language.options
- An object containing options for the method. It may be set to null.com.konakart.app.KKException
- an unexpected KKException exceptionpublic BookingsIf getBookingsPerProduct(DataDescriptorIf dataDesc, int productId, BookableProductOptionsIf options) throws com.konakart.app.KKException
getBookingsPerProduct
in interface KKEngIf
dataDesc
- Can be used to add sort by information and constraints on the custom fieldsproductId
- The numeric id of the productoptions
- Not used at the moment. May be left null.com.konakart.app.KKException
- an unexpected KKException exceptionpublic BookingsIf getBookingsPerCustomer(java.lang.String sessionId, DataDescriptorIf dataDesc, BookableProductOptionsIf options) throws com.konakart.app.KKException
getBookingsPerCustomer
in interface KKEngIf
sessionId
- The sessionId of the logged in customerdataDesc
- Can be used to add sort by information and constraints on the custom fieldsoptions
- Not used at the moment. May be left null.com.konakart.app.KKException
- an unexpected KKException exceptionpublic int insertBooking(java.lang.String sessionId, BookingIf booking, BookableProductOptionsIf options) throws com.konakart.app.KKException
insertBooking
in interface KKEngIf
sessionId
- The sessionId of the logged in customerbooking
- A booking objectoptions
- Options allowing an exception to be thrown for exceeding the maximum number of
bookingscom.konakart.app.KKException
- an unexpected KKException exceptionpublic ProductIf[] getBookableProductConflict(java.lang.String sessionId, ProductIf bookableProd, BookableProductOptionsIf options) throws com.konakart.app.KKException
getBookableProductConflict
in interface KKEngIf
sessionId
- The sessionId of the logged in customerbookableProd
- The bookable product being checkedoptions
- Not used at the moment. May be left null.com.konakart.app.KKException
- an unexpected KKException exceptionpublic int getOrderStatus(java.lang.String sessionId, int orderId) throws com.konakart.app.KKException
getOrderStatus
in interface KKEngIf
sessionId
- The session id of the logged in userorderId
- The numeric id of the ordercom.konakart.app.KKException
- an unexpected KKException exceptionpublic OrderStatusIf[] getAllOrderStatuses(int languageId) throws com.konakart.app.KKException
getAllOrderStatuses
in interface KKEngIf
languageId
- The id for the language that will be used to determine the customer group name and
description. Value of -1 selects the default language.com.konakart.app.KKException
- an unexpected KKException exceptionpublic java.lang.String saveSSOToken(SSOTokenIf token) throws com.konakart.app.KKException
saveSSOToken
in interface KKEngIf
token
- The SSO token to be savedcom.konakart.app.KKException
- an unexpected KKException exceptionpublic SSOTokenIf getSSOToken(java.lang.String secretKey, boolean deleteToken) throws com.konakart.app.KKException
deleteToken
parameter is set to true, the token is deleted from the
database after having been read.getSSOToken
in interface KKEngIf
secretKey
- The UUID secretKey used to identify the tokendeleteToken
- The token is deleted from the database after being readcom.konakart.app.KKException
- an unexpected KKException exceptionpublic void enableCustomer(java.lang.String secretKey) throws com.konakart.app.KKException
This method is normally used to verify a customer's email before enabling a customer. i.e. When the customer registers, the registration is made but the customer remains disabled. An SSO token is saved containing the id of the new customer. At this point an eMail is sent to the customer, prompting him to click on a link containing the SSO token secret key. The link calls an application method that uses the secret key to enable the customer by calling this API call.
If the custom1
attribute of the SSO token object is set to true
then the emailVerified
attribute of the customer is also set. If the customer is
enabled during registration, this API call may still be used to set the
emailVerified
attribute when a customer clicks the link in the email.
enableCustomer
in interface KKEngIf
secretKey
- the secretKeycom.konakart.app.KKException
- an unexpected KKException exceptionpublic int checkCoupon(java.lang.String couponCode) throws com.konakart.app.KKException
checkCoupon
in interface KKEngIf
couponCode
- The coupon codecom.konakart.app.KKException
- an unexpected KKException exceptionpublic PromotionIf[] getAllPromotions() throws com.konakart.app.KKException
getAllPromotions
in interface KKEngIf
com.konakart.app.KKException
- an unexpected KKException exceptionpublic ProductIf[] getPromotionsPerProducts(java.lang.String sessionId, int customerId, ProductIf[] products, PromotionIf[] promotions, java.lang.String[] couponCodes, PromotionOptionsIf options) throws com.konakart.app.KKException
getPromotionsPerProducts
in interface KKEngIf
sessionId
- Only used if the customer is logged in. Otherwise set to null.customerId
- If the sessionId is set to null then the customerId should contain the id of the
temporary user which is a negative number. The temporary user id can be used for
evaluating expression rules.products
- An array of products to be processedpromotions
- The promotions which will be applied to the products if all rules are matched.couponCodes
- Coupon codes to use. If none of the promotions require coupons, it should be set
to nulloptions
- An object containing information to configure the calculation for applying one or
more promotion results to the product price.com.konakart.app.KKException
- an unexpected KKException exceptionpublic ConfigDataIf[] getConfigData(java.lang.String sessionId, java.lang.String key) throws com.konakart.app.KKException
getConfigData
in interface KKEngIf
sessionId
- Session Id of the customer.key
- Only return the ConfigData items with this key (if null all ConfigData items are
returned)com.konakart.app.KKException
- an unexpected KKException exceptionpublic java.lang.String getKonaKartVersion() throws com.konakart.app.KKException
getKonaKartVersion
in interface KKEngIf
com.konakart.app.KKException
- an unexpected KKException exceptionpublic PunchOutResultIf getPunchOutMessage(java.lang.String sessionId, OrderIf order, PunchOutOptionsIf options) throws com.konakart.app.KKException
getPunchOutMessage
in interface KKEngIf
sessionId
- Session Id of the customer.order
- Order used to create messageoptions
- Options to configure the call by defining things such as the standard used for the
message and the version of the standard.com.konakart.app.KKException
- an unexpected KKException exceptionpublic void addCustomerNotifications(NotificationOptionsIf options) throws com.konakart.app.KKException
addCustomerNotifications
in interface KKEngIf
options
- Contains the method parameters.com.konakart.app.KKException
- an unexpected KKException exceptionpublic void deleteCustomerNotifications(NotificationOptionsIf options) throws com.konakart.app.KKException
deleteCustomerNotifications
in interface KKEngIf
options
- Contains the method parameters.com.konakart.app.KKException
- an unexpected KKException exceptionpublic java.lang.String getAddressFormatTemplate(int templateId) throws com.konakart.app.KKException
getAddressFormatTemplate
in interface KKEngIf
templateId
- Numeric id of the templatecom.konakart.app.KKException
- an unexpected KKException exceptionpublic ProductsIf getBundlesThatProductBelongsTo(java.lang.String sessionId, DataDescriptorIf dataDesc, int productId, int languageId, FetchProductOptionsIf options) throws com.konakart.app.KKException
productId
as one of the bundled products. Each of the returned
products has the bundledProducts
attribute populated with all of the bundled
products. The quantity
attribute of each bundled product determines the number
of instances of the product within the bundle and the encodedOptionValues
attribute of each bundled product contains a string with the encoded option values
determining the configuration of the product (e.g size, color etc.).createListOfUniqueProducts
which
may be used to configure the API call. This method returns an array of products, each of
which has an array of bundled products. The same products may be repeated many times within
the array of bundled products which can affect performance since the amount of data returned
can be very large. When createListOfUniqueProducts
is set to true, the bundled
products are only populated with the product id, the quantity and the encodedOptionValues to
make them very much lighter. Also within the Products return object the
uniqueProductArray
attribute is created and populated with a unique set of
products that includes just one copy of all of the bundled products.getBundlesThatProductBelongsTo
in interface KKEngIf
sessionId
- The session id of the logged in userdataDesc
- Used to control the data offset, limit the number of items returned and set the
sort order. It may be null, in which case, the number of retrieved products is
limited to a default number and the offset is set to zero.productId
- The numeric id of the productlanguageId
- The id for the language that will be used. Value of -1 selects the default
language.options
- An object containing options for the method. It may be set to null.bundledProducts
attribute containing the products within the bundle. The
uniqueProductArray
attribute may be populated if
createListOfUniqueProducts
is set to true in the options object passed
in as a parameter.com.konakart.app.KKException
- an unexpected KKException exceptionpublic ProductsIf getBundlesThatProductsBelongTo(java.lang.String sessionId, DataDescriptorIf dataDesc, int[] productIds, boolean exactMatch, int languageId, FetchProductOptionsIf options) throws com.konakart.app.KKException
productIds
as one or more of the bundled products. Each of the
returned products has the bundledProducts
attribute populated with all of the
bundled products. The quantity
attribute of each bundled product determines the
number of instances of the product within the bundle and the encodedOptionValues
attribute of each bundled product contains a string with the encoded option values
determining the configuration of the product (e.g size, color etc.).createListOfUniqueProducts
which
may be used to configure the API call. This method returns an array of products, each of
which has an array of bundled products. The same products may be repeated many times within
the array of bundled products which can affect performance since the amount of data returned
can be very large. When createListOfUniqueProducts
is set to true, the bundled
products are only populated with the product id, the quantity and the encodedOptionValues to
make them very much lighter. Also within the Products return object the
uniqueProductArray
attribute is created and populated with a unique set of
products that includes just one copy of all of the bundled products.getBundlesThatProductsBelongTo
in interface KKEngIf
sessionId
- The session id of the logged in userdataDesc
- Used to control the data offset, limit the number of items returned and set the
sort order. It may be null, in which case, the number of retrieved products is
limited to a default number and the offset is set to zero.productIds
- The numeric ids of the products that are in the bundleexactMatch
- Determines whether the call should return only bundles which contain exactly the
products sent in the array of product IDs, or return all the bundles which contain
at least all the products in the passed product IDs.languageId
- The id for the language that will be used. Value of -1 selects the default
language.options
- An object containing options for the method. It may be set to null.bundledProducts
attribute containing the products within the bundle. The
uniqueProductArray
attribute may be populated if
createListOfUniqueProducts
is set to true in the options object passed
in as a parameter.com.konakart.app.KKException
- an unexpected KKException exceptionpublic ProductImagesIf getProductImages(ProductImagesOptionsIf options) throws com.konakart.app.KKException
getProductImages
in interface KKEngIf
options
- a ProductImagesOptions object for specifying the criteria used to define which
product images should be returned. Within this search object you can specify
productId and a file name filter (which is a regular expression).com.konakart.app.KKException
- if options is null or if no product with the specified productId can be found or
the store is currently unavailable.public int insertKKEvent(java.lang.String sessionId, KKEventIf event) throws java.lang.Exception
insertKKEvent
in interface KKEngIf
sessionId
- The session id of the logged in userevent
- a KKEvent objectjava.lang.Exception
- an unexpected exceptionpublic KKEventIf[] getKKEvents(java.lang.String sessionId, KKEventSearchIf search, DataDescriptorIf desc) throws java.lang.Exception
getKKEvents
in interface KKEngIf
sessionId
- The session id of the logged in usersearch
- KKEventSearchIf search object that defines the records to retrievedesc
- DataDescriptorIf generic search object that can be used to set the offset, limit
and order by clauses. Options for order by are:
java.lang.Exception
- an unexpected exceptionpublic void processKKEvents(java.lang.String sessionId) throws java.lang.Exception
processKKEvents
in interface KKEngIf
sessionId
- the sessionIdjava.lang.Exception
- an unexpected exceptionpublic boolean validatePassword(java.lang.String sessionId, java.lang.String password) throws com.konakart.app.KKException
The method returns true if the password validates against the session. If either the session is invalid or the password and session don't match, then the method returns false.
validatePassword
in interface KKEngIf
sessionId
- the sessionIdpassword
- the passwordcom.konakart.app.KKException
- an unexpected KKException exceptionpublic CouponIf[] getCouponsPerCode(java.lang.String couponCode, CouponOptionsIf options) throws com.konakart.app.KKException
The options object allows you to specify that only active coupons should be returned.
getCouponsPerCode
in interface KKEngIf
couponCode
- The code of the couponoptions
- Allows you to specify that only active coupons should be returnedcom.konakart.app.KKException
- an unexpected KKException exceptionpublic CouponIf getCouponPerId(int couponId, CouponOptionsIf options) throws com.konakart.app.KKException
The options object allows you to specify that only active coupons should be returned.
getCouponPerId
in interface KKEngIf
couponId
- The unique numeric id of the couponoptions
- Allows you to specify that only active coupons should be returnedcom.konakart.app.KKException
- an unexpected KKException exceptionpublic PromotionIf[] getPromotionsPerCoupon(java.lang.String couponCode, int couponId, PromotionOptionsIf options) throws com.konakart.app.KKException
The PromotionOptions may be used to control whether or not to use expired coupons and whether or not to return expired promotions. The default is to not check whether coupons or promotions have expired.
If no promotions are found, an empty array is returned.
getPromotionsPerCoupon
in interface KKEngIf
couponCode
- The code of the couponcouponId
- The unique numeric id of the couponoptions
- A PromotionOptions object to control whether or not to use expired coupons and
whether or not to return expired promotionscom.konakart.app.KKException
- an unexpected KKException exceptionpublic ContentIf getContent(int contentId, int languageId) throws com.konakart.app.KKException
getContent
in interface KKEngIf
contentId
- the contentIdlanguageId
- the languageId of the Content to return (Content Descriptions are
language-specific). If KKConstants.DEFAULT_LANGUAGE_ID is used the default
languageId is used).com.konakart.app.KKException
- an unexpected KKException exceptionpublic ContentSearchResultIf getContents(java.lang.String sessionId, ContentSearchIf search, DataDescriptorIf dd) throws com.konakart.app.KKException
getContents
in interface KKEngIf
sessionId
- the sessionId of the customer. This may be used to look up the customer in order
to evaluate expressions to determine the required content. Set to null if the
customer isn't logged in.search
- the content search criteriadd
- the data descriptor object. In the DataDescriptor there is an attribute called
limit where you define the maximum number of records to return from the database.
Note that expressions are evaluated after the records are retrieved so fewer
records than the maximum requested may be returned if your content is linked to
expressions, you choose to evaluate them and some evaluate to false.
You can set the OrderBy attribute on the DataDescriptor to define the order that the content records will be returned. Options are:
com.konakart.app.KKException
- an unexpected KKException exceptionpublic ContentTypeIf getContentType(int contentTypeId, int languageId) throws com.konakart.app.KKException
getContentType
in interface KKEngIf
contentTypeId
- the ContentTypeIdlanguageId
- the languageId of the ContentType to return (Content Type Descriptions are
language-specific). If KKConstants.DEFAULT_LANGUAGE_ID is used the default
languageId is used).com.konakart.app.KKException
- an unexpected KKException exceptionpublic ContentTypeIf[] getContentTypes(int languageId) throws com.konakart.app.KKException
getContentTypes
in interface KKEngIf
languageId
- the languageId of the ContentTypes to return (Content Type Descriptions are
language-specific). If KKConstants.DEFAULT_LANGUAGE_ID is used the default
languageId is used).com.konakart.app.KKException
- an unexpected KKException exceptionpublic BasketIf[] reserveStock(java.lang.String sessionId, BasketIf[] basketItems, StockReservationOptionsIf options) throws com.konakart.app.KKException
The options allow you to:
quantityInStock
attribute. The reservation information is also persisted in the
database.
If any of the Basket items contain products or product variations no longer in the catalog then they are not included in the return array.
reserveStock
in interface KKEngIf
sessionId
- The session id of the logged in user.basketItems
- An array of basket items existing in the database.options
- An object containing options for the method. It may be set to null.reservationId
,
qtyResrvdForResId
and reservationExpiryDate
populated. The
reservationId
is set to -1 if the reservation could not be made because
the stock was not available or for any other reason.com.konakart.app.KKException
- an unexpected KKException exceptionpublic int removeStockReservationsForBasketItems(java.lang.String sessionId, BasketIf[] basketItems, StockReservationOptionsIf options) throws com.konakart.app.KKException
removeStockReservationsForBasketItems
in interface KKEngIf
sessionId
- The session id of the logged in userbasketItems
- An array of basket items existing in the database.options
- An object containing options for the method. It's not currently used and may be
set to null.com.konakart.app.KKException
- an unexpected KKException exceptionpublic int removeStockReservationsForOrderProducts(java.lang.String sessionId, OrderProductIf[] orderProducts, StockReservationOptionsIf options) throws com.konakart.app.KKException
removeStockReservationsForOrderProducts
in interface KKEngIf
sessionId
- The session id of the logged in userorderProducts
- An array of OrderProduct items attached to an order.options
- An object containing options for the method. It's not currently used and may be
set to null.com.konakart.app.KKException
- an unexpected KKException exceptionpublic int removeStockReservationsForIds(java.lang.String sessionId, int[] idArray, StockReservationOptionsIf options) throws com.konakart.app.KKException
removeStockReservationsForIds
in interface KKEngIf
sessionId
- The session id of the logged in useridArray
- An array of stock reservation idsoptions
- An object containing options for the method. It's not currently used and may be
set to null.com.konakart.app.KKException
- an unexpected KKException exceptionpublic ProductQuantityIf createProductQuantityEncodedKeyFromEncodedProductId(java.lang.String encodedProductId) throws com.konakart.app.KKException
The format of the encoded product id is 1{2}3{4}5 where the product id = 1, the first optionId / valueId pair have ids of 2,3 and the 2nd optionId / valueId pair have ids of 4,5.
The format of the encoded key for the products_quantitytable is 3{4}4{6} which means product_options of id==3 and product_options_values of id==4 followed by product_options of id==4 and product_options_values of id==6. The order is very important since the product option ids must be in ascending order.
createProductQuantityEncodedKeyFromEncodedProductId
in interface KKEngIf
encodedProductId
- the encodedProductIdcom.konakart.app.KKException
- an unexpected KKException exceptionpublic ExternalLoginResultIf externalLogin(ExternalLoginInputIf loginInfo) throws com.konakart.app.KKException
com.konakart.bl.modules.others.ExternalLoginInterface
) must be present in the
system and must have been installed and activated.
The function of this method is to instantiate the module, to call its
externalLogin
method and to return the result from the module which should
contain a KonaKart sessionId if the login was successful.
externalLogin
in interface KKEngIf
loginInfo
- Contains the information required by the module to perform the logincom.konakart.app.KKException
- an unexpected KKException exceptionpublic CatalogIf getCatalogPerKey(java.lang.String catalogKey) throws com.konakart.app.KKException
getCatalogPerKey
in interface KKEngIf
catalogKey
- The key identifying the catalog. Note that this is a semantic key and not the
numeric catalog id.com.konakart.app.KKException
- an unexpected KKException exceptionpublic void setNewPassword(java.lang.String adminSession, java.lang.String customerEmailAddr, int customerId, java.lang.String newPassword) throws com.konakart.app.KKException
sendNewPassword1(String emailAddr, EmailOptionsIf options)
API call generates a
password and sends it the customer in an email. This API call is intended to be used when you
want to allow a customer to change his own password maybe by clicking on a link which expires
after a pre-defined number of minutes.
For security purposes, the session id of a KonaKart administrator must be passed in as a parameter. This session id is checked to ensure that it applies to a logged in administrator.
If customerEmailAddr
is set then the customer is looked up from the email
address. Otherwise the customerId is used to look up the customer. If the customer isn't
found, an exception is thrown.
setNewPassword
in interface KKEngIf
adminSession
- The session id of an administratorcustomerEmailAddr
- The email address of the customercustomerId
- The id of the customer. Only used if customerEmailAddr is nullnewPassword
- The new passwordcom.konakart.app.KKException
- an unexpected KKException exceptionpublic int addCreditCardToCustomer(java.lang.String sessionId, CreditCardIf card, CreditCardOptionsIf options) throws java.lang.Exception
This API call is intended for saving tokenized (or vaulted) cards where the CreditCard object doesn't contain any sensitive card information. It should just contain the token returned from the payment gateway as well as a few digits of the card number and maybe the expiration date in order to detect that the card has expired. No encryption is performed.
addCreditCardToCustomer
in interface KKEngIf
sessionId
- The session id of the logged in usercard
- A CreditCard objectoptions
- CreditCardOptions not currently usedjava.lang.Exception
- an unexpected exceptionpublic CreditCardIf[] getCreditCardsPerCustomer(java.lang.String sessionId, CreditCardOptionsIf options) throws java.lang.Exception
getCreditCardsPerCustomer
in interface KKEngIf
sessionId
- The session id of the logged in useroptions
- Used to manage whether the returned cards have the formatted address attribute
populatedjava.lang.Exception
- an unexpected exceptionpublic void deleteCreditCard(java.lang.String sessionId, int cardId) throws java.lang.Exception
deleteCreditCard
in interface KKEngIf
sessionId
- The session id of the logged in usercardId
- The id of the CreditCard object to deletejava.lang.Exception
- an unexpected exceptionpublic void editCreditCard(java.lang.String sessionId, CreditCardIf card, CreditCardOptionsIf options) throws java.lang.Exception
editCreditCard
in interface KKEngIf
sessionId
- The session id of the logged in usercard
- A credit card objectoptions
- CreditCardOptions not currently usedjava.lang.Exception
- an unexpected exceptionpublic PromotionIf getPromotion(int promotionId, java.lang.String promotionName, int languageId, FetchPromotionOptionsIf prmOptions, FetchProductOptionsIf prodOptions) throws com.konakart.app.KKException
The purpose of this method is mainly to determine what products, manufacturers or categories
are included or excluded from the promotion in order to be able to display this information
on the storefront. However if the FetchPromotionOptions
is configured to only
return the promotion if active, then we check the following:
couponCodes
attribute of the FetchPromotionOptions
object has been populated and the promotion requires a coupon then we check that at least one
coupon will activate the promotion.getPromotion
in interface KKEngIf
promotionId
- The numeric id of the promotion used to identify it. It should be set to a
negative number in order to search for the promotion using the promotion name.promotionName
- If not set to null, the promotion name is used to search for the promotion instead
of the numeric id.languageId
- The id for the language that will be used when creating the attached products,
categories and manufacturers. Value of -1 selects the default language.prmOptions
- A FetchPromotionOptions object used to configure the API call. It may be set to
null for default functionality.prodOptions
- A FetchProductOptions used to configure the products (if any) attached to the
promotion. It may be set to null for default functionality.com.konakart.app.KKException
- an unexpected KKException exceptionpublic AddressIf[] getAddressesPerVendor(VendorIf vendor) throws com.konakart.app.KKException
getAddressesPerVendor
in interface KKEngIf
vendor
- - Only the vendorId and the defaultAddrId are usedcom.konakart.app.KKException
- an unexpected KKException exceptionpublic VendorsIf getVendors(DataDescriptorIf dataDesc, VendorSearchIf search) throws com.konakart.app.KKException
dataDesc
controls the following functionality:
getVendors
in interface KKEngIf
dataDesc
- The data descriptor object that defines the sort order, constraints on custom
fields and offset and limit for paging.search
- The Vendor search object that defines the search criteriacom.konakart.app.KKException
- an unexpected KKException exceptionpublic VendorIf getVendorForId(int vendorId) throws com.konakart.app.KKException
getVendorForId
in interface KKEngIf
vendorId
- The numeric vendor idcom.konakart.app.KKException
- an unexpected KKException exceptionpublic ReviewsIf getVendorReviews(DataDescriptorIf dataDesc, ReviewSearchIf search) throws com.konakart.app.KKException
The ReviewSearch object also allows you to specify that the return data contains:
dataDesc
controls the following functionality:
getVendorReviews
in interface KKEngIf
dataDesc
- The data descriptor object that defines the sort order, constraints on custom
fields and offset and limit for paging.search
- The Review search object that defines the search criteriacom.konakart.app.KKException
- an unexpected KKException exceptionpublic ReviewIf getVendorReview(int reviewId) throws com.konakart.app.KKException
getVendorReview
in interface KKEngIf
reviewId
- the reviewIdcom.konakart.app.KKException
- an unexpected KKException exceptionpublic ReviewsIf getReviewsPerVendor(DataDescriptorIf dataDesc, int vendorId) throws com.konakart.app.KKException
dataDesc
controls the following functionality:
getReviewsPerVendor
in interface KKEngIf
dataDesc
- The data descriptor object that defines the sort order, constraints on custom
fields and offset and limit for paging.vendorId
- The numeric id of the vendorcom.konakart.app.KKException
- an unexpected KKException exceptionpublic void checkFileAccess(java.lang.String fileName) throws java.lang.Exception
checkFileAccess
in interface KKEngIf
fileName
- the file to be accessed (read or written)java.lang.Exception
- if access to the filepath isn't permitted an Exception is thrown otherwise the
method returns successfully.public boolean isCustomerSubscribedToNewsletter(java.lang.String emailAddr) throws com.konakart.app.KKException
emailAddr
parameter is subscribed to receive the newsletter.isCustomerSubscribedToNewsletter
in interface KKEngIf
emailAddr
- The email address of the customer we are checkingcom.konakart.app.KKException
- an unexpected KKException exceptionpublic SuggestionIf[] getSuggestions(java.lang.String sessionId, SuggestionIf suggestion, DataDescriptorIf dataDesc) throws com.konakart.app.KKException
The where clause for the select will be created by using the values in the suggestion parameter.
getSuggestions
in interface KKEngIf
sessionId
- The session id of the logged in usersuggestion
- Used to define the searchdataDesc
- data descriptor for defining generic search parameters such as size and offsetcom.konakart.app.KKException
- an unexpected exception in the KonaKart Admin enginepublic MiscItemIf[] getMiscItemsPerType(int typeId, int languageId) throws com.konakart.app.KKException
getMiscItemsPerType
in interface KKEngIf
typeId
- the typeIdlanguageId
- the languageIdcom.konakart.app.KKException
- an unexpected exceptionpublic ProductRelationshipIf[] getAllProductRelationships() throws com.konakart.app.KKException
getAllProductRelationships
in interface KKEngIf
com.konakart.app.KKException
- an unexpected exceptionpublic CaptchaResultIf validateCaptcha(CaptchaInputIf captchaInfo) throws com.konakart.app.KKException
validateCaptcha
in interface KKEngIf
captchaInfo
- Contains the information required by the module to perform the validationcom.konakart.app.KKException
- an unexpected exceptionpublic void deleteCustomer(int custId) throws com.konakart.app.KKException
customerId
is deleted.deleteCustomer
in interface KKEngIf
custId
- The numeric id of the customer objectcom.konakart.app.KKException
- an unexpected KKException exceptionCopyright © 2018 DS Data Systems UK Ltd.