458 lines
		
	
	
		
			18 KiB
		
	
	
	
		
			Ruby
		
	
	
	
			
		
		
	
	
			458 lines
		
	
	
		
			18 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_2
 | |
|       
 | |
|       # Configuration data for an Ad Exchange buyer account.
 | |
|       class Account
 | |
|         include Google::Apis::Core::Hashable
 | |
|       
 | |
|         # Your bidder locations that have distinct URLs.
 | |
|         # Corresponds to the JSON property `bidderLocation`
 | |
|         # @return [Array<Google::Apis::AdexchangebuyerV1_2::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)
 | |
|           @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 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)
 | |
|             @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_2::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
 | |
|       
 | |
|       # 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 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
 | |
|       
 | |
|         # 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.
 | |
|         # 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
 | |
|       
 | |
|         # All attributes for the ads that may be shown from this snippet.
 | |
|         # 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_2::Creative::Correction>]
 | |
|         attr_accessor :corrections
 | |
|       
 | |
|         # The reasons for disapproval, if any. Note that not all disapproval reasons may
 | |
|         # be categorized, so it is possible for the creative to have a status of
 | |
|         # DISAPPROVED with an empty list for disapproval_reasons. In this case, please
 | |
|         # reach out to your TAM to help debug the issue. Read-only. This field should
 | |
|         # not be set in requests.
 | |
|         # Corresponds to the JSON property `disapprovalReasons`
 | |
|         # @return [Array<Google::Apis::AdexchangebuyerV1_2::Creative::DisapprovalReason>]
 | |
|         attr_accessor :disapproval_reasons
 | |
|       
 | |
|         # 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_2::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 product categories, if any. 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.
 | |
|         # Corresponds to the JSON property `restrictedCategories`
 | |
|         # @return [Array<Fixnum>]
 | |
|         attr_accessor :restricted_categories
 | |
|       
 | |
|         # Detected sensitive categories, if any. Read-only. This field should not be set
 | |
|         # in requests.
 | |
|         # Corresponds to the JSON property `sensitiveCategories`
 | |
|         # @return [Array<Fixnum>]
 | |
|         attr_accessor :sensitive_categories
 | |
|       
 | |
|         # Creative serving status. Read-only. This field should not be set in requests.
 | |
|         # Corresponds to the JSON property `status`
 | |
|         # @return [String]
 | |
|         attr_accessor :status
 | |
|       
 | |
|         # All vendor types for the ads that may be shown from this snippet.
 | |
|         # 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 should not be set.
 | |
|         # Corresponds to the JSON property `videoURL`
 | |
|         # @return [String]
 | |
|         attr_accessor :video_url
 | |
|       
 | |
|         # 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)
 | |
|           @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)
 | |
|           @disapproval_reasons = args[:disapproval_reasons] if args.key?(:disapproval_reasons)
 | |
|           @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)
 | |
|           @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)
 | |
|           @status = args[:status] if args.key?(:status)
 | |
|           @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)
 | |
|           @width = args[:width] if args.key?(:width)
 | |
|         end
 | |
|         
 | |
|         # 
 | |
|         class Correction
 | |
|           include Google::Apis::Core::Hashable
 | |
|         
 | |
|           # 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)
 | |
|             @details = args[:details] if args.key?(:details)
 | |
|             @reason = args[:reason] if args.key?(:reason)
 | |
|           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
 | |
|         
 | |
|         # 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_2::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. Please refer to the creative-status-codes.txt file
 | |
|             # for different statuses.
 | |
|             # 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
 | |
|       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_2::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
 | |
|     end
 | |
|   end
 | |
| end
 |