public static HttpWebRequest ConstructListRequest(string apiKey, ListResultsRequest listResultsRequest) { NameValueCollection queryParams = new NameValueCollection(); queryParams.Add("apikey", apiKey); if (listResultsRequest.Type != null) { queryParams.Add("type", EnumUtils.StringValueOf(listResultsRequest.Type)); } if (listResultsRequest.CategoryId != null || listResultsRequest.RefinementIds != null) { string ids = FormatterUtils.CombineCategoryAndRefinementIds(listResultsRequest.CategoryId, listResultsRequest.RefinementIds); queryParams.Add("ids", ids); } if (listResultsRequest.ListId != null) { queryParams.Add("listid", listResultsRequest.ListId); } if (listResultsRequest.IncludeAttributes != null) { queryParams.Add("includeattributes", listResultsRequest.IncludeAttributes.ToString().ToLower()); } if (listResultsRequest.DataOutputs != null) { queryParams.Add("dataoutput", FormatterUtils.FormatDataOutput(listResultsRequest.DataOutputs)); } if (listResultsRequest.Offers != null) { queryParams.Add("offers", FormatterUtils.FormatOffer(listResultsRequest.Offers)); } if (listResultsRequest.Sort != null) { queryParams.Add("sort", EnumUtils.StringValueOf(listResultsRequest.Sort)); } if (listResultsRequest.Offset != null) { queryParams.Add("offset", listResultsRequest.Offset.ToString().ToLower()); } if (listResultsRequest.Limit != null) { queryParams.Add("limit", listResultsRequest.Limit.ToString().ToLower()); } string queryString = HttpUtils.ToQueryString(queryParams); HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Constants.URL_PREFIX + "/catalog/v4/lists/" + queryString); request.Method = "GET"; request.Accept = "application/json"; return(request); }
public static HttpWebRequest ConstructProductOffersRequest(string apiKey, ProductOffersRequest productOffersRequest) { NameValueCollection queryParams = new NameValueCollection(); queryParams.Add("apikey", apiKey); if (productOffersRequest.Offers != null) { queryParams.Add("offers", FormatterUtils.FormatOffer(productOffersRequest.Offers)); } string queryString = HttpUtils.ToQueryString(queryParams); HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Constants.URL_PREFIX + "/catalog/v4/offers/" + productOffersRequest.Id + "/" + queryString); request.Method = "GET"; request.Accept = "application/json"; return(request); }