Ejemplo n.º 1
0
        public ProductRecommendations GetProductRecommendations(ProductRecommendationsRequest productRecommendationsRequest)
        {
            HttpWebRequest         request = CatalogRequestBuilder.ConstructProductRecommendationsRequest(apiKey, productRecommendationsRequest);
            ProductRecommendations productRecommendations = ProcessBodylessRequest(request).ToObject <ProductRecommendations>();

            return(productRecommendations);
        }
        public IActionResult Get([FromQuery] ProductRecommendationsRequest request)
        {
            var t = new Stopwatch();

            t.Start();
            var x = Ok(request.MinRank == 0
                ? productsService.GetRecommendedProductsIds(request.ProductId)
                : productsService.GetRecommendedProductsIdsWithMinRank(request.ProductId, request.MinRank));

            Debug.Print(t.Elapsed.TotalMilliseconds.ToString());
            return(x);
        }
        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);
        }
Ejemplo n.º 4
0
        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);
        }