3812 lines
		
	
	
		
			154 KiB
		
	
	
	
		
			Ruby
		
	
	
	
			
		
		
	
	
			3812 lines
		
	
	
		
			154 KiB
		
	
	
	
		
			Ruby
		
	
	
	
| # Copyright 2015 Google Inc.
 | |
| #
 | |
| # Licensed under the Apache License, Version 2.0 (the "License");
 | |
| # you may not use this file except in compliance with the License.
 | |
| # You may obtain a copy of the License at
 | |
| #
 | |
| #      http://www.apache.org/licenses/LICENSE-2.0
 | |
| #
 | |
| # Unless required by applicable law or agreed to in writing, software
 | |
| # distributed under the License is distributed on an "AS IS" BASIS,
 | |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | |
| # See the License for the specific language governing permissions and
 | |
| # limitations under the License.
 | |
| 
 | |
| require 'date'
 | |
| require 'google/apis/core/base_service'
 | |
| require 'google/apis/core/json_representation'
 | |
| require 'google/apis/core/hashable'
 | |
| require 'google/apis/errors'
 | |
| 
 | |
| module Google
 | |
|   module Apis
 | |
|     module AdexchangebuyerV1_4
 | |
|       
 | |
|       # Configuration data for an Ad Exchange buyer account.
 | |
|       class Account
 | |
|         include Google::Apis::Core::Hashable
 | |
|       
 | |
|         # When this is false, bid requests that include a deal ID for a private auction
 | |
|         # or preferred deal are always sent to your bidder. When true, all active
 | |
|         # pretargeting configs will be applied to private auctions and preferred deals.
 | |
|         # Programmatic Guaranteed deals (when enabled) are always sent to your bidder.
 | |
|         # Corresponds to the JSON property `applyPretargetingToNonGuaranteedDeals`
 | |
|         # @return [Boolean]
 | |
|         attr_accessor :apply_pretargeting_to_non_guaranteed_deals
 | |
|         alias_method :apply_pretargeting_to_non_guaranteed_deals?, :apply_pretargeting_to_non_guaranteed_deals
 | |
|       
 | |
|         # Your bidder locations that have distinct URLs.
 | |
|         # Corresponds to the JSON property `bidderLocation`
 | |
|         # @return [Array<Google::Apis::AdexchangebuyerV1_4::Account::BidderLocation>]
 | |
|         attr_accessor :bidder_location
 | |
|       
 | |
|         # The nid parameter value used in cookie match requests. Please contact your
 | |
|         # technical account manager if you need to change this.
 | |
|         # Corresponds to the JSON property `cookieMatchingNid`
 | |
|         # @return [String]
 | |
|         attr_accessor :cookie_matching_nid
 | |
|       
 | |
|         # The base URL used in cookie match requests.
 | |
|         # Corresponds to the JSON property `cookieMatchingUrl`
 | |
|         # @return [String]
 | |
|         attr_accessor :cookie_matching_url
 | |
|       
 | |
|         # Account id.
 | |
|         # Corresponds to the JSON property `id`
 | |
|         # @return [Fixnum]
 | |
|         attr_accessor :id
 | |
|       
 | |
|         # Resource type.
 | |
|         # Corresponds to the JSON property `kind`
 | |
|         # @return [String]
 | |
|         attr_accessor :kind
 | |
|       
 | |
|         # The maximum number of active creatives that an account can have, where a
 | |
|         # creative is active if it was inserted or bid with in the last 30 days. Please
 | |
|         # contact your technical account manager if you need to change this.
 | |
|         # Corresponds to the JSON property `maximumActiveCreatives`
 | |
|         # @return [Fixnum]
 | |
|         attr_accessor :maximum_active_creatives
 | |
|       
 | |
|         # The sum of all bidderLocation.maximumQps values cannot exceed this. Please
 | |
|         # contact your technical account manager if you need to change this.
 | |
|         # Corresponds to the JSON property `maximumTotalQps`
 | |
|         # @return [Fixnum]
 | |
|         attr_accessor :maximum_total_qps
 | |
|       
 | |
|         # The number of creatives that this account inserted or bid with in the last 30
 | |
|         # days.
 | |
|         # Corresponds to the JSON property `numberActiveCreatives`
 | |
|         # @return [Fixnum]
 | |
|         attr_accessor :number_active_creatives
 | |
|       
 | |
|         def initialize(**args)
 | |
|            update!(**args)
 | |
|         end
 | |
|       
 | |
|         # Update properties of this object
 | |
|         def update!(**args)
 | |
|           @apply_pretargeting_to_non_guaranteed_deals = args[:apply_pretargeting_to_non_guaranteed_deals] if args.key?(:apply_pretargeting_to_non_guaranteed_deals)
 | |
|           @bidder_location = args[:bidder_location] if args.key?(:bidder_location)
 | |
|           @cookie_matching_nid = args[:cookie_matching_nid] if args.key?(:cookie_matching_nid)
 | |
|           @cookie_matching_url = args[:cookie_matching_url] if args.key?(:cookie_matching_url)
 | |
|           @id = args[:id] if args.key?(:id)
 | |
|           @kind = args[:kind] if args.key?(:kind)
 | |
|           @maximum_active_creatives = args[:maximum_active_creatives] if args.key?(:maximum_active_creatives)
 | |
|           @maximum_total_qps = args[:maximum_total_qps] if args.key?(:maximum_total_qps)
 | |
|           @number_active_creatives = args[:number_active_creatives] if args.key?(:number_active_creatives)
 | |
|         end
 | |
|         
 | |
|         # 
 | |
|         class BidderLocation
 | |
|           include Google::Apis::Core::Hashable
 | |
|         
 | |
|           # The protocol that the bidder endpoint is using. OpenRTB protocols with prefix
 | |
|           # PROTOCOL_OPENRTB_PROTOBUF use proto buffer, otherwise use JSON.  Allowed
 | |
|           # values:
 | |
|           # - PROTOCOL_ADX
 | |
|           # - PROTOCOL_OPENRTB_2_2
 | |
|           # - PROTOCOL_OPENRTB_2_3
 | |
|           # - PROTOCOL_OPENRTB_2_4
 | |
|           # - PROTOCOL_OPENRTB_2_5
 | |
|           # - PROTOCOL_OPENRTB_PROTOBUF_2_3
 | |
|           # - PROTOCOL_OPENRTB_PROTOBUF_2_4
 | |
|           # - PROTOCOL_OPENRTB_PROTOBUF_2_5
 | |
|           # Corresponds to the JSON property `bidProtocol`
 | |
|           # @return [String]
 | |
|           attr_accessor :bid_protocol
 | |
|         
 | |
|           # The maximum queries per second the Ad Exchange will send.
 | |
|           # Corresponds to the JSON property `maximumQps`
 | |
|           # @return [Fixnum]
 | |
|           attr_accessor :maximum_qps
 | |
|         
 | |
|           # The geographical region the Ad Exchange should send requests from. Only used
 | |
|           # by some quota systems, but always setting the value is recommended. Allowed
 | |
|           # values:
 | |
|           # - ASIA
 | |
|           # - EUROPE
 | |
|           # - US_EAST
 | |
|           # - US_WEST
 | |
|           # Corresponds to the JSON property `region`
 | |
|           # @return [String]
 | |
|           attr_accessor :region
 | |
|         
 | |
|           # The URL to which the Ad Exchange will send bid requests.
 | |
|           # Corresponds to the JSON property `url`
 | |
|           # @return [String]
 | |
|           attr_accessor :url
 | |
|         
 | |
|           def initialize(**args)
 | |
|              update!(**args)
 | |
|           end
 | |
|         
 | |
|           # Update properties of this object
 | |
|           def update!(**args)
 | |
|             @bid_protocol = args[:bid_protocol] if args.key?(:bid_protocol)
 | |
|             @maximum_qps = args[:maximum_qps] if args.key?(:maximum_qps)
 | |
|             @region = args[:region] if args.key?(:region)
 | |
|             @url = args[:url] if args.key?(:url)
 | |
|           end
 | |
|         end
 | |
|       end
 | |
|       
 | |
|       # An account feed lists Ad Exchange buyer accounts that the user has access to.
 | |
|       # Each entry in the feed corresponds to a single buyer account.
 | |
|       class AccountsList
 | |
|         include Google::Apis::Core::Hashable
 | |
|       
 | |
|         # A list of accounts.
 | |
|         # Corresponds to the JSON property `items`
 | |
|         # @return [Array<Google::Apis::AdexchangebuyerV1_4::Account>]
 | |
|         attr_accessor :items
 | |
|       
 | |
|         # Resource type.
 | |
|         # Corresponds to the JSON property `kind`
 | |
|         # @return [String]
 | |
|         attr_accessor :kind
 | |
|       
 | |
|         def initialize(**args)
 | |
|            update!(**args)
 | |
|         end
 | |
|       
 | |
|         # Update properties of this object
 | |
|         def update!(**args)
 | |
|           @items = args[:items] if args.key?(:items)
 | |
|           @kind = args[:kind] if args.key?(:kind)
 | |
|         end
 | |
|       end
 | |
|       
 | |
|       # 
 | |
|       class AddOrderDealsRequest
 | |
|         include Google::Apis::Core::Hashable
 | |
|       
 | |
|         # The list of deals to add
 | |
|         # Corresponds to the JSON property `deals`
 | |
|         # @return [Array<Google::Apis::AdexchangebuyerV1_4::MarketplaceDeal>]
 | |
|         attr_accessor :deals
 | |
|       
 | |
|         # The last known proposal revision number.
 | |
|         # Corresponds to the JSON property `proposalRevisionNumber`
 | |
|         # @return [Fixnum]
 | |
|         attr_accessor :proposal_revision_number
 | |
|       
 | |
|         # Indicates an optional action to take on the proposal
 | |
|         # Corresponds to the JSON property `updateAction`
 | |
|         # @return [String]
 | |
|         attr_accessor :update_action
 | |
|       
 | |
|         def initialize(**args)
 | |
|            update!(**args)
 | |
|         end
 | |
|       
 | |
|         # Update properties of this object
 | |
|         def update!(**args)
 | |
|           @deals = args[:deals] if args.key?(:deals)
 | |
|           @proposal_revision_number = args[:proposal_revision_number] if args.key?(:proposal_revision_number)
 | |
|           @update_action = args[:update_action] if args.key?(:update_action)
 | |
|         end
 | |
|       end
 | |
|       
 | |
|       # 
 | |
|       class AddOrderDealsResponse
 | |
|         include Google::Apis::Core::Hashable
 | |
|       
 | |
|         # List of deals added (in the same proposal as passed in the request)
 | |
|         # Corresponds to the JSON property `deals`
 | |
|         # @return [Array<Google::Apis::AdexchangebuyerV1_4::MarketplaceDeal>]
 | |
|         attr_accessor :deals
 | |
|       
 | |
|         # The updated revision number for the proposal.
 | |
|         # Corresponds to the JSON property `proposalRevisionNumber`
 | |
|         # @return [Fixnum]
 | |
|         attr_accessor :proposal_revision_number
 | |
|       
 | |
|         def initialize(**args)
 | |
|            update!(**args)
 | |
|         end
 | |
|       
 | |
|         # Update properties of this object
 | |
|         def update!(**args)
 | |
|           @deals = args[:deals] if args.key?(:deals)
 | |
|           @proposal_revision_number = args[:proposal_revision_number] if args.key?(:proposal_revision_number)
 | |
|         end
 | |
|       end
 | |
|       
 | |
|       # 
 | |
|       class AddOrderNotesRequest
 | |
|         include Google::Apis::Core::Hashable
 | |
|       
 | |
|         # The list of notes to add.
 | |
|         # Corresponds to the JSON property `notes`
 | |
|         # @return [Array<Google::Apis::AdexchangebuyerV1_4::MarketplaceNote>]
 | |
|         attr_accessor :notes
 | |
|       
 | |
|         def initialize(**args)
 | |
|            update!(**args)
 | |
|         end
 | |
|       
 | |
|         # Update properties of this object
 | |
|         def update!(**args)
 | |
|           @notes = args[:notes] if args.key?(:notes)
 | |
|         end
 | |
|       end
 | |
|       
 | |
|       # 
 | |
|       class AddOrderNotesResponse
 | |
|         include Google::Apis::Core::Hashable
 | |
|       
 | |
|         # 
 | |
|         # Corresponds to the JSON property `notes`
 | |
|         # @return [Array<Google::Apis::AdexchangebuyerV1_4::MarketplaceNote>]
 | |
|         attr_accessor :notes
 | |
|       
 | |
|         def initialize(**args)
 | |
|            update!(**args)
 | |
|         end
 | |
|       
 | |
|         # Update properties of this object
 | |
|         def update!(**args)
 | |
|           @notes = args[:notes] if args.key?(:notes)
 | |
|         end
 | |
|       end
 | |
|       
 | |
|       # The configuration data for an Ad Exchange billing info.
 | |
|       class BillingInfo
 | |
|         include Google::Apis::Core::Hashable
 | |
|       
 | |
|         # Account id.
 | |
|         # Corresponds to the JSON property `accountId`
 | |
|         # @return [Fixnum]
 | |
|         attr_accessor :account_id
 | |
|       
 | |
|         # Account name.
 | |
|         # Corresponds to the JSON property `accountName`
 | |
|         # @return [String]
 | |
|         attr_accessor :account_name
 | |
|       
 | |
|         # A list of adgroup IDs associated with this particular account. These IDs may
 | |
|         # show up as part of a realtime bidding BidRequest, which indicates a bid
 | |
|         # request for this account.
 | |
|         # Corresponds to the JSON property `billingId`
 | |
|         # @return [Array<String>]
 | |
|         attr_accessor :billing_id
 | |
|       
 | |
|         # Resource type.
 | |
|         # Corresponds to the JSON property `kind`
 | |
|         # @return [String]
 | |
|         attr_accessor :kind
 | |
|       
 | |
|         def initialize(**args)
 | |
|            update!(**args)
 | |
|         end
 | |
|       
 | |
|         # Update properties of this object
 | |
|         def update!(**args)
 | |
|           @account_id = args[:account_id] if args.key?(:account_id)
 | |
|           @account_name = args[:account_name] if args.key?(:account_name)
 | |
|           @billing_id = args[:billing_id] if args.key?(:billing_id)
 | |
|           @kind = args[:kind] if args.key?(:kind)
 | |
|         end
 | |
|       end
 | |
|       
 | |
|       # A billing info feed lists Billing Info the Ad Exchange buyer account has
 | |
|       # access to. Each entry in the feed corresponds to a single billing info.
 | |
|       class BillingInfoList
 | |
|         include Google::Apis::Core::Hashable
 | |
|       
 | |
|         # A list of billing info relevant for your account.
 | |
|         # Corresponds to the JSON property `items`
 | |
|         # @return [Array<Google::Apis::AdexchangebuyerV1_4::BillingInfo>]
 | |
|         attr_accessor :items
 | |
|       
 | |
|         # Resource type.
 | |
|         # Corresponds to the JSON property `kind`
 | |
|         # @return [String]
 | |
|         attr_accessor :kind
 | |
|       
 | |
|         def initialize(**args)
 | |
|            update!(**args)
 | |
|         end
 | |
|       
 | |
|         # Update properties of this object
 | |
|         def update!(**args)
 | |
|           @items = args[:items] if args.key?(:items)
 | |
|           @kind = args[:kind] if args.key?(:kind)
 | |
|         end
 | |
|       end
 | |
|       
 | |
|       # The configuration data for Ad Exchange RTB - Budget API.
 | |
|       class Budget
 | |
|         include Google::Apis::Core::Hashable
 | |
|       
 | |
|         # The id of the account. This is required for get and update requests.
 | |
|         # Corresponds to the JSON property `accountId`
 | |
|         # @return [Fixnum]
 | |
|         attr_accessor :account_id
 | |
|       
 | |
|         # The billing id to determine which adgroup to provide budget information for.
 | |
|         # This is required for get and update requests.
 | |
|         # Corresponds to the JSON property `billingId`
 | |
|         # @return [Fixnum]
 | |
|         attr_accessor :billing_id
 | |
|       
 | |
|         # The daily budget amount in unit amount of the account currency to apply for
 | |
|         # the billingId provided. This is required for update requests.
 | |
|         # Corresponds to the JSON property `budgetAmount`
 | |
|         # @return [Fixnum]
 | |
|         attr_accessor :budget_amount
 | |
|       
 | |
|         # The currency code for the buyer. This cannot be altered here.
 | |
|         # Corresponds to the JSON property `currencyCode`
 | |
|         # @return [String]
 | |
|         attr_accessor :currency_code
 | |
|       
 | |
|         # The unique id that describes this item.
 | |
|         # Corresponds to the JSON property `id`
 | |
|         # @return [String]
 | |
|         attr_accessor :id
 | |
|       
 | |
|         # The kind of the resource, i.e. "adexchangebuyer#budget".
 | |
|         # Corresponds to the JSON property `kind`
 | |
|         # @return [String]
 | |
|         attr_accessor :kind
 | |
|       
 | |
|         def initialize(**args)
 | |
|            update!(**args)
 | |
|         end
 | |
|       
 | |
|         # Update properties of this object
 | |
|         def update!(**args)
 | |
|           @account_id = args[:account_id] if args.key?(:account_id)
 | |
|           @billing_id = args[:billing_id] if args.key?(:billing_id)
 | |
|           @budget_amount = args[:budget_amount] if args.key?(:budget_amount)
 | |
|           @currency_code = args[:currency_code] if args.key?(:currency_code)
 | |
|           @id = args[:id] if args.key?(:id)
 | |
|           @kind = args[:kind] if args.key?(:kind)
 | |
|         end
 | |
|       end
 | |
|       
 | |
|       # 
 | |
|       class Buyer
 | |
|         include Google::Apis::Core::Hashable
 | |
|       
 | |
|         # Adx account id of the buyer.
 | |
|         # Corresponds to the JSON property `accountId`
 | |
|         # @return [String]
 | |
|         attr_accessor :account_id
 | |
|       
 | |
|         def initialize(**args)
 | |
|            update!(**args)
 | |
|         end
 | |
|       
 | |
|         # Update properties of this object
 | |
|         def update!(**args)
 | |
|           @account_id = args[:account_id] if args.key?(:account_id)
 | |
|         end
 | |
|       end
 | |
|       
 | |
|       # 
 | |
|       class ContactInformation
 | |
|         include Google::Apis::Core::Hashable
 | |
|       
 | |
|         # Email address of the contact.
 | |
|         # Corresponds to the JSON property `email`
 | |
|         # @return [String]
 | |
|         attr_accessor :email
 | |
|       
 | |
|         # The name of the contact.
 | |
|         # Corresponds to the JSON property `name`
 | |
|         # @return [String]
 | |
|         attr_accessor :name
 | |
|       
 | |
|         def initialize(**args)
 | |
|            update!(**args)
 | |
|         end
 | |
|       
 | |
|         # Update properties of this object
 | |
|         def update!(**args)
 | |
|           @email = args[:email] if args.key?(:email)
 | |
|           @name = args[:name] if args.key?(:name)
 | |
|         end
 | |
|       end
 | |
|       
 | |
|       # 
 | |
|       class CreateOrdersRequest
 | |
|         include Google::Apis::Core::Hashable
 | |
|       
 | |
|         # The list of proposals to create.
 | |
|         # Corresponds to the JSON property `proposals`
 | |
|         # @return [Array<Google::Apis::AdexchangebuyerV1_4::Proposal>]
 | |
|         attr_accessor :proposals
 | |
|       
 | |
|         # Web property id of the seller creating these orders
 | |
|         # Corresponds to the JSON property `webPropertyCode`
 | |
|         # @return [String]
 | |
|         attr_accessor :web_property_code
 | |
|       
 | |
|         def initialize(**args)
 | |
|            update!(**args)
 | |
|         end
 | |
|       
 | |
|         # Update properties of this object
 | |
|         def update!(**args)
 | |
|           @proposals = args[:proposals] if args.key?(:proposals)
 | |
|           @web_property_code = args[:web_property_code] if args.key?(:web_property_code)
 | |
|         end
 | |
|       end
 | |
|       
 | |
|       # 
 | |
|       class CreateOrdersResponse
 | |
|         include Google::Apis::Core::Hashable
 | |
|       
 | |
|         # The list of proposals successfully created.
 | |
|         # Corresponds to the JSON property `proposals`
 | |
|         # @return [Array<Google::Apis::AdexchangebuyerV1_4::Proposal>]
 | |
|         attr_accessor :proposals
 | |
|       
 | |
|         def initialize(**args)
 | |
|            update!(**args)
 | |
|         end
 | |
|       
 | |
|         # Update properties of this object
 | |
|         def update!(**args)
 | |
|           @proposals = args[:proposals] if args.key?(:proposals)
 | |
|         end
 | |
|       end
 | |
|       
 | |
|       # A creative and its classification data.
 | |
|       class Creative
 | |
|         include Google::Apis::Core::Hashable
 | |
|       
 | |
|         # The HTML snippet that displays the ad when inserted in the web page. If set,
 | |
|         # videoURL, videoVastXML, and nativeAd should not be set.
 | |
|         # Corresponds to the JSON property `HTMLSnippet`
 | |
|         # @return [String]
 | |
|         attr_accessor :html_snippet
 | |
|       
 | |
|         # Account id.
 | |
|         # Corresponds to the JSON property `accountId`
 | |
|         # @return [Fixnum]
 | |
|         attr_accessor :account_id
 | |
|       
 | |
|         # The link to the Ad Preferences page. This is only supported for native ads.
 | |
|         # Corresponds to the JSON property `adChoicesDestinationUrl`
 | |
|         # @return [String]
 | |
|         attr_accessor :ad_choices_destination_url
 | |
|       
 | |
|         # 
 | |
|         # Corresponds to the JSON property `adTechnologyProviders`
 | |
|         # @return [Google::Apis::AdexchangebuyerV1_4::Creative::AdTechnologyProviders]
 | |
|         attr_accessor :ad_technology_providers
 | |
|       
 | |
