SystemaAI

Functions

Link copied to clipboard
abstract suspend fun clearUserIdHash()
Link copied to clipboard
abstract suspend fun getCartComplementary(payload: CartRecommendationRequest, requestOptions: RequestOptions? = null): SystemaResult<RecommendationResponse>

Get cart complementary API (Coroutine)

abstract fun getCartComplementary(    payload: CartRecommendationRequest,     requestOptions: RequestOptions? = null,     result: (SystemaResult<RecommendationResponse>) -> Unit)

Get cart complementary API (Non-coroutine)

Link copied to clipboard
abstract suspend fun getCartRelated(payload: CartRecommendationRequest, requestOptions: RequestOptions? = null): SystemaResult<RecommendationResponse>

Get cart related API (Coroutine)

abstract fun getCartRelated(    payload: CartRecommendationRequest,     requestOptions: RequestOptions? = null,     result: (SystemaResult<RecommendationResponse>) -> Unit)

Get cart related API (Non-coroutine)

Link copied to clipboard
abstract suspend fun getCategoryPopular(payload: RecommendationRequest, requestOptions: RequestOptions? = null): SystemaResult<RecommendationResponse>

Get category popular API (Coroutine)

abstract fun getCategoryPopular(    payload: RecommendationRequest,     requestOptions: RequestOptions? = null,     result: (SystemaResult<RecommendationResponse>) -> Unit)

Get category trending API (Non-coroutine)

Link copied to clipboard
abstract suspend fun getCategoryTrending(payload: RecommendationRequest, requestOptions: RequestOptions? = null): SystemaResult<RecommendationResponse>

Get category trending API (Coroutine)

abstract fun getCategoryTrending(    payload: RecommendationRequest,     requestOptions: RequestOptions? = null,     result: (SystemaResult<RecommendationResponse>) -> Unit)

Get category trending API (Non-coroutine)

Link copied to clipboard
abstract suspend fun getComplementary(payload: RecommendationRequest, requestOptions: RequestOptions? = null): SystemaResult<RecommendationResponse>

Get complementary API (Coroutine)

abstract fun getComplementary(    payload: RecommendationRequest,     requestOptions: RequestOptions? = null,     result: (SystemaResult<RecommendationResponse>) -> Unit)

Get complementary API (Non-coroutine)

Link copied to clipboard
abstract suspend fun getPopular(payload: RecommendationRequest = RecommendationRequest(), requestOptions: RequestOptions? = null): SystemaResult<RecommendationResponse>

Get popular API (Coroutine)

abstract fun getPopular(    payload: RecommendationRequest = RecommendationRequest(),     requestOptions: RequestOptions? = null,     result: (SystemaResult<RecommendationResponse>) -> Unit)

Get popular API (Non-coroutine)

Link copied to clipboard
abstract suspend fun getRelated(payload: RecommendationRequest, requestOptions: RequestOptions? = null): SystemaResult<RecommendationResponse>

Get related API (Coroutine)

abstract fun getRelated(    payload: RecommendationRequest,     requestOptions: RequestOptions? = null,     result: (SystemaResult<RecommendationResponse>) -> Unit)

Get related API (Non-coroutine)

Link copied to clipboard
abstract suspend fun getSimilar(payload: RecommendationRequest, requestOptions: RequestOptions? = null): SystemaResult<RecommendationResponse>

Get similar API (Coroutine)

abstract fun getSimilar(    payload: RecommendationRequest,     requestOptions: RequestOptions? = null,     result: (SystemaResult<RecommendationResponse>) -> Unit)

Get similar API (Non-coroutine)

Link copied to clipboard
abstract suspend fun getTrending(payload: RecommendationRequest = RecommendationRequest(), requestOptions: RequestOptions? = null): SystemaResult<RecommendationResponse>

Get trending API (Coroutine)

abstract fun getTrending(    payload: RecommendationRequest = RecommendationRequest(),     requestOptions: RequestOptions? = null,     result: (SystemaResult<RecommendationResponse>) -> Unit)

Get trending API (Non-coroutine)

Link copied to clipboard
abstract suspend fun getUserSnapshot(): SystemaUser

