diff --git a/Source/FikaAmazonAPI/Parameter/ProductPricing/ItemOffersRequest.cs b/Source/FikaAmazonAPI/Parameter/ProductPricing/ItemOffersRequest.cs index 6a14ecb0..eeaef0cc 100644 --- a/Source/FikaAmazonAPI/Parameter/ProductPricing/ItemOffersRequest.cs +++ b/Source/FikaAmazonAPI/Parameter/ProductPricing/ItemOffersRequest.cs @@ -28,25 +28,17 @@ public string Uri [JsonProperty("method")] public HttpMethodEnum HttpMethod { get; set; } - //[JsonProperty("headers")] - //public Dictionary Headers { get; set; } - - [JsonProperty("queryParams")] + // Amazon changed their batch API contract: query params must be serialized at the top level, not nested under "queryParams". + [JsonIgnore] public ParameterGetItemOffers QueryParams { get; set; } - ///// - ///// A marketplace identifier. Specifies the marketplace for which prices are returned. - ///// - //[DataMember(Name = "MarketplaceId")] - //public string MarketplaceId { get; set; } - - //[DataMember(Name = "ItemCondition")] - //public ItemCondition ItemCondition { get; set; } + [JsonProperty("MarketplaceId")] + public string MarketplaceId => QueryParams?.MarketplaceId; - //[DataMember(Name = "CustomerType")] - //public CustomerType? CustomerType { get; set; } + [JsonProperty("ItemCondition")] + public ItemCondition ItemCondition => QueryParams?.ItemCondition ?? default; - //[JsonIgnore] - //public string Asin { get; set; } + [JsonProperty("CustomerType")] + public CustomerType? CustomerType => QueryParams?.CustomerType; } } diff --git a/Source/FikaAmazonAPI/Parameter/ProductPricing/ListingOffersRequest.cs b/Source/FikaAmazonAPI/Parameter/ProductPricing/ListingOffersRequest.cs index e3936736..a53c28c9 100644 --- a/Source/FikaAmazonAPI/Parameter/ProductPricing/ListingOffersRequest.cs +++ b/Source/FikaAmazonAPI/Parameter/ProductPricing/ListingOffersRequest.cs @@ -28,10 +28,17 @@ public string Uri [JsonProperty("method")] public HttpMethodEnum HttpMethod { get; set; } - //[JsonProperty("headers")] - //public Dictionary Headers { get; set; } - - [JsonProperty("queryParams")] + // Amazon changed their batch API contract: query params must be serialized at the top level, not nested under "queryParams". + [JsonIgnore] public ParameterGetListingOffers QueryParams { get; set; } + + [JsonProperty("MarketplaceId")] + public string MarketplaceId => QueryParams?.MarketplaceId; + + [JsonProperty("ItemCondition")] + public ItemCondition ItemCondition => QueryParams?.ItemCondition ?? default; + + [JsonProperty("CustomerType")] + public CustomerType? CustomerType => QueryParams?.CustomerType; } }