|         # Detected advertiser id, if any. Read-only. This field should not be set in
 | |
|         # requests.
 | |
|         # Corresponds to the JSON property `advertiserId`
 | |
|         # @return [Array<Fixnum>]
 | |
|         attr_accessor :advertiser_id
 | |
|       
 | |
|         # The name of the company being advertised in the creative. A list of
 | |
|         # advertisers is provided in the advertisers.txt file.
 | |
|         # Corresponds to the JSON property `advertiserName`
 | |
|         # @return [String]
 | |
|         attr_accessor :advertiser_name
 | |
|       
 | |
|         # The agency id for this creative.
 | |
|         # Corresponds to the JSON property `agencyId`
 | |
|         # @return [Fixnum]
 | |
|         attr_accessor :agency_id
 | |
|       
 | |
|         # The last upload timestamp of this creative if it was uploaded via API. Read-
 | |
|         # only. The value of this field is generated, and will be ignored for uploads. (
 | |
|         # formatted RFC 3339 timestamp).
 | |
|         # Corresponds to the JSON property `apiUploadTimestamp`
 | |
|         # @return [DateTime]
 | |
|         attr_accessor :api_upload_timestamp
 | |
|       
 | |
|         # List of buyer selectable attributes for the ads that may be shown from this
 | |
|         # snippet. Each attribute is represented by an integer as defined in  buyer-
 | |
|         # declarable-creative-attributes.txt.
 | |
|         # Corresponds to the JSON property `attribute`
 | |
|         # @return [Array<Fixnum>]
 | |
|         attr_accessor :attribute
 | |
|       
 | |
|         # A buyer-specific id identifying the creative in this ad.
 | |
|         # Corresponds to the JSON property `buyerCreativeId`
 | |
|         # @return [String]
 | |
|         attr_accessor :buyer_creative_id
 | |
|       
 | |
|         # The set of destination urls for the snippet.
 | |
|         # Corresponds to the JSON property `clickThroughUrl`
 | |
|         # @return [Array<String>]
 | |
|         attr_accessor :click_through_url
 | |
|       
 | |
|         # Shows any corrections that were applied to this creative. Read-only. This
 | |
|         # field should not be set in requests.
 | |
|         # Corresponds to the JSON property `corrections`
 | |
|         # @return [Array<Google::Apis::AdexchangebuyerV1_4::Creative::Correction>]
 | |
|         attr_accessor :corrections
 | |
|       
 | |
|         # Creative status identity type that the creative item applies to. Ad Exchange
 | |
|         # real-time bidding is migrating to the sizeless creative verification.
 | |
|         # Originally, Ad Exchange assigned creative verification status to a unique
 | |
|         # combination of a buyer creative ID and creative dimensions. Post-migration, a
 | |
|         # single verification status will be assigned at the buyer creative ID level.
 | |
|         # This field allows to distinguish whether a given creative status applies to a
 | |
|         # unique combination of a buyer creative ID and creative dimensions, or to a
 | |
|         # buyer creative ID as a whole.
 | |
|         # Corresponds to the JSON property `creativeStatusIdentityType`
 | |
|         # @return [String]
 | |
|         attr_accessor :creative_status_identity_type
 | |
|       
 | |
|         # Top-level deals status. Read-only. This field should not be set in requests.
 | |
|         # If disapproved, an entry for auctionType=DIRECT_DEALS (or ALL) in
 | |
|         # servingRestrictions will also exist. Note that this may be nuanced with other
 | |
|         # contextual restrictions, in which case it may be preferable to read from
 | |
|         # servingRestrictions directly.
 | |
|         # Corresponds to the JSON property `dealsStatus`
 | |
|         # @return [String]
 | |
|         attr_accessor :deals_status
 | |
|       
 | |
|         # Detected domains for this creative. Read-only. This field should not be set in
 | |
|         # requests.
 | |
|         # Corresponds to the JSON property `detectedDomains`
 | |
|         # @return [Array<String>]
 | |
|         attr_accessor :detected_domains
 | |
|       
 | |
|         # The filtering reasons for the creative. Read-only. This field should not be
 | |
|         # set in requests.
 | |
|         # Corresponds to the JSON property `filteringReasons`
 | |
|         # @return [Google::Apis::AdexchangebuyerV1_4::Creative::FilteringReasons]
 | |
|         attr_accessor :filtering_reasons
 | |
|       
 | |
|         # Ad height.
 | |
|         # Corresponds to the JSON property `height`
 | |
|         # @return [Fixnum]
 | |
|         attr_accessor :height
 | |
|       
 | |
|         # The set of urls to be called to record an impression.
 | |
|         # Corresponds to the JSON property `impressionTrackingUrl`
 | |
|         # @return [Array<String>]
 | |
|         attr_accessor :impression_tracking_url
 | |
|       
 | |
|         # Resource type.
 | |
|         # Corresponds to the JSON property `kind`
 | |
|         # @return [String]
 | |
|         attr_accessor :kind
 | |
|       
 | |
|         # Detected languages for this creative. Read-only. This field should not be set
 | |
|         # in requests.
 | |
|         # Corresponds to the JSON property `languages`
 | |
|         # @return [Array<String>]
 | |
|         attr_accessor :languages
 | |
|       
 | |
|         # If nativeAd is set, HTMLSnippet, videoVastXML, and the videoURL outside of
 | |
|         # nativeAd should not be set. (The videoURL inside nativeAd can be set.)
 | |
|         # Corresponds to the JSON property `nativeAd`
 | |
|         # @return [Google::Apis::AdexchangebuyerV1_4::Creative::NativeAd]
 | |
|         attr_accessor :native_ad
 | |
|       
 | |
|         # Top-level open auction status. Read-only. This field should not be set in
 | |
|         # requests. If disapproved, an entry for auctionType=OPEN_AUCTION (or ALL) in
 | |
|         # servingRestrictions will also exist. Note that this may be nuanced with other
 | |
|         # contextual restrictions, in which case it may be preferable to read from
 | |
|         # ServingRestrictions directly.
 | |
|         # Corresponds to the JSON property `openAuctionStatus`
 | |
|         # @return [String]
 | |
|         attr_accessor :open_auction_status
 | |
|       
 | |
|         # Detected product categories, if any. Each category is represented by an
 | |
|         # integer as defined in  ad-product-categories.txt. Read-only. This field should
 | |
|         # not be set in requests.
 | |
|         # Corresponds to the JSON property `productCategories`
 | |
|         # @return [Array<Fixnum>]
 | |
|         attr_accessor :product_categories
 | |
|       
 | |
|         # All restricted categories for the ads that may be shown from this snippet.
 | |
|         # Each category is represented by an integer as defined in the  ad-restricted-
 | |
|         # categories.txt.
 | |
|         # Corresponds to the JSON property `restrictedCategories`
 | |
|         # @return [Array<Fixnum>]
 | |
|         attr_accessor :restricted_categories
 | |
|       
 | |
|         # Detected sensitive categories, if any. Each category is represented by an
 | |
|         # integer as defined in  ad-sensitive-categories.txt. Read-only. This field
 | |
|         # should not be set in requests.
 | |
|         # Corresponds to the JSON property `sensitiveCategories`
 | |
|         # @return [Array<Fixnum>]
 | |
|         attr_accessor :sensitive_categories
 | |
|       
 | |
|         # The granular status of this ad in specific contexts. A context here relates to
 | |
|         # where something ultimately serves (for example, a physical location, a
 | |
|         # platform, an HTTPS vs HTTP request, or the type of auction). Read-only. This
 | |
|         # field should not be set in requests. See the examples in the Creatives guide
 | |
|         # for more details.
 | |
|         # Corresponds to the JSON property `servingRestrictions`
 | |
|         # @return [Array<Google::Apis::AdexchangebuyerV1_4::Creative::ServingRestriction>]
 | |
|         attr_accessor :serving_restrictions
 | |
|       
 | |
|         # List of vendor types for the ads that may be shown from this snippet. Each
 | |
|         # vendor type is represented by an integer as defined in vendors.txt.
 | |
|         # Corresponds to the JSON property `vendorType`
 | |
|         # @return [Array<Fixnum>]
 | |
|         attr_accessor :vendor_type
 | |
|       
 | |
|         # The version for this creative. Read-only. This field should not be set in
 | |
|         # requests.
 | |
|         # Corresponds to the JSON property `version`
 | |
|         # @return [Fixnum]
 | |
|         attr_accessor :version
 | |
|       
 | |
|         # The URL to fetch a video ad. If set, HTMLSnippet, videoVastXML, and nativeAd
 | |
|         # should not be set. Note, this is different from resource.native_ad.video_url
 | |
|         # above.
 | |
|         # Corresponds to the JSON property `videoURL`
 | |
|         # @return [String]
 | |
|         attr_accessor :video_url
 | |
|       
 | |
|         # The contents of a VAST document for a video ad. This document should conform
 | |
|         # to the VAST 2.0 or 3.0 standard. If set, HTMLSnippet, videoURL, and nativeAd
 | |
|         # and should not be set.
 | |
|         # Corresponds to the JSON property `videoVastXML`
 | |
|         # @return [String]
 | |
|         attr_accessor :video_vast_xml
 | |
|       
 | |
|         # Ad width.
 | |
|         # Corresponds to the JSON property `width`
 | |
|         # @return [Fixnum]
 | |
|         attr_accessor :width
 | |
|       
 | |
|         def initialize(**args)
 | |
|            update!(**args)
 | |
|         end
 | |
|       
 | |
|         # Update properties of this object
 | |
|         def update!(**args)
 | |
|           @html_snippet = args[:html_snippet] if args.key?(:html_snippet)
 | |
|           @account_id = args[:account_id] if args.key?(:account_id)
 | |
|           @ad_choices_destination_url = args[:ad_choices_destination_url] if args.key?(:ad_choices_destination_url)
 | |
|           @ad_technology_providers = args[:ad_technology_providers] if args.key?(:ad_technology_providers)
 | |
|           @advertiser_id = args[:advertiser_id] if args.key?(:advertiser_id)
 | |
|           @advertiser_name = args[:advertiser_name] if args.key?(:advertiser_name)
 | |
|           @agency_id = args[:agency_id] if args.key?(:agency_id)
 | |
|           @api_upload_timestamp = args[:api_upload_timestamp] if args.key?(:api_upload_timestamp)
 | |
|           @attribute = args[:attribute] if args.key?(:attribute)
 | |
|           @buyer_creative_id = args[:buyer_creative_id] if args.key?(:buyer_creative_id)
 | |
|           @click_through_url = args[:click_through_url] if args.key?(:click_through_url)
 | |
|           @corrections = args[:corrections] if args.key?(:corrections)
 | |
|           @creative_status_identity_type = args[:creative_status_identity_type] if args.key?(:creative_status_identity_type)
 | |
|           @deals_status = args[:deals_status] if args.key?(:deals_status)
 | |
|           @detected_domains = args[:detected_domains] if args.key?(:detected_domains)
 | |
|           @filtering_reasons = args[:filtering_reasons] if args.key?(:filtering_reasons)
 | |
|           @height = args[:height] if args.key?(:height)
 | |
|           @impression_tracking_url = args[:impression_tracking_url] if args.key?(:impression_tracking_url)
 | |
|           @kind = args[:kind] if args.key?(:kind)
 | |
|           @languages = args[:languages] if args.key?(:languages)
 | |
|           @native_ad = args[:native_ad] if args.key?(:native_ad)
 | |
|           @open_auction_status = args[:open_auction_status] if args.key?(:open_auction_status)
 | |
|           @product_categories = args[:product_categories] if args.key?(:product_categories)
 | |
|           @restricted_categories = args[:restricted_categories] if args.key?(:restricted_categories)
 | |
|           @sensitive_categories = args[:sensitive_categories] if args.key?(:sensitive_categories)
 | |
|           @serving_restrictions = args[:serving_restrictions] if args.key?(:serving_restrictions)
 | |
|           @vendor_type = args[:vendor_type] if args.key?(:vendor_type)
 | |
|           @version = args[:version] if args.key?(:version)
 | |
|           @video_url = args[:video_url] if args.key?(:video_url)
 | |
|           @video_vast_xml = args[:video_vast_xml] if args.key?(:video_vast_xml)
 | |
|           @width = args[:width] if args.key?(:width)
 | |
|         end
 | |
|         
 | |
|         # 
 | |
|         class AdTechnologyProviders
 | |
|           include Google::Apis::Core::Hashable
 | |
|         
 | |
|           # The detected ad technology provider IDs for this creative. See https://storage.
 | |
|           # googleapis.com/adx-rtb-dictionaries/providers.csv for mapping of provider ID
 | |
|           # to provided name, a privacy policy URL, and a list of domains which can be
 | |
|           # attributed to the provider. If this creative contains provider IDs that are
 | |
|           # outside of those listed in the `BidRequest.adslot.consented_providers_settings.
 | |
|           # consented_providers` field on the  Authorized Buyers Real-Time Bidding
 | |
|           # protocol or the `BidRequest.user.ext.consented_providers_settings.
 | |
|           # consented_providers` field on the OpenRTB protocol, a bid submitted for a
 | |
|           # European Economic Area (EEA) user with this creative is not compliant with the
 | |
|           # GDPR policies as mentioned in the "Third-party Ad Technology Vendors" section
 | |
|           # of Authorized Buyers Program Guidelines.
 | |
|           # Corresponds to the JSON property `detectedProviderIds`
 | |
|           # @return [Array<Fixnum>]
 | |
|           attr_accessor :detected_provider_ids
 | |
|         
 | |
|           # Whether the creative contains an unidentified ad technology provider. If true,
 | |
|           # a bid submitted for a European Economic Area (EEA) user with this creative is
 | |
|           # not compliant with the GDPR policies as mentioned in the "Third-party Ad
 | |
|           # Technology Vendors" section of Authorized Buyers Program Guidelines.
 | |
|           # Corresponds to the JSON property `hasUnidentifiedProvider`
 | |
|           # @return [Boolean]
 | |
|           attr_accessor :has_unidentified_provider
 | |
|           alias_method :has_unidentified_provider?, :has_unidentified_provider
 | |
|         
 | |
|           def initialize(**args)
 | |
|              update!(**args)
 | |
|           end
 | |
|         
 | |
|           # Update properties of this object
 | |
|           def update!(**args)
 | |
|             @detected_provider_ids = args[:detected_provider_ids] if args.key?(:detected_provider_ids)
 | |
|             @has_unidentified_provider = args[:has_unidentified_provider] if args.key?(:has_unidentified_provider)
 | |
|           end
 | |
|         end
 | |
|         
 | |
|         # 
 | |
|         class Correction
 | |
|           include Google::Apis::Core::Hashable
 | |
|         
 | |
|           # All known serving contexts containing serving status information.
 | |
|           # Corresponds to the JSON property `contexts`
 | |
|           # @return [Array<Google::Apis::AdexchangebuyerV1_4::Creative::Correction::Context>]
 | |
|           attr_accessor :contexts
 | |
|         
 | |
|           # Additional details about the correction.
 | |
|           # Corresponds to the JSON property `details`
 | |
|           # @return [Array<String>]
 | |
|           attr_accessor :details
 | |
|         
 | |
|           # The type of correction that was applied to the creative.
 | |
|           # Corresponds to the JSON property `reason`
 | |
|           # @return [String]
 | |
|           attr_accessor :reason
 | |
|         
 | |
|           def initialize(**args)
 | |
|              update!(**args)
 | |
|           end
 | |
|         
 | |
|           # Update properties of this object
 | |
|           def update!(**args)
 | |
|             @contexts = args[:contexts] if args.key?(:contexts)
 | |
|             @details = args[:details] if args.key?(:details)
 | |
|             @reason = args[:reason] if args.key?(:reason)
 | |
|           end
 | |
|           
 | |
|           # 
 | |
|           class Context
 | |
|             include Google::Apis::Core::Hashable
 | |
|           
 | |
|             # Only set when contextType=AUCTION_TYPE. Represents the auction types this
 | |
|             # correction applies to.
 | |
|             # Corresponds to the JSON property `auctionType`
 | |
|             # @return [Array<String>]
 | |
|             attr_accessor :auction_type
 | |
|           
 | |
|             # The type of context (e.g., location, platform, auction type, SSL-ness).
 | |
|             # Corresponds to the JSON property `contextType`
 | |
|             # @return [String]
 | |
|             attr_accessor :context_type
 | |
|           
 | |
|             # Only set when contextType=LOCATION. Represents the geo criterias this
 | |
|             # correction applies to.
 | |
|             # Corresponds to the JSON property `geoCriteriaId`
 | |
|             # @return [Array<Fixnum>]
 | |
|             attr_accessor :geo_criteria_id
 | |
|           
 | |
|             # Only set when contextType=PLATFORM. Represents the platforms this correction
 | |
|             # applies to.
 | |
|             # Corresponds to the JSON property `platform`
 | |
|             # @return [Array<String>]
 | |
|             attr_accessor :platform
 | |
|           
 | |
|             def initialize(**args)
 | |
|                update!(**args)
 | |
|             end
 | |
|           
 | |
|             # Update properties of this object
 | |
|             def update!(**args)
 | |
|               @auction_type = args[:auction_type] if args.key?(:auction_type)
 | |
|               @context_type = args[:context_type] if args.key?(:context_type)
 | |
|               @geo_criteria_id = args[:geo_criteria_id] if args.key?(:geo_criteria_id)
 | |
|               @platform = args[:platform] if args.key?(:platform)
 | |
|             end
 | |
|           end
 | |
|         end
 | |
|         
 | |
|         # The filtering reasons for the creative. Read-only. This field should not be
 | |
|         # set in requests.
 | |
|         class FilteringReasons
 | |
|           include Google::Apis::Core::Hashable
 | |
|         
 | |
|           # The date in ISO 8601 format for the data. The data is collected from 00:00:00
 | |
|           # to 23:59:59 in PST.
 | |
|           # Corresponds to the JSON property `date`
 | |
|           # @return [String]
 | |
|           attr_accessor :date
 | |
|         
 | |
|           # The filtering reasons.
 | |
|           # Corresponds to the JSON property `reasons`
 | |
|           # @return [Array<Google::Apis::AdexchangebuyerV1_4::Creative::FilteringReasons::Reason>]
 | |
|           attr_accessor :reasons
 | |
|         
 | |
|           def initialize(**args)
 | |
|              update!(**args)
 | |
|           end
 | |
|         
 | |
|           # Update properties of this object
 | |
|           def update!(**args)
 | |
|             @date = args[:date] if args.key?(:date)
 | |
|             @reasons = args[:reasons] if args.key?(:reasons)
 | |
|           end
 | |
|           
 | |
|           # 
 | |
|           class Reason
 | |
|             include Google::Apis::Core::Hashable
 | |
|           
 | |
|             # The number of times the creative was filtered for the status. The count is
 | |
|             # aggregated across all publishers on the exchange.
 | |
|             # Corresponds to the JSON property `filteringCount`
 | |
|             # @return [Fixnum]
 | |
|             attr_accessor :filtering_count
 | |
|           
 | |
|             # The filtering status code as defined in  creative-status-codes.txt.
 | |
|             # Corresponds to the JSON property `filteringStatus`
 | |
|             # @return [Fixnum]
 | |
|             attr_accessor :filtering_status
 | |
|           
 | |
|             def initialize(**args)
 | |
|                update!(**args)
 | |
|             end
 | |
|           
 | |
|             # Update properties of this object
 | |
|             def update!(**args)
 | |
|               @filtering_count = args[:filtering_count] if args.key?(:filtering_count)
 | |
|               @filtering_status = args[:filtering_status] if args.key?(:filtering_status)
 | |
|             end
 | |
|           end
 | |
|         end
 | |
|         
 | |
|         # If nativeAd is set, HTMLSnippet, videoVastXML, and the videoURL outside of
 | |
|         # nativeAd should not be set. (The videoURL inside nativeAd can be set.)
 | |
|         class NativeAd
 | |
|           include Google::Apis::Core::Hashable
 | |
|         
 | |
|           # 
 | |
|           # Corresponds to the JSON property `advertiser`
 | |
|           # @return [String]
 | |
|           attr_accessor :advertiser
 | |
|         
 | |
|           # The app icon, for app download ads.
 | |
|           # Corresponds to the JSON property `appIcon`
 | |
|           # @return [Google::Apis::AdexchangebuyerV1_4::Creative::NativeAd::AppIcon]
 | |
|           attr_accessor :app_icon
 | |
|         
 | |
|           # A long description of the ad.
 | |
|           # Corresponds to the JSON property `body`
 | |
|           # @return [String]
 | |
|           attr_accessor :body
 | |
|         
 | |
|           # A label for the button that the user is supposed to click.
 | |
|           # Corresponds to the JSON property `callToAction`
 | |
|           # @return [String]
 | |
|           attr_accessor :call_to_action
 | |
|         
 | |
|           # The URL that the browser/SDK will load when the user clicks the ad.
 | |
|           # Corresponds to the JSON property `clickLinkUrl`
 | |
|           # @return [String]
 | |
|           attr_accessor :click_link_url
 | |
|         
 | |
|           # The URL to use for click tracking.
 | |
|           # Corresponds to the JSON property `clickTrackingUrl`
 | |
|           # @return [String]
 | |
|           attr_accessor :click_tracking_url
 | |
|         
 | |
|           # A short title for the ad.
 | |
|           # Corresponds to the JSON property `headline`
 | |
|           # @return [String]
 | |
|           attr_accessor :headline
 | |
|         
 | |
|           # A large image.
 | |
|           # Corresponds to the JSON property `image`
 | |
|           # @return [Google::Apis::AdexchangebuyerV1_4::Creative::NativeAd::Image]
 | |
|           attr_accessor :image
 | |
|         
 | |
|           # The URLs are called when the impression is rendered.
 | |
|           # Corresponds to the JSON property `impressionTrackingUrl`
 | |
|           # @return [Array<String>]
 | |
|           attr_accessor :impression_tracking_url
 | |
|         
 | |
|           # A smaller image, for the advertiser logo.
 | |
|           # Corresponds to the JSON property `logo`
 | |
