Recommendations integration is responsible for providing user-specific and content-related video catalog recommendations - a list of content catalog objects that are relevant for a given context.
From Accedo One perspective, there are two main recommendation types: Related Content & User Recommendations. They are fulfilled by a separate gRPC service and are therefore not depending on each-other. An integration may support both, but does not strictly have to.
Related content recommendations are always associated with a content object, but are user agnostic. When application is configured to display "Related content" on e.g Details pages, Accedo One sends
RelatedContentRecommendationService.GetRelatedContentObjects call to the integration and expects a list of content object identifiers (ID & type tuple) in a priority order (most relevant first) as a response.
When client application is configured to show user recommendations (e.g via Recommended shelf), Accedo One will perform a
UserRecommendationService.GetRecommendedContentObjects RPC call. This call can optionally have an associated content catalog object (i.e "recommendations for a user based on this piece of content").
Integration is expected to return a list of content object identifiers (ID & type tuple) in a priority order (most relevant first).
Development with IDK¶
To start IDK in Recommendation mode, simply run
idk up recommendation
$ idk up recommendation grpc-mock Done! router Done! recommendation-api Done! ui Done! Creating network "default-recomidk" with the default driver Creating recommendation_default_router_1 ... Creating recommendation_default_ui_1 ... Creating recommendation_default_grpc-mock_1 ... Creating recommendation_default_recommendation-api_1 ... Creating recommendation_default_recommendation-api_1 ... done Creating recommendation_default_router_1 ... done Creating recommendation_default_grpc-mock_1 ... done Creating recommendation_default_ui_1 ... done ### IDK environment URLs ### - IDK - Admin UI: http://localhost:51730/
Following APIs must be fulfilled by the integration:
RelatedContentRecommendationService- as defined in
UserRecommendationService- as defined in