Recommendations¶
Introduction¶
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¶
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.
User Recommendations¶
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/
APIs¶
Following APIs must be fulfilled by the integration:
RelatedContentRecommendationService
- as defined inrecommendation/related.proto
UserRecommendationService
- as defined inrecommendation/user.proto