|           # @return [Google::Apis::AdexchangebuyerV1_4::Creative::NativeAd::Logo]
 | |
|           attr_accessor :logo
 | |
|         
 | |
|           # The price of the promoted app including the currency info.
 | |
|           # Corresponds to the JSON property `price`
 | |
|           # @return [String]
 | |
|           attr_accessor :price
 | |
|         
 | |
|           # The app rating in the app store. Must be in the range [0-5].
 | |
|           # Corresponds to the JSON property `starRating`
 | |
|           # @return [Float]
 | |
|           attr_accessor :star_rating
 | |
|         
 | |
|           # The URL of the XML VAST for a native ad. Note this is a separate field from
 | |
|           # resource.video_url.
 | |
|           # Corresponds to the JSON property `videoURL`
 | |
|           # @return [String]
 | |
|           attr_accessor :video_url
 | |
|         
 | |
|           def initialize(**args)
 | |
|              update!(**args)
 | |
|           end
 | |
|         
 | |
|           # Update properties of this object
 | |
|           def update!(**args)
 | |
|             @advertiser = args[:advertiser] if args.key?(:advertiser)
 | |
|             @app_icon = args[:app_icon] if args.key?(:app_icon)
 | |
|             @body = args[:body] if args.key?(:body)
 | |
|             @call_to_action = args[:call_to_action] if args.key?(:call_to_action)
 | |
|             @click_link_url = args[:click_link_url] if args.key?(:click_link_url)
 | |
|             @click_tracking_url = args[:click_tracking_url] if args.key?(:click_tracking_url)
 | |
|             @headline = args[:headline] if args.key?(:headline)
 | |
|             @image = args[:image] if args.key?(:image)
 | |
|             @impression_tracking_url = args[:impression_tracking_url] if args.key?(:impression_tracking_url)
 | |
|             @logo = args[:logo] if args.key?(:logo)
 | |
|             @price = args[:price] if args.key?(:price)
 | |
|             @star_rating = args[:star_rating] if args.key?(:star_rating)
 | |
|             @video_url = args[:video_url] if args.key?(:video_url)
 | |
|           end
 | |
|           
 | |
|           # The app icon, for app download ads.
 | |
|           class AppIcon
 | |
|             include Google::Apis::Core::Hashable
 | |
|           
 | |
|             # 
 | |
|             # Corresponds to the JSON property `height`
 | |
|             # @return [Fixnum]
 | |
|             attr_accessor :height
 | |
|           
 | |
|             # 
 | |
|             # Corresponds to the JSON property `url`
 | |
|             # @return [String]
 | |
|             attr_accessor :url
 | |
|           
 | |
|             # 
 | |
|             # Corresponds to the JSON property `width`
 | |
|             # @return [Fixnum]
 | |
|             attr_accessor :width
 | |
|           
 | |
|             def initialize(**args)
 | |
|                update!(**args)
 | |
|             end
 | |
|           
 | |
|             # Update properties of this object
 | |
|             def update!(**args)
 | |
|               @height = args[:height] if args.key?(:height)
 | |
|               @url = args[:url] if args.key?(:url)
 | |
|               @width = args[:width] if args.key?(:width)
 | |
|             end
 | |
|           end
 | |
|           
 | |
|           # A large image.
 | |
|           class Image
 | |
|             include Google::Apis::Core::Hashable
 | |
|           
 | |
|             # 
 | |
|             # Corresponds to the JSON property `height`
 | |
|             # @return [Fixnum]
 | |
|             attr_accessor :height
 | |
|           
 | |
|             # 
 | |
|             # Corresponds to the JSON property `url`
 | |
|             # @return [String]
 | |
|             attr_accessor :url
 | |
|           
 | |
|             # 
 | |
|             # Corresponds to the JSON property `width`
 | |
|             # @return [Fixnum]
 | |
|             attr_accessor :width
 | |
|           
 | |
|             def initialize(**args)
 | |
|                update!(**args)
 | |
|             end
 | |
|           
 | |
|             # Update properties of this object
 | |
|             def update!(**args)
 | |
|               @height = args[:height] if args.key?(:height)
 | |
|               @url = args[:url] if args.key?(:url)
 | |
|               @width = args[:width] if args.key?(:width)
 | |
|             end
 | |
|           end
 | |
|           
 | |
|           # A smaller image, for the advertiser logo.
 | |
|           class Logo
 | |
|             include Google::Apis::Core::Hashable
 | |
|           
 | |
|             # 
 | |
|             # Corresponds to the JSON property `height`
 | |
|             # @return [Fixnum]
 | |
|             attr_accessor :height
 | |
|           
 | |
|             # 
 | |
|             # Corresponds to the JSON property `url`
 | |
|             # @return [String]
 | |
|             attr_accessor :url
 | |
|           
 | |
|             # 
 | |
|             # Corresponds to the JSON property `width`
 | |
|             # @return [Fixnum]
 | |
|             attr_accessor :width
 | |
|           
 | |
|             def initialize(**args)
 | |
|                update!(**args)
 | |
|             end
 | |
|           
 | |
|             # Update properties of this object
 | |
|             def update!(**args)
 | |
|               @height = args[:height] if args.key?(:height)
 | |
|               @url = args[:url] if args.key?(:url)
 | |
|               @width = args[:width] if args.key?(:width)
 | |
|             end
 | |
|           end
 | |
|         end
 | |
|         
 | |
|         # 
 | |
|         class ServingRestriction
 | |
|           include Google::Apis::Core::Hashable
 | |
|         
 | |
|           # All known contexts/restrictions.
 | |
|           # Corresponds to the JSON property `contexts`
 | |
|           # @return [Array<Google::Apis::AdexchangebuyerV1_4::Creative::ServingRestriction::Context>]
 | |
|           attr_accessor :contexts
 | |
|         
 | |
|           # The reasons for disapproval within this restriction, if any. Note that not all
 | |
|           # disapproval reasons may be categorized, so it is possible for the creative to
 | |
|           # have a status of DISAPPROVED or CONDITIONALLY_APPROVED with an empty list for
 | |
|           # disapproval_reasons. In this case, please reach out to your TAM to help debug
 | |
|           # the issue.
 | |
|           # Corresponds to the JSON property `disapprovalReasons`
 | |
|           # @return [Array<Google::Apis::AdexchangebuyerV1_4::Creative::ServingRestriction::DisapprovalReason>]
 | |
|           attr_accessor :disapproval_reasons
 | |
|         
 | |
|           # Why the creative is ineligible to serve in this context (e.g., it has been
 | |
|           # explicitly disapproved or is pending review).
 | |
|           # Corresponds to the JSON property `reason`
 | |
|           # @return [String]
 | |
|           attr_accessor :reason
 | |
|         
 | |
|           def initialize(**args)
 | |
|              update!(**args)
 | |
|           end
 | |
|         
 | |
|           # Update properties of this object
 | |
|           def update!(**args)
 | |
|             @contexts = args[:contexts] if args.key?(:contexts)
 | |
|             @disapproval_reasons = args[:disapproval_reasons] if args.key?(:disapproval_reasons)
 | |
|             @reason = args[:reason] if args.key?(:reason)
 | |
|           end
 | |
|           
 | |
|           # 
 | |
|           class Context
 | |
|             include Google::Apis::Core::Hashable
 | |
|           
 | |
|             # Only set when contextType=AUCTION_TYPE. Represents the auction types this
 | |
|             # restriction applies to.
 | |
|             # Corresponds to the JSON property `auctionType`
 | |
|             # @return [Array<String>]
 | |
|             attr_accessor :auction_type
 | |
|           
 | |
|             # The type of context (e.g., location, platform, auction type, SSL-ness).
 | |
|             # Corresponds to the JSON property `contextType`
 | |
|             # @return [String]
 | |
|             attr_accessor :context_type
 | |
|           
 | |
|             # Only set when contextType=LOCATION. Represents the geo criterias this
 | |
|             # restriction applies to. Impressions are considered to match a context if
 | |
|             # either the user location or publisher location matches a given geoCriteriaId.
 | |
|             # Corresponds to the JSON property `geoCriteriaId`
 | |
|             # @return [Array<Fixnum>]
 | |
|             attr_accessor :geo_criteria_id
 | |
|           
 | |
|             # Only set when contextType=PLATFORM. Represents the platforms this restriction
 | |
|             # applies to.
 | |
|             # Corresponds to the JSON property `platform`
 | |
|             # @return [Array<String>]
 | |
|             attr_accessor :platform
 | |
|           
 | |
|             def initialize(**args)
 | |
|                update!(**args)
 | |
|             end
 | |
|           
 | |
|             # Update properties of this object
 | |
|             def update!(**args)
 | |
|               @auction_type = args[:auction_type] if args.key?(:auction_type)
 | |
|               @context_type = args[:context_type] if args.key?(:context_type)
 | |
|               @geo_criteria_id = args[:geo_criteria_id] if args.key?(:geo_criteria_id)
 | |
|               @platform = args[:platform] if args.key?(:platform)
 | |
|             end
 | |
|           end
 | |
|           
 | |
|           # 
 | |
|           class DisapprovalReason
 | |
|             include Google::Apis::Core::Hashable
 | |
|           
 | |
|             # Additional details about the reason for disapproval.
 | |
|             # Corresponds to the JSON property `details`
 | |
|             # @return [Array<String>]
 | |
|             attr_accessor :details
 | |
|           
 | |
|             # The categorized reason for disapproval.
 | |
|             # Corresponds to the JSON property `reason`
 | |
|             # @return [String]
 | |
|             attr_accessor :reason
 | |
|           
 | |
|             def initialize(**args)
 | |
|                update!(**args)
 | |
|             end
 | |
|           
 | |
|             # Update properties of this object
 | |
|             def update!(**args)
 | |
|               @details = args[:details] if args.key?(:details)
 | |
|               @reason = args[:reason] if args.key?(:reason)
 | |
|             end
 | |
|           end
 | |
|         end
 | |
|       end
 | |
|       
 | |
|       # The external deal ids associated with a creative.
 | |
|       class CreativeDealIds
 | |
|         include Google::Apis::Core::Hashable
 | |
|       
 | |
|         # A list of external deal ids and ARC approval status.
 | |
|         # Corresponds to the JSON property `dealStatuses`
 | |
|         # @return [Array<Google::Apis::AdexchangebuyerV1_4::CreativeDealIds::DealStatus>]
 | |
|         attr_accessor :deal_statuses
 | |
|       
 | |
|         # Resource type.
 | |
|         # Corresponds to the JSON property `kind`
 | |
|         # @return [String]
 | |
|         attr_accessor :kind
 | |
|       
 | |
|         def initialize(**args)
 | |
|            update!(**args)
 | |
|         end
 | |
|       
 | |
|         # Update properties of this object
 | |
|         def update!(**args)
 | |
|           @deal_statuses = args[:deal_statuses] if args.key?(:deal_statuses)
 | |
|           @kind = args[:kind] if args.key?(:kind)
 | |
|         end
 | |
|         
 | |
|         # 
 | |
|         class DealStatus
 | |
|           include Google::Apis::Core::Hashable
 | |
|         
 | |
|           # ARC approval status.
 | |
|           # Corresponds to the JSON property `arcStatus`
 | |
|           # @return [String]
 | |
|           attr_accessor :arc_status
 | |
|         
 | |
|           # External deal ID.
 | |
|           # Corresponds to the JSON property `dealId`
 | |
|           # @return [Fixnum]
 | |
|           attr_accessor :deal_id
 | |
|         
 | |
|           # Publisher ID.
 | |
|           # Corresponds to the JSON property `webPropertyId`
 | |
|           # @return [Fixnum]
 | |
|           attr_accessor :web_property_id
 | |
|         
 | |
|           def initialize(**args)
 | |
|              update!(**args)
 | |
|           end
 | |
|         
 | |
|           # Update properties of this object
 | |
|           def update!(**args)
 | |
|             @arc_status = args[:arc_status] if args.key?(:arc_status)
 | |
|             @deal_id = args[:deal_id] if args.key?(:deal_id)
 | |
|             @web_property_id = args[:web_property_id] if args.key?(:web_property_id)
 | |
|           end
 | |
|         end
 | |
|       end
 | |
|       
 | |
|       # The creatives feed lists the active creatives for the Ad Exchange buyer
 | |
|       # accounts that the user has access to. Each entry in the feed corresponds to a
 | |
|       # single creative.
 | |
|       class CreativesList
 | |
|         include Google::Apis::Core::Hashable
 | |
|       
 | |
|         # A list of creatives.
 | |
|         # Corresponds to the JSON property `items`
 | |
|         # @return [Array<Google::Apis::AdexchangebuyerV1_4::Creative>]
 | |
|         attr_accessor :items
 | |
|       
 | |
|         # Resource type.
 | |
|         # Corresponds to the JSON property `kind`
 | |
|         # @return [String]
 | |
|         attr_accessor :kind
 | |
|       
 | |
|         # Continuation token used to page through creatives. To retrieve the next page
 | |
|         # of results, set the next request's "pageToken" value to this.
 | |
|         # Corresponds to the JSON property `nextPageToken`
 | |
|         # @return [String]
 | |
|         attr_accessor :next_page_token
 | |
|       
 | |
|         def initialize(**args)
 | |
|            update!(**args)
 | |
|         end
 | |
|       
 | |
|         # Update properties of this object
 | |
|         def update!(**args)
 | |
|           @items = args[:items] if args.key?(:items)
 | |
|           @kind = args[:kind] if args.key?(:kind)
 | |
|           @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
 | |
|         end
 | |
|       end
 | |
|       
 | |
|       # 
 | |
|       class DealServingMetadata
 | |
|         include Google::Apis::Core::Hashable
 | |
|       
 | |
|         # True if alcohol ads are allowed for this deal (read-only). This field is only
 | |
|         # populated when querying for finalized orders using the method
 | |
|         # GetFinalizedOrderDeals
 | |
|         # Corresponds to the JSON property `alcoholAdsAllowed`
 | |
|         # @return [Boolean]
 | |
|         attr_accessor :alcohol_ads_allowed
 | |
|         alias_method :alcohol_ads_allowed?, :alcohol_ads_allowed
 | |
|       
 | |
|         # Tracks which parties (if any) have paused a deal. The deal is considered
 | |
|         # paused if has_buyer_paused || has_seller_paused. Each of the has_buyer_paused
 | |
|         # or the has_seller_paused bits can be set independently.
 | |
|         # Corresponds to the JSON property `dealPauseStatus`
 | |
|         # @return [Google::Apis::AdexchangebuyerV1_4::DealServingMetadataDealPauseStatus]
 | |
|         attr_accessor :deal_pause_status
 | |
|       
 | |
|         def initialize(**args)
 | |
|            update!(**args)
 | |
|         end
 | |
|       
 | |
|         # Update properties of this object
 | |
|         def update!(**args)
 | |
|           @alcohol_ads_allowed = args[:alcohol_ads_allowed] if args.key?(:alcohol_ads_allowed)
 | |
|           @deal_pause_status = args[:deal_pause_status] if args.key?(:deal_pause_status)
 | |
|         end
 | |
|       end
 | |
|       
 | |
|       # Tracks which parties (if any) have paused a deal. The deal is considered
 | |
|       # paused if has_buyer_paused || has_seller_paused. Each of the has_buyer_paused
 | |
|       # or the has_seller_paused bits can be set independently.
 | |
|       class DealServingMetadataDealPauseStatus
 | |
|         include Google::Apis::Core::Hashable
 | |
|       
 | |
|         # 
 | |
|         # Corresponds to the JSON property `buyerPauseReason`
 | |
|         # @return [String]
 | |
|         attr_accessor :buyer_pause_reason
 | |
|       
 | |
|         # If the deal is paused, records which party paused the deal first.
 | |
|         # Corresponds to the JSON property `firstPausedBy`
 | |
|         # @return [String]
 | |
|         attr_accessor :first_paused_by
 | |
|       
 | |
|         # 
 | |
|         # Corresponds to the JSON property `hasBuyerPaused`
 | |
|         # @return [Boolean]
 | |
|         attr_accessor :has_buyer_paused
 | |
|         alias_method :has_buyer_paused?, :has_buyer_paused
 | |
|       
 | |
|         # 
 | |
|         # Corresponds to the JSON property `hasSellerPaused`
 | |
|         # @return [Boolean]
 | |
|         attr_accessor :has_seller_paused
 | |
|         alias_method :has_seller_paused?, :has_seller_paused
 | |
|       
 | |
|         # 
 | |
|         # Corresponds to the JSON property `sellerPauseReason`
 | |
|         # @return [String]
 | |
|         attr_accessor :seller_pause_reason
 | |
|       
 | |
|         def initialize(**args)
 | |
|            update!(**args)
 | |
|         end
 | |
|       
 | |
|         # Update properties of this object
 | |
|         def update!(**args)
 | |
|           @buyer_pause_reason = args[:buyer_pause_reason] if args.key?(:buyer_pause_reason)
 | |
|           @first_paused_by = args[:first_paused_by] if args.key?(:first_paused_by)
 | |
|           @has_buyer_paused = args[:has_buyer_paused] if args.key?(:has_buyer_paused)
 | |
|           @has_seller_paused = args[:has_seller_paused] if args.key?(:has_seller_paused)
 | |
|           @seller_pause_reason = args[:seller_pause_reason] if args.key?(:seller_pause_reason)
 | |
|         end
 | |
|       end
 | |
|       
 | |
|       # 
 | |
|       class DealTerms
 | |
|         include Google::Apis::Core::Hashable
 | |
|       
 | |
|         # Visibility of the URL in bid requests.
 | |
|         # Corresponds to the JSON property `brandingType`
 | |
|         # @return [String]
 | |
|         attr_accessor :branding_type
 | |
|       
 | |
|         # Indicates that this ExternalDealId exists under at least two different
 | |
|         # AdxInventoryDeals. Currently, the only case that the same ExternalDealId will
 | |
|         # exist is programmatic cross sell case.
 | |
|         # Corresponds to the JSON property `crossListedExternalDealIdType`
 | |
|         # @return [String]
 | |
|         attr_accessor :cross_listed_external_deal_id_type
 | |
|       
 | |
|         # Description for the proposed terms of the deal.
 | |
|         # Corresponds to the JSON property `description`
 | |
|         # @return [String]
 | |
|         attr_accessor :description
 | |
|       
 | |
|         # Non-binding estimate of the estimated gross spend for this deal Can be set by
 | |
|         # buyer or seller.
 | |
|         # Corresponds to the JSON property `estimatedGrossSpend`
 | |
|         # @return [Google::Apis::AdexchangebuyerV1_4::Price]
 | |
|         attr_accessor :estimated_gross_spend
 | |
|       
 | |
|         # Non-binding estimate of the impressions served per day Can be set by buyer or
 | |
|         # seller.
 | |
|         # Corresponds to the JSON property `estimatedImpressionsPerDay`
 | |
|         # @return [Fixnum]
 | |
|         attr_accessor :estimated_impressions_per_day
 | |
|       
 | |
|         # The terms for guaranteed fixed price deals.
 | |
|         # Corresponds to the JSON property `guaranteedFixedPriceTerms`
 | |
|         # @return [Google::Apis::AdexchangebuyerV1_4::DealTermsGuaranteedFixedPriceTerms]
 | |
|         attr_accessor :guaranteed_fixed_price_terms
 | |
|       
 | |
|         # The terms for non-guaranteed auction deals.
 | |
|         # Corresponds to the JSON property `nonGuaranteedAuctionTerms`
 | |
|         # @return [Google::Apis::AdexchangebuyerV1_4::DealTermsNonGuaranteedAuctionTerms]
 | |
|         attr_accessor :non_guaranteed_auction_terms
 | |
|       
 | |
|         # The terms for non-guaranteed fixed price deals.
 | |
|         # Corresponds to the JSON property `nonGuaranteedFixedPriceTerms`
 | |
|         # @return [Google::Apis::AdexchangebuyerV1_4::DealTermsNonGuaranteedFixedPriceTerms]
 | |
|         attr_accessor :non_guaranteed_fixed_price_terms
 | |
|       
 | |
|         # The terms for rubicon non-guaranteed deals.
 | |
|         # Corresponds to the JSON property `rubiconNonGuaranteedTerms`
 | |
|         # @return [Google::Apis::AdexchangebuyerV1_4::DealTermsRubiconNonGuaranteedTerms]
 | |
|         attr_accessor :rubicon_non_guaranteed_terms
 | |
|       
 | |
|         # For deals with Cost Per Day billing, defines the timezone used to mark the
 | |
|         # boundaries of a day (buyer-readonly)
 | |
|         # Corresponds to the JSON property `sellerTimeZone`
 | |
|         # @return [String]
 | |
|         attr_accessor :seller_time_zone
 | |
|       
 | |
|         def initialize(**args)
 | |
|            update!(**args)
 | |
|         end
 | |
|       
 | |
|         # Update properties of this object
 | |
|         def update!(**args)
 | |
|           @branding_type = args[:branding_type] if args.key?(:branding_type)
 | |
|           @cross_listed_external_deal_id_type = args[:cross_listed_external_deal_id_type] if args.key?(:cross_listed_external_deal_id_type)
 | |
|           @description = args[:description] if args.key?(:description)
 | |
|           @estimated_gross_spend = args[:estimated_gross_spend] if args.key?(:estimated_gross_spend)
 | |
|           @estimated_impressions_per_day = args[:estimated_impressions_per_day] if args.key?(:estimated_impressions_per_day)
 | |
|           @guaranteed_fixed_price_terms = args[:guaranteed_fixed_price_terms] if args.key?(:guaranteed_fixed_price_terms)
 | |
|           @non_guaranteed_auction_terms = args[:non_guaranteed_auction_terms] if args.key?(:non_guaranteed_auction_terms)
 | |
|           @non_guaranteed_fixed_price_terms = args[:non_guaranteed_fixed_price_terms] if args.key?(:non_guaranteed_fixed_price_terms)
 | |
|           @rubicon_non_guaranteed_terms = args[:rubicon_non_guaranteed_terms] if args.key?(:rubicon_non_guaranteed_terms)
 | |
