amazon-spapi 2.0.3

A Rust client library for Amazon Selling Partner API (SP-API)
Documentation
/*
 * Selling Partner API for Pricing
 *
 * The Selling Partner API for Pricing helps you programmatically retrieve product pricing and offer information for Amazon Marketplace products.
 *
 * The version of the OpenAPI document: v0
 * 
 * Generated by: https://openapi-generator.tech
 */

use crate::models;
use serde::{Deserialize, Serialize};

/// GetOffersResult : The payload for the getListingOffers and getItemOffers operations.
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct GetOffersResult {
    /// A marketplace identifier.
    #[serde(rename = "MarketplaceID", alias = "marketplaceId")]
    pub marketplace_id: String,
    /// The Amazon Standard Identification Number (ASIN) of the item.
    #[serde(rename = "ASIN", skip_serializing_if = "Option::is_none")]
    pub asin: Option<String>,
    /// The stock keeping unit (SKU) of the item.
    #[serde(rename = "SKU", skip_serializing_if = "Option::is_none")]
    pub sku: Option<String>,
    #[serde(rename = "ItemCondition")]
    pub item_condition: models::product_pricing_v0::ConditionType,
    /// The status of the operation.
    #[serde(rename = "status")]
    pub status: String,
    #[serde(rename = "Identifier")]
    pub identifier: Box<models::product_pricing_v0::ItemIdentifier>,
    #[serde(rename = "Summary")]
    pub summary: Box<models::product_pricing_v0::Summary>,
    /// A list of offer details. The list is the same length as the TotalOfferCount in the Summary or 20, whichever is less.
    #[serde(rename = "Offers")]
    pub offers: Vec<models::product_pricing_v0::OfferDetail>,
}

impl GetOffersResult {
    /// The payload for the getListingOffers and getItemOffers operations.
    pub fn new(marketplace_id: String, item_condition: models::product_pricing_v0::ConditionType, status: String, identifier: models::product_pricing_v0::ItemIdentifier, summary: models::product_pricing_v0::Summary, offers: Vec<models::product_pricing_v0::OfferDetail>) -> GetOffersResult {
        GetOffersResult {
            marketplace_id,
            asin: None,
            sku: None,
            item_condition,
            status,
            identifier: Box::new(identifier),
            summary: Box::new(summary),
            offers,
        }
    }
}