Get a snapshot of the impersonated user details

Link copied to clipboard
abstract suspend fun initialize()
Link copied to clipboard
abstract suspend fun setUserIdHash(uid: String, hash: Boolean = false)
Link copied to clipboard
abstract suspend fun smartSearch(payload: SmartSearchRequest, requestOptions: RequestOptions? = null): SystemaResult<SmartSearchResponse>

Smart search API (Coroutine)

abstract fun smartSearch(    payload: SmartSearchRequest,     requestOptions: RequestOptions? = null,     result: (SystemaResult<SmartSearchResponse>) -> Unit)

Smart search API (Non-coroutine)

Link copied to clipboard
abstract suspend fun smartSuggest(payload: SmartSuggestRequest, requestOptions: RequestOptions? = null): SystemaResult<SmartSuggestResponse>

Smart suggest API (Coroutine)

abstract fun smartSuggest(    payload: SmartSuggestRequest,     requestOptions: RequestOptions? = null,     result: (SystemaResult<SmartSuggestResponse>) -> Unit)

Smart suggest API (Non-coroutine)

Link copied to clipboard
abstract suspend fun trackAcquisitionComplete(    order: PurchaseOrder,     url: String,     referrer: String? = ""): SystemaResult<<ERROR CLASS>>

Track Item Acquisition Complete event. Triggered when a "tracked" item from cart was purchased.

abstract suspend fun trackAcquisitionComplete(    order: PurchaseOrder,     url: String,     referrer: String? = "",     result: (SystemaResult<<ERROR CLASS>>) -> Unit)
Link copied to clipboard
abstract suspend fun trackContainerShown(    productId: String? = null,     containers: List<ItemContainer>,     url: String? = "",     referrer: String? = ""): SystemaResult<<ERROR CLASS>>

Track container shown event

abstract fun trackContainerShown(    productId: String? = null,     containers: List<ItemContainer>,     url: String? = "",     referrer: String? = "",     result: (SystemaResult<<ERROR CLASS>>) -> Unit)
Link copied to clipboard
abstract suspend fun trackItemAcquired(    productId: String,     items: List<CartItem>,     url: String,     referrer: String? = ""): SystemaResult<<ERROR CLASS>>

Track Item Acquired event. Triggered when a "tracked" item makes its way into the cart.

abstract fun trackItemAcquired(    productId: String,     items: List<CartItem>,     url: String,     referrer: String? = "",     result: (SystemaResult<<ERROR CLASS>>) -> Unit)
Link copied to clipboard
abstract suspend fun trackItemClicked(    productId: String,     url: String = "",     recId: String = "",     referrer: String = ""): SystemaResult<<ERROR CLASS>>

Track Item Clicked event.

abstract fun trackItemClicked(    productId: String,     url: String = "",     recId: String = "",     referrer: String = "",     result: (SystemaResult<<ERROR CLASS>>) -> Unit)
Link copied to clipboard
abstract suspend fun trackItemRelinquished(    productId: String,     item: CartItem,     url: String,     referrer: String? = ""): SystemaResult<<ERROR CLASS>>

Track Item Relinquished event. Triggered when a "tracked" item is removed from the cart.

abstract fun trackItemRelinquished(    productId: String,     item: CartItem,     url: String,     referrer: String? = "",     result: (SystemaResult<<ERROR CLASS>>) -> Unit)
Link copied to clipboard
abstract suspend fun trackPageViewed(    url: String = "",     recId: String = "",     referrer: String = ""): SystemaResult<<ERROR CLASS>>

Page View for NON-PDP pages.

abstract fun trackPageViewed(    url: String = "",     recId: String = "",     referrer: String = "",     result: (SystemaResult<<ERROR CLASS>>) -> Unit)
abstract fun trackPageViewed(    productId: String,     url: String = "",     recId: String = "",     referrer: String = "",     result: (SystemaResult<<ERROR CLASS>>) -> Unit)

abstract suspend fun trackPageViewed(    productId: String,     url: String = "",     recId: String = "",     referrer: String = ""): SystemaResult<<ERROR CLASS>>

Track page view event