|           @seller_time_zone = args[:seller_time_zone] if args.key?(:seller_time_zone)
 | |
|         end
 | |
|       end
 | |
|       
 | |
|       # 
 | |
|       class DealTermsGuaranteedFixedPriceTerms
 | |
|         include Google::Apis::Core::Hashable
 | |
|       
 | |
|         # External billing info for this Deal. This field is relevant when external
 | |
|         # billing info such as price has a different currency code than DFP/AdX.
 | |
|         # Corresponds to the JSON property `billingInfo`
 | |
|         # @return [Google::Apis::AdexchangebuyerV1_4::DealTermsGuaranteedFixedPriceTermsBillingInfo]
 | |
|         attr_accessor :billing_info
 | |
|       
 | |
|         # Fixed price for the specified buyer.
 | |
|         # Corresponds to the JSON property `fixedPrices`
 | |
|         # @return [Array<Google::Apis::AdexchangebuyerV1_4::PricePerBuyer>]
 | |
|         attr_accessor :fixed_prices
 | |
|       
 | |
|         # Guaranteed impressions as a percentage. This is the percentage of guaranteed
 | |
|         # looks that the buyer is guaranteeing to buy.
 | |
|         # Corresponds to the JSON property `guaranteedImpressions`
 | |
|         # @return [Fixnum]
 | |
|         attr_accessor :guaranteed_impressions
 | |
|       
 | |
|         # Count of guaranteed looks. Required for deal, optional for product. For CPD
 | |
|         # deals, buyer changes to guaranteed_looks will be ignored.
 | |
|         # Corresponds to the JSON property `guaranteedLooks`
 | |
|         # @return [Fixnum]
 | |
|         attr_accessor :guaranteed_looks
 | |
|       
 | |
|         # Count of minimum daily looks for a CPD deal. For CPD deals, buyer should
 | |
|         # negotiate on this field instead of guaranteed_looks.
 | |
|         # Corresponds to the JSON property `minimumDailyLooks`
 | |
|         # @return [Fixnum]
 | |
|         attr_accessor :minimum_daily_looks
 | |
|       
 | |
|         def initialize(**args)
 | |
|            update!(**args)
 | |
|         end
 | |
|       
 | |
|         # Update properties of this object
 | |
|         def update!(**args)
 | |
|           @billing_info = args[:billing_info] if args.key?(:billing_info)
 | |
|           @fixed_prices = args[:fixed_prices] if args.key?(:fixed_prices)
 | |
|           @guaranteed_impressions = args[:guaranteed_impressions] if args.key?(:guaranteed_impressions)
 | |
|           @guaranteed_looks = args[:guaranteed_looks] if args.key?(:guaranteed_looks)
 | |
|           @minimum_daily_looks = args[:minimum_daily_looks] if args.key?(:minimum_daily_looks)
 | |
|         end
 | |
|       end
 | |
|       
 | |
|       # 
 | |
|       class DealTermsGuaranteedFixedPriceTermsBillingInfo
 | |
|         include Google::Apis::Core::Hashable
 | |
|       
 | |
|         # The timestamp (in ms since epoch) when the original reservation price for the
 | |
|         # deal was first converted to DFP currency. This is used to convert the
 | |
|         # contracted price into buyer's currency without discrepancy.
 | |
|         # Corresponds to the JSON property `currencyConversionTimeMs`
 | |
|         # @return [Fixnum]
 | |
|         attr_accessor :currency_conversion_time_ms
 | |
|       
 | |
|         # The DFP line item id associated with this deal. For features like CPD, buyers
 | |
|         # can retrieve the DFP line item for billing reconciliation.
 | |
|         # Corresponds to the JSON property `dfpLineItemId`
 | |
|         # @return [Fixnum]
 | |
|         attr_accessor :dfp_line_item_id
 | |
|       
 | |
|         # The original contracted quantity (# impressions) for this deal. To ensure
 | |
|         # delivery, sometimes the publisher will book the deal with a impression buffer,
 | |
|         # such that guaranteed_looks is greater than the contracted quantity. However
 | |
|         # clients are billed using the original contracted quantity.
 | |
|         # Corresponds to the JSON property `originalContractedQuantity`
 | |
|         # @return [Fixnum]
 | |
|         attr_accessor :original_contracted_quantity
 | |
|       
 | |
|         # The original reservation price for the deal, if the currency code is different
 | |
|         # from the one used in negotiation.
 | |
|         # Corresponds to the JSON property `price`
 | |
|         # @return [Google::Apis::AdexchangebuyerV1_4::Price]
 | |
|         attr_accessor :price
 | |
|       
 | |
|         def initialize(**args)
 | |
|            update!(**args)
 | |
|         end
 | |
|       
 | |
|         # Update properties of this object
 | |
|         def update!(**args)
 | |
|           @currency_conversion_time_ms = args[:currency_conversion_time_ms] if args.key?(:currency_conversion_time_ms)
 | |
|           @dfp_line_item_id = args[:dfp_line_item_id] if args.key?(:dfp_line_item_id)
 | |
|           @original_contracted_quantity = args[:original_contracted_quantity] if args.key?(:original_contracted_quantity)
 | |
|           @price = args[:price] if args.key?(:price)
 | |
|         end
 | |
|       end
 | |
|       
 | |
|       # 
 | |
|       class DealTermsNonGuaranteedAuctionTerms
 | |
|         include Google::Apis::Core::Hashable
 | |
|       
 | |
|         # True if open auction buyers are allowed to compete with invited buyers in this
 | |
|         # private auction (buyer-readonly).
 | |
|         # Corresponds to the JSON property `autoOptimizePrivateAuction`
 | |
|         # @return [Boolean]
 | |
|         attr_accessor :auto_optimize_private_auction
 | |
|         alias_method :auto_optimize_private_auction?, :auto_optimize_private_auction
 | |
|       
 | |
|         # Reserve price for the specified buyer.
 | |
|         # Corresponds to the JSON property `reservePricePerBuyers`
 | |
|         # @return [Array<Google::Apis::AdexchangebuyerV1_4::PricePerBuyer>]
 | |
|         attr_accessor :reserve_price_per_buyers
 | |
|       
 | |
|         def initialize(**args)
 | |
|            update!(**args)
 | |
|         end
 | |
|       
 | |
|         # Update properties of this object
 | |
|         def update!(**args)
 | |
|           @auto_optimize_private_auction = args[:auto_optimize_private_auction] if args.key?(:auto_optimize_private_auction)
 | |
|           @reserve_price_per_buyers = args[:reserve_price_per_buyers] if args.key?(:reserve_price_per_buyers)
 | |
|         end
 | |
|       end
 | |
|       
 | |
|       # 
 | |
|       class DealTermsNonGuaranteedFixedPriceTerms
 | |
|         include Google::Apis::Core::Hashable
 | |
|       
 | |
|         # Fixed price for the specified buyer.
 | |
|         # Corresponds to the JSON property `fixedPrices`
 | |
|         # @return [Array<Google::Apis::AdexchangebuyerV1_4::PricePerBuyer>]
 | |
|         attr_accessor :fixed_prices
 | |
|       
 | |
|         def initialize(**args)
 | |
|            update!(**args)
 | |
|         end
 | |
|       
 | |
|         # Update properties of this object
 | |
|         def update!(**args)
 | |
|           @fixed_prices = args[:fixed_prices] if args.key?(:fixed_prices)
 | |
|         end
 | |
|       end
 | |
|       
 | |
|       # 
 | |
|       class DealTermsRubiconNonGuaranteedTerms
 | |
|         include Google::Apis::Core::Hashable
 | |
|       
 | |
|         # Optional price for Rubicon priority access in the auction.
 | |
|         # Corresponds to the JSON property `priorityPrice`
 | |
|         # @return [Google::Apis::AdexchangebuyerV1_4::Price]
 | |
|         attr_accessor :priority_price
 | |
|       
 | |
|         # Optional price for Rubicon standard access in the auction.
 | |
|         # Corresponds to the JSON property `standardPrice`
 | |
|         # @return [Google::Apis::AdexchangebuyerV1_4::Price]
 | |
|         attr_accessor :standard_price
 | |
|       
 | |
|         def initialize(**args)
 | |
|            update!(**args)
 | |
|         end
 | |
|       
 | |
|         # Update properties of this object
 | |
|         def update!(**args)
 | |
|           @priority_price = args[:priority_price] if args.key?(:priority_price)
 | |
|           @standard_price = args[:standard_price] if args.key?(:standard_price)
 | |
|         end
 | |
|       end
 | |
|       
 | |
|       # 
 | |
|       class DeleteOrderDealsRequest
 | |
|         include Google::Apis::Core::Hashable
 | |
|       
 | |
|         # List of deals to delete for a given proposal
 | |
|         # Corresponds to the JSON property `dealIds`
 | |
|         # @return [Array<String>]
 | |
|         attr_accessor :deal_ids
 | |
|       
 | |
|         # The last known proposal revision number.
 | |
|         # Corresponds to the JSON property `proposalRevisionNumber`
 | |
|         # @return [Fixnum]
 | |
|         attr_accessor :proposal_revision_number
 | |
|       
 | |
|         # Indicates an optional action to take on the proposal
 | |
|         # Corresponds to the JSON property `updateAction`
 | |
|         # @return [String]
 | |
|         attr_accessor :update_action
 | |
|       
 | |
|         def initialize(**args)
 | |
|            update!(**args)
 | |
|         end
 | |
|       
 | |
|         # Update properties of this object
 | |
|         def update!(**args)
 | |
|           @deal_ids = args[:deal_ids] if args.key?(:deal_ids)
 | |
|           @proposal_revision_number = args[:proposal_revision_number] if args.key?(:proposal_revision_number)
 | |
|           @update_action = args[:update_action] if args.key?(:update_action)
 | |
|         end
 | |
|       end
 | |
|       
 | |
|       # 
 | |
|       class DeleteOrderDealsResponse
 | |
|         include Google::Apis::Core::Hashable
 | |
|       
 | |
|         # List of deals deleted (in the same proposal as passed in the request)
 | |
|         # Corresponds to the JSON property `deals`
 | |
|         # @return [Array<Google::Apis::AdexchangebuyerV1_4::MarketplaceDeal>]
 | |
|         attr_accessor :deals
 | |
|       
 | |
|         # The updated revision number for the proposal.
 | |
|         # Corresponds to the JSON property `proposalRevisionNumber`
 | |
|         # @return [Fixnum]
 | |
|         attr_accessor :proposal_revision_number
 | |
|       
 | |
|         def initialize(**args)
 | |
|            update!(**args)
 | |
|         end
 | |
|       
 | |
|         # Update properties of this object
 | |
|         def update!(**args)
 | |
|           @deals = args[:deals] if args.key?(:deals)
 | |
|           @proposal_revision_number = args[:proposal_revision_number] if args.key?(:proposal_revision_number)
 | |
|         end
 | |
|       end
 | |
|       
 | |
|       # 
 | |
|       class DeliveryControl
 | |
|         include Google::Apis::Core::Hashable
 | |
|       
 | |
|         # 
 | |
|         # Corresponds to the JSON property `creativeBlockingLevel`
 | |
|         # @return [String]
 | |
|         attr_accessor :creative_blocking_level
 | |
|       
 | |
|         # 
 | |
|         # Corresponds to the JSON property `deliveryRateType`
 | |
|         # @return [String]
 | |
|         attr_accessor :delivery_rate_type
 | |
|       
 | |
|         # 
 | |
|         # Corresponds to the JSON property `frequencyCaps`
 | |
|         # @return [Array<Google::Apis::AdexchangebuyerV1_4::DeliveryControlFrequencyCap>]
 | |
|         attr_accessor :frequency_caps
 | |
|       
 | |
|         def initialize(**args)
 | |
|            update!(**args)
 | |
|         end
 | |
|       
 | |
|         # Update properties of this object
 | |
|         def update!(**args)
 | |
|           @creative_blocking_level = args[:creative_blocking_level] if args.key?(:creative_blocking_level)
 | |
|           @delivery_rate_type = args[:delivery_rate_type] if args.key?(:delivery_rate_type)
 | |
|           @frequency_caps = args[:frequency_caps] if args.key?(:frequency_caps)
 | |
|         end
 | |
|       end
 | |
|       
 | |
|       # 
 | |
|       class DeliveryControlFrequencyCap
 | |
|         include Google::Apis::Core::Hashable
 | |
|       
 | |
|         # 
 | |
|         # Corresponds to the JSON property `maxImpressions`
 | |
|         # @return [Fixnum]
 | |
|         attr_accessor :max_impressions
 | |
|       
 | |
|         # 
 | |
|         # Corresponds to the JSON property `numTimeUnits`
 | |
|         # @return [Fixnum]
 | |
|         attr_accessor :num_time_units
 | |
|       
 | |
|         # 
 | |
|         # Corresponds to the JSON property `timeUnitType`
 | |
|         # @return [String]
 | |
|         attr_accessor :time_unit_type
 | |
|       
 | |
|         def initialize(**args)
 | |
|            update!(**args)
 | |
|         end
 | |
|       
 | |
|         # Update properties of this object
 | |
|         def update!(**args)
 | |
|           @max_impressions = args[:max_impressions] if args.key?(:max_impressions)
 | |
|           @num_time_units = args[:num_time_units] if args.key?(:num_time_units)
 | |
|           @time_unit_type = args[:time_unit_type] if args.key?(:time_unit_type)
 | |
|         end
 | |
|       end
 | |
|       
 | |
|       # This message carries publisher provided breakdown. E.g. `dimension_type: '
 | |
|       # COUNTRY', [`dimension_value: `id: 1, name: 'US'``, `dimension_value: `id: 2,
 | |
|       # name: 'UK'``]`
 | |
|       class Dimension
 | |
|         include Google::Apis::Core::Hashable
 | |
|       
 | |
|         # 
 | |
|         # Corresponds to the JSON property `dimensionType`
 | |
|         # @return [String]
 | |
|         attr_accessor :dimension_type
 | |
|       
 | |
|         # 
 | |
|         # Corresponds to the JSON property `dimensionValues`
 | |
|         # @return [Array<Google::Apis::AdexchangebuyerV1_4::DimensionDimensionValue>]
 | |
|         attr_accessor :dimension_values
 | |
|       
 | |
|         def initialize(**args)
 | |
|            update!(**args)
 | |
|         end
 | |
|       
 | |
|         # Update properties of this object
 | |
|         def update!(**args)
 | |
|           @dimension_type = args[:dimension_type] if args.key?(:dimension_type)
 | |
|           @dimension_values = args[:dimension_values] if args.key?(:dimension_values)
 | |
|         end
 | |
|       end
 | |
|       
 | |
|       # Value of the dimension.
 | |
|       class DimensionDimensionValue
 | |
|         include Google::Apis::Core::Hashable
 | |
|       
 | |
|         # Id of the dimension.
 | |
|         # Corresponds to the JSON property `id`
 | |
|         # @return [Fixnum]
 | |
|         attr_accessor :id
 | |
|       
 | |
|         # Name of the dimension mainly for debugging purposes, except for the case of
 | |
|         # CREATIVE_SIZE. For CREATIVE_SIZE, strings are used instead of ids.
 | |
|         # Corresponds to the JSON property `name`
 | |
|         # @return [String]
 | |
|         attr_accessor :name
 | |
|       
 | |
|         # Percent of total impressions for a dimension type. e.g. `dimension_type: '
 | |
|         # GENDER', [`dimension_value: `id: 1, name: 'MALE', percentage: 60``]` Gender
 | |
|         # MALE is 60% of all impressions which have gender.
 | |
|         # Corresponds to the JSON property `percentage`
 | |
|         # @return [Fixnum]
 | |
|         attr_accessor :percentage
 | |
|       
 | |
|         def initialize(**args)
 | |
|            update!(**args)
 | |
|         end
 | |
|       
 | |
|         # Update properties of this object
 | |
|         def update!(**args)
 | |
|           @id = args[:id] if args.key?(:id)
 | |
|           @name = args[:name] if args.key?(:name)
 | |
|           @percentage = args[:percentage] if args.key?(:percentage)
 | |
|         end
 | |
|       end
 | |
|       
 | |
|       # 
 | |
|       class EditAllOrderDealsRequest
 | |
|         include Google::Apis::Core::Hashable
 | |
|       
 | |
|         # List of deals to edit. Service may perform 3 different operations based on
 | |
|         # comparison of deals in this list vs deals already persisted in database: 1.
 | |
|         # Add new deal to proposal If a deal in this list does not exist in the proposal,
 | |
|         # the service will create a new deal and add it to the proposal. Validation
 | |
|         # will follow AddOrderDealsRequest. 2. Update existing deal in the proposal If a
 | |
|         # deal in this list already exist in the proposal, the service will update that
 | |
|         # existing deal to this new deal in the request. Validation will follow
 | |
|         # UpdateOrderDealsRequest. 3. Delete deals from the proposal (just need the id)
 | |
|         # If a existing deal in the proposal is not present in this list, the service
 | |
|         # will delete that deal from the proposal. Validation will follow
 | |
|         # DeleteOrderDealsRequest.
 | |
|         # Corresponds to the JSON property `deals`
 | |
|         # @return [Array<Google::Apis::AdexchangebuyerV1_4::MarketplaceDeal>]
 | |
|         attr_accessor :deals
 | |
|       
 | |
|         # Represents a proposal in the marketplace. A proposal is the unit of
 | |
|         # negotiation between a seller and a buyer and contains deals which are served.
 | |
|         # Each field in a proposal 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.
 | |
|         # Corresponds to the JSON property `proposal`
 | |
|         # @return [Google::Apis::AdexchangebuyerV1_4::Proposal]
 | |
|         attr_accessor :proposal
 | |
|       
 | |
|         # The last known revision number for the proposal.
 | |
|         # Corresponds to the JSON property `proposalRevisionNumber`
 | |
|         # @return [Fixnum]
 | |
|         attr_accessor :proposal_revision_number
 | |
|       
 | |
|         # Indicates an optional action to take on the proposal
 | |
|         # Corresponds to the JSON property `updateAction`
 | |
|         # @return [String]
 | |
|         attr_accessor :update_action
 | |
|       
 | |
|         def initialize(**args)
 | |
|            update!(**args)
 | |
|         end
 | |
|       
 | |
|         # Update properties of this object
 | |
|         def update!(**args)
 | |
|           @deals = args[:deals] if args.key?(:deals)
 | |
|           @proposal = args[:proposal] if args.key?(:proposal)
 | |
|           @proposal_revision_number = args[:proposal_revision_number] if args.key?(:proposal_revision_number)
 | |
|           @update_action = args[:update_action] if args.key?(:update_action)
 | |
|         end
 | |
|       end
 | |
|       
 | |
|       # 
 | |
|       class EditAllOrderDealsResponse
 | |
|         include Google::Apis::Core::Hashable
 | |
|       
 | |
|         # List of all deals in the proposal after edit.
 | |
|         # Corresponds to the JSON property `deals`
 | |
|         # @return [Array<Google::Apis::AdexchangebuyerV1_4::MarketplaceDeal>]
 | |
|         attr_accessor :deals
 | |
|       
 | |
|         # The latest revision number after the update has been applied.
 | |
|         # Corresponds to the JSON property `orderRevisionNumber`
 | |
|         # @return [Fixnum]
 | |
|         attr_accessor :order_revision_number
 | |
|       
 | |
|         def initialize(**args)
 | |
|            update!(**args)
 | |
|         end
 | |
|       
 | |
|         # Update properties of this object
 | |
|         def update!(**args)
 | |
|           @deals = args[:deals] if args.key?(:deals)
 | |
|           @order_revision_number = args[:order_revision_number] if args.key?(:order_revision_number)
 | |
|         end
 | |
|       end
 | |
|       
 | |
|       # 
 | |
|       class GetOffersResponse
 | |
|         include Google::Apis::Core::Hashable
 | |
|       
 | |
|         # The returned list of products.
 | |
|         # Corresponds to the JSON property `products`
 | |
|         # @return [Array<Google::Apis::AdexchangebuyerV1_4::Product>]
 | |
|         attr_accessor :products
 | |
|       
 | |
|         def initialize(**args)
 | |
|            update!(**args)
 | |
|         end
 | |
|       
 | |
|         # Update properties of this object
 | |
|         def update!(**args)
 | |
|           @products = args[:products] if args.key?(:products)
 | |
|         end
 | |
|       end
 | |
|       
 | |
|       # 
 | |
|       class GetOrderDealsResponse
 | |
|         include Google::Apis::Core::Hashable
 | |
|       
 | |
|         # List of deals for the proposal
 | |
|         # Corresponds to the JSON property `deals`
 | |
|         # @return [Array<Google::Apis::AdexchangebuyerV1_4::MarketplaceDeal>]
 | |
|         attr_accessor :deals
 | |
|       
 | |
|         def initialize(**args)
 | |
|            update!(**args)
 | |
|         end
 | |
|       
 | |
|         # Update properties of this object
 | |
|         def update!(**args)
 | |
|           @deals = args[:deals] if args.key?(:deals)
 | |
|         end
 | |
|       end
 | |
|       
 | |
|       # 
 | |
|       class GetOrderNotesResponse
 | |
|         include Google::Apis::Core::Hashable
 | |
|       
 | |
|         # The list of matching notes. The notes for a proposal are ordered from oldest
 | |
|         # to newest. If the notes span multiple proposals, they will be grouped by
 | |
|         # proposal, with the notes for the most recently modified proposal appearing
 | |
|         # first.
 | |
|         # Corresponds to the JSON property `notes`
 | |
|         # @return [Array<Google::Apis::AdexchangebuyerV1_4::MarketplaceNote>]
 | |
|         attr_accessor :notes
 | |
|       
 | |
|         def initialize(**args)
 | |
|            update!(**args)
 | |
|         end
 | |
|       
 | |
|         # Update properties of this object
 | |
|         def update!(**args)
 | |
|           @notes = args[:notes] if args.key?(:notes)
 | |
|         end
 | |
|       end
 | |
|       
 | |
|       # 
 | |
|       class GetOrdersResponse
 | |
