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
|