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 |