Fetch Data

Fetch data from Bloomreach Engagement using the Android SDK

The SDK provides methods to retrieve data from the Engagement platform. Responses are available in the onSuccess and onFailure callback properties.

Fetch Recommendations

Use the fetchRecommendation method to get personalized recommendations for the current customer from an Engagement recommendation model.

The method returns a list of CustomerRecommendation objects containing the recommendation engine data and recommended item IDs.

Arguments

NameTypeDescription
optionsCustomerRecommendationOptionsRecommendation options (see below for details )

CustomerRecommendationOptions

NameTypeDescription
id (required)StringID of your recommendation model.
fillWithRandomBooleanIf true, fills the recommendations with random items until size is reached. This is utilized when models cannot recommend enough items.
sizeIntSpecifies the upper limit for the number of recommendations to return. Defaults to 10.
itemsMap<String, String>If present, the recommendations are related not only to a customer, but to products with IDs specified in this array. Item IDs from the catalog used to train the recommendation model must be used. Input product IDs in a dictionary as [product_id: weight], where the value weight determines the preference strength for the given product (bigger number = higher preference).

Example:
["product_id_1": "1", "product_id_2": "2",]
noTrackBooleanDefault value: false
catalogAttributesWhitelistListReturns only the specified attributes from catalog items. If empty or not set, returns all attributes.

Example:
["item_id", "title", "link", "image_link"]

Example

// Prepare the recommendation options
val recommendationOptions = CustomerRecommendationOptions(
        id = "<recommendation_id>",
        fillWithRandom = true,
        size = 10
)

// Get recommendations for the current customer
Exponea.fetchRecommendation(
        customerRecommendation = recommendation, 
        onSuccess = {
            // SDK will return a list of a CustomerRecommendation objects.
        },
        onFailure = {
            // SDK will return a FetchError object.
        }
)

Result Object

CustomerRecommendation

NameTypeDescription
engineNameStringName of the recommendation engine used.
itemIdStringID of the recommended item.
recommendationIdStringID of the recommendation engine (model) used.
recommendationVariantIdStringID of the recommendation engine variant used.
dataMap<String, JsonElement>The recommendation engine data and recommended item IDs returned from the server.

Fetch Consent Categories

Use the getConsents method to get a list of your consent categories and their definitions.

Use when you want to get a list of your existing consent categories and their properties, such as sources and translations. This is useful when rendering a consent form.

The method returns a list of Consent objects.

Example

Exponea.getConsents(
        onSuccess = {
            // SDK will return a list of a Consent objects.
        },
        onFailure = {
            // SDK will return a FetchError object.
        }
)

Result Object

Consent

NameTypeDescription
idStringName of the consent category.
legitimateInterestBooleanIf the user has legitimate interest.
sourcesConsentSourcesThe sources of this consent.
translationsHashMap<String, HashMap<String, String>>Contains the translations for the consent.

Keys of this dictionary are the short ISO language codes (eg. "en", "cz", "sk"...) and the values are dictionaries containing the translation key as the dictionary key and translation value as the dictionary value.

ConsentSources

NameTypeDescription
createdFromCRMBooleanManually created from the web application.
importedBooleanImported from the importing wizard.
fromConsentPageBooleanTracked from the consent page.
privateAPIBooleanAPI which uses basic authentication.
publicAPIBooleanAPI which only uses public token for authentication.
trackedFromScenarioBooleanTracked from the scenario from event node.