|         include Google::Apis::Core::Hashable
 | |
|       
 | |
|         # The list of matching proposals.
 | |
|         # Corresponds to the JSON property `proposals`
 | |
|         # @return [Array<Google::Apis::AdexchangebuyerV1_4::Proposal>]
 | |
|         attr_accessor :proposals
 | |
|       
 | |
|         def initialize(**args)
 | |
|            update!(**args)
 | |
|         end
 | |
|       
 | |
|         # Update properties of this object
 | |
|         def update!(**args)
 | |
|           @proposals = args[:proposals] if args.key?(:proposals)
 | |
|         end
 | |
|       end
 | |
|       
 | |
|       # 
 | |
|       class GetPublisherProfilesByAccountIdResponse
 | |
|         include Google::Apis::Core::Hashable
 | |
|       
 | |
|         # Profiles for the requested publisher
 | |
|         # Corresponds to the JSON property `profiles`
 | |
|         # @return [Array<Google::Apis::AdexchangebuyerV1_4::PublisherProfileApiProto>]
 | |
|         attr_accessor :profiles
 | |
|       
 | |
|         def initialize(**args)
 | |
|            update!(**args)
 | |
|         end
 | |
|       
 | |
|         # Update properties of this object
 | |
|         def update!(**args)
 | |
|           @profiles = args[:profiles] if args.key?(:profiles)
 | |
|         end
 | |
|       end
 | |
|       
 | |
|       # A proposal can contain multiple deals. A deal contains the terms and targeting
 | |
|       # information that is used for serving.
 | |
|       class MarketplaceDeal
 | |
|         include Google::Apis::Core::Hashable
 | |
|       
 | |
|         # Buyer private data (hidden from seller).
 | |
|         # Corresponds to the JSON property `buyerPrivateData`
 | |
|         # @return [Google::Apis::AdexchangebuyerV1_4::PrivateData]
 | |
|         attr_accessor :buyer_private_data
 | |
|       
 | |
|         # The time (ms since epoch) of the deal creation. (readonly)
 | |
|         # Corresponds to the JSON property `creationTimeMs`
 | |
|         # @return [Fixnum]
 | |
|         attr_accessor :creation_time_ms
 | |
|       
 | |
|         # Specifies the creative pre-approval policy (buyer-readonly)
 | |
|         # Corresponds to the JSON property `creativePreApprovalPolicy`
 | |
|         # @return [String]
 | |
|         attr_accessor :creative_pre_approval_policy
 | |
|       
 | |
|         # Specifies whether the creative is safeFrame compatible (buyer-readonly)
 | |
|         # Corresponds to the JSON property `creativeSafeFrameCompatibility`
 | |
|         # @return [String]
 | |
|         attr_accessor :creative_safe_frame_compatibility
 | |
|       
 | |
|         # A unique deal-id for the deal (readonly).
 | |
|         # Corresponds to the JSON property `dealId`
 | |
|         # @return [String]
 | |
|         attr_accessor :deal_id
 | |
|       
 | |
|         # Metadata about the serving status of this deal (readonly, writes via custom
 | |
|         # actions)
 | |
|         # Corresponds to the JSON property `dealServingMetadata`
 | |
|         # @return [Google::Apis::AdexchangebuyerV1_4::DealServingMetadata]
 | |
|         attr_accessor :deal_serving_metadata
 | |
|       
 | |
|         # 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]
 | |
|         attr_accessor :delivery_control
 | |
|       
 | |
|         # The external deal id assigned to this deal once the deal is finalized. This is
 | |
|         # the deal-id that shows up in serving/reporting etc. (readonly)
 | |
|         # Corresponds to the JSON property `externalDealId`
 | |
|         # @return [String]
 | |
|         attr_accessor :external_deal_id
 | |
|       
 | |
|         # Proposed flight end time of the deal (ms since epoch) This will generally be
 | |
|         # stored in a granularity of a second. (updatable)
 | |
|         # Corresponds to the JSON property `flightEndTimeMs`
 | |
|         # @return [Fixnum]
 | |
|         attr_accessor :flight_end_time_ms
 | |
|       
 | |
|         # Proposed flight start time of the deal (ms since epoch) This will generally be
 | |
|         # stored in a granularity of a second. (updatable)
 | |
|         # Corresponds to the JSON property `flightStartTimeMs`
 | |
|         # @return [Fixnum]
 | |
|         attr_accessor :flight_start_time_ms
 | |
|       
 | |
|         # Description for the deal terms. (buyer-readonly)
 | |
|         # Corresponds to the JSON property `inventoryDescription`
 | |
|         # @return [String]
 | |
|         attr_accessor :inventory_description
 | |
|       
 | |
|         # Indicates whether the current deal is a RFP template. RFP template is created
 | |
|         # by buyer and not based on seller created products.
 | |
|         # Corresponds to the JSON property `isRfpTemplate`
 | |
|         # @return [Boolean]
 | |
|         attr_accessor :is_rfp_template
 | |
|         alias_method :is_rfp_template?, :is_rfp_template
 | |
|       
 | |
|         # True, if the buyside inventory setup is complete for this deal. (readonly,
 | |
|         # except via OrderSetupCompleted action)
 | |
|         # Corresponds to the JSON property `isSetupComplete`
 | |
|         # @return [Boolean]
 | |
|         attr_accessor :is_setup_complete
 | |
|         alias_method :is_setup_complete?, :is_setup_complete
 | |
|       
 | |
|         # Identifies what kind of resource this is. Value: the fixed string "
 | |
|         # adexchangebuyer#marketplaceDeal".
 | |
|         # Corresponds to the JSON property `kind`
 | |
|         # @return [String]
 | |
|         attr_accessor :kind
 | |
|       
 | |
|         # The time (ms since epoch) when the deal was last updated. (readonly)
 | |
|         # Corresponds to the JSON property `lastUpdateTimeMs`
 | |
|         # @return [Fixnum]
 | |
|         attr_accessor :last_update_time_ms
 | |
|       
 | |
|         # 
 | |
|         # Corresponds to the JSON property `makegoodRequestedReason`
 | |
|         # @return [String]
 | |
|         attr_accessor :makegood_requested_reason
 | |
|       
 | |
|         # The name of the deal. (updatable)
 | |
|         # Corresponds to the JSON property `name`
 | |
|         # @return [String]
 | |
|         attr_accessor :name
 | |
|       
 | |
|         # The product-id from which this deal was created. (readonly, except on create)
 | |
|         # Corresponds to the JSON property `productId`
 | |
|         # @return [String]
 | |
|         attr_accessor :product_id
 | |
|       
 | |
|         # The revision number of the product that the deal was created from (readonly,
 | |
|         # except on create)
 | |
|         # Corresponds to the JSON property `productRevisionNumber`
 | |
|         # @return [Fixnum]
 | |
|         attr_accessor :product_revision_number
 | |
|       
 | |
|         # Specifies the creative source for programmatic deals, PUBLISHER means creative
 | |
|         # is provided by seller and ADVERTISR means creative is provided by buyer. (
 | |
|         # buyer-readonly)
 | |
|         # Corresponds to the JSON property `programmaticCreativeSource`
 | |
|         # @return [String]
 | |
|         attr_accessor :programmatic_creative_source
 | |
|       
 | |
|         # 
 | |
|         # Corresponds to the JSON property `proposalId`
 | |
|         # @return [String]
 | |
|         attr_accessor :proposal_id
 | |
|       
 | |
|         # Optional Seller contact information for the deal (buyer-readonly)
 | |
|         # Corresponds to the JSON property `sellerContacts`
 | |
|         # @return [Array<Google::Apis::AdexchangebuyerV1_4::ContactInformation>]
 | |
|         attr_accessor :seller_contacts
 | |
|       
 | |
|         # The shared targeting visible to buyers and sellers. Each shared targeting
 | |
|         # entity is AND'd together. (updatable)
 | |
|         # Corresponds to the JSON property `sharedTargetings`
 | |
|         # @return [Array<Google::Apis::AdexchangebuyerV1_4::SharedTargeting>]
 | |
|         attr_accessor :shared_targetings
 | |
|       
 | |
|         # The syndication product associated with the deal. (readonly, except on create)
 | |
|         # Corresponds to the JSON property `syndicationProduct`
 | |
|         # @return [String]
 | |
|         attr_accessor :syndication_product
 | |
|       
 | |
|         # The negotiable terms of the deal. (updatable)
 | |
|         # Corresponds to the JSON property `terms`
 | |
|         # @return [Google::Apis::AdexchangebuyerV1_4::DealTerms]
 | |
|         attr_accessor :terms
 | |
|       
 | |
|         # 
 | |
|         # Corresponds to the JSON property `webPropertyCode`
 | |
|         # @return [String]
 | |
|         attr_accessor :web_property_code
 | |
|       
 | |
|         def initialize(**args)
 | |
|            update!(**args)
 | |
|         end
 | |
|       
 | |
|         # Update properties of this object
 | |
|         def update!(**args)
 | |
|           @buyer_private_data = args[:buyer_private_data] if args.key?(:buyer_private_data)
 | |
|           @creation_time_ms = args[:creation_time_ms] if args.key?(:creation_time_ms)
 | |
|           @creative_pre_approval_policy = args[:creative_pre_approval_policy] if args.key?(:creative_pre_approval_policy)
 | |
|           @creative_safe_frame_compatibility = args[:creative_safe_frame_compatibility] if args.key?(:creative_safe_frame_compatibility)
 | |
|           @deal_id = args[:deal_id] if args.key?(:deal_id)
 | |
|           @deal_serving_metadata = args[:deal_serving_metadata] if args.key?(:deal_serving_metadata)
 | |
|           @delivery_control = args[:delivery_control] if args.key?(:delivery_control)
 | |
|           @external_deal_id = args[:external_deal_id] if args.key?(:external_deal_id)
 | |
|           @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)
 | |
|           @inventory_description = args[:inventory_description] if args.key?(:inventory_description)
 | |
|           @is_rfp_template = args[:is_rfp_template] if args.key?(:is_rfp_template)
 | |
|           @is_setup_complete = args[:is_setup_complete] if args.key?(:is_setup_complete)
 | |
|           @kind = args[:kind] if args.key?(:kind)
 | |
|           @last_update_time_ms = args[:last_update_time_ms] if args.key?(:last_update_time_ms)
 | |
|           @makegood_requested_reason = args[:makegood_requested_reason] if args.key?(:makegood_requested_reason)
 | |
|           @name = args[:name] if args.key?(:name)
 | |
|           @product_id = args[:product_id] if args.key?(:product_id)
 | |
|           @product_revision_number = args[:product_revision_number] if args.key?(:product_revision_number)
 | |
|           @programmatic_creative_source = args[:programmatic_creative_source] if args.key?(:programmatic_creative_source)
 | |
|           @proposal_id = args[:proposal_id] if args.key?(:proposal_id)
 | |
|           @seller_contacts = args[:seller_contacts] if args.key?(:seller_contacts)
 | |
|           @shared_targetings = args[:shared_targetings] if args.key?(:shared_targetings)
 | |
|           @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
 | |
|       end
 | |
|       
 | |
|       # 
 | |
|       class MarketplaceDealParty
 | |
|         include Google::Apis::Core::Hashable
 | |
|       
 | |
|         # The buyer/seller associated with the deal. One of buyer/seller is specified
 | |
|         # for a deal-party.
 | |
|         # Corresponds to the JSON property `buyer`
 | |
|         # @return [Google::Apis::AdexchangebuyerV1_4::Buyer]
 | |
|         attr_accessor :buyer
 | |
|       
 | |
|         # The buyer/seller associated with the deal. One of buyer/seller is specified
 | |
|         # for a deal party.
 | |
|         # Corresponds to the JSON property `seller`
 | |
|         # @return [Google::Apis::AdexchangebuyerV1_4::Seller]
 | |
|         attr_accessor :seller
 | |
|       
 | |
|         def initialize(**args)
 | |
|            update!(**args)
 | |
|         end
 | |
|       
 | |
|         # Update properties of this object
 | |
|         def update!(**args)
 | |
|           @buyer = args[:buyer] if args.key?(:buyer)
 | |
|           @seller = args[:seller] if args.key?(:seller)
 | |
|         end
 | |
|       end
 | |
|       
 | |
|       # 
 | |
|       class MarketplaceLabel
 | |
|         include Google::Apis::Core::Hashable
 | |
|       
 | |
|         # The accountId of the party that created the label.
 | |
|         # Corresponds to the JSON property `accountId`
 | |
|         # @return [String]
 | |
|         attr_accessor :account_id
 | |
|       
 | |
|         # The creation time (in ms since epoch) for the label.
 | |
|         # Corresponds to the JSON property `createTimeMs`
 | |
|         # @return [Fixnum]
 | |
|         attr_accessor :create_time_ms
 | |
|       
 | |
|         # Information about the party that created the label.
 | |
|         # Corresponds to the JSON property `deprecatedMarketplaceDealParty`
 | |
|         # @return [Google::Apis::AdexchangebuyerV1_4::MarketplaceDealParty]
 | |
|         attr_accessor :deprecated_marketplace_deal_party
 | |
|       
 | |
|         # The label to use.
 | |
|         # Corresponds to the JSON property `label`
 | |
|         # @return [String]
 | |
|         attr_accessor :label
 | |
|       
 | |
|         def initialize(**args)
 | |
|            update!(**args)
 | |
|         end
 | |
|       
 | |
|         # Update properties of this object
 | |
|         def update!(**args)
 | |
|           @account_id = args[:account_id] if args.key?(:account_id)
 | |
|           @create_time_ms = args[:create_time_ms] if args.key?(:create_time_ms)
 | |
|           @deprecated_marketplace_deal_party = args[:deprecated_marketplace_deal_party] if args.key?(:deprecated_marketplace_deal_party)
 | |
|           @label = args[:label] if args.key?(:label)
 | |
|         end
 | |
|       end
 | |
|       
 | |
|       # A proposal is associated with a bunch of notes which may optionally be
 | |
|       # associated with a deal and/or revision number.
 | |
|       class MarketplaceNote
 | |
|         include Google::Apis::Core::Hashable
 | |
|       
 | |
|         # The role of the person (buyer/seller) creating the note. (readonly)
 | |
|         # Corresponds to the JSON property `creatorRole`
 | |
|         # @return [String]
 | |
|         attr_accessor :creator_role
 | |
|       
 | |
|         # Notes can optionally be associated with a deal. (readonly, except on create)
 | |
|         # Corresponds to the JSON property `dealId`
 | |
|         # @return [String]
 | |
|         attr_accessor :deal_id
 | |
|       
 | |
|         # Identifies what kind of resource this is. Value: the fixed string "
 | |
|         # adexchangebuyer#marketplaceNote".
 | |
|         # Corresponds to the JSON property `kind`
 | |
|         # @return [String]
 | |
|         attr_accessor :kind
 | |
|       
 | |
|         # The actual note to attach. (readonly, except on create)
 | |
|         # Corresponds to the JSON property `note`
 | |
|         # @return [String]
 | |
|         attr_accessor :note
 | |
|       
 | |
|         # The unique id for the note. (readonly)
 | |
|         # Corresponds to the JSON property `noteId`
 | |
|         # @return [String]
 | |
|         attr_accessor :note_id
 | |
|       
 | |
|         # The proposalId that a note is attached to. (readonly)
 | |
|         # Corresponds to the JSON property `proposalId`
 | |
|         # @return [String]
 | |
|         attr_accessor :proposal_id
 | |
|       
 | |
|         # If the note is associated with a proposal revision number, then store that
 | |
|         # here. (readonly, except on create)
 | |
|         # Corresponds to the JSON property `proposalRevisionNumber`
 | |
|         # @return [Fixnum]
 | |
|         attr_accessor :proposal_revision_number
 | |
|       
 | |
|         # The timestamp (ms since epoch) that this note was created. (readonly)
 | |
|         # Corresponds to the JSON property `timestampMs`
 | |
|         # @return [Fixnum]
 | |
|         attr_accessor :timestamp_ms
 | |
|       
 | |
|         def initialize(**args)
 | |
|            update!(**args)
 | |
|         end
 | |
|       
 | |
|         # Update properties of this object
 | |
|         def update!(**args)
 | |
|           @creator_role = args[:creator_role] if args.key?(:creator_role)
 | |
|           @deal_id = args[:deal_id] if args.key?(:deal_id)
 | |
|           @kind = args[:kind] if args.key?(:kind)
 | |
|           @note = args[:note] if args.key?(:note)
 | |
|           @note_id = args[:note_id] if args.key?(:note_id)
 | |
|           @proposal_id = args[:proposal_id] if args.key?(:proposal_id)
 | |
|           @proposal_revision_number = args[:proposal_revision_number] if args.key?(:proposal_revision_number)
 | |
|           @timestamp_ms = args[:timestamp_ms] if args.key?(:timestamp_ms)
 | |
|         end
 | |
|       end
 | |
|       
 | |
|       # 
 | |
|       class MobileApplication
 | |
|         include Google::Apis::Core::Hashable
 | |
|       
 | |
|         # 
 | |
|         # Corresponds to the JSON property `appStore`
 | |
|         # @return [String]
 | |
|         attr_accessor :app_store
 | |
|       
 | |
|         # 
 | |
|         # Corresponds to the JSON property `externalAppId`
 | |
|         # @return [String]
 | |
|         attr_accessor :external_app_id
 | |
|       
 | |
|         def initialize(**args)
 | |
|            update!(**args)
 | |
|         end
 | |
|       
 | |
|         # Update properties of this object
 | |
|         def update!(**args)
 | |
|           @app_store = args[:app_store] if args.key?(:app_store)
 | |
|           @external_app_id = args[:external_app_id] if args.key?(:external_app_id)
 | |
|         end
 | |
|       end
 | |
|       
 | |
|       # The configuration data for an Ad Exchange performance report list.
 | |
|       class PerformanceReport
 | |
|         include Google::Apis::Core::Hashable
 | |
|       
 | |
|         # The number of bid responses with an ad.
 | |
|         # Corresponds to the JSON property `bidRate`
 | |
|         # @return [Float]
 | |
|         attr_accessor :bid_rate
 | |
|       
 | |
|         # The number of bid requests sent to your bidder.
 | |
|         # Corresponds to the JSON property `bidRequestRate`
 | |
|         # @return [Float]
 | |
|         attr_accessor :bid_request_rate
 | |
|       
 | |
|         # Rate of various prefiltering statuses per match. Please refer to the callout-
 | |
|         # status-codes.txt file for different statuses.
 | |
|         # Corresponds to the JSON property `calloutStatusRate`
 | |
|         # @return [Array<Object>]
 | |
|         attr_accessor :callout_status_rate
 | |
|       
 | |
|         # Average QPS for cookie matcher operations.
 | |
|         # Corresponds to the JSON property `cookieMatcherStatusRate`
 | |
|         # @return [Array<Object>]
 | |
|         attr_accessor :cookie_matcher_status_rate
 | |
|       
 | |
|         # Rate of ads with a given status. Please refer to the creative-status-codes.txt
 | |
|         # file for different statuses.
 | |
|         # Corresponds to the JSON property `creativeStatusRate`
 | |
|         # @return [Array<Object>]
 | |
|         attr_accessor :creative_status_rate
 | |
|       
 | |
|         # The number of bid responses that were filtered due to a policy violation or
 | |
|         # other errors.
 | |
|         # Corresponds to the JSON property `filteredBidRate`
 | |
|         # @return [Float]
 | |
|         attr_accessor :filtered_bid_rate
 | |
|       
 | |
|         # Average QPS for hosted match operations.
 | |
|         # Corresponds to the JSON property `hostedMatchStatusRate`
 | |
|         # @return [Array<Object>]
 | |
|         attr_accessor :hosted_match_status_rate
 | |
|       
 | |
|         # The number of potential queries based on your pretargeting settings.
 | |
|         # Corresponds to the JSON property `inventoryMatchRate`
 | |
|         # @return [Float]
 | |
|         attr_accessor :inventory_match_rate
 | |
|       
 | |
|         # Resource type.
 | |
|         # Corresponds to the JSON property `kind`
 | |
|         # @return [String]
 | |
|         attr_accessor :kind
 | |
|       
 | |
|         # The 50th percentile round trip latency(ms) as perceived from Google servers
 | |
|         # for the duration period covered by the report.
 | |
|         # Corresponds to the JSON property `latency50thPercentile`
 | |
|         # @return [Float]
 | |
|         attr_accessor :latency_50th_percentile
 | |
|       
 | |
|         # The 85th percentile round trip latency(ms) as perceived from Google servers
 | |
|         # for the duration period covered by the report.
 | |
|         # Corresponds to the JSON property `latency85thPercentile`
 | |
|         # @return [Float]
 | |
|         attr_accessor :latency_85th_percentile
 | |
|       
 | |
|         # The 95th percentile round trip latency(ms) as perceived from Google servers
 | |
|         # for the duration period covered by the report.
 | |
|         # Corresponds to the JSON property `latency95thPercentile`
 | |
|         # @return [Float]
 | |
|         attr_accessor :latency_95th_percentile
 | |
|       
 | |
|         # Rate of various quota account statuses per quota check.
 | |
|         # Corresponds to the JSON property `noQuotaInRegion`
 | |
|         # @return [Float]
 | |
|         attr_accessor :no_quota_in_region
 | |
|       
 | |
|         # Rate of various quota account statuses per quota check.
 | |
|         # Corresponds to the JSON property `outOfQuota`
 | |
|         # @return [Float]
 | |
|         attr_accessor :out_of_quota
 | |
|       
 | |
|         # Average QPS for pixel match requests from clients.
 | |
|         # Corresponds to the JSON property `pixelMatchRequests`
 | |
|         # @return [Float]
 | |
|         attr_accessor :pixel_match_requests
 | |
|       
 | |
|         # Average QPS for pixel match responses from clients.
 | |
|         # Corresponds to the JSON property `pixelMatchResponses`
 | |
|         # @return [Float]
 | |
|         attr_accessor :pixel_match_responses
 | |
|       
 | |
|         # The configured quota limits for this account.
 | |
