Emits events to recommendation store.
Predefined recommendation request event
event.name
required ('request'): Predefined recommendation request event name.
event.payload.slot
required (string): Slot value.
event.payload.item_id
optional (string)
event.payload.user
optional (object): User object. Could be provided either at initialization or at request.
Newest recommendation request event
event.name
required ('newest'): Newest recommendation request event name.
event.payload.offset
optional (string): Offset of products in response.
event.payload.limit
optional (string): Number of products in response.
event.payload.user
optional (object): User object. Could be provided either at initialization or at request.
Trending recommendation request event
event.name
required ('trending'): Trending recommendation request event name.
event.payload.offset
optional (string): Offset of products in response.
event.payload.limit
optional (string): Number of products in response.
event.payload.user
optional (object): User object. Could be provided either at initialization or at request.
Latest recommendation request event
event.name
required ('latest'): Latest recommendation request event name.
event.payload.offset
optional (string): Offset of products in response.
event.payload.limit
optional (string): Number of products in response.
event.payload.user
optional (object): User object. Could be provided either at initialization or at request.
Viewed recommendation request event
event.name
required ('viewed'): Viewed recommendation request event name.
event.payload.item_id
required (string)
event.payload.offset
optional (string): Offset of products in response.
event.payload.limit
optional (string): Number of products in response.
event.payload.user
optional (object): User object. Could be provided either at initialization or at request.
Bought recommendation request event
event.name
required ('bought'): Bought recommendation request event name.
event.payload.item_id
required (string)
event.payload.offset
optional (string): Offset of products in response.
event.payload.limit
optional (string): Number of products in response.
event.payload.user
optional (object): User object. Could be provided either at initialization or at request.
Frequently purchased recommendation request event
event.name
required ('frequentlyPurchased'): Frequently purchased recommendation request event name.
event.payload.item_ids
required ((string | number)[]): Array of items ids.
event.payload.offset
optional (string): Offset of products in response.
event.payload.limit
optional (string): Number of products in response.
event.payload.user
optional (object): User object. Could be provided either at initialization or at request.
Set request body event:
event.name
required ('setRequestBody'): Set request body event name.
event.payload
required (object): FindifySDK recommendation request data.
Featured recommendation request event
event.name
required ('featured'): Featured recommendation request event name.
event.payload.user
optional (object): User object. Could be provided either at initialization or at request.
Types:
user.uid
required (string): Unique customer id.
user.sid
required (string): Session id.
user.email
optional (string): Customer email.
user.ip
optional (number): Customer ip.
user.ua
optional (string): Customer user agent.
user.lang
optional (string[]): Languages.
Returns:
Recommendation store instance.
Examples of usage:
// Predefined recommendation
predefinedRecommendationStore
.emit({
name: 'request',
payload: {
slot: 'slotValue',
item_id: '10'
}
});
// Newest recommendation
newestRecommendationStore
.emit({
name: 'request',
payload: {
offset: 5,
limit: 10
}
});
// Trending recommendation
trendingRecommendationStore
.emit({
name: 'request',
payload: {
offset: 5,
limit: 10
}
});
// Latest recommendation
latestRecommendationStore
.emit({
name: 'request',
payload: {
offset: 5,
limit: 10
}
});
// Viewed recommendation
viewedRecommendationStore
.emit({
name: 'request',
payload: {
offset: 5,
limit: 10,
item_id: '10'
}
});
// Bought recommendation
boughtRecommendationStore
.emit({
name: 'request',
payload: {
offset: 5,
limit: 10,
item_id: '10'
}
});
// Frequently purchased recommendation
frequentlyPurchasedRecommendationStore
.emit({
name: 'request',
payload: {
offset: 5,
limit: 10,
item_ids: ['10', '11']
}
});
// Featured recommendation
featuredRecommendationStore
.emit({
name: 'request'
});
// `setRequestBody` event
viewedRecommendationStore
.emit({
name: 'setRequestBody',
payload: {
offset: 10
}
})
.emit({
name: 'request'
});