class Google::Apis::AdexchangebuyerV1_4::Product

A product is segment of inventory that a seller wishes to sell. It is associated with certain terms and targeting information which helps buyer know more about the inventory. Each field in a product can have one of the following setting: (readonly) - It is an error to try and set this field. (buyer-readonly) - Only the seller can set this field. (seller-readonly) - Only the buyer can set this field. (updatable) - The field is updatable at all times by either buyer or the seller.

Attributes

billed_buyer[RW]

The billed buyer corresponding to the buyer that created the offer. (readonly, except on create) Corresponds to the JSON property `billedBuyer` @return [Google::Apis::AdexchangebuyerV1_4::Buyer]

buyer[RW]

The buyer that created the offer if this is a buyer initiated offer (readonly, except on create) Corresponds to the JSON property `buyer` @return [Google::Apis::AdexchangebuyerV1_4::Buyer]

creation_time_ms[RW]

Creation time in ms. since epoch (readonly) Corresponds to the JSON property `creationTimeMs` @return [Fixnum]

creator_contacts[RW]

Optional contact information for the creator of this product. (buyer-readonly) Corresponds to the JSON property `creatorContacts` @return [Array<Google::Apis::AdexchangebuyerV1_4::ContactInformation>]

creator_role[RW]

The role that created the offer. Set to BUYER for buyer initiated offers. Corresponds to the JSON property `creatorRole` @return [String]

delivery_control[RW]

The set of fields around delivery control that are interesting for a buyer to see but are non-negotiable. These are set by the publisher. This message is assigned an id of 100 since some day we would want to model this as a protobuf extension. Corresponds to the JSON property `deliveryControl` @return [Google::Apis::AdexchangebuyerV1_4::DeliveryControl]

flight_end_time_ms[RW]

The proposed end time for the deal (ms since epoch) (buyer-readonly) Corresponds to the JSON property `flightEndTimeMs` @return [Fixnum]

flight_start_time_ms[RW]

Inventory availability dates. (times are in ms since epoch) The granularity is generally in the order of seconds. (buyer-readonly) Corresponds to the JSON property `flightStartTimeMs` @return [Fixnum]

has_creator_signed_off[RW]

If the creator has already signed off on the product, then the buyer can finalize the deal by accepting the product as is. When copying to a proposal, if any of the terms are changed, then auto_finalize is automatically set to false. Corresponds to the JSON property `hasCreatorSignedOff` @return [Boolean]

has_creator_signed_off?[RW]

If the creator has already signed off on the product, then the buyer can finalize the deal by accepting the product as is. When copying to a proposal, if any of the terms are changed, then auto_finalize is automatically set to false. Corresponds to the JSON property `hasCreatorSignedOff` @return [Boolean]

inventory_source[RW]

What exchange will provide this inventory (readonly, except on create). Corresponds to the JSON property `inventorySource` @return [String]

kind[RW]

Identifies what kind of resource this is. Value: the fixed string “ adexchangebuyer#product”. Corresponds to the JSON property `kind` @return [String]

labels[RW]

Optional List of labels for the product (optional, buyer-readonly). Corresponds to the JSON property `labels` @return [Array<Google::Apis::AdexchangebuyerV1_4::MarketplaceLabel>]

last_update_time_ms[RW]

Time of last update in ms. since epoch (readonly) Corresponds to the JSON property `lastUpdateTimeMs` @return [Fixnum]

legacy_offer_id[RW]

Optional legacy offer id if this offer is a preferred deal offer. Corresponds to the JSON property `legacyOfferId` @return [String]

marketplace_publisher_profile_id[RW]

Marketplace publisher profile Id. This Id differs from the regular publisher_profile_id in that 1. This is a new id, the old Id will be deprecated in 2017. 2. This id uniquely identifies a publisher profile by itself. Corresponds to the JSON property `marketplacePublisherProfileId` @return [String]

name[RW]

The name for this product as set by the seller. (buyer-readonly) Corresponds to the JSON property `name` @return [String]

private_auction_id[RW]

Optional private auction id if this offer is a private auction offer. Corresponds to the JSON property `privateAuctionId` @return [String]

product_id[RW]

The unique id for the product (readonly) Corresponds to the JSON property `productId` @return [String]

publisher_profile_id[RW]