|         # Corresponds to the JSON property `quotaConfiguredLimit`
 | |
|         # @return [Float]
 | |
|         attr_accessor :quota_configured_limit
 | |
|       
 | |
|         # The throttled quota limits for this account.
 | |
|         # Corresponds to the JSON property `quotaThrottledLimit`
 | |
|         # @return [Float]
 | |
|         attr_accessor :quota_throttled_limit
 | |
|       
 | |
|         # The trading location of this data.
 | |
|         # Corresponds to the JSON property `region`
 | |
|         # @return [String]
 | |
|         attr_accessor :region
 | |
|       
 | |
|         # The number of properly formed bid responses received by our servers within the
 | |
|         # deadline.
 | |
|         # Corresponds to the JSON property `successfulRequestRate`
 | |
|         # @return [Float]
 | |
|         attr_accessor :successful_request_rate
 | |
|       
 | |
|         # The unix timestamp of the starting time of this performance data.
 | |
|         # Corresponds to the JSON property `timestamp`
 | |
|         # @return [Fixnum]
 | |
|         attr_accessor :timestamp
 | |
|       
 | |
|         # The number of bid responses that were unsuccessful due to timeouts, incorrect
 | |
|         # formatting, etc.
 | |
|         # Corresponds to the JSON property `unsuccessfulRequestRate`
 | |
|         # @return [Float]
 | |
|         attr_accessor :unsuccessful_request_rate
 | |
|       
 | |
|         def initialize(**args)
 | |
|            update!(**args)
 | |
|         end
 | |
|       
 | |
|         # Update properties of this object
 | |
|         def update!(**args)
 | |
|           @bid_rate = args[:bid_rate] if args.key?(:bid_rate)
 | |
|           @bid_request_rate = args[:bid_request_rate] if args.key?(:bid_request_rate)
 | |
|           @callout_status_rate = args[:callout_status_rate] if args.key?(:callout_status_rate)
 | |
|           @cookie_matcher_status_rate = args[:cookie_matcher_status_rate] if args.key?(:cookie_matcher_status_rate)
 | |
|           @creative_status_rate = args[:creative_status_rate] if args.key?(:creative_status_rate)
 | |
|           @filtered_bid_rate = args[:filtered_bid_rate] if args.key?(:filtered_bid_rate)
 | |
|           @hosted_match_status_rate = args[:hosted_match_status_rate] if args.key?(:hosted_match_status_rate)
 | |
|           @inventory_match_rate = args[:inventory_match_rate] if args.key?(:inventory_match_rate)
 | |
|           @kind = args[:kind] if args.key?(:kind)
 | |
|           @latency_50th_percentile = args[:latency_50th_percentile] if args.key?(:latency_50th_percentile)
 | |
|           @latency_85th_percentile = args[:latency_85th_percentile] if args.key?(:latency_85th_percentile)
 | |
|           @latency_95th_percentile = args[:latency_95th_percentile] if args.key?(:latency_95th_percentile)
 | |
|           @no_quota_in_region = args[:no_quota_in_region] if args.key?(:no_quota_in_region)
 | |
|           @out_of_quota = args[:out_of_quota] if args.key?(:out_of_quota)
 | |
|           @pixel_match_requests = args[:pixel_match_requests] if args.key?(:pixel_match_requests)
 | |
|           @pixel_match_responses = args[:pixel_match_responses] if args.key?(:pixel_match_responses)
 | |
|           @quota_configured_limit = args[:quota_configured_limit] if args.key?(:quota_configured_limit)
 | |
|           @quota_throttled_limit = args[:quota_throttled_limit] if args.key?(:quota_throttled_limit)
 | |
|           @region = args[:region] if args.key?(:region)
 | |
|           @successful_request_rate = args[:successful_request_rate] if args.key?(:successful_request_rate)
 | |
|           @timestamp = args[:timestamp] if args.key?(:timestamp)
 | |
|           @unsuccessful_request_rate = args[:unsuccessful_request_rate] if args.key?(:unsuccessful_request_rate)
 | |
|         end
 | |
|       end
 | |
|       
 | |
|       # The configuration data for an Ad Exchange performance report list.
 | |
|       class PerformanceReportList
 | |
|         include Google::Apis::Core::Hashable
 | |
|       
 | |
|         # Resource type.
 | |
|         # Corresponds to the JSON property `kind`
 | |
|         # @return [String]
 | |
|         attr_accessor :kind
 | |
|       
 | |
|         # A list of performance reports relevant for the account.
 | |
|         # Corresponds to the JSON property `performanceReport`
 | |
|         # @return [Array<Google::Apis::AdexchangebuyerV1_4::PerformanceReport>]
 | |
|         attr_accessor :performance_report
 | |
|       
 | |
|         def initialize(**args)
 | |
|            update!(**args)
 | |
|         end
 | |
|       
 | |
|         # Update properties of this object
 | |
|         def update!(**args)
 | |
|           @kind = args[:kind] if args.key?(:kind)
 | |
|           @performance_report = args[:performance_report] if args.key?(:performance_report)
 | |
|         end
 | |
|       end
 | |
|       
 | |
|       # 
 | |
|       class PretargetingConfig
 | |
|         include Google::Apis::Core::Hashable
 | |
|       
 | |
|         # The id for billing purposes, provided for reference. Leave this field blank
 | |
|         # for insert requests; the id will be generated automatically.
 | |
|         # Corresponds to the JSON property `billingId`
 | |
|         # @return [Fixnum]
 | |
|         attr_accessor :billing_id
 | |
|       
 | |
|         # The config id; generated automatically. Leave this field blank for insert
 | |
|         # requests.
 | |
|         # Corresponds to the JSON property `configId`
 | |
|         # @return [Fixnum]
 | |
|         attr_accessor :config_id
 | |
|       
 | |
|         # The name of the config. Must be unique. Required for all requests.
 | |
|         # Corresponds to the JSON property `configName`
 | |
|         # @return [String]
 | |
|         attr_accessor :config_name
 | |
|       
 | |
|         # List must contain exactly one of PRETARGETING_CREATIVE_TYPE_HTML or
 | |
|         # PRETARGETING_CREATIVE_TYPE_VIDEO.
 | |
|         # Corresponds to the JSON property `creativeType`
 | |
|         # @return [Array<String>]
 | |
|         attr_accessor :creative_type
 | |
|       
 | |
|         # Requests which allow one of these (width, height) pairs will match. All pairs
 | |
|         # must be supported ad dimensions.
 | |
|         # Corresponds to the JSON property `dimensions`
 | |
|         # @return [Array<Google::Apis::AdexchangebuyerV1_4::PretargetingConfig::Dimension>]
 | |
|         attr_accessor :dimensions
 | |
|       
 | |
|         # Requests with any of these content labels will not match. Values are from
 | |
|         # content-labels.txt in the downloadable files section.
 | |
|         # Corresponds to the JSON property `excludedContentLabels`
 | |
|         # @return [Array<Fixnum>]
 | |
|         attr_accessor :excluded_content_labels
 | |
|       
 | |
|         # Requests containing any of these geo criteria ids will not match.
 | |
|         # Corresponds to the JSON property `excludedGeoCriteriaIds`
 | |
|         # @return [Array<Fixnum>]
 | |
|         attr_accessor :excluded_geo_criteria_ids
 | |
|       
 | |
|         # Requests containing any of these placements will not match.
 | |
|         # Corresponds to the JSON property `excludedPlacements`
 | |
|         # @return [Array<Google::Apis::AdexchangebuyerV1_4::PretargetingConfig::ExcludedPlacement>]
 | |
|         attr_accessor :excluded_placements
 | |
|       
 | |
|         # Requests containing any of these users list ids will not match.
 | |
|         # Corresponds to the JSON property `excludedUserLists`
 | |
|         # @return [Array<Fixnum>]
 | |
|         attr_accessor :excluded_user_lists
 | |
|       
 | |
|         # Requests containing any of these vertical ids will not match. Values are from
 | |
|         # the publisher-verticals.txt file in the downloadable files section.
 | |
|         # Corresponds to the JSON property `excludedVerticals`
 | |
|         # @return [Array<Fixnum>]
 | |
|         attr_accessor :excluded_verticals
 | |
|       
 | |
|         # Requests containing any of these geo criteria ids will match.
 | |
|         # Corresponds to the JSON property `geoCriteriaIds`
 | |
|         # @return [Array<Fixnum>]
 | |
|         attr_accessor :geo_criteria_ids
 | |
|       
 | |
|         # Whether this config is active. Required for all requests.
 | |
|         # Corresponds to the JSON property `isActive`
 | |
|         # @return [Boolean]
 | |
|         attr_accessor :is_active
 | |
|         alias_method :is_active?, :is_active
 | |
|       
 | |
|         # The kind of the resource, i.e. "adexchangebuyer#pretargetingConfig".
 | |
|         # Corresponds to the JSON property `kind`
 | |
|         # @return [String]
 | |
|         attr_accessor :kind
 | |
|       
 | |
|         # Request containing any of these language codes will match.
 | |
|         # Corresponds to the JSON property `languages`
 | |
|         # @return [Array<String>]
 | |
|         attr_accessor :languages
 | |
|       
 | |
|         # The maximum QPS allocated to this pretargeting configuration, used for
 | |
|         # pretargeting-level QPS limits. By default, this is not set, which indicates
 | |
|         # that there is no QPS limit at the configuration level (a global or account-
 | |
|         # level limit may still be imposed).
 | |
|         # Corresponds to the JSON property `maximumQps`
 | |
|         # @return [Fixnum]
 | |
|         attr_accessor :maximum_qps
 | |
|       
 | |
|         # Requests where the predicted viewability is below the specified decile will
 | |
|         # not match. E.g. if the buyer sets this value to 5, requests from slots where
 | |
|         # the predicted viewability is below 50% will not match. If the predicted
 | |
|         # viewability is unknown this field will be ignored.
 | |
|         # Corresponds to the JSON property `minimumViewabilityDecile`
 | |
|         # @return [Fixnum]
 | |
|         attr_accessor :minimum_viewability_decile
 | |
|       
 | |
|         # Requests containing any of these mobile carrier ids will match. Values are
 | |
|         # from mobile-carriers.csv in the downloadable files section.
 | |
|         # Corresponds to the JSON property `mobileCarriers`
 | |
|         # @return [Array<Fixnum>]
 | |
|         attr_accessor :mobile_carriers
 | |
|       
 | |
|         # Requests containing any of these mobile device ids will match. Values are from
 | |
|         # mobile-devices.csv in the downloadable files section.
 | |
|         # Corresponds to the JSON property `mobileDevices`
 | |
|         # @return [Array<Fixnum>]
 | |
|         attr_accessor :mobile_devices
 | |
|       
 | |
|         # Requests containing any of these mobile operating system version ids will
 | |
|         # match. Values are from mobile-os.csv in the downloadable files section.
 | |
|         # Corresponds to the JSON property `mobileOperatingSystemVersions`
 | |
|         # @return [Array<Fixnum>]
 | |
|         attr_accessor :mobile_operating_system_versions
 | |
|       
 | |
|         # Requests containing any of these placements will match.
 | |
|         # Corresponds to the JSON property `placements`
 | |
|         # @return [Array<Google::Apis::AdexchangebuyerV1_4::PretargetingConfig::Placement>]
 | |
|         attr_accessor :placements
 | |
|       
 | |
|         # Requests matching any of these platforms will match. Possible values are
 | |
|         # PRETARGETING_PLATFORM_MOBILE, PRETARGETING_PLATFORM_DESKTOP, and
 | |
|         # PRETARGETING_PLATFORM_TABLET.
 | |
|         # Corresponds to the JSON property `platforms`
 | |
|         # @return [Array<String>]
 | |
|         attr_accessor :platforms
 | |
|       
 | |
|         # Creative attributes should be declared here if all creatives corresponding to
 | |
|         # this pretargeting configuration have that creative attribute. Values are from
 | |
|         # pretargetable-creative-attributes.txt in the downloadable files section.
 | |
|         # Corresponds to the JSON property `supportedCreativeAttributes`
 | |
|         # @return [Array<Fixnum>]
 | |
|         attr_accessor :supported_creative_attributes
 | |
|       
 | |
|         # Requests containing the specified type of user data will match. Possible
 | |
|         # values are HOSTED_MATCH_DATA, which means the request is cookie-targetable and
 | |
|         # has a match in the buyer's hosted match table, and COOKIE_OR_IDFA, which means
 | |
|         # the request has either a targetable cookie or an iOS IDFA.
 | |
|         # Corresponds to the JSON property `userIdentifierDataRequired`
 | |
|         # @return [Array<String>]
 | |
|         attr_accessor :user_identifier_data_required
 | |
|       
 | |
|         # Requests containing any of these user list ids will match.
 | |
|         # Corresponds to the JSON property `userLists`
 | |
|         # @return [Array<Fixnum>]
 | |
|         attr_accessor :user_lists
 | |
|       
 | |
|         # Requests that allow any of these vendor ids will match. Values are from
 | |
|         # vendors.txt in the downloadable files section.
 | |
|         # Corresponds to the JSON property `vendorTypes`
 | |
|         # @return [Array<Fixnum>]
 | |
|         attr_accessor :vendor_types
 | |
|       
 | |
|         # Requests containing any of these vertical ids will match.
 | |
|         # Corresponds to the JSON property `verticals`
 | |
|         # @return [Array<Fixnum>]
 | |
|         attr_accessor :verticals
 | |
|       
 | |
|         # Video requests satisfying any of these player size constraints will match.
 | |
|         # Corresponds to the JSON property `videoPlayerSizes`
 | |
|         # @return [Array<Google::Apis::AdexchangebuyerV1_4::PretargetingConfig::VideoPlayerSize>]
 | |
|         attr_accessor :video_player_sizes
 | |
|       
 | |
|         def initialize(**args)
 | |
|            update!(**args)
 | |
|         end
 | |
|       
 | |
|         # Update properties of this object
 | |
|         def update!(**args)
 | |
|           @billing_id = args[:billing_id] if args.key?(:billing_id)
 | |
|           @config_id = args[:config_id] if args.key?(:config_id)
 | |
|           @config_name = args[:config_name] if args.key?(:config_name)
 | |
|           @creative_type = args[:creative_type] if args.key?(:creative_type)
 | |
|           @dimensions = args[:dimensions] if args.key?(:dimensions)
 | |
|           @excluded_content_labels = args[:excluded_content_labels] if args.key?(:excluded_content_labels)
 | |
|           @excluded_geo_criteria_ids = args[:excluded_geo_criteria_ids] if args.key?(:excluded_geo_criteria_ids)
 | |
|           @excluded_placements = args[:excluded_placements] if args.key?(:excluded_placements)
 | |
|           @excluded_user_lists = args[:excluded_user_lists] if args.key?(:excluded_user_lists)
 | |
|           @excluded_verticals = args[:excluded_verticals] if args.key?(:excluded_verticals)
 | |
|           @geo_criteria_ids = args[:geo_criteria_ids] if args.key?(:geo_criteria_ids)
 | |
|           @is_active = args[:is_active] if args.key?(:is_active)
 | |
|           @kind = args[:kind] if args.key?(:kind)
 | |
|           @languages = args[:languages] if args.key?(:languages)
 | |
|           @maximum_qps = args[:maximum_qps] if args.key?(:maximum_qps)
 | |
|           @minimum_viewability_decile = args[:minimum_viewability_decile] if args.key?(:minimum_viewability_decile)
 | |
|           @mobile_carriers = args[:mobile_carriers] if args.key?(:mobile_carriers)
 | |
|           @mobile_devices = args[:mobile_devices] if args.key?(:mobile_devices)
 | |
|           @mobile_operating_system_versions = args[:mobile_operating_system_versions] if args.key?(:mobile_operating_system_versions)
 | |
|           @placements = args[:placements] if args.key?(:placements)
 | |
|           @platforms = args[:platforms] if args.key?(:platforms)
 | |
|           @supported_creative_attributes = args[:supported_creative_attributes] if args.key?(:supported_creative_attributes)
 | |
|           @user_identifier_data_required = args[:user_identifier_data_required] if args.key?(:user_identifier_data_required)
 | |
|           @user_lists = args[:user_lists] if args.key?(:user_lists)
 | |
|           @vendor_types = args[:vendor_types] if args.key?(:vendor_types)
 | |
|           @verticals = args[:verticals] if args.key?(:verticals)
 | |
|           @video_player_sizes = args[:video_player_sizes] if args.key?(:video_player_sizes)
 | |
|         end
 | |
|         
 | |
|         # 
 | |
|         class Dimension
 | |
|           include Google::Apis::Core::Hashable
 | |
|         
 | |
|           # Height in pixels.
 | |
|           # Corresponds to the JSON property `height`
 | |
|           # @return [Fixnum]
 | |
|           attr_accessor :height
 | |
|         
 | |
|           # Width in pixels.
 | |
|           # Corresponds to the JSON property `width`
 | |
|           # @return [Fixnum]
 | |
|           attr_accessor :width
 | |
|         
 | |
|           def initialize(**args)
 | |
|              update!(**args)
 | |
|           end
 | |
|         
 | |
|           # Update properties of this object
 | |
|           def update!(**args)
 | |
|             @height = args[:height] if args.key?(:height)
 | |
|             @width = args[:width] if args.key?(:width)
 | |
|           end
 | |
|         end
 | |
|         
 | |
|         # 
 | |
|         class ExcludedPlacement
 | |
|           include Google::Apis::Core::Hashable
 | |
|         
 | |
|           # The value of the placement. Interpretation depends on the placement type, e.g.
 | |
|           # URL for a site placement, channel name for a channel placement, app id for a
 | |
|           # mobile app placement.
 | |
|           # Corresponds to the JSON property `token`
 | |
|           # @return [String]
 | |
|           attr_accessor :token
 | |
|         
 | |
|           # The type of the placement.
 | |
|           # Corresponds to the JSON property `type`
 | |
|           # @return [String]
 | |
|           attr_accessor :type
 | |
|         
 | |
|           def initialize(**args)
 | |
|              update!(**args)
 | |
|           end
 | |
|         
 | |
|           # Update properties of this object
 | |
|           def update!(**args)
 | |
|             @token = args[:token] if args.key?(:token)
 | |
|             @type = args[:type] if args.key?(:type)
 | |
|           end
 | |
|         end
 | |
|         
 | |
|         # 
 | |
|         class Placement
 | |
|           include Google::Apis::Core::Hashable
 | |
|         
 | |
|           # The value of the placement. Interpretation depends on the placement type, e.g.
 | |
|           # URL for a site placement, channel name for a channel placement, app id for a
 | |
|           # mobile app placement.
 | |
|           # Corresponds to the JSON property `token`
 | |
|           # @return [String]
 | |
|           attr_accessor :token
 | |
|         
 | |
|           # The type of the placement.
 | |
|           # Corresponds to the JSON property `type`
 | |
|           # @return [String]
 | |
|           attr_accessor :type
 | |
|         
 | |
|           def initialize(**args)
 | |
|              update!(**args)
 | |
|           end
 | |
|         
 | |
|           # Update properties of this object
 | |
|           def update!(**args)
 | |
|             @token = args[:token] if args.key?(:token)
 | |
|             @type = args[:type] if args.key?(:type)
 | |
|           end
 | |
|         end
 | |
|         
 | |
|         # 
 | |
|         class VideoPlayerSize
 | |
|           include Google::Apis::Core::Hashable
 | |
|         
 | |
|           # The type of aspect ratio. Leave this field blank to match all aspect ratios.
 | |
|           # Corresponds to the JSON property `aspectRatio`
 | |
|           # @return [String]
 | |
|           attr_accessor :aspect_ratio
 | |
|         
 | |
|           # The minimum player height in pixels. Leave this field blank to match any
 | |
|           # player height.
 | |
|           # Corresponds to the JSON property `minHeight`
 | |
|           # @return [Fixnum]
 | |
|           attr_accessor :min_height
 | |
|         
 | |
|           # The minimum player width in pixels. Leave this field blank to match any player
 | |
|           # width.
 | |
|           # Corresponds to the JSON property `minWidth`
 | |
|           # @return [Fixnum]
 | |
|           attr_accessor :min_width
 | |
|         
 | |
|           def initialize(**args)
 | |
|              update!(**args)
 | |
|           end
 | |
|         
 | |
|           # Update properties of this object
 | |
|           def update!(**args)
 | |
|             @aspect_ratio = args[:aspect_ratio] if args.key?(:aspect_ratio)
 | |
|             @min_height = args[:min_height] if args.key?(:min_height)
 | |
|             @min_width = args[:min_width] if args.key?(:min_width)
 | |
|           end
 | |
|         end
 | |
|       end
 | |
|       
 | |
|       # 
 | |
|       class PretargetingConfigList
 | |
|         include Google::Apis::Core::Hashable
 | |
|       
 | |
|         # A list of pretargeting configs
 | |
|         # Corresponds to the JSON property `items`
 | |
|         # @return [Array<Google::Apis::AdexchangebuyerV1_4::PretargetingConfig>]
 | |
|         attr_accessor :items
 | |
|       
 | |
|         # Resource type.
 | |
|         # Corresponds to the JSON property `kind`
 | |
|         # @return [String]
 | |
|         attr_accessor :kind
 | |
|       
 | |
|         def initialize(**args)
 | |
|            update!(**args)
 | |
|         end
 | |
|       
 | |
|         # Update properties of this object
 | |
|         def update!(**args)
 | |
|           @items = args[:items] if args.key?(:items)
 | |
|           @kind = args[:kind] if args.key?(:kind)
 | |
|         end
 | |
|       end
 | |
|       
 | |
|       # 
 | |
|       class Price
 | |
|         include Google::Apis::Core::Hashable
 | |
|       
 | |
|         # The price value in micros.
 | |
|         # Corresponds to the JSON property `amountMicros`
 | |
|         # @return [Float]
 | |
|         attr_accessor :amount_micros
 | |
|       
 | |
|         # The currency code for the price.
 | |
|         # Corresponds to the JSON property `currencyCode`
 | |
|         # @return [String]
 | |
