@klevu/core
Version:
Typescript SDK that simplifies development on Klevu backend. Klevu provides advanced AI-powered search and discovery solutions for online retailers.
38 lines (37 loc) • 1.09 kB
JavaScript
import { KlevuTypeOfRecord } from "../../models/KlevuTypeOfRecord.js";
import { KlevuTypeOfRequest } from "../../models/KlevuTypeOfRequest.js";
const defaultOptions = {
limit: 5,
};
/**
* Bought together recommendation on checkout page
*
* @category RecommendationQuery
* @param options
* @param modifiers
* @returns
*/
export function boughtTogether(productIdsInCart, options, ...modifiers) {
const opts = Object.assign(Object.assign({}, defaultOptions), options);
const query = {
id: "boughtTogether",
typeOfRequest: KlevuTypeOfRequest.AlsoBought,
settings: {
limit: opts.limit,
typeOfRecords: [KlevuTypeOfRecord.Product],
context: {
recentObjects: [
{
typeOfRecord: KlevuTypeOfRecord.Product,
records: productIdsInCart.map((id) => ({ id })),
},
],
},
},
};
return {
klevuFunctionId: "recommendation",
queries: [query],
modifiers,
};
}