Id of the publisher profile for a given seller. A (seller.account_id, publisher_profile_id) pair uniquely identifies a publisher profile. Buyers can call the PublisherProfiles::List endpoint to get a list of publisher profiles for a given seller. Corresponds to the JSON property `publisherProfileId` @return [String]

publisher_provided_forecast[RW]

This message carries publisher provided forecasting information. Corresponds to the JSON property `publisherProvidedForecast` @return [Google::Apis::AdexchangebuyerV1_4::PublisherProvidedForecast]

revision_number[RW]

The revision number of the product. (readonly) Corresponds to the JSON property `revisionNumber` @return [Fixnum]

seller[RW]

Information about the seller that created this product (readonly, except on create) Corresponds to the JSON property `seller` @return [Google::Apis::AdexchangebuyerV1_4::Seller]

shared_targetings[RW]

Targeting that is shared between the buyer and the seller. Each targeting criteria has a specified key and for each key there is a list of inclusion value or exclusion values. (buyer-readonly) Corresponds to the JSON property `sharedTargetings` @return [Array<Google::Apis::AdexchangebuyerV1_4::SharedTargeting>]

state[RW]

The state of the product. (buyer-readonly) Corresponds to the JSON property `state` @return [String]

syndication_product[RW]

The syndication product associated with the deal. (readonly, except on create) Corresponds to the JSON property `syndicationProduct` @return [String]

terms[RW]

The negotiable terms of the deal (buyer-readonly) Corresponds to the JSON property `terms` @return [Google::Apis::AdexchangebuyerV1_4::DealTerms]

web_property_code[RW]

The web property code for the seller. This field is meant to be copied over as is when creating deals. Corresponds to the JSON property `webPropertyCode` @return [String]

Public Class Methods

new(**args) click to toggle source
# File lib/google/apis/adexchangebuyer_v1_4/classes.rb, line 3058
def initialize(**args)
   update!(**args)
end

Public Instance Methods

update!(**args) click to toggle source

Update properties of this object

# File lib/google/apis/adexchangebuyer_v1_4/classes.rb, line 3063
def update!(**args)
  @billed_buyer = args[:billed_buyer] if args.key?(:billed_buyer)
  @buyer = args[:buyer] if args.key?(:buyer)
  @creation_time_ms = args[:creation_time_ms] if args.key?(:creation_time_ms)
  @creator_contacts = args[:creator_contacts] if args.key?(:creator_contacts)
  @creator_role = args[:creator_role] if args.key?(:creator_role)
  @delivery_control = args[:delivery_control] if args.key?(:delivery_control)
  @flight_end_time_ms = args[:flight_end_time_ms] if args.key?(:flight_end_time_ms)
  @flight_start_time_ms = args[:flight_start_time_ms] if args.key?(:flight_start_time_ms)
  @has_creator_signed_off = args[:has_creator_signed_off] if args.key?(:has_creator_signed_off)
  @inventory_source = args[:inventory_source] if args.key?(:inventory_source)
  @kind = args[:kind] if args.key?(:kind)
  @labels = args[:labels] if args.key?(:labels)
  @last_update_time_ms = args[:last_update_time_ms] if args.key?(:last_update_time_ms)
  @legacy_offer_id = args[:legacy_offer_id] if args.key?(:legacy_offer_id)
  @marketplace_publisher_profile_id = args[:marketplace_publisher_profile_id] if args.key?(:marketplace_publisher_profile_id)
  @name = args[:name] if args.key?(:name)
  @private_auction_id = args[:private_auction_id] if args.key?(:private_auction_id)
  @product_id = args[:product_id] if args.key?(:product_id)
  @publisher_profile_id = args[:publisher_profile_id] if args.key?(:publisher_profile_id)
  @publisher_provided_forecast = args[:publisher_provided_forecast] if args.key?(:publisher_provided_forecast)
  @revision_number = args[:revision_number] if args.key?(:revision_number)
  @seller = args[:seller] if args.key?(:seller)
  @shared_targetings = args[:shared_targetings] if args.key?(:shared_targetings)
  @state = args[:state] if args.key?(:state)
  @syndication_product = args[:syndication_product] if args.key?(:syndication_product)
  @terms = args[:terms] if args.key?(:terms)
  @web_property_code = args[:web_property_code] if args.key?(:web_property_code)
end