|         attr_accessor :currency_code
 | |
|       
 | |
|         # In case of CPD deals, the expected CPM in micros.
 | |
|         # Corresponds to the JSON property `expectedCpmMicros`
 | |
|         # @return [Float]
 | |
|         attr_accessor :expected_cpm_micros
 | |
|       
 | |
|         # The pricing type for the deal/product.
 | |
|         # Corresponds to the JSON property `pricingType`
 | |
|         # @return [String]
 | |
|         attr_accessor :pricing_type
 | |
|       
 | |
|         def initialize(**args)
 | |
|            update!(**args)
 | |
|         end
 | |
|       
 | |
|         # Update properties of this object
 | |
|         def update!(**args)
 | |
|           @amount_micros = args[:amount_micros] if args.key?(:amount_micros)
 | |
|           @currency_code = args[:currency_code] if args.key?(:currency_code)
 | |
|           @expected_cpm_micros = args[:expected_cpm_micros] if args.key?(:expected_cpm_micros)
 | |
|           @pricing_type = args[:pricing_type] if args.key?(:pricing_type)
 | |
|         end
 | |
|       end
 | |
|       
 | |
|       # Used to specify pricing rules for buyers. Each PricePerBuyer in a product can
 | |
|       # become [0,1] deals. To check if there is a PricePerBuyer for a particular
 | |
|       # buyer we look for the most specific matching rule - we first look for a rule
 | |
|       # matching the buyer and otherwise look for a matching rule where no buyer is
 | |
|       # set.
 | |
|       class PricePerBuyer
 | |
|         include Google::Apis::Core::Hashable
 | |
|       
 | |
|         # Optional access type for this buyer.
 | |
|         # Corresponds to the JSON property `auctionTier`
 | |
|         # @return [String]
 | |
|         attr_accessor :auction_tier
 | |
|       
 | |
|         # Reference to the buyer that will get billed.
 | |
|         # Corresponds to the JSON property `billedBuyer`
 | |
|         # @return [Google::Apis::AdexchangebuyerV1_4::Buyer]
 | |
|         attr_accessor :billed_buyer
 | |
|       
 | |
|         # The buyer who will pay this price. If unset, all buyers can pay this price (if
 | |
|         # the advertisers match, and there's no more specific rule matching the buyer).
 | |
|         # Corresponds to the JSON property `buyer`
 | |
|         # @return [Google::Apis::AdexchangebuyerV1_4::Buyer]
 | |
|         attr_accessor :buyer
 | |
|       
 | |
|         # The specified price
 | |
|         # Corresponds to the JSON property `price`
 | |
|         # @return [Google::Apis::AdexchangebuyerV1_4::Price]
 | |
|         attr_accessor :price
 | |
|       
 | |
|         def initialize(**args)
 | |
|            update!(**args)
 | |
|         end
 | |
|       
 | |
|         # Update properties of this object
 | |
|         def update!(**args)
 | |
|           @auction_tier = args[:auction_tier] if args.key?(:auction_tier)
 | |
|           @billed_buyer = args[:billed_buyer] if args.key?(:billed_buyer)
 | |
|           @buyer = args[:buyer] if args.key?(:buyer)
 | |
|           @price = args[:price] if args.key?(:price)
 | |
|         end
 | |
|       end
 | |
|       
 | |
|       # 
 | |
|       class PrivateData
 | |
|         include Google::Apis::Core::Hashable
 | |
|       
 | |
|         # 
 | |
|         # Corresponds to the JSON property `referenceId`
 | |
|         # @return [String]
 | |
|         attr_accessor :reference_id
 | |
|       
 | |
|         # 
 | |
|         # Corresponds to the JSON property `referencePayload`
 | |
|         # NOTE: Values are automatically base64 encoded/decoded in the client library.
 | |
|         # @return [String]
 | |
|         attr_accessor :reference_payload
 | |
|       
 | |
|         def initialize(**args)
 | |
|            update!(**args)
 | |
|         end
 | |
|       
 | |
|         # Update properties of this object
 | |
|         def update!(**args)
 | |
|           @reference_id = args[:reference_id] if args.key?(:reference_id)
 | |
|           @reference_payload = args[:reference_payload] if args.key?(:reference_payload)
 | |
|         end
 | |
|       end
 | |
|       
 | |
|       # 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.
 | |
|       class Product
 | |
|         include Google::Apis::Core::Hashable
 | |
|       
 | |
|         # 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]
 | |
|         attr_accessor :billed_buyer
 | |
|       
 | |
|         # 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]
 | |
|         attr_accessor :buyer
 | |
|       
 | |
|         # Creation time in ms. since epoch (readonly)
 | |
|         # Corresponds to the JSON property `creationTimeMs`
 | |
|         # @return [Fixnum]
 | |
|         attr_accessor :creation_time_ms
 | |
|       
 | |
|         # Optional contact information for the creator of this product. (buyer-readonly)
 | |
|         # Corresponds to the JSON property `creatorContacts`
 | |
|         # @return [Array<Google::Apis::AdexchangebuyerV1_4::ContactInformation>]
 | |
|         attr_accessor :creator_contacts
 | |
|       
 | |
|         # The role that created the offer. Set to BUYER for buyer initiated offers.
 | |
|         # Corresponds to the JSON property `creatorRole`
 | |
|         # @return [String]
 | |
|         attr_accessor :creator_role
 | |
|       
 | |
|         # 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]
 | |
|         attr_accessor :delivery_control
 | |
|       
 | |
|         # The proposed end time for the deal (ms since epoch) (buyer-readonly)
 | |
|         # Corresponds to the JSON property `flightEndTimeMs`
 | |
|         # @return [Fixnum]
 | |
|         attr_accessor :flight_end_time_ms
 | |
|       
 | |
|         # 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]
 | |
|         attr_accessor :flight_start_time_ms
 | |
|       
 | |
|         # 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]
 | |
|         attr_accessor :has_creator_signed_off
 | |
|         alias_method :has_creator_signed_off?, :has_creator_signed_off
 | |
|       
 | |
|         # What exchange will provide this inventory (readonly, except on create).
 | |
|         # Corresponds to the JSON property `inventorySource`
 | |
|         # @return [String]
 | |
|         attr_accessor :inventory_source
 | |
|       
 | |
|         # Identifies what kind of resource this is. Value: the fixed string "
 | |
|         # adexchangebuyer#product".
 | |
|         # Corresponds to the JSON property `kind`
 | |
|         # @return [String]
 | |
|         attr_accessor :kind
 | |
|       
 | |
|         # Optional List of labels for the product (optional, buyer-readonly).
 | |
|         # Corresponds to the JSON property `labels`
 | |
|         # @return [Array<Google::Apis::AdexchangebuyerV1_4::MarketplaceLabel>]
 | |
|         attr_accessor :labels
 | |
|       
 | |
|         # Time of last update in ms. since epoch (readonly)
 | |
|         # Corresponds to the JSON property `lastUpdateTimeMs`
 | |
|         # @return [Fixnum]
 | |
|         attr_accessor :last_update_time_ms
 | |
|       
 | |
|         # Optional legacy offer id if this offer is a preferred deal offer.
 | |
|         # Corresponds to the JSON property `legacyOfferId`
 | |
|         # @return [String]
 | |
|         attr_accessor :legacy_offer_id
 | |
|       
 | |
|         # 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]
 | |
|         attr_accessor :marketplace_publisher_profile_id
 | |
|       
 | |
|         # The name for this product as set by the seller. (buyer-readonly)
 | |
|         # Corresponds to the JSON property `name`
 | |
|         # @return [String]
 | |
|         attr_accessor :name
 | |
|       
 | |
|         # Optional private auction id if this offer is a private auction offer.
 | |
|         # Corresponds to the JSON property `privateAuctionId`
 | |
|         # @return [String]
 | |
|         attr_accessor :private_auction_id
 | |
|       
 | |
|         # The unique id for the product (readonly)
 | |
|         # Corresponds to the JSON property `productId`
 | |
|         # @return [String]
 | |
|         attr_accessor :product_id
 | |
|       
 | |
|         # 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]
 | |
|         attr_accessor :publisher_profile_id
 | |
|       
 | |
|         # This message carries publisher provided forecasting information.
 | |
|         # Corresponds to the JSON property `publisherProvidedForecast`
 | |
|         # @return [Google::Apis::AdexchangebuyerV1_4::PublisherProvidedForecast]
 | |
|         attr_accessor :publisher_provided_forecast
 | |
|       
 | |
|         # The revision number of the product. (readonly)
 | |
|         # Corresponds to the JSON property `revisionNumber`
 | |
|         # @return [Fixnum]
 | |
|         attr_accessor :revision_number
 | |
|       
 | |
|         # Information about the seller that created this product (readonly, except on
 | |
|         # create)
 | |
|         # Corresponds to the JSON property `seller`
 | |
|         # @return [Google::Apis::AdexchangebuyerV1_4::Seller]
 | |
|         attr_accessor :seller
 | |
|       
 | |
|         # 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>]
 | |
|         attr_accessor :shared_targetings
 | |
|       
 | |
|         # The state of the product. (buyer-readonly)
 | |
|         # Corresponds to the JSON property `state`
 | |
|         # @return [String]
 | |
|         attr_accessor :state
 | |
|       
 | |
|         # The syndication product associated with the deal. (readonly, except on create)
 | |
|         # Corresponds to the JSON property `syndicationProduct`
 | |
|         # @return [String]
 | |
|         attr_accessor :syndication_product
 | |
|       
 | |
|         # The negotiable terms of the deal (buyer-readonly)
 | |
|         # Corresponds to the JSON property `terms`
 | |
|         # @return [Google::Apis::AdexchangebuyerV1_4::DealTerms]
 | |
|         attr_accessor :terms
 | |
|       
 | |
|         # 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]
 | |
|         attr_accessor :web_property_code
 | |
|       
 | |
|         def initialize(**args)
 | |
|            update!(**args)
 | |
|         end
 | |
|       
 | |
|         # Update properties of this object
 | |
|         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
 | |
|       end
 | |
|       
 | |
|       # Represents a proposal in the marketplace. A proposal is the unit of
 | |
|       # negotiation between a seller and a buyer and contains deals which are served.
 | |
|       # Each field in a proposal 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.
 | |
|       class Proposal
 | |
|         include Google::Apis::Core::Hashable
 | |
|       
 | |
|         # Reference to the buyer that will get billed for this proposal. (readonly)
 | |
|         # Corresponds to the JSON property `billedBuyer`
 | |
|         # @return [Google::Apis::AdexchangebuyerV1_4::Buyer]
 | |
|         attr_accessor :billed_buyer
 | |
|       
 | |
|         # Reference to the buyer on the proposal. (readonly, except on create)
 | |
|         # Corresponds to the JSON property `buyer`
 | |
|         # @return [Google::Apis::AdexchangebuyerV1_4::Buyer]
 | |
|         attr_accessor :buyer
 | |
|       
 | |
|         # Optional contact information of the buyer. (seller-readonly)
 | |
|         # Corresponds to the JSON property `buyerContacts`
 | |
|         # @return [Array<Google::Apis::AdexchangebuyerV1_4::ContactInformation>]
 | |
|         attr_accessor :buyer_contacts
 | |
|       
 | |
|         # Private data for buyer. (hidden from seller).
 | |
|         # Corresponds to the JSON property `buyerPrivateData`
 | |
|         # @return [Google::Apis::AdexchangebuyerV1_4::PrivateData]
 | |
|         attr_accessor :buyer_private_data
 | |
|       
 | |
|         # IDs of DBM advertisers permission to this proposal.
 | |
|         # Corresponds to the JSON property `dbmAdvertiserIds`
 | |
|         # @return [Array<String>]
 | |
|         attr_accessor :dbm_advertiser_ids
 | |
|       
 | |
|         # When an proposal is in an accepted state, indicates whether the buyer has
 | |
|         # signed off. Once both sides have signed off on a deal, the proposal can be
 | |
|         # finalized by the seller. (seller-readonly)
 | |
|         # Corresponds to the JSON property `hasBuyerSignedOff`
 | |
|         # @return [Boolean]
 | |
|         attr_accessor :has_buyer_signed_off
 | |
|         alias_method :has_buyer_signed_off?, :has_buyer_signed_off
 | |
|       
 | |
|         # When an proposal is in an accepted state, indicates whether the buyer has
 | |
|         # signed off Once both sides have signed off on a deal, the proposal can be
 | |
|         # finalized by the seller. (buyer-readonly)
 | |
|         # Corresponds to the JSON property `hasSellerSignedOff`
 | |
|         # @return [Boolean]
 | |
|         attr_accessor :has_seller_signed_off
 | |
|         alias_method :has_seller_signed_off?, :has_seller_signed_off
 | |
|       
 | |
|         # What exchange will provide this inventory (readonly, except on create).
 | |
|         # Corresponds to the JSON property `inventorySource`
 | |
|         # @return [String]
 | |
|         attr_accessor :inventory_source
 | |
|       
 | |
|         # True if the proposal is being renegotiated (readonly).
 | |
|         # Corresponds to the JSON property `isRenegotiating`
 | |
|         # @return [Boolean]
 | |
|         attr_accessor :is_renegotiating
 | |
|         alias_method :is_renegotiating?, :is_renegotiating
 | |
|       
 | |
|         # True, if the buyside inventory setup is complete for this proposal. (readonly,
 | |
|         # except via OrderSetupCompleted action) Deprecated in favor of deal level setup
 | |
|         # complete flag.
 | |
|         # Corresponds to the JSON property `isSetupComplete`
 | |
|         # @return [Boolean]
 | |
|         attr_accessor :is_setup_complete
 | |
|         alias_method :is_setup_complete?, :is_setup_complete
 | |
|       
 | |
|         # Identifies what kind of resource this is. Value: the fixed string "
 | |
|         # adexchangebuyer#proposal".
 | |
|         # Corresponds to the JSON property `kind`
 | |
|         # @return [String]
 | |
|         attr_accessor :kind
 | |
|       
 | |
|         # List of labels associated with the proposal. (readonly)
 | |
|         # Corresponds to the JSON property `labels`
 | |
|         # @return [Array<Google::Apis::AdexchangebuyerV1_4::MarketplaceLabel>]
 | |
|         attr_accessor :labels
 | |
|       
 | |
|         # The role of the last user that either updated the proposal or left a comment. (
 | |
|         # readonly)
 | |
|         # Corresponds to the JSON property `lastUpdaterOrCommentorRole`
 | |
|         # @return [String]
 | |
|         attr_accessor :last_updater_or_commentor_role
 | |
|       
 | |
|         # The name for the proposal (updatable)
 | |
|         # Corresponds to the JSON property `name`
 | |
|         # @return [String]
 | |
|         attr_accessor :name
 | |
|       
 | |
|         # Optional negotiation id if this proposal is a preferred deal proposal.
 | |
|         # Corresponds to the JSON property `negotiationId`
 | |
|         # @return [String]
 | |
|         attr_accessor :negotiation_id
 | |
|       
 | |
|         # Indicates whether the buyer/seller created the proposal.(readonly)
 | |
|         # Corresponds to the JSON property `originatorRole`
 | |
|         # @return [String]
 | |
|         attr_accessor :originator_role
 | |
|       
 | |
|         # Optional private auction id if this proposal is a private auction proposal.
 | |
|         # Corresponds to the JSON property `privateAuctionId`
 | |
|         # @return [String]
 | |
|         attr_accessor :private_auction_id
 | |
|       
 | |
|         # The unique id of the proposal. (readonly).
 | |
|         # Corresponds to the JSON property `proposalId`
 | |
|         # @return [String]
 | |
|         attr_accessor :proposal_id
 | |
|       
 | |
|         # The current state of the proposal. (readonly)
 | |
|         # Corresponds to the JSON property `proposalState`
 | |
|         # @return [String]
 | |
|         attr_accessor :proposal_state
 | |
|       
 | |
|         # The revision number for the proposal (readonly).
 | |
|         # Corresponds to the JSON property `revisionNumber`
 | |
|         # @return [Fixnum]
 | |
|         attr_accessor :revision_number
 | |
|       
 | |
|         # The time (ms since epoch) when the proposal was last revised (readonly).
 | |
|         # Corresponds to the JSON property `revisionTimeMs`
 | |
|         # @return [Fixnum]
 | |
|         attr_accessor :revision_time_ms
 | |
|       
 | |
|         # Reference to the seller on the proposal. (readonly, except on create)
 | |
|         # Corresponds to the JSON property `seller`
 | |
|         # @return [Google::Apis::AdexchangebuyerV1_4::Seller]
 | |
|         attr_accessor :seller
 | |
|       
 | |
|         # Optional contact information of the seller (buyer-readonly).
 | |
|         # Corresponds to the JSON property `sellerContacts`
 | |
|         # @return [Array<Google::Apis::AdexchangebuyerV1_4::ContactInformation>]
 | |
|         attr_accessor :seller_contacts
 | |
|       
 | |
|         def initialize(**args)
 | |
|            update!(**args)
 | |
|         end
 | |
|       
 | |
|         # Update properties of this object
 | |
|         def update!(**args)
 | |
|           @billed_buyer = args[:billed_buyer] if args.key?(:billed_buyer)
 | |
|           @buyer = args[:buyer] if args.key?(:buyer)
 | |
|           @buyer_contacts = args[:buyer_contacts] if args.key?(:buyer_contacts)
 | |
|           @buyer_private_data = args[:buyer_private_data] if args.key?(:buyer_private_data)
 | |
|           @dbm_advertiser_ids = args[:dbm_advertiser_ids] if args.key?(:dbm_advertiser_ids)
 | |
|           @has_buyer_signed_off = args[:has_buyer_signed_off] if args.key?(:has_buyer_signed_off)
 | |
|           @has_seller_signed_off = args[:has_seller_signed_off] if args.key?(:has_seller_signed_off)
 | |
|           @inventory_source = args[:inventory_source] if args.key?(:inventory_source)
 | |
|           @is_renegotiating = args[:is_renegotiating] if args.key?(:is_renegotiating)
 | |
|           @is_setup_complete = args[:is_setup_complete] if args.key?(:is_setup_complete)
 | |
|           @kind = args[:kind] if args.key?(:kind)
 | |
|           @labels = args[:labels] if args.key?(:labels)
 | |
|           @last_updater_or_commentor_role = args[:last_updater_or_commentor_role] if args.key?(:last_updater_or_commentor_role)
 | |
|           @name = args[:name] if args.key?(:name)
 | |
|           @negotiation_id = args[:negotiation_id] if args.key?(:negotiation_id)
 | |
|           @originator_role = args[:originator_role] if args.key?(:originator_role)
 | |
|           @private_auction_id = args[:private_auction_id] if args.key?(:private_auction_id)
 | |
|           @proposal_id = args[:proposal_id] if args.key?(:proposal_id)
 | |
|           @proposal_state = args[:proposal_state] if args.key?(:proposal_state)
 | |
|           @revision_number = args[:revision_number] if args.key?(:revision_number)
 | |
|           @revision_time_ms = args[:revision_time_ms] if args.key?(:revision_time_ms)
 | |
|           @seller = args[:seller] if args.key?(:seller)
 | |
|           @seller_contacts = args[:seller_contacts] if args.key?(:seller_contacts)
 | |
|         end
 | |
|       end
 | |
|       
 | |
|       # 
 | |
|       class PublisherProfileApiProto
 | |
|         include Google::Apis::Core::Hashable
 | |
|       
 | |
|         # Publisher provided info on its audience.
 | |
|         # Corresponds to the JSON property `audience`
 | |
|         # @return [String]
 | |
|         attr_accessor :audience
 | |
|       
 | |
|         # A pitch statement for the buyer
 | |
|         # Corresponds to the JSON property `buyerPitchStatement`
 | |
|         # @return [String]
 | |
|         attr_accessor :buyer_pitch_statement
 | |
|       
 | |
|         # Direct contact for the publisher profile.
 | |
|         # Corresponds to the JSON property `directContact`
 | |
|         # @return [String]
 | |
|         attr_accessor :direct_contact
 | |
|       
 | |
|         # Exchange where this publisher profile is from. E.g. AdX, Rubicon etc...
 | |
|         # Corresponds to the JSON property `exchange`
 | |
|         # @return [String]
 | |
|         attr_accessor :exchange
 | |
|       
 | |
|         # Link to publisher's Google+ page.
 | |
|         # Corresponds to the JSON property `googlePlusLink`
 | |
|         # @return [String]
 | |
|         attr_accessor :google_plus_link
 | |
|       
 | |
|         # True, if this is the parent profile, which represents all domains owned by the
 | |
|         # publisher.
 | |
|         # Corresponds to the JSON property `isParent`
 | |
|         # @return [Boolean]
 | |
|         attr_accessor :is_parent
 | |
|         alias_method :is_parent?, :is_parent
 | |
|       
 | |
|         # True, if this profile is published. Deprecated for state.
 | |
|         # Corresponds to the JSON property `isPublished`
 | |
|         # @return [Boolean]
 | |
|         attr_accessor :is_published
 | |
|         alias_method :is_published?, :is_published
 | |
|       
 | |
|         # Identifies what kind of resource this is. Value: the fixed string "
 | |
|         # adexchangebuyer#publisherProfileApiProto".
 | |
|         # Corresponds to the JSON property `kind`
 | |
|         # @return [String]
 | |
|         attr_accessor :kind
 | |
|       
 | |
|         # The url to the logo for the publisher.
 | |
|         # Corresponds to the JSON property `logoUrl`
 | |
|         # @return [String]
 | |
|         attr_accessor :logo_url
 | |
|       
 | |
|         # The url for additional marketing and sales materials.
 | |
|         # Corresponds to the JSON property `mediaKitLink`
 | |
|         # @return [String]
 | |
|         attr_accessor :media_kit_link
 | |
|       
 | |
|         # 
 | |
|         # Corresponds to the JSON property `name`
 | |
|         # @return [String]
 | |
|         attr_accessor :name
 | |
|       
 | |
|         # Publisher provided overview.
 | |
|         # Corresponds to the JSON property `overview`
 | |
