public static HttpWebRequest ConstructProductRecommendationsRequest(string apiKey, ProductRecommendationsRequest productRecommendationsRequest)
        {
            NameValueCollection queryParams = new NameValueCollection();
            queryParams.Add("apikey", apiKey);

            if (productRecommendationsRequest.IncludeAttributes != null)
            {
                queryParams.Add("includeattributes", productRecommendationsRequest.IncludeAttributes.ToString().ToLower());
            }
            if (productRecommendationsRequest.Offset != null)
            {
                queryParams.Add("offset", productRecommendationsRequest.Offset.ToString().ToLower());
            }
            if (productRecommendationsRequest.Limit != null)
            {
                queryParams.Add("limit", productRecommendationsRequest.Limit.ToString().ToLower());
            }

            string queryString = HttpUtils.ToQueryString(queryParams);

            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Constants.URL_PREFIX + "/catalog/v4/recommendations/" + productRecommendationsRequest.Id + "/" + queryString);
            request.Method = "GET";
            request.Accept = "application/json";

            return request;
        }
        public ProductRecommendations GetProductRecommendations(ProductRecommendationsRequest productRecommendationsRequest)
        {
            HttpWebRequest request = CatalogRequestBuilder.ConstructProductRecommendationsRequest(apiKey, productRecommendationsRequest);
            ProductRecommendations productRecommendations = ProcessBodylessRequest(request).ToObject<ProductRecommendations>();

            return productRecommendations;
        }
        public void TestGetProductRecommendation()
        {
            ProductRecommendationsRequest productRecommendationsRequest = new ProductRecommendationsRequest();
            productRecommendationsRequest.Id = "1004004012288125";
            productRecommendationsRequest.IncludeAttributes = true;
            productRecommendationsRequest.Offers = new EnumTypes.OfferType[] {
                    EnumTypes.OfferType.ALL
            };
            productRecommendationsRequest.Offset = 0;
            productRecommendationsRequest.Limit = 10;

            ProductRecommendations productRecommendations = client.GetProductRecommendations(productRecommendationsRequest);
            Assert.IsNotNull(productRecommendations.Products);
            Assert.IsTrue(productRecommendations.Products.Count > 0);
        }