コード例 #1
0
        public ProductList GetProducts(ProductsRequest productsRequest)
        {
            HttpWebRequest request = CatalogRequestBuilder.ConstructProductsRequest(apiKey, productsRequest);
            ProductList productList = ProcessBodylessRequest(request).ToObject<ProductList>();

            return productList;
        }
コード例 #2
0
        public void TestGetProducts()
        {
            ProductsRequest productsRequest = new ProductsRequest();
            productsRequest.Ids = new string[] { "1004004012288125", "1004004012257956" };
            productsRequest.IncludeAttributes = true;
            productsRequest.Offers = new EnumTypes.OfferType[] {
                    EnumTypes.OfferType.ALL
            };

            ProductList productList = client.GetProducts(productsRequest);
            Assert.IsNotNull(productList.Products);
            Assert.IsTrue(productList.Products.Count == 2);
        }
        public static HttpWebRequest ConstructProductsRequest(string apiKey, ProductsRequest productsRequest)
        {
            NameValueCollection queryParams = new NameValueCollection();
            queryParams.Add("apikey", apiKey);

            if (productsRequest.IncludeAttributes != null)
            {
                queryParams.Add("includeattributes", productsRequest.IncludeAttributes.ToString().ToLower());
            }
            if (productsRequest.Offers != null)
            {
                queryParams.Add("offer", FormatterUtils.FormatOffer(productsRequest.Offers));
            }

            string queryString = HttpUtils.ToQueryString(queryParams);

            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Constants.URL_PREFIX + "/catalog/v4/products/" + FormatterUtils.FormatIds(productsRequest.Ids) + "/" + queryString);
            request.Method = "GET";
            request.Accept = "application/json";

            return request;
        }