Link copied to clipboard
abstract suspend fun trackWishlistAcquired(    productId: String,     items: List<WishlistItem>,     url: String,     referrer: String? = ""): SystemaResult<<ERROR CLASS>>

Track Wishlist Acquired event. Triggered when a an item makes its way into the wishlist.

abstract fun trackWishlistAcquired(    productId: String,     items: List<WishlistItem>,     url: String,     referrer: String? = "",     result: (SystemaResult<<ERROR CLASS>>) -> Unit)
Link copied to clipboard
abstract suspend fun trackWishlistRelinquished(    productId: String,     item: WishlistItem,     url: String,     referrer: String? = ""): SystemaResult<<ERROR CLASS>>

Track Wishlist Relinquished event. Triggered when a an item makes its way out of the wishlist.

abstract fun trackWishlistRelinquished(    productId: String,     item: WishlistItem,     url: String,     referrer: String? = "",     result: (SystemaResult<<ERROR CLASS>>) -> Unit)

Properties

Link copied to clipboard
abstract val apiKey: SystemaAPIKey
Link copied to clipboard
abstract val clientID: SystemaClientID
Link copied to clipboard
abstract val credentials: Credentials
Link copied to clipboard
abstract val deviceManager: SystemaDeviceManager
Link copied to clipboard
abstract val engine: <ERROR CLASS>?
Link copied to clipboard
abstract val environment: EnvironmentType
Link copied to clipboard
abstract val hosts: Map<EndpointType, <ERROR CLASS>>
Link copied to clipboard
abstract val httpClient: <ERROR CLASS>
Link copied to clipboard
abstract val kvStore: SystemaKVStore
Link copied to clipboard
abstract val logLevel: SystemaLogLevel
Link copied to clipboard
abstract val meta: Map<String, Any>
Link copied to clipboard
abstract val proxyUrls: Map<EndpointType, <ERROR CLASS>>

Extensions

Link copied to clipboard
fun SystemaAI.addContainerTags(    v: View,     resp: RecommendationResponse,     tagMapping: Map<String, Int>? = null): Result<View>

Add recommendation response tags to a container view Here view refers to an element that containers other product related view elements. i.e. ListView

Link copied to clipboard
fun SystemaAI.addOnAttachStateChangeListener(    v: View,     listener: View.OnAttachStateChangeListener? = null,     tagMapping: Map<String, Int>? = null,     dispatcher: CoroutineDispatcher = Dispatchers.IO,     callback: (Result<HttpResponse>) -> Unit = {}): Result<SystemaOnAttachStateChangeListener>
Link copied to clipboard
fun SystemaAI.addOnClickListener(    v: View,     listener: View.OnClickListener? = null,     tagMapping: Map<String, Int>? = null,     callback: (Result<HttpResponse>) -> Unit = {}): Result<SystemaViewOnClickListener>
Link copied to clipboard
fun SystemaAI.addOnLayoutChangeListener(    v: View,     listener: View.OnLayoutChangeListener? = null,     tagMapping: Map<String, Int>? = null,     dispatcher: CoroutineDispatcher = Dispatchers.IO,     callback: (Result<HttpResponse>) -> Unit = {}): Result<SystemaOnLayoutChangeListener>
Link copied to clipboard
fun SystemaAI.addProductTags(    v: View,     product: Product,     tagMapping: Map<String, Int>? = null): Result<View>

Add product related tags for a view or button Here view refers to an element that represents a single product