|         # @return [String]
 | |
|         attr_accessor :overview
 | |
|       
 | |
|         # The pair of (seller.account_id, profile_id) uniquely identifies a publisher
 | |
|         # profile for a given publisher.
 | |
|         # Corresponds to the JSON property `profileId`
 | |
|         # @return [Fixnum]
 | |
|         attr_accessor :profile_id
 | |
|       
 | |
|         # Programmatic contact for the publisher profile.
 | |
|         # Corresponds to the JSON property `programmaticContact`
 | |
|         # @return [String]
 | |
|         attr_accessor :programmatic_contact
 | |
|       
 | |
|         # The list of app IDs represented in this pubisher profile. Empty if this is a
 | |
|         # parent profile. Deprecated in favor of publisher_app.
 | |
|         # Corresponds to the JSON property `publisherAppIds`
 | |
|         # @return [Array<Fixnum>]
 | |
|         attr_accessor :publisher_app_ids
 | |
|       
 | |
|         # The list of apps represented in this pubisher profile. Empty if this is a
 | |
|         # parent profile.
 | |
|         # Corresponds to the JSON property `publisherApps`
 | |
|         # @return [Array<Google::Apis::AdexchangebuyerV1_4::MobileApplication>]
 | |
|         attr_accessor :publisher_apps
 | |
|       
 | |
|         # The list of domains represented in this publisher profile. Empty if this is a
 | |
|         # parent profile.
 | |
|         # Corresponds to the JSON property `publisherDomains`
 | |
|         # @return [Array<String>]
 | |
|         attr_accessor :publisher_domains
 | |
|       
 | |
|         # Unique Id for publisher profile.
 | |
|         # Corresponds to the JSON property `publisherProfileId`
 | |
|         # @return [String]
 | |
|         attr_accessor :publisher_profile_id
 | |
|       
 | |
|         # This message carries publisher provided forecasting information.
 | |
|         # Corresponds to the JSON property `publisherProvidedForecast`
 | |
|         # @return [Google::Apis::AdexchangebuyerV1_4::PublisherProvidedForecast]
 | |
|         attr_accessor :publisher_provided_forecast
 | |
|       
 | |
|         # Link to publisher rate card
 | |
|         # Corresponds to the JSON property `rateCardInfoLink`
 | |
|         # @return [String]
 | |
|         attr_accessor :rate_card_info_link
 | |
|       
 | |
|         # Link for a sample content page.
 | |
|         # Corresponds to the JSON property `samplePageLink`
 | |
|         # @return [String]
 | |
|         attr_accessor :sample_page_link
 | |
|       
 | |
|         # Seller of the publisher profile.
 | |
|         # Corresponds to the JSON property `seller`
 | |
|         # @return [Google::Apis::AdexchangebuyerV1_4::Seller]
 | |
|         attr_accessor :seller
 | |
|       
 | |
|         # State of the publisher profile.
 | |
|         # Corresponds to the JSON property `state`
 | |
|         # @return [String]
 | |
|         attr_accessor :state
 | |
|       
 | |
|         # Publisher provided key metrics and rankings.
 | |
|         # Corresponds to the JSON property `topHeadlines`
 | |
|         # @return [Array<String>]
 | |
|         attr_accessor :top_headlines
 | |
|       
 | |
|         def initialize(**args)
 | |
|            update!(**args)
 | |
|         end
 | |
|       
 | |
|         # Update properties of this object
 | |
|         def update!(**args)
 | |
|           @audience = args[:audience] if args.key?(:audience)
 | |
|           @buyer_pitch_statement = args[:buyer_pitch_statement] if args.key?(:buyer_pitch_statement)
 | |
|           @direct_contact = args[:direct_contact] if args.key?(:direct_contact)
 | |
|           @exchange = args[:exchange] if args.key?(:exchange)
 | |
|           @google_plus_link = args[:google_plus_link] if args.key?(:google_plus_link)
 | |
|           @is_parent = args[:is_parent] if args.key?(:is_parent)
 | |
|           @is_published = args[:is_published] if args.key?(:is_published)
 | |
|           @kind = args[:kind] if args.key?(:kind)
 | |
|           @logo_url = args[:logo_url] if args.key?(:logo_url)
 | |
|           @media_kit_link = args[:media_kit_link] if args.key?(:media_kit_link)
 | |
|           @name = args[:name] if args.key?(:name)
 | |
|           @overview = args[:overview] if args.key?(:overview)
 | |
|           @profile_id = args[:profile_id] if args.key?(:profile_id)
 | |
|           @programmatic_contact = args[:programmatic_contact] if args.key?(:programmatic_contact)
 | |
|           @publisher_app_ids = args[:publisher_app_ids] if args.key?(:publisher_app_ids)
 | |
|           @publisher_apps = args[:publisher_apps] if args.key?(:publisher_apps)
 | |
|           @publisher_domains = args[:publisher_domains] if args.key?(:publisher_domains)
 | |
|           @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)
 | |
|           @rate_card_info_link = args[:rate_card_info_link] if args.key?(:rate_card_info_link)
 | |
|           @sample_page_link = args[:sample_page_link] if args.key?(:sample_page_link)
 | |
|           @seller = args[:seller] if args.key?(:seller)
 | |
|           @state = args[:state] if args.key?(:state)
 | |
|           @top_headlines = args[:top_headlines] if args.key?(:top_headlines)
 | |
|         end
 | |
|       end
 | |
|       
 | |
|       # This message carries publisher provided forecasting information.
 | |
|       class PublisherProvidedForecast
 | |
|         include Google::Apis::Core::Hashable
 | |
|       
 | |
|         # Publisher provided dimensions. E.g. geo, sizes etc...
 | |
|         # Corresponds to the JSON property `dimensions`
 | |
|         # @return [Array<Google::Apis::AdexchangebuyerV1_4::Dimension>]
 | |
|         attr_accessor :dimensions
 | |
|       
 | |
|         # Publisher provided weekly impressions.
 | |
|         # Corresponds to the JSON property `weeklyImpressions`
 | |
|         # @return [Fixnum]
 | |
|         attr_accessor :weekly_impressions
 | |
|       
 | |
|         # Publisher provided weekly uniques.
 | |
|         # Corresponds to the JSON property `weeklyUniques`
 | |
|         # @return [Fixnum]
 | |
|         attr_accessor :weekly_uniques
 | |
|       
 | |
|         def initialize(**args)
 | |
|            update!(**args)
 | |
|         end
 | |
|       
 | |
|         # Update properties of this object
 | |
|         def update!(**args)
 | |
|           @dimensions = args[:dimensions] if args.key?(:dimensions)
 | |
|           @weekly_impressions = args[:weekly_impressions] if args.key?(:weekly_impressions)
 | |
|           @weekly_uniques = args[:weekly_uniques] if args.key?(:weekly_uniques)
 | |
|         end
 | |
|       end
 | |
|       
 | |
|       # 
 | |
|       class Seller
 | |
|         include Google::Apis::Core::Hashable
 | |
|       
 | |
|         # The unique id for the seller. The seller fills in this field. The seller
 | |
|         # account id is then available to buyer in the product.
 | |
|         # Corresponds to the JSON property `accountId`
 | |
|         # @return [String]
 | |
|         attr_accessor :account_id
 | |
|       
 | |
|         # Optional sub-account id for the seller.
 | |
|         # Corresponds to the JSON property `subAccountId`
 | |
|         # @return [String]
 | |
|         attr_accessor :sub_account_id
 | |
|       
 | |
|         def initialize(**args)
 | |
|            update!(**args)
 | |
|         end
 | |
|       
 | |
|         # Update properties of this object
 | |
|         def update!(**args)
 | |
|           @account_id = args[:account_id] if args.key?(:account_id)
 | |
|           @sub_account_id = args[:sub_account_id] if args.key?(:sub_account_id)
 | |
|         end
 | |
|       end
 | |
|       
 | |
|       # 
 | |
|       class SharedTargeting
 | |
|         include Google::Apis::Core::Hashable
 | |
|       
 | |
|         # The list of values to exclude from targeting. Each value is AND'd together.
 | |
|         # Corresponds to the JSON property `exclusions`
 | |
|         # @return [Array<Google::Apis::AdexchangebuyerV1_4::TargetingValue>]
 | |
|         attr_accessor :exclusions
 | |
|       
 | |
|         # The list of value to include as part of the targeting. Each value is OR'd
 | |
|         # together.
 | |
|         # Corresponds to the JSON property `inclusions`
 | |
|         # @return [Array<Google::Apis::AdexchangebuyerV1_4::TargetingValue>]
 | |
|         attr_accessor :inclusions
 | |
|       
 | |
|         # The key representing the shared targeting criterion.
 | |
|         # Corresponds to the JSON property `key`
 | |
|         # @return [String]
 | |
|         attr_accessor :key
 | |
|       
 | |
|         def initialize(**args)
 | |
|            update!(**args)
 | |
|         end
 | |
|       
 | |
|         # Update properties of this object
 | |
|         def update!(**args)
 | |
|           @exclusions = args[:exclusions] if args.key?(:exclusions)
 | |
|           @inclusions = args[:inclusions] if args.key?(:inclusions)
 | |
|           @key = args[:key] if args.key?(:key)
 | |
|         end
 | |
|       end
 | |
|       
 | |
|       # 
 | |
|       class TargetingValue
 | |
|         include Google::Apis::Core::Hashable
 | |
|       
 | |
|         # Next Id: 7
 | |
|         # Corresponds to the JSON property `creativeSizeValue`
 | |
|         # @return [Google::Apis::AdexchangebuyerV1_4::TargetingValueCreativeSize]
 | |
|         attr_accessor :creative_size_value
 | |
|       
 | |
|         # The daypart targeting to include / exclude. Filled in when the key is
 | |
|         # GOOG_DAYPART_TARGETING.
 | |
|         # Corresponds to the JSON property `dayPartTargetingValue`
 | |
|         # @return [Google::Apis::AdexchangebuyerV1_4::TargetingValueDayPartTargeting]
 | |
|         attr_accessor :day_part_targeting_value
 | |
|       
 | |
|         # 
 | |
|         # Corresponds to the JSON property `demogAgeCriteriaValue`
 | |
|         # @return [Google::Apis::AdexchangebuyerV1_4::TargetingValueDemogAgeCriteria]
 | |
|         attr_accessor :demog_age_criteria_value
 | |
|       
 | |
|         # 
 | |
|         # Corresponds to the JSON property `demogGenderCriteriaValue`
 | |
|         # @return [Google::Apis::AdexchangebuyerV1_4::TargetingValueDemogGenderCriteria]
 | |
|         attr_accessor :demog_gender_criteria_value
 | |
|       
 | |
|         # The long value to exclude/include.
 | |
|         # Corresponds to the JSON property `longValue`
 | |
|         # @return [Fixnum]
 | |
|         attr_accessor :long_value
 | |
|       
 | |
|         # 
 | |
|         # Corresponds to the JSON property `requestPlatformTargetingValue`
 | |
|         # @return [Google::Apis::AdexchangebuyerV1_4::TargetingValueRequestPlatformTargeting]
 | |
|         attr_accessor :request_platform_targeting_value
 | |
|       
 | |
|         # The string value to exclude/include.
 | |
|         # Corresponds to the JSON property `stringValue`
 | |
|         # @return [String]
 | |
|         attr_accessor :string_value
 | |
|       
 | |
|         def initialize(**args)
 | |
|            update!(**args)
 | |
|         end
 | |
|       
 | |
|         # Update properties of this object
 | |
|         def update!(**args)
 | |
|           @creative_size_value = args[:creative_size_value] if args.key?(:creative_size_value)
 | |
|           @day_part_targeting_value = args[:day_part_targeting_value] if args.key?(:day_part_targeting_value)
 | |
|           @demog_age_criteria_value = args[:demog_age_criteria_value] if args.key?(:demog_age_criteria_value)
 | |
|           @demog_gender_criteria_value = args[:demog_gender_criteria_value] if args.key?(:demog_gender_criteria_value)
 | |
|           @long_value = args[:long_value] if args.key?(:long_value)
 | |
|           @request_platform_targeting_value = args[:request_platform_targeting_value] if args.key?(:request_platform_targeting_value)
 | |
|           @string_value = args[:string_value] if args.key?(:string_value)
 | |
|         end
 | |
|       end
 | |
|       
 | |
|       # Next Id: 7
 | |
|       class TargetingValueCreativeSize
 | |
|         include Google::Apis::Core::Hashable
 | |
|       
 | |
|         # The formats allowed by the publisher.
 | |
|         # Corresponds to the JSON property `allowedFormats`
 | |
|         # @return [Array<String>]
 | |
|         attr_accessor :allowed_formats
 | |
|       
 | |
|         # For video size type, the list of companion sizes.
 | |
|         # Corresponds to the JSON property `companionSizes`
 | |
|         # @return [Array<Google::Apis::AdexchangebuyerV1_4::TargetingValueSize>]
 | |
|         attr_accessor :companion_sizes
 | |
|       
 | |
|         # The Creative size type.
 | |
|         # Corresponds to the JSON property `creativeSizeType`
 | |
|         # @return [String]
 | |
|         attr_accessor :creative_size_type
 | |
|       
 | |
|         # The native template for native ad.
 | |
|         # Corresponds to the JSON property `nativeTemplate`
 | |
|         # @return [String]
 | |
|         attr_accessor :native_template
 | |
|       
 | |
|         # For regular or video creative size type, specifies the size of the creative.
 | |
|         # Corresponds to the JSON property `size`
 | |
|         # @return [Google::Apis::AdexchangebuyerV1_4::TargetingValueSize]
 | |
|         attr_accessor :size
 | |
|       
 | |
|         # The skippable ad type for video size.
 | |
|         # Corresponds to the JSON property `skippableAdType`
 | |
|         # @return [String]
 | |
|         attr_accessor :skippable_ad_type
 | |
|       
 | |
|         def initialize(**args)
 | |
|            update!(**args)
 | |
|         end
 | |
|       
 | |
|         # Update properties of this object
 | |
|         def update!(**args)
 | |
|           @allowed_formats = args[:allowed_formats] if args.key?(:allowed_formats)
 | |
|           @companion_sizes = args[:companion_sizes] if args.key?(:companion_sizes)
 | |
|           @creative_size_type = args[:creative_size_type] if args.key?(:creative_size_type)
 | |
|           @native_template = args[:native_template] if args.key?(:native_template)
 | |
|           @size = args[:size] if args.key?(:size)
 | |
|           @skippable_ad_type = args[:skippable_ad_type] if args.key?(:skippable_ad_type)
 | |
|         end
 | |
|       end
 | |
|       
 | |
|       # 
 | |
|       class TargetingValueDayPartTargeting
 | |
|         include Google::Apis::Core::Hashable
 | |
|       
 | |
|         # 
 | |
|         # Corresponds to the JSON property `dayParts`
 | |
|         # @return [Array<Google::Apis::AdexchangebuyerV1_4::TargetingValueDayPartTargetingDayPart>]
 | |
|         attr_accessor :day_parts
 | |
|       
 | |
|         # 
 | |
|         # Corresponds to the JSON property `timeZoneType`
 | |
|         # @return [String]
 | |
|         attr_accessor :time_zone_type
 | |
|       
 | |
|         def initialize(**args)
 | |
|            update!(**args)
 | |
|         end
 | |
|       
 | |
|         # Update properties of this object
 | |
|         def update!(**args)
 | |
|           @day_parts = args[:day_parts] if args.key?(:day_parts)
 | |
|           @time_zone_type = args[:time_zone_type] if args.key?(:time_zone_type)
 | |
|         end
 | |
|       end
 | |
|       
 | |
|       # 
 | |
|       class TargetingValueDayPartTargetingDayPart
 | |
|         include Google::Apis::Core::Hashable
 | |
|       
 | |
|         # 
 | |
|         # Corresponds to the JSON property `dayOfWeek`
 | |
|         # @return [String]
 | |
|         attr_accessor :day_of_week
 | |
|       
 | |
|         # 
 | |
|         # Corresponds to the JSON property `endHour`
 | |
|         # @return [Fixnum]
 | |
|         attr_accessor :end_hour
 | |
|       
 | |
|         # 
 | |
|         # Corresponds to the JSON property `endMinute`
 | |
|         # @return [Fixnum]
 | |
|         attr_accessor :end_minute
 | |
|       
 | |
|         # 
 | |
|         # Corresponds to the JSON property `startHour`
 | |
|         # @return [Fixnum]
 | |
|         attr_accessor :start_hour
 | |
|       
 | |
|         # 
 | |
|         # Corresponds to the JSON property `startMinute`
 | |
|         # @return [Fixnum]
 | |
|         attr_accessor :start_minute
 | |
|       
 | |
|         def initialize(**args)
 | |
|            update!(**args)
 | |
|         end
 | |
|       
 | |
|         # Update properties of this object
 | |
|         def update!(**args)
 | |
|           @day_of_week = args[:day_of_week] if args.key?(:day_of_week)
 | |
|           @end_hour = args[:end_hour] if args.key?(:end_hour)
 | |
|           @end_minute = args[:end_minute] if args.key?(:end_minute)
 | |
|           @start_hour = args[:start_hour] if args.key?(:start_hour)
 | |
|           @start_minute = args[:start_minute] if args.key?(:start_minute)
 | |
|         end
 | |
|       end
 | |
|       
 | |
|       # 
 | |
|       class TargetingValueDemogAgeCriteria
 | |
|         include Google::Apis::Core::Hashable
 | |
|       
 | |
|         # 
 | |
|         # Corresponds to the JSON property `demogAgeCriteriaIds`
 | |
|         # @return [Array<String>]
 | |
|         attr_accessor :demog_age_criteria_ids
 | |
|       
 | |
|         def initialize(**args)
 | |
|            update!(**args)
 | |
|         end
 | |
|       
 | |
|         # Update properties of this object
 | |
|         def update!(**args)
 | |
|           @demog_age_criteria_ids = args[:demog_age_criteria_ids] if args.key?(:demog_age_criteria_ids)
 | |
|         end
 | |
|       end
 | |
|       
 | |
|       # 
 | |
|       class TargetingValueDemogGenderCriteria
 | |
|         include Google::Apis::Core::Hashable
 | |
|       
 | |
|         # 
 | |
|         # Corresponds to the JSON property `demogGenderCriteriaIds`
 | |
|         # @return [Array<String>]
 | |
|         attr_accessor :demog_gender_criteria_ids
 | |
|       
 | |
|         def initialize(**args)
 | |
|            update!(**args)
 | |
|         end
 | |
|       
 | |
|         # Update properties of this object
 | |
|         def update!(**args)
 | |
|           @demog_gender_criteria_ids = args[:demog_gender_criteria_ids] if args.key?(:demog_gender_criteria_ids)
 | |
|         end
 | |
|       end
 | |
|       
 | |
|       # 
 | |
|       class TargetingValueRequestPlatformTargeting
 | |
|         include Google::Apis::Core::Hashable
 | |
|       
 | |
|         # 
 | |
|         # Corresponds to the JSON property `requestPlatforms`
 | |
|         # @return [Array<String>]
 | |
|         attr_accessor :request_platforms
 | |
|       
 | |
|         def initialize(**args)
 | |
|            update!(**args)
 | |
|         end
 | |
|       
 | |
|         # Update properties of this object
 | |
|         def update!(**args)
 | |
|           @request_platforms = args[:request_platforms] if args.key?(:request_platforms)
 | |
|         end
 | |
|       end
 | |
|       
 | |
|       # 
 | |
|       class TargetingValueSize
 | |
|         include Google::Apis::Core::Hashable
 | |
|       
 | |
|         # The height of the creative.
 | |
|         # Corresponds to the JSON property `height`
 | |
|         # @return [Fixnum]
 | |
|         attr_accessor :height
 | |
|       
 | |
|         # The width of the creative.
 | |
|         # Corresponds to the JSON property `width`
 | |
|         # @return [Fixnum]
 | |
|         attr_accessor :width
 | |
|       
 | |
|         def initialize(**args)
 | |
|            update!(**args)
 | |
|         end
 | |
|       
 | |
|         # Update properties of this object
 | |
|         def update!(**args)
 | |
|           @height = args[:height] if args.key?(:height)
 | |
|           @width = args[:width] if args.key?(:width)
 | |
|         end
 | |
|       end
 | |
|       
 | |
|       # 
 | |
|       class UpdatePrivateAuctionProposalRequest
 | |
|         include Google::Apis::Core::Hashable
 | |
|       
 | |
|         # The externalDealId of the deal to be updated.
 | |
|         # Corresponds to the JSON property `externalDealId`
 | |
|         # @return [String]
 | |
|         attr_accessor :external_deal_id
 | |
|       
 | |
|         # A proposal is associated with a bunch of notes which may optionally be
 | |
|         # associated with a deal and/or revision number.
 | |
|         # Corresponds to the JSON property `note`
 | |
|         # @return [Google::Apis::AdexchangebuyerV1_4::MarketplaceNote]
 | |
|         attr_accessor :note
 | |
|       
 | |
|         # The current revision number of the proposal to be updated.
 | |
|         # Corresponds to the JSON property `proposalRevisionNumber`
 | |
|         # @return [Fixnum]
 | |
|         attr_accessor :proposal_revision_number
 | |
|       
 | |
|         # The proposed action on the private auction proposal.
 | |
|         # Corresponds to the JSON property `updateAction`
 | |
|         # @return [String]
 | |
|         attr_accessor :update_action
 | |
|       
 | |
|         def initialize(**args)
 | |
|            update!(**args)
 | |
|         end
 | |
|       
 | |
|         # Update properties of this object
 | |
|         def update!(**args)
 | |
|           @external_deal_id = args[:external_deal_id] if args.key?(:external_deal_id)
 | |
|           @note = args[:note] if args.key?(:note)
 | |
|           @proposal_revision_number = args[:proposal_revision_number] if args.key?(:proposal_revision_number)
 | |
|           @update_action = args[:update_action] if args.key?(:update_action)
 | |
|         end
 | |
|       end
 | |
|     end
 | |
|   end
 | |
| end
 |