UNPKG

googleapis

Version:
1,590 lines 90.4 kB
/** * Copyright 2015 Google Inc. All Rights Reserved. * * 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. */ import { AxiosPromise } from 'axios'; import { GoogleApis } from '../..'; import { BodyResponseCallback, GlobalOptions, MethodOptions } from '../../lib/api'; /** * Ad Exchange Buyer API * * Accesses your bidding-account information, submits creatives for validation, * finds available direct deals, and retrieves performance reports. * * @example * const google = require('googleapis'); * const adexchangebuyer = google.adexchangebuyer('v1.4'); * * @namespace adexchangebuyer * @type {Function} * @version v1.4 * @variation v1.4 * @param {object=} options Options for Adexchangebuyer */ export declare class Adexchangebuyer { _options: GlobalOptions; google: GoogleApis; root: this; accounts: Resource$Accounts; billingInfo: Resource$Billinginfo; budget: Resource$Budget; creatives: Resource$Creatives; marketplacedeals: Resource$Marketplacedeals; marketplacenotes: Resource$Marketplacenotes; marketplaceprivateauction: Resource$Marketplaceprivateauction; performanceReport: Resource$Performancereport; pretargetingConfig: Resource$Pretargetingconfig; products: Resource$Products; proposals: Resource$Proposals; pubprofiles: Resource$Pubprofiles; constructor(options: GlobalOptions, google: GoogleApis); getRoot(): this; } /** * Configuration data for an Ad Exchange buyer account. */ export interface Schema$Account { /** * 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. */ applyPretargetingToNonGuaranteedDeals: boolean; /** * Your bidder locations that have distinct URLs. */ bidderLocation: any[]; /** * The nid parameter value used in cookie match requests. Please contact your * technical account manager if you need to change this. */ cookieMatchingNid: string; /** * The base URL used in cookie match requests. */ cookieMatchingUrl: string; /** * Account id. */ id: number; /** * Resource type. */ kind: string; /** * 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. */ maximumActiveCreatives: number; /** * The sum of all bidderLocation.maximumQps values cannot exceed this. Please * contact your technical account manager if you need to change this. */ maximumTotalQps: number; /** * The number of creatives that this account inserted or bid with in the last * 30 days. */ numberActiveCreatives: number; } /** * 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. */ export interface Schema$AccountsList { /** * A list of accounts. */ items: Schema$Account[]; /** * Resource type. */ kind: string; } export interface Schema$AddOrderDealsRequest { /** * The list of deals to add */ deals: Schema$MarketplaceDeal[]; /** * The last known proposal revision number. */ proposalRevisionNumber: string; /** * Indicates an optional action to take on the proposal */ updateAction: string; } export interface Schema$AddOrderDealsResponse { /** * List of deals added (in the same proposal as passed in the request) */ deals: Schema$MarketplaceDeal[]; /** * The updated revision number for the proposal. */ proposalRevisionNumber: string; } export interface Schema$AddOrderNotesRequest { /** * The list of notes to add. */ notes: Schema$MarketplaceNote[]; } export interface Schema$AddOrderNotesResponse { notes: Schema$MarketplaceNote[]; } /** * The configuration data for an Ad Exchange billing info. */ export interface Schema$BillingInfo { /** * Account id. */ accountId: number; /** * Account name. */ accountName: string; /** * 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. */ billingId: string[]; /** * Resource type. */ kind: string; } /** * 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. */ export interface Schema$BillingInfoList { /** * A list of billing info relevant for your account. */ items: Schema$BillingInfo[]; /** * Resource type. */ kind: string; } /** * The configuration data for Ad Exchange RTB - Budget API. */ export interface Schema$Budget { /** * The id of the account. This is required for get and update requests. */ accountId: string; /** * The billing id to determine which adgroup to provide budget information * for. This is required for get and update requests. */ billingId: string; /** * The daily budget amount in unit amount of the account currency to apply for * the billingId provided. This is required for update requests. */ budgetAmount: string; /** * The currency code for the buyer. This cannot be altered here. */ currencyCode: string; /** * The unique id that describes this item. */ id: string; /** * The kind of the resource, i.e. "adexchangebuyer#budget". */ kind: string; } export interface Schema$Buyer { /** * Adx account id of the buyer. */ accountId: string; } export interface Schema$ContactInformation { /** * Email address of the contact. */ email: string; /** * The name of the contact. */ name: string; } export interface Schema$CreateOrdersRequest { /** * The list of proposals to create. */ proposals: Schema$Proposal[]; /** * Web property id of the seller creating these orders */ webPropertyCode: string; } export interface Schema$CreateOrdersResponse { /** * The list of proposals successfully created. */ proposals: Schema$Proposal[]; } /** * A creative and its classification data. */ export interface Schema$Creative { /** * Account id. */ accountId: number; /** * The link to the Ad Preferences page. This is only supported for native ads. */ adChoicesDestinationUrl: string; /** * Detected advertiser id, if any. Read-only. This field should not be set in * requests. */ advertiserId: string[]; /** * The name of the company being advertised in the creative. The value * provided must exist in the advertisers.txt file. */ advertiserName: string; /** * The agency id for this creative. */ agencyId: string; /** * 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). */ apiUploadTimestamp: string; /** * 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. */ attribute: number[]; /** * A buyer-specific id identifying the creative in this ad. */ buyerCreativeId: string; /** * The set of destination urls for the snippet. */ clickThroughUrl: string[]; /** * Shows any corrections that were applied to this creative. Read-only. This * field should not be set in requests. */ corrections: any[]; /** * 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. */ dealsStatus: string; /** * Detected domains for this creative. Read-only. This field should not be set * in requests. */ detectedDomains: string[]; /** * The filtering reasons for the creative. Read-only. This field should not be * set in requests. */ filteringReasons: any; /** * Ad height. */ height: number; /** * The HTML snippet that displays the ad when inserted in the web page. If * set, videoURL, videoVastXML, and nativeAd should not be set. */ HTMLSnippet: string; /** * The set of urls to be called to record an impression. */ impressionTrackingUrl: string[]; /** * Resource type. */ kind: string; /** * Detected languages for this creative. Read-only. This field should not be * set in requests. */ languages: string[]; /** * If nativeAd is set, HTMLSnippet, videoVastXML, and the videoURL outside of * nativeAd should not be set. (The videoURL inside nativeAd can be set.) */ nativeAd: any; /** * 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. */ openAuctionStatus: string; /** * 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. */ productCategories: number[]; /** * 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. */ restrictedCategories: number[]; /** * 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. */ sensitiveCategories: number[]; /** * 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. */ servingRestrictions: any[]; /** * 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. */ vendorType: number[]; /** * The version for this creative. Read-only. This field should not be set in * requests. */ version: number; /** * 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. */ videoURL: string; /** * 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. */ videoVastXML: string; /** * Ad width. */ width: number; } /** * The external deal ids associated with a creative. */ export interface Schema$CreativeDealIds { /** * A list of external deal ids and ARC approval status. */ dealStatuses: any[]; /** * Resource type. */ kind: string; } /** * 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. */ export interface Schema$CreativesList { /** * A list of creatives. */ items: Schema$Creative[]; /** * Resource type. */ kind: string; /** * Continuation token used to page through creatives. To retrieve the next * page of results, set the next request's "pageToken" value to * this. */ nextPageToken: string; } export interface Schema$DealServingMetadata { /** * 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 */ alcoholAdsAllowed: boolean; /** * Tracks which parties (if any) have paused a deal. (readonly, except via * PauseResumeOrderDeals action) */ dealPauseStatus: Schema$DealServingMetadataDealPauseStatus; } /** * 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. */ export interface Schema$DealServingMetadataDealPauseStatus { buyerPauseReason: string; /** * If the deal is paused, records which party paused the deal first. */ firstPausedBy: string; hasBuyerPaused: boolean; hasSellerPaused: boolean; sellerPauseReason: string; } export interface Schema$DealTerms { /** * Visibilty of the URL in bid requests. */ brandingType: string; /** * 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. */ crossListedExternalDealIdType: string; /** * Description for the proposed terms of the deal. */ description: string; /** * Non-binding estimate of the estimated gross spend for this deal Can be set * by buyer or seller. */ estimatedGrossSpend: Schema$Price; /** * Non-binding estimate of the impressions served per day Can be set by buyer * or seller. */ estimatedImpressionsPerDay: string; /** * The terms for guaranteed fixed price deals. */ guaranteedFixedPriceTerms: Schema$DealTermsGuaranteedFixedPriceTerms; /** * The terms for non-guaranteed auction deals. */ nonGuaranteedAuctionTerms: Schema$DealTermsNonGuaranteedAuctionTerms; /** * The terms for non-guaranteed fixed price deals. */ nonGuaranteedFixedPriceTerms: Schema$DealTermsNonGuaranteedFixedPriceTerms; /** * The terms for rubicon non-guaranteed deals. */ rubiconNonGuaranteedTerms: Schema$DealTermsRubiconNonGuaranteedTerms; /** * For deals with Cost Per Day billing, defines the timezone used to mark the * boundaries of a day (buyer-readonly) */ sellerTimeZone: string; } export interface Schema$DealTermsGuaranteedFixedPriceTerms { /** * 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. */ billingInfo: Schema$DealTermsGuaranteedFixedPriceTermsBillingInfo; /** * Fixed price for the specified buyer. */ fixedPrices: Schema$PricePerBuyer[]; /** * Guaranteed impressions as a percentage. This is the percentage of * guaranteed looks that the buyer is guaranteeing to buy. */ guaranteedImpressions: string; /** * Count of guaranteed looks. Required for deal, optional for product. For CPD * deals, buyer changes to guaranteed_looks will be ignored. */ guaranteedLooks: string; /** * Count of minimum daily looks for a CPD deal. For CPD deals, buyer should * negotiate on this field instead of guaranteed_looks. */ minimumDailyLooks: string; } export interface Schema$DealTermsGuaranteedFixedPriceTermsBillingInfo { /** * 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. */ currencyConversionTimeMs: string; /** * The DFP line item id associated with this deal. For features like CPD, * buyers can retrieve the DFP line item for billing reconciliation. */ dfpLineItemId: string; /** * 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. */ originalContractedQuantity: string; /** * The original reservation price for the deal, if the currency code is * different from the one used in negotiation. */ price: Schema$Price; } export interface Schema$DealTermsNonGuaranteedAuctionTerms { /** * True if open auction buyers are allowed to compete with invited buyers in * this private auction (buyer-readonly). */ autoOptimizePrivateAuction: boolean; /** * Reserve price for the specified buyer. */ reservePricePerBuyers: Schema$PricePerBuyer[]; } export interface Schema$DealTermsNonGuaranteedFixedPriceTerms { /** * Fixed price for the specified buyer. */ fixedPrices: Schema$PricePerBuyer[]; } export interface Schema$DealTermsRubiconNonGuaranteedTerms { /** * Optional price for Rubicon priority access in the auction. */ priorityPrice: Schema$Price; /** * Optional price for Rubicon standard access in the auction. */ standardPrice: Schema$Price; } export interface Schema$DeleteOrderDealsRequest { /** * List of deals to delete for a given proposal */ dealIds: string[]; /** * The last known proposal revision number. */ proposalRevisionNumber: string; /** * Indicates an optional action to take on the proposal */ updateAction: string; } export interface Schema$DeleteOrderDealsResponse { /** * List of deals deleted (in the same proposal as passed in the request) */ deals: Schema$MarketplaceDeal[]; /** * The updated revision number for the proposal. */ proposalRevisionNumber: string; } export interface Schema$DeliveryControl { creativeBlockingLevel: string; deliveryRateType: string; frequencyCaps: Schema$DeliveryControlFrequencyCap[]; } export interface Schema$DeliveryControlFrequencyCap { maxImpressions: number; numTimeUnits: number; timeUnitType: string; } /** * This message carries publisher provided breakdown. E.g. {dimension_type: * 'COUNTRY', [{dimension_value: {id: 1, name: 'US'}}, * {dimension_value: {id: 2, name: 'UK'}}]} */ export interface Schema$Dimension { dimensionType: string; dimensionValues: Schema$DimensionDimensionValue[]; } /** * Value of the dimension. */ export interface Schema$DimensionDimensionValue { /** * Id of the dimension. */ id: number; /** * Name of the dimension mainly for debugging purposes, except for the case of * CREATIVE_SIZE. For CREATIVE_SIZE, strings are used instead of ids. */ name: string; /** * 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. */ percentage: number; } export interface Schema$EditAllOrderDealsRequest { /** * 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. */ deals: Schema$MarketplaceDeal[]; /** * If specified, also updates the proposal in the batch transaction. This is * useful when the proposal and the deals need to be updated in one * transaction. */ proposal: Schema$Proposal; /** * The last known revision number for the proposal. */ proposalRevisionNumber: string; /** * Indicates an optional action to take on the proposal */ updateAction: string; } export interface Schema$EditAllOrderDealsResponse { /** * List of all deals in the proposal after edit. */ deals: Schema$MarketplaceDeal[]; /** * The latest revision number after the update has been applied. */ orderRevisionNumber: string; } export interface Schema$GetOffersResponse { /** * The returned list of products. */ products: Schema$Product[]; } export interface Schema$GetOrderDealsResponse { /** * List of deals for the proposal */ deals: Schema$MarketplaceDeal[]; } export interface Schema$GetOrderNotesResponse { /** * 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. */ notes: Schema$MarketplaceNote[]; } export interface Schema$GetOrdersResponse { /** * The list of matching proposals. */ proposals: Schema$Proposal[]; } export interface Schema$GetPublisherProfilesByAccountIdResponse { /** * Profiles for the requested publisher */ profiles: Schema$PublisherProfileApiProto[]; } /** * A proposal can contain multiple deals. A deal contains the terms and * targeting information that is used for serving. */ export interface Schema$MarketplaceDeal { /** * Buyer private data (hidden from seller). */ buyerPrivateData: Schema$PrivateData; /** * The time (ms since epoch) of the deal creation. (readonly) */ creationTimeMs: string; /** * Specifies the creative pre-approval policy (buyer-readonly) */ creativePreApprovalPolicy: string; /** * Specifies whether the creative is safeFrame compatible (buyer-readonly) */ creativeSafeFrameCompatibility: string; /** * A unique deal-id for the deal (readonly). */ dealId: string; /** * Metadata about the serving status of this deal (readonly, writes via custom * actions) */ dealServingMetadata: Schema$DealServingMetadata; /** * 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. */ deliveryControl: Schema$DeliveryControl; /** * 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) */ externalDealId: string; /** * Proposed flight end time of the deal (ms since epoch) This will generally * be stored in a granularity of a second. (updatable) */ flightEndTimeMs: string; /** * Proposed flight start time of the deal (ms since epoch) This will generally * be stored in a granularity of a second. (updatable) */ flightStartTimeMs: string; /** * Description for the deal terms. (buyer-readonly) */ inventoryDescription: string; /** * Indicates whether the current deal is a RFP template. RFP template is * created by buyer and not based on seller created products. */ isRfpTemplate: boolean; /** * True, if the buyside inventory setup is complete for this deal. (readonly, * except via OrderSetupCompleted action) */ isSetupComplete: boolean; /** * Identifies what kind of resource this is. Value: the fixed string * "adexchangebuyer#marketplaceDeal". */ kind: string; /** * The time (ms since epoch) when the deal was last updated. (readonly) */ lastUpdateTimeMs: string; /** * The name of the deal. (updatable) */ name: string; /** * The product-id from which this deal was created. (readonly, except on * create) */ productId: string; /** * The revision number of the product that the deal was created from * (readonly, except on create) */ productRevisionNumber: string; /** * Specifies the creative source for programmatic deals, PUBLISHER means * creative is provided by seller and ADVERTISR means creative is provided by * buyer. (buyer-readonly) */ programmaticCreativeSource: string; proposalId: string; /** * Optional Seller contact information for the deal (buyer-readonly) */ sellerContacts: Schema$ContactInformation[]; /** * The shared targeting visible to buyers and sellers. Each shared targeting * entity is AND'd together. (updatable) */ sharedTargetings: Schema$SharedTargeting[]; /** * The syndication product associated with the deal. (readonly, except on * create) */ syndicationProduct: string; /** * The negotiable terms of the deal. (updatable) */ terms: Schema$DealTerms; webPropertyCode: string; } export interface Schema$MarketplaceDealParty { /** * The buyer/seller associated with the deal. One of buyer/seller is specified * for a deal-party. */ buyer: Schema$Buyer; /** * The buyer/seller associated with the deal. One of buyer/seller is specified * for a deal party. */ seller: Schema$Seller; } export interface Schema$MarketplaceLabel { /** * The accountId of the party that created the label. */ accountId: string; /** * The creation time (in ms since epoch) for the label. */ createTimeMs: string; /** * Information about the party that created the label. */ deprecatedMarketplaceDealParty: Schema$MarketplaceDealParty; /** * The label to use. */ label: string; } /** * A proposal is associated with a bunch of notes which may optionally be * associated with a deal and/or revision number. */ export interface Schema$MarketplaceNote { /** * The role of the person (buyer/seller) creating the note. (readonly) */ creatorRole: string; /** * Notes can optionally be associated with a deal. (readonly, except on * create) */ dealId: string; /** * Identifies what kind of resource this is. Value: the fixed string * "adexchangebuyer#marketplaceNote". */ kind: string; /** * The actual note to attach. (readonly, except on create) */ note: string; /** * The unique id for the note. (readonly) */ noteId: string; /** * The proposalId that a note is attached to. (readonly) */ proposalId: string; /** * If the note is associated with a proposal revision number, then store that * here. (readonly, except on create) */ proposalRevisionNumber: string; /** * The timestamp (ms since epoch) that this note was created. (readonly) */ timestampMs: string; } /** * The configuration data for an Ad Exchange performance report list. */ export interface Schema$PerformanceReport { /** * The number of bid responses with an ad. */ bidRate: number; /** * The number of bid requests sent to your bidder. */ bidRequestRate: number; /** * Rate of various prefiltering statuses per match. Please refer to the * callout-status-codes.txt file for different statuses. */ calloutStatusRate: any[]; /** * Average QPS for cookie matcher operations. */ cookieMatcherStatusRate: any[]; /** * Rate of ads with a given status. Please refer to the * creative-status-codes.txt file for different statuses. */ creativeStatusRate: any[]; /** * The number of bid responses that were filtered due to a policy violation or * other errors. */ filteredBidRate: number; /** * Average QPS for hosted match operations. */ hostedMatchStatusRate: any[]; /** * The number of potential queries based on your pretargeting settings. */ inventoryMatchRate: number; /** * Resource type. */ kind: string; /** * The 50th percentile round trip latency(ms) as perceived from Google servers * for the duration period covered by the report. */ latency50thPercentile: number; /** * The 85th percentile round trip latency(ms) as perceived from Google servers * for the duration period covered by the report. */ latency85thPercentile: number; /** * The 95th percentile round trip latency(ms) as perceived from Google servers * for the duration period covered by the report. */ latency95thPercentile: number; /** * Rate of various quota account statuses per quota check. */ noQuotaInRegion: number; /** * Rate of various quota account statuses per quota check. */ outOfQuota: number; /** * Average QPS for pixel match requests from clients. */ pixelMatchRequests: number; /** * Average QPS for pixel match responses from clients. */ pixelMatchResponses: number; /** * The configured quota limits for this account. */ quotaConfiguredLimit: number; /** * The throttled quota limits for this account. */ quotaThrottledLimit: number; /** * The trading location of this data. */ region: string; /** * The number of properly formed bid responses received by our servers within * the deadline. */ successfulRequestRate: number; /** * The unix timestamp of the starting time of this performance data. */ timestamp: string; /** * The number of bid responses that were unsuccessful due to timeouts, * incorrect formatting, etc. */ unsuccessfulRequestRate: number; } /** * The configuration data for an Ad Exchange performance report list. */ export interface Schema$PerformanceReportList { /** * Resource type. */ kind: string; /** * A list of performance reports relevant for the account. */ performanceReport: Schema$PerformanceReport[]; } export interface Schema$PretargetingConfig { /** * The id for billing purposes, provided for reference. Leave this field blank * for insert requests; the id will be generated automatically. */ billingId: string; /** * The config id; generated automatically. Leave this field blank for insert * requests. */ configId: string; /** * The name of the config. Must be unique. Required for all requests. */ configName: string; /** * List must contain exactly one of PRETARGETING_CREATIVE_TYPE_HTML or * PRETARGETING_CREATIVE_TYPE_VIDEO. */ creativeType: string[]; /** * Requests which allow one of these (width, height) pairs will match. All * pairs must be supported ad dimensions. */ dimensions: any[]; /** * Requests with any of these content labels will not match. Values are from * content-labels.txt in the downloadable files section. */ excludedContentLabels: string[]; /** * Requests containing any of these geo criteria ids will not match. */ excludedGeoCriteriaIds: string[]; /** * Requests containing any of these placements will not match. */ excludedPlacements: any[]; /** * Requests containing any of these users list ids will not match. */ excludedUserLists: string[]; /** * Requests containing any of these vertical ids will not match. Values are * from the publisher-verticals.txt file in the downloadable files section. */ excludedVerticals: string[]; /** * Requests containing any of these geo criteria ids will match. */ geoCriteriaIds: string[]; /** * Whether this config is active. Required for all requests. */ isActive: boolean; /** * The kind of the resource, i.e. * "adexchangebuyer#pretargetingConfig". */ kind: string; /** * Request containing any of these language codes will match. */ languages: string[]; /** * 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. */ minimumViewabilityDecile: number; /** * Requests containing any of these mobile carrier ids will match. Values are * from mobile-carriers.csv in the downloadable files section. */ mobileCarriers: string[]; /** * Requests containing any of these mobile device ids will match. Values are * from mobile-devices.csv in the downloadable files section. */ mobileDevices: string[]; /** * Requests containing any of these mobile operating system version ids will * match. Values are from mobile-os.csv in the downloadable files section. */ mobileOperatingSystemVersions: string[]; /** * Requests containing any of these placements will match. */ placements: any[]; /** * Requests matching any of these platforms will match. Possible values are * PRETARGETING_PLATFORM_MOBILE, PRETARGETING_PLATFORM_DESKTOP, and * PRETARGETING_PLATFORM_TABLET. */ platforms: string[]; /** * 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. */ supportedCreativeAttributes: string[]; /** * 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. */ userIdentifierDataRequired: string[]; /** * Requests containing any of these user list ids will match. */ userLists: string[]; /** * Requests that allow any of these vendor ids will match. Values are from * vendors.txt in the downloadable files section. */ vendorTypes: string[]; /** * Requests containing any of these vertical ids will match. */ verticals: string[]; /** * Video requests satisfying any of these player size constraints will match. */ videoPlayerSizes: any[]; } export interface Schema$PretargetingConfigList { /** * A list of pretargeting configs */ items: Schema$PretargetingConfig[]; /** * Resource type. */ kind: string; } export interface Schema$Price { /** * The price value in micros. */ amountMicros: number; /** * The currency code for the price. */ currencyCode: string; /** * In case of CPD deals, the expected CPM in micros. */ expectedCpmMicros: number; /** * The pricing type for the deal/product. */ pricingType: string; } /** * 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. */ export interface Schema$PricePerBuyer { /** * Optional access type for this buyer. */ auctionTier: string; /** * Reference to the buyer that will get billed. */ billedBuyer: Schema$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). */ buyer: Schema$Buyer; /** * The specified price */ price: Schema$Price; } export interface Schema$PrivateData { referenceId: string; referencePayload: string; } /** * 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. */ export interface Schema$Product { /** * The billed buyer corresponding to the buyer that created the offer. * (readonly, except on create) */ billedBuyer: Schema$Buyer; /** * The buyer that created the offer if this is a buyer initiated offer * (readonly, except on create) */ buyer: Schema$Buyer; /** * Creation time in ms. since epoch (readonly) */ creationTimeMs: string; /** * Optional contact information for the creator of this product. * (buyer-readonly) */ creatorContacts: Schema$ContactInformation[]; /** * The role that created the offer. Set to BUYER for buyer initiated offers. */ creatorRole: string; /** * 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. */ deliveryControl: Schema$DeliveryControl; /** * The proposed end time for the deal (ms since epoch) (buyer-readonly) */ flightEndTimeMs: string; /** * Inventory availability dates. (times are in ms since epoch) The granularity * is generally in the order of seconds. (buyer-readonly) */ flightStartTimeMs: string; /** * 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. */ hasCreatorSignedOff: boolean; /** * What exchange will provide this inventory (readonly, except on create). */ inventorySource: string; /** * Identifies what kind of resource this is. Value: the fixed string * "adexchangebuyer#product". */ kind: string; /** * Optional List of labels for the product (optional, buyer-readonly). */ labels: Schema$MarketplaceLabel[]; /** * Time of last update in ms. since epoch (readonly) */ lastUpdateTimeMs: string; /** * Optional legacy offer id if this offer is a preferred deal offer. */ legacyOfferId: string; /** * 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. */ marketplacePublisherProfileId: string; /** * The name for this product as set by the seller. (buyer-readonly) */ name: string; /** * Optional private auction id if this offer is a private auction offer. */ privateAuctionId: string; /** * The unique id for the product (readonly) */ productId: string; /** * 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. */ publisherProfileId: string; /** * Publisher self-provided forecast information. */ publisherProvidedForecast: Schema$PublisherProvidedForecast; /** * The revision number of the product. (readonly) */ revisionNumber: string; /** * Information about the seller that created this product (readonly, except on * create) */ seller: Schema$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) */ sharedTargetings: Schema$SharedTargeting[]; /** * The state of the product. (buyer-readonly) */ state: string; /** * The syndication product associated with the deal. (readonly, except on * create) */ syndicationProduct: string; /** * The negotiable terms of the deal (buyer-readonly) */ terms: Schema$DealTerms; /** * The web property code for the seller. This field is meant to be copied over * as is when creating deals. */ webPropertyCode: string; } /** * 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. */ export interface Schema$Proposal { /** * Reference to the buyer that will get billed for this proposal. (readonly) */ billedBuyer: Schema$Buyer; /** * Reference to the buyer on the proposal. (readonly, except on create) */ buyer: Schema$Buyer; /** * Optional contact information of the buyer. (seller-readonly) */ buyerContacts: Schema$ContactInformation[]; /** * Private data for buyer. (hidden from seller). */ buyerPrivateData: Schema$PrivateData; /** * IDs of DBM advertisers permission to this proposal. */ dbmAdvertiserIds: string[]; /** * 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) */ hasBuyerSignedOff: boolean; /** * 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) */ hasSellerSignedOff: boolean; /** * What exchange will provide this inventory (readonly, except on create). */ inventorySource: string; /** * True if the proposal is being renegotiated (readonly). */ isRenegotiating: boolean; /** * 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. */ isSetupComplete: boolean; /** * Identifies what kind of resource this is. Value: the fixed string * "adexchangebuyer#proposal". */ kind: string; /** * List of labels associated with the proposal. (readonly) */ labels: Schema$MarketplaceLabel[]; /** * The role of the last user that either updated the proposal or left a * comment. (readonly) */ lastUpdaterOrCommentorRole: string; /** * The name for the proposal (updatable) */ name: string; /** * Optional negotiation id if this proposal is a preferred deal proposal. */ negotiationId: string; /** * Indicates whether the buyer/seller created the proposal.(readonly) */ originatorRole: string; /** * Optional private auction id if this proposal is a private auction proposal. */ privateAuctionId: string; /** * The unique id of the proposal. (readonly). */ proposalId: string; /** * The current state of the proposal. (readonly) */ proposalState: string; /** * The revision number for the proposal (readonly). */ revisionNumber: string; /** * The time (ms since epoch) when the proposal was last revised (readonly). */ revisionTimeMs: string; /** * Reference to the seller on the proposal. (readonly, except on create) */ seller: Schema$Seller; /** * Optional contact information of the seller (buyer-readonly). */ sellerContacts: Schema$ContactInformation[]; } export interface Schema$PublisherProfileApiProto { /** * Deprecated: use the seller.account_id. The account id of the seller. */ accountId: string; /** * Publisher provided info on its audience. */ audience: string; /** * A pitch statement for the buyer */ buyerPitchStatement: string; /** * Direct contact for the publisher profile. */ directContact: string; /** * Exchange where this publisher profile is from. E.g. AdX, Rubicon etc... */ exchange: string; /** * Link to publisher's Google+ page. */ googlePlusLink: string; /** * True, if this is the parent profile, which represents all domains owned by * the publisher. */ isParent: boolean; /** * True, if this profile is published. Deprecated for state. */ isPublished: boolean; /** * Identifies what kind of resource this is. Value: the fixed string * "adexchangebuyer#publisherProfileApiProto". */ kind: string; /** * The url to the logo for the publisher. */ logoUrl: string; /** * The url for additional marketing and sales materials. */ mediaKitLink: string; name: string; /** * Publisher provided overview. */ overview: string; /** * The pair of (seller.account_id, profile_id) uniquely identifies a publisher * profile for a given publisher. */ profileId: number; /** * Programmatic contact for the publisher profile. */ programmaticContact: string; /** * The list of domains represented in this publisher profile. Empty if this is * a parent profile. */ publisherDomains: string[]; /** * Unique Id for publisher profile. */ publisherProfileId: string; /** * Publisher provided forecasting information. */ publisherProvidedForecast: Schema$PublisherProvidedForecast; /** * Link to publisher rate card */ rateCardInfoLink: string; /** * Link for a sample content page. */ samplePageLink: string; /** * Seller of the publisher profile. */ seller: Schema$Seller; /** * State of the publisher profile. */ state: string; /** * Publisher provided key metrics and rankings. */ topHeadlines: string[]; } /** * This message carries publisher provided forecasting information. */ export interface Schema$PublisherProvidedForecast { /** * Publisher provided dimensions. E.g. geo, sizes etc... */ dimensions: Schema$Dimension[]; /** * Publisher provided weekly impressions. */ weeklyImpressions: string; /** * Publisher provided weekly uniques. */ weeklyUniques: string; } export interface Schema$Seller { /** * The unique id for the seller. The seller fills in this field. The seller * account id is then available to buyer in the product. */ accountId: string; /** * Optional sub-account id for the sel