Link copied to clipboard
fun SystemaAI.getAddToCartListener(    getItems: () -> List<CartItem>,     tagMapping: Map<String, Int>? = null,     callback: (Result<HttpResponse>) -> Unit = {}): Result<SystemaOnClickListener>
Link copied to clipboard
fun SystemaAI.getAddToWishlistListener(    getItems: () -> List<WishlistItem>,     tagMapping: Map<String, Int>? = null,     callback: (Result<HttpResponse>) -> Unit = {}): Result<SystemaOnClickListener>
Link copied to clipboard
fun SystemaAI.getOnAttachStateChangeListener(    tagMapping: Map<String, Int>? = null,     dispatcher: CoroutineDispatcher = Dispatchers.IO,     callback: (Result<HttpResponse>) -> Unit = {}): Result<SystemaOnAttachStateChangeListener>
Link copied to clipboard
fun SystemaAI.getOnClickListener(    tagMapping: Map<String, Int>? = null,     dispatcher: CoroutineDispatcher = Dispatchers.IO,     callback: (Result<HttpResponse>) -> Unit = {}): Result<SystemaViewOnClickListener>
Link copied to clipboard
fun SystemaAI.getOnLayoutChangeListener(    tagMapping: Map<String, Int>? = null,     dispatcher: CoroutineDispatcher = Dispatchers.IO,     callback: (Result<HttpResponse>) -> Unit = {}): Result<SystemaOnLayoutChangeListener>
Link copied to clipboard
fun SystemaAI.getParentOnScrollChangeListener(    recContainer: View,     tagMapping: Map<String, Int>? = null,     dispatcher: CoroutineDispatcher = Dispatchers.IO,     callback: (Result<HttpResponse>) -> Unit = {}): Result<SystemaOnParentScrollChangeListener>
Link copied to clipboard
fun SystemaAI.getRemoveFromCartListener(    getItem: () -> CartItem,     tagMapping: Map<String, Int>? = null,     callback: (Result<HttpResponse>) -> Unit = {}): Result<SystemaOnClickListener>
Link copied to clipboard
fun SystemaAI.monitorAddToCartButton(    btn: View,     product: Product,     getItems: () -> List<CartItem>,     onClickListener: View.OnClickListener? = null,     callback: (Result<HttpResponse>) -> Unit = {}): SystemaOnClickListener?
Link copied to clipboard
fun SystemaAI.monitorAddToWishlistButton(    btn: View,     product: Product,     getItems: () -> List<WishlistItem>,     onClickListener: View.OnClickListener? = null,     callback: (Result<HttpResponse>) -> Unit = {}): SystemaOnClickListener?
Link copied to clipboard
fun SystemaAI.monitorNonProductPage(    view: View,     pageUrl: String,     attachStateChangeListener: View.OnAttachStateChangeListener? = null,     callback: (Result<HttpResponse>) -> Unit = {}): SystemaOnAttachStateChangeListener?
Link copied to clipboard
fun SystemaAI.monitorProductPage(    view: View,     product: Product,     attachStateChangeListener: View.OnAttachStateChangeListener? = null,     callback: (Result<HttpResponse>) -> Unit = {}): SystemaOnAttachStateChangeListener?
Link copied to clipboard
fun SystemaAI.monitorRecContainer(    recContainer: View,     resp: RecommendationResponse,     containerLayoutChangeListener: View.OnLayoutChangeListener? = null,     scrollableView: View? = null,     systemaScrollChangeListener: SystemaOnParentScrollChangeListener? = null,     callback: (Result<HttpResponse>) -> Unit = {}): SystemaOnLayoutChangeListener?
Link copied to clipboard
fun SystemaAI.monitorRecItem(    view: View,     product: Product,     onClickListener: View.OnClickListener? = null,     callback: (Result<HttpResponse>) -> Unit = {}): SystemaViewOnClickListener?
Link copied to clipboard
fun SystemaAI.monitorRemoveFromCartButton(    btn: View,     product: Product,     getItem: () -> CartItem,     onClickListener: View.OnClickListener? = null,     callback: (Result<HttpResponse>) -> Unit = {}): SystemaOnClickListener?
Link copied to clipboard
fun SystemaAI.monitorRemoveFromWishlistButton(    btn: View,     product: Product,     getItem: () -> WishlistItem,     onClickListener: View.OnClickListener? = null,     callback: (Result<HttpResponse>) -> Unit = {}): SystemaOnClickListener?
Link copied to clipboard
fun SystemaAI.setParentOnScrollChangeListener(    recContainer: View,     containerParent: View,     listener: View.OnScrollChangeListener? = null,     tagMapping: Map<String, Int>? = null,     dispatcher: CoroutineDispatcher = Dispatchers.IO,     callback: (Result<HttpResponse>) -> Unit = {}): Result<SystemaOnParentScrollChangeListener>