/// <summary> /// Get variations via asin /// </summary> /// <param name="variationsRequest"></param> /// <returns></returns> public async Task <GetVariationsResponse> GetVariationsAsync(VariationsRequest variationsRequest) { var request = new GetVariationsRequest { ASIN = variationsRequest.Asin, Merchant = variationsRequest.Merchant, PartnerTag = this._partnerTag, PartnerType = "Associates", Marketplace = $"www.{this._amazonEndpointConfig.Host}", Resources = variationsRequest.Resources }; if (!this._amazonResourceValidator.IsResourcesValid(request.Resources, "GetVariations")) { return(new GetVariationsResponse { Successful = false, ErrorMessage = "Resources has wrong values" }); } var json = JsonConvert.SerializeObject(request, this._jsonSerializerSettingsRequest); if (string.IsNullOrEmpty(json)) { return(new GetVariationsResponse { Successful = false, ErrorMessage = "Cannot serialize object" }); } var response = await this.RequestAsync("GetVariations", json); return(this.DeserializeObject <GetVariationsResponse>(response)); }
/// <summary> /// Get variations via asin /// </summary> /// <param name="asin"></param> /// <returns></returns> public async Task <GetVariationsResponse> GetVariationsAsync(string asin) { var request = new GetVariationsRequest { ASIN = asin, PartnerTag = this._partnerTag, PartnerType = "Associates", Marketplace = $"www.{this._amazonEndpointConfig.Host}", Resources = new[] { "VariationSummary.VariationDimension", "Images.Primary.Small", "Images.Primary.Medium", "Images.Primary.Large", "Images.Variants.Small", "Images.Variants.Medium", "Images.Variants.Large", } }; if (!this._amazonResourceValidator.IsResourcesValid(request.Resources, "GetVariations")) { return(new GetVariationsResponse { Successful = false, ErrorMessage = "Resources has wrong values" }); } var json = JsonConvert.SerializeObject(request, this._jsonSerializerSettingsRequest); if (string.IsNullOrEmpty(json)) { return(new GetVariationsResponse { Successful = false, ErrorMessage = "Cannot serialize object" }); } var response = await this.RequestAsync("GetVariations", json); return(this.DeserializeObject <GetVariationsResponse>(response)); }