Appearance
Configuring a SimilarProducts recommendation
Looking for setup prerequisites, authentication details, and package references? Start with the PHP SDK landing page.
Unlike most other recommendation types, SimilarProducts requires setup to be optimally useful.
For more information about the types of data and comparers that go into setting up the recommendation, click here.
Before going any further, read about handling different types of users here.
php
$recommender = new Recommender(
"00000000-0000-0000-0000-000000000001",
"your API Key"
);
$recommender->serverUrl = "the server URL for the dataset";
$evaluationSettings = SimilarProductsEvaluationSettings::create()
->setSignificanceOfSimilaritiesInDisplayName(1.0)
->setSignificanceOfSimilarBrand(0.5)
->setSignificanceOfSimilarListPrice(0.5)
->setSignificanceOfSimilarSalesPrice(0.5)
->setSignificanceOfCommonImmediateParentCategories(1.0)
->setSignificanceOfCommonParentsParentCategories(0.5)
->setSignificanceOfCommonAncestorCategories(0.25)
->setSignificanceOfIdenticalProductDataValues(1.0)
->setSignificantProductDataFieldsFromArray(array(
SignificantDataValue::create("StringValueDataKey", SignificantDataValueSignificantDataValueComparer::Equals, 1.0),
SignificantDataValue::create("CollectionValueDataKey", SignificantDataValueSignificantDataValueComparer::CollectionOverlap, 1.0)
));
$request = SimilarProductsRequest::create(
Language::create("en-gb"),
Currency::create("GBP"),
"Product Details",
$this->getUser(),
$evaluationSettings
)
->setExistingProductId(ProductAndVariantId::create("product-id", "variant-id"))
->setSettings(
ProductRecommendationRequestSettings::create()
->setNumberOfRecommendations(10)
);
$response = $recommender->similarProducts($request);