googleapis
Version:
Google APIs Client Library for Node.js
969 lines (968 loc) • 868 kB
TypeScript
/// <reference types="node" />
import { OAuth2Client, JWT, Compute, UserRefreshClient, BaseExternalAccountClient, GaxiosPromise, GoogleConfigurable, MethodOptions, StreamMethodOptions, GlobalOptions, GoogleAuth, BodyResponseCallback, APIRequestContext } from 'googleapis-common';
import { Readable } from 'stream';
export declare namespace displayvideo_v1 {
export interface Options extends GlobalOptions {
version: 'v1';
}
interface StandardParameters {
/**
* Auth client or API Key for the request
*/
auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient | BaseExternalAccountClient | GoogleAuth;
/**
* V1 error format.
*/
'$.xgafv'?: string;
/**
* OAuth access token.
*/
access_token?: string;
/**
* Data format for response.
*/
alt?: string;
/**
* JSONP
*/
callback?: string;
/**
* Selector specifying which fields to include in a partial response.
*/
fields?: string;
/**
* API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.
*/
key?: string;
/**
* OAuth 2.0 token for the current user.
*/
oauth_token?: string;
/**
* Returns response with indentations and line breaks.
*/
prettyPrint?: boolean;
/**
* Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
*/
quotaUser?: string;
/**
* Legacy upload protocol for media (e.g. "media", "multipart").
*/
uploadType?: string;
/**
* Upload protocol for media (e.g. "raw", "multipart").
*/
upload_protocol?: string;
}
/**
* Display & Video 360 API
*
* Display & Video 360 API allows users to manage and create campaigns and reports.
*
* @example
* ```js
* const {google} = require('googleapis');
* const displayvideo = google.displayvideo('v1');
* ```
*/
export class Displayvideo {
context: APIRequestContext;
advertisers: Resource$Advertisers;
combinedAudiences: Resource$Combinedaudiences;
customBiddingAlgorithms: Resource$Custombiddingalgorithms;
customLists: Resource$Customlists;
firstAndThirdPartyAudiences: Resource$Firstandthirdpartyaudiences;
floodlightGroups: Resource$Floodlightgroups;
googleAudiences: Resource$Googleaudiences;
inventorySourceGroups: Resource$Inventorysourcegroups;
inventorySources: Resource$Inventorysources;
media: Resource$Media;
partners: Resource$Partners;
sdfdownloadtasks: Resource$Sdfdownloadtasks;
targetingTypes: Resource$Targetingtypes;
users: Resource$Users;
constructor(options: GlobalOptions, google?: GoogleConfigurable);
}
/**
* Request message for ManualTriggerService.ActivateManualTrigger.
*/
export interface Schema$ActivateManualTriggerRequest {
}
/**
* Configuration for custom Active View video viewability metrics.
*/
export interface Schema$ActiveViewVideoViewabilityMetricConfig {
/**
* Required. The display name of the custom metric.
*/
displayName?: string | null;
/**
* The minimum visible video duration required (in seconds) in order for an impression to be recorded. You must specify minimum_duration, minimum_quartile or both. If both are specified, an impression meets the metric criteria if either requirement is met (whichever happens first).
*/
minimumDuration?: string | null;
/**
* The minimum visible video duration required, based on the video quartiles, in order for an impression to be recorded. You must specify minimum_duration, minimum_quartile or both. If both are specified, an impression meets the metric criteria if either requirement is met (whichever happens first).
*/
minimumQuartile?: string | null;
/**
* Required. The minimum percentage of the video ad's pixels visible on the screen in order for an impression to be recorded.
*/
minimumViewability?: string | null;
/**
* Required. The minimum percentage of the video ad's volume required in order for an impression to be recorded.
*/
minimumVolume?: string | null;
}
/**
* Details of Adloox settings.
*/
export interface Schema$Adloox {
/**
* Adloox's brand safety settings.
*/
excludedAdlooxCategories?: string[] | null;
}
/**
* A single advertiser in Display & Video 360 (DV360).
*/
export interface Schema$Advertiser {
/**
* Required. Immutable. Ad server related settings of the advertiser.
*/
adServerConfig?: Schema$AdvertiserAdServerConfig;
/**
* Output only. The unique ID of the advertiser. Assigned by the system.
*/
advertiserId?: string | null;
/**
* Required. Creative related settings of the advertiser.
*/
creativeConfig?: Schema$AdvertiserCreativeConfig;
/**
* Settings that control how advertiser data may be accessed.
*/
dataAccessConfig?: Schema$AdvertiserDataAccessConfig;
/**
* Required. The display name of the advertiser. Must be UTF-8 encoded with a maximum size of 240 bytes.
*/
displayName?: string | null;
/**
* Required. Controls whether or not insertion orders and line items of the advertiser can spend their budgets and bid on inventory. * Accepted values are `ENTITY_STATUS_ACTIVE` and `ENTITY_STATUS_SCHEDULED_FOR_DELETION`. * If set to `ENTITY_STATUS_SCHEDULED_FOR_DELETION`, the advertiser will be deleted 30 days from when it was first scheduled for deletion.
*/
entityStatus?: string | null;
/**
* Required. General settings of the advertiser.
*/
generalConfig?: Schema$AdvertiserGeneralConfig;
/**
* Integration details of the advertiser. Only integrationCode is currently applicable to advertiser. Other fields of IntegrationDetails are not supported and will be ignored if provided.
*/
integrationDetails?: Schema$IntegrationDetails;
/**
* Output only. The resource name of the advertiser.
*/
name?: string | null;
/**
* Required. Immutable. The unique ID of the partner that the advertiser belongs to.
*/
partnerId?: string | null;
/**
* Targeting settings related to ad serving of the advertiser.
*/
servingConfig?: Schema$AdvertiserTargetingConfig;
/**
* Output only. The timestamp when the advertiser was last updated. Assigned by the system.
*/
updateTime?: string | null;
}
/**
* Ad server related settings of an advertiser.
*/
export interface Schema$AdvertiserAdServerConfig {
/**
* The configuration for advertisers that use both Campaign Manager 360 (CM360) and third-party ad servers.
*/
cmHybridConfig?: Schema$CmHybridConfig;
/**
* The configuration for advertisers that use third-party ad servers only.
*/
thirdPartyOnlyConfig?: Schema$ThirdPartyOnlyConfig;
}
/**
* Creatives related settings of an advertiser.
*/
export interface Schema$AdvertiserCreativeConfig {
/**
* Whether or not the advertiser is enabled for dynamic creatives.
*/
dynamicCreativeEnabled?: boolean | null;
/**
* An ID for configuring campaign monitoring provided by Integral Ad Service (IAS). The DV360 system will append an IAS "Campaign Monitor" tag containing this ID to the creative tag.
*/
iasClientId?: string | null;
/**
* Whether or not to use DV360's Online Behavioral Advertising (OBA) compliance. Warning: Changing OBA settings may cause the audit status of your creatives to be reset by some ad exchanges, making them ineligible to serve until they are re-approved.
*/
obaComplianceDisabled?: boolean | null;
/**
* By setting this field to `true`, you, on behalf of your company, authorize Google to use video creatives associated with this Display & Video 360 advertiser to provide reporting and features related to the advertiser's television campaigns. Applicable only when the advertiser has a CM360 hybrid ad server configuration.
*/
videoCreativeDataSharingAuthorized?: boolean | null;
}
/**
* Settings that control how advertiser related data may be accessed.
*/
export interface Schema$AdvertiserDataAccessConfig {
/**
* Structured Data Files (SDF) settings for the advertiser. If not specified, the SDF settings of the parent partner are used.
*/
sdfConfig?: Schema$AdvertiserSdfConfig;
}
/**
* General settings of an advertiser.
*/
export interface Schema$AdvertiserGeneralConfig {
/**
* Required. Immutable. Advertiser's currency in ISO 4217 format. Accepted codes and the currencies they represent are: Currency Code : Currency Name * `ARS` : Argentine Peso * `AUD` : Australian Dollar * `BRL` : Brazilian Real * `CAD` : Canadian Dollar * `CHF` : Swiss Franc * `CLP` : Chilean Peso * `CNY` : Chinese Yuan * `COP` : Colombian Peso * `CZK` : Czech Koruna * `DKK` : Danish Krone * `EGP` : Egyption Pound * `EUR` : Euro * `GBP` : British Pound * `HKD` : Hong Kong Dollar * `HUF` : Hungarian Forint * `IDR` : Indonesian Rupiah * `ILS` : Israeli Shekel * `INR` : Indian Rupee * `JPY` : Japanese Yen * `KRW` : South Korean Won * `MXN` : Mexican Pesos * `MYR` : Malaysian Ringgit * `NGN` : Nigerian Naira * `NOK` : Norwegian Krone * `NZD` : New Zealand Dollar * `PEN` : Peruvian Nuevo Sol * `PLN` : Polish Zloty * `RON` : New Romanian Leu * `RUB` : Russian Ruble * `SEK` : Swedish Krona * `TRY` : Turkish Lira * `TWD` : New Taiwan Dollar * `USD` : US Dollar * `ZAR` : South African Rand
*/
currencyCode?: string | null;
/**
* Required. The domain URL of the advertiser's primary website. The system will send this information to publishers that require website URL to associate a campaign with an advertiser. Provide a URL with no path or query string, beginning with `http:` or `https:`. For example, http://www.example.com
*/
domainUrl?: string | null;
/**
* Output only. The standard TZ database name of the advertiser's time zone. For example, `America/New_York`. See more at: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones For CM360 hybrid advertisers, the time zone is the same as that of the associated CM360 account; for third-party only advertisers, the time zone is the same as that of the parent partner.
*/
timeZone?: string | null;
}
/**
* Structured Data Files (SDF) settings of an advertiser.
*/
export interface Schema$AdvertiserSdfConfig {
/**
* Whether or not this advertiser overrides the SDF configuration of its parent partner. By default, an advertiser inherits the SDF configuration from the parent partner. To override the partner configuration, set this field to `true` and provide the new configuration in sdfConfig.
*/
overridePartnerSdfConfig?: boolean | null;
/**
* The SDF configuration for the advertiser. * Required when overridePartnerSdfConfig is `true`. * Output only when overridePartnerSdfConfig is `false`.
*/
sdfConfig?: Schema$SdfConfig;
}
/**
* Targeting settings related to ad serving of an advertiser.
*/
export interface Schema$AdvertiserTargetingConfig {
/**
* Whether or not connected TV devices are exempt from viewability targeting for all video line items under the advertiser.
*/
exemptTvFromViewabilityTargeting?: boolean | null;
}
/**
* Represents a targetable age range. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_AGE_RANGE`.
*/
export interface Schema$AgeRangeAssignedTargetingOptionDetails {
/**
* Output only. The age range of an audience. We only support targeting a continuous age range of an audience. Thus, the age range represented in this field can be 1) targeted solely, or, 2) part of a larger continuous age range. The reach of a continuous age range targeting can be expanded by also targeting an audience of an unknown age.
*/
ageRange?: string | null;
/**
* Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_AGE_RANGE`.
*/
targetingOptionId?: string | null;
}
/**
* Represents a targetable age range. This will be populated in the age_range_details field when targeting_type is `TARGETING_TYPE_AGE_RANGE`.
*/
export interface Schema$AgeRangeTargetingOptionDetails {
/**
* Output only. The age range of an audience.
*/
ageRange?: string | null;
}
/**
* Details for assigned app targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_APP`.
*/
export interface Schema$AppAssignedTargetingOptionDetails {
/**
* Required. The ID of the app. Android's Play store app uses bundle ID, for example `com.google.android.gm`. Apple's App store app ID uses 9 digit string, for example `422689480`.
*/
appId?: string | null;
/**
* Indicates the platform of the targeted app. If this field is not specified, the app platform will be assumed to be mobile (i.e., Android or iOS), and we will derive the appropriate mobile platform from the app ID.
*/
appPlatform?: string | null;
/**
* Output only. The display name of the app.
*/
displayName?: string | null;
/**
* Indicates if this option is being negatively targeted.
*/
negative?: boolean | null;
}
/**
* Details for assigned app category targeting option. This will be populated in the app_category_details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_APP_CATEGORY`.
*/
export interface Schema$AppCategoryAssignedTargetingOptionDetails {
/**
* Output only. The display name of the app category.
*/
displayName?: string | null;
/**
* Indicates if this option is being negatively targeted.
*/
negative?: boolean | null;
/**
* Required. The targeting_option_id field when targeting_type is `TARGETING_TYPE_APP_CATEGORY`.
*/
targetingOptionId?: string | null;
}
/**
* Represents a targetable collection of apps. A collection lets you target dynamic groups of related apps that are maintained by the platform, for example `All Apps/Google Play/Games`. This will be populated in the app_category_details field when targeting_type is `TARGETING_TYPE_APP_CATEGORY`.
*/
export interface Schema$AppCategoryTargetingOptionDetails {
/**
* Output only. The name of the app collection.
*/
displayName?: string | null;
}
/**
* A single asset.
*/
export interface Schema$Asset {
/**
* The asset content. For uploaded assets, the content is the serving path.
*/
content?: string | null;
/**
* Media ID of the uploaded asset. This is a unique identifier for the asset. This ID can be passed to other API calls, e.g. CreateCreative to associate the asset with a creative.
*/
mediaId?: string | null;
}
/**
* Asset association for the creative.
*/
export interface Schema$AssetAssociation {
/**
* The associated asset.
*/
asset?: Schema$Asset;
/**
* The role of this asset for the creative.
*/
role?: string | null;
}
/**
* An assignment between a targetable inventory source and an inventory source group.
*/
export interface Schema$AssignedInventorySource {
/**
* Output only. The unique ID of the assigned inventory source. The ID is only unique within a given inventory source group. It may be reused in other contexts.
*/
assignedInventorySourceId?: string | null;
/**
* Required. The ID of the inventory source entity being targeted.
*/
inventorySourceId?: string | null;
/**
* Output only. The resource name of the assigned inventory source.
*/
name?: string | null;
}
/**
* An assignment between a location list and a relevant targeting option. Currently, geo region targeting options are the only supported option for assignment.
*/
export interface Schema$AssignedLocation {
/**
* Output only. The unique ID of the assigned location. The ID is only unique within a location list. It may be reused in other contexts.
*/
assignedLocationId?: string | null;
/**
* Output only. The resource name of the assigned location.
*/
name?: string | null;
/**
* Required. The ID of the targeting option assigned to the location list. Must be of type TARGETING_TYPE_GEO_REGION.
*/
targetingOptionId?: string | null;
}
/**
* A single assigned targeting option, which defines the state of a targeting option for an entity with targeting settings.
*/
export interface Schema$AssignedTargetingOption {
/**
* Age range details. This field will be populated when the targeting_type is `TARGETING_TYPE_AGE_RANGE`.
*/
ageRangeDetails?: Schema$AgeRangeAssignedTargetingOptionDetails;
/**
* App category details. This field will be populated when the targeting_type is `TARGETING_TYPE_APP_CATEGORY`.
*/
appCategoryDetails?: Schema$AppCategoryAssignedTargetingOptionDetails;
/**
* App details. This field will be populated when the targeting_type is `TARGETING_TYPE_APP`.
*/
appDetails?: Schema$AppAssignedTargetingOptionDetails;
/**
* Output only. The unique ID of the assigned targeting option. The ID is only unique within a given resource and targeting type. It may be reused in other contexts.
*/
assignedTargetingOptionId?: string | null;
/**
* Audience targeting details. This field will be populated when the targeting_type is `TARGETING_TYPE_AUDIENCE_GROUP`. You can only target one audience group option per resource.
*/
audienceGroupDetails?: Schema$AudienceGroupAssignedTargetingOptionDetails;
/**
* Authorized seller status details. This field will be populated when the targeting_type is `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS`. You can only target one authorized seller status option per resource. If a resource doesn't have an authorized seller status option, all authorized sellers indicated as DIRECT or RESELLER in the ads.txt file are targeted by default.
*/
authorizedSellerStatusDetails?: Schema$AuthorizedSellerStatusAssignedTargetingOptionDetails;
/**
* Browser details. This field will be populated when the targeting_type is `TARGETING_TYPE_BROWSER`.
*/
browserDetails?: Schema$BrowserAssignedTargetingOptionDetails;
/**
* Carrier and ISP details. This field will be populated when the targeting_type is `TARGETING_TYPE_CARRIER_AND_ISP`.
*/
carrierAndIspDetails?: Schema$CarrierAndIspAssignedTargetingOptionDetails;
/**
* Category details. This field will be populated when the targeting_type is `TARGETING_TYPE_CATEGORY`. Targeting a category will also target its subcategories. If a category is excluded from targeting and a subcategory is included, the exclusion will take precedence.
*/
categoryDetails?: Schema$CategoryAssignedTargetingOptionDetails;
/**
* Channel details. This field will be populated when the targeting_type is `TARGETING_TYPE_CHANNEL`.
*/
channelDetails?: Schema$ChannelAssignedTargetingOptionDetails;
/**
* Content instream position details. This field will be populated when the targeting_type is `TARGETING_TYPE_CONTENT_INSTREAM_POSITION`.
*/
contentInstreamPositionDetails?: Schema$ContentInstreamPositionAssignedTargetingOptionDetails;
/**
* Content outstream position details. This field will be populated when the targeting_type is `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION`.
*/
contentOutstreamPositionDetails?: Schema$ContentOutstreamPositionAssignedTargetingOptionDetails;
/**
* Day and time details. This field will be populated when the targeting_type is `TARGETING_TYPE_DAY_AND_TIME`.
*/
dayAndTimeDetails?: Schema$DayAndTimeAssignedTargetingOptionDetails;
/**
* Device make and model details. This field will be populated when the targeting_type is `TARGETING_TYPE_DEVICE_MAKE_MODEL`.
*/
deviceMakeModelDetails?: Schema$DeviceMakeModelAssignedTargetingOptionDetails;
/**
* Device Type details. This field will be populated when the targeting_type is `TARGETING_TYPE_DEVICE_TYPE`.
*/
deviceTypeDetails?: Schema$DeviceTypeAssignedTargetingOptionDetails;
/**
* Digital content label details. This field will be populated when the targeting_type is `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION`. Digital content labels are targeting exclusions. Advertiser level digital content label exclusions, if set, are always applied in serving (even though they aren't visible in resource settings). Resource settings can exclude content labels in addition to advertiser exclusions, but can't override them. A line item won't serve if all the digital content labels are excluded.
*/
digitalContentLabelExclusionDetails?: Schema$DigitalContentLabelAssignedTargetingOptionDetails;
/**
* Environment details. This field will be populated when the targeting_type is `TARGETING_TYPE_ENVIRONMENT`.
*/
environmentDetails?: Schema$EnvironmentAssignedTargetingOptionDetails;
/**
* Exchange details. This field will be populated when the targeting_type is `TARGETING_TYPE_EXCHANGE`.
*/
exchangeDetails?: Schema$ExchangeAssignedTargetingOptionDetails;
/**
* Gender details. This field will be populated when the targeting_type is `TARGETING_TYPE_GENDER`.
*/
genderDetails?: Schema$GenderAssignedTargetingOptionDetails;
/**
* Geographic region details. This field will be populated when the targeting_type is `TARGETING_TYPE_GEO_REGION`.
*/
geoRegionDetails?: Schema$GeoRegionAssignedTargetingOptionDetails;
/**
* Household income details. This field will be populated when the targeting_type is `TARGETING_TYPE_HOUSEHOLD_INCOME`.
*/
householdIncomeDetails?: Schema$HouseholdIncomeAssignedTargetingOptionDetails;
/**
* Output only. The inheritance status of the assigned targeting option.
*/
inheritance?: string | null;
/**
* Inventory source details. This field will be populated when the targeting_type is `TARGETING_TYPE_INVENTORY_SOURCE`.
*/
inventorySourceDetails?: Schema$InventorySourceAssignedTargetingOptionDetails;
/**
* Inventory source group details. This field will be populated when the targeting_type is `TARGETING_TYPE_INVENTORY_SOURCE_GROUP`.
*/
inventorySourceGroupDetails?: Schema$InventorySourceGroupAssignedTargetingOptionDetails;
/**
* Keyword details. This field will be populated when the targeting_type is `TARGETING_TYPE_KEYWORD`. A maximum of 5000 direct negative keywords can be assigned to a resource. No limit on number of positive keywords that can be assigned.
*/
keywordDetails?: Schema$KeywordAssignedTargetingOptionDetails;
/**
* Language details. This field will be populated when the targeting_type is `TARGETING_TYPE_LANGUAGE`.
*/
languageDetails?: Schema$LanguageAssignedTargetingOptionDetails;
/**
* Output only. The resource name for this assigned targeting option.
*/
name?: string | null;
/**
* Keyword details. This field will be populated when the targeting_type is `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST`. A maximum of 4 negative keyword lists can be assigned to a resource.
*/
negativeKeywordListDetails?: Schema$NegativeKeywordListAssignedTargetingOptionDetails;
/**
* On screen position details. This field will be populated when the targeting_type is `TARGETING_TYPE_ON_SCREEN_POSITION`.
*/
onScreenPositionDetails?: Schema$OnScreenPositionAssignedTargetingOptionDetails;
/**
* Operating system details. This field will be populated when the targeting_type is `TARGETING_TYPE_OPERATING_SYSTEM`.
*/
operatingSystemDetails?: Schema$OperatingSystemAssignedTargetingOptionDetails;
/**
* Parental status details. This field will be populated when the targeting_type is `TARGETING_TYPE_PARENTAL_STATUS`.
*/
parentalStatusDetails?: Schema$ParentalStatusAssignedTargetingOptionDetails;
/**
* Proximity location list details. This field will be populated when the targeting_type is `TARGETING_TYPE_PROXIMITY_LOCATION_LIST`.
*/
proximityLocationListDetails?: Schema$ProximityLocationListAssignedTargetingOptionDetails;
/**
* Regional location list details. This field will be populated when the targeting_type is `TARGETING_TYPE_REGIONAL_LOCATION_LIST`.
*/
regionalLocationListDetails?: Schema$RegionalLocationListAssignedTargetingOptionDetails;
/**
* Sensitive category details. This field will be populated when the targeting_type is `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION`. Sensitive categories are targeting exclusions. Advertiser level sensitive category exclusions, if set, are always applied in serving (even though they aren't visible in resource settings). Resource settings can exclude sensitive categories in addition to advertiser exclusions, but can't override them.
*/
sensitiveCategoryExclusionDetails?: Schema$SensitiveCategoryAssignedTargetingOptionDetails;
/**
* Sub-exchange details. This field will be populated when the targeting_type is `TARGETING_TYPE_SUB_EXCHANGE`.
*/
subExchangeDetails?: Schema$SubExchangeAssignedTargetingOptionDetails;
/**
* Output only. Identifies the type of this assigned targeting option.
*/
targetingType?: string | null;
/**
* Third party verification details. This field will be populated when the targeting_type is `TARGETING_TYPE_THIRD_PARTY_VERIFIER`.
*/
thirdPartyVerifierDetails?: Schema$ThirdPartyVerifierAssignedTargetingOptionDetails;
/**
* URL details. This field will be populated when the targeting_type is `TARGETING_TYPE_URL`.
*/
urlDetails?: Schema$UrlAssignedTargetingOptionDetails;
/**
* User rewarded content details. This field will be populated when the targeting_type is `TARGETING_TYPE_USER_REWARDED_CONTENT`.
*/
userRewardedContentDetails?: Schema$UserRewardedContentAssignedTargetingOptionDetails;
/**
* Video player size details. This field will be populated when the targeting_type is `TARGETING_TYPE_VIDEO_PLAYER_SIZE`.
*/
videoPlayerSizeDetails?: Schema$VideoPlayerSizeAssignedTargetingOptionDetails;
/**
* Viewability details. This field will be populated when the targeting_type is `TARGETING_TYPE_VIEWABILITY`. You can only target one viewability option per resource.
*/
viewabilityDetails?: Schema$ViewabilityAssignedTargetingOptionDetails;
}
/**
* A single assigned user role, which defines a user's authorized interaction with a specified partner or advertiser.
*/
export interface Schema$AssignedUserRole {
/**
* The ID of the advertiser that the assigend user role applies to.
*/
advertiserId?: string | null;
/**
* Output only. The ID of the assigned user role.
*/
assignedUserRoleId?: string | null;
/**
* The ID of the partner that the assigned user role applies to.
*/
partnerId?: string | null;
/**
* Required. The user role to assign to a user for the entity.
*/
userRole?: string | null;
}
/**
* Assigned audience group targeting option details. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_AUDIENCE_GROUP`. The relation between each group is UNION, except for excluded_first_and_third_party_audience_group and excluded_google_audience_group, of which COMPLEMENT is UNION'ed with other groups.
*/
export interface Schema$AudienceGroupAssignedTargetingOptionDetails {
/**
* The first and third party audience ids and recencies of the excluded first and third party audience group. Used for negative targeting. Its COMPLEMENT is used to UNION other audience groups.
*/
excludedFirstAndThirdPartyAudienceGroup?: Schema$FirstAndThirdPartyAudienceGroup;
/**
* The Google audience ids of the excluded Google audience group. Used for negative targeting. It's COMPLEMENT is used to UNION other audience groups. Only contains Affinity, In-market and Installed-apps type Google audiences. All items are logically ‘OR’ of each other.
*/
excludedGoogleAudienceGroup?: Schema$GoogleAudienceGroup;
/**
* The combined audience ids of the included combined audience group. Contains combined audience ids only.
*/
includedCombinedAudienceGroup?: Schema$CombinedAudienceGroup;
/**
* The custom list ids of the included custom list group. Contains custom list ids only.
*/
includedCustomListGroup?: Schema$CustomListGroup;
/**
* The first and third party audience ids and recencies of included first and third party audience groups. Each first and third party audience group contains first and third party audience ids only. The relation between each first and third party audience group is INTERSECTION, and the result is UNION'ed with other audience groups. Repeated groups with same settings will be ignored.
*/
includedFirstAndThirdPartyAudienceGroups?: Schema$FirstAndThirdPartyAudienceGroup[];
/**
* The Google audience ids of the included Google audience group. Contains Google audience ids only.
*/
includedGoogleAudienceGroup?: Schema$GoogleAudienceGroup;
}
/**
* The length an audio or a video has been played.
*/
export interface Schema$AudioVideoOffset {
/**
* The offset in percentage of the audio or video duration.
*/
percentage?: string | null;
/**
* The offset in seconds from the start of the audio or video.
*/
seconds?: string | null;
}
/**
* Response message for AdvertiserService.AuditAdvertiser.
*/
export interface Schema$AuditAdvertiserResponse {
/**
* The number of individual targeting options from the following targeting types that are assigned to a line item under this advertiser. These individual targeting options count towards the limit of 4500000 ad group targeting options per advertiser. Qualifying Targeting types: * Channels, URLs, apps, and collections * Demographic * Google Audiences, including Affinity, Custom Affinity, and In-market audiences * Inventory source * Keyword * Mobile app category * User lists * Video targeting * Viewability
*/
adGroupCriteriaCount?: string | null;
/**
* The number of individual targeting options from the following targeting types that are assigned to a line item under this advertiser. These individual targeting options count towards the limit of 900000 campaign targeting options per advertiser. Qualifying Targeting types: * Position * Browser * Connection speed * Day and time * Device and operating system * Digital content label * Sensitive categories * Environment * Geography, including business chains and proximity * ISP * Language * Third-party verification
*/
campaignCriteriaCount?: string | null;
/**
* The number of channels created under this advertiser. These channels count towards the limit of 1000 channels per advertiser.
*/
channelsCount?: string | null;
/**
* The number of negative keyword lists created under this advertiser. These negative keyword lists count towards the limit of 20 negative keyword lists per advertiser.
*/
negativeKeywordListsCount?: string | null;
/**
* The number of negatively targeted channels created under this advertiser. These negatively targeted channels count towards the limit of 5 negatively targeted channels per advertiser.
*/
negativelyTargetedChannelsCount?: string | null;
/**
* The number of ACTIVE and PAUSED campaigns under this advertiser. These campaigns count towards the limit of 9999 campaigns per advertiser.
*/
usedCampaignsCount?: string | null;
/**
* The number of ACTIVE, PAUSED and DRAFT insertion orders under this advertiser. These insertion orders count towards the limit of 9999 insertion orders per advertiser.
*/
usedInsertionOrdersCount?: string | null;
/**
* The number of ACTIVE, PAUSED, and DRAFT line items under this advertiser. These line items count towards the limit of 9999 line items per advertiser.
*/
usedLineItemsCount?: string | null;
}
/**
* Represents an assigned authorized seller status. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS`.
*/
export interface Schema$AuthorizedSellerStatusAssignedTargetingOptionDetails {
/**
* Output only. The authorized seller status to target.
*/
authorizedSellerStatus?: string | null;
/**
* Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS`.
*/
targetingOptionId?: string | null;
}
/**
* Represents a targetable authorized seller status. This will be populated in the authorized_seller_status_details field when targeting_type is `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS`.
*/
export interface Schema$AuthorizedSellerStatusTargetingOptionDetails {
/**
* Output only. The authorized seller status.
*/
authorizedSellerStatus?: string | null;
}
/**
* Settings that control the bid strategy. Bid strategy determines the bid price.
*/
export interface Schema$BiddingStrategy {
/**
* A strategy that uses a fixed bid price.
*/
fixedBid?: Schema$FixedBidStrategy;
/**
* A strategy that automatically adjusts the bid to optimize to your performance goal while spending the full budget. At insertion order level, the markup_type of line items cannot be set to `PARTNER_REVENUE_MODEL_MARKUP_TYPE_CPM`. In addition, when performance_goal_type is one of: * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPA` * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPC` * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_AV_VIEWED` , the line_item_type of the insertion order line items must be either: * `LINE_ITEM_TYPE_DISPLAY_DEFAULT` * `LINE_ITEM_TYPE_VIDEO_DEFAULT` , and when performance_goal_type is either: * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CIVA` * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_IVO_TEN` the line_item_type of the insertion order line items must be `LINE_ITEM_TYPE_VIDEO_DEFAULT`.
*/
maximizeSpendAutoBid?: Schema$MaximizeSpendBidStrategy;
/**
* A strategy that automatically adjusts the bid to meet or beat a specified performance goal. It is to be used only for a line item entity.
*/
performanceGoalAutoBid?: Schema$PerformanceGoalBidStrategy;
}
/**
* Details for assigned browser targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_BROWSER`.
*/
export interface Schema$BrowserAssignedTargetingOptionDetails {
/**
* Output only. The display name of the browser.
*/
displayName?: string | null;
/**
* Indicates if this option is being negatively targeted. All assigned browser targeting options on the same resource must have the same value for this field.
*/
negative?: boolean | null;
/**
* Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_BROWSER`.
*/
targetingOptionId?: string | null;
}
/**
* Represents a targetable browser. This will be populated in the browser_details field when targeting_type is `TARGETING_TYPE_BROWSER`.
*/
export interface Schema$BrowserTargetingOptionDetails {
/**
* Output only. The display name of the browser.
*/
displayName?: string | null;
}
/**
* Request message for BulkEditAdvertiserAssignedTargetingOptions.
*/
export interface Schema$BulkEditAdvertiserAssignedTargetingOptionsRequest {
/**
* The assigned targeting options to create in batch, specified as a list of `CreateAssignedTargetingOptionsRequest`. Supported targeting types: * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION`
*/
createRequests?: Schema$CreateAssignedTargetingOptionsRequest[];
/**
* The assigned targeting options to delete in batch, specified as a list of `DeleteAssignedTargetingOptionsRequest`. Supported targeting types: * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION`
*/
deleteRequests?: Schema$DeleteAssignedTargetingOptionsRequest[];
}
export interface Schema$BulkEditAdvertiserAssignedTargetingOptionsResponse {
/**
* The list of assigned targeting options that have been successfully created. This list will be absent if empty.
*/
createdAssignedTargetingOptions?: Schema$AssignedTargetingOption[];
}
/**
* Request message for AssignedInventorySourceService.BulkEdit.
*/
export interface Schema$BulkEditAssignedInventorySourcesRequest {
/**
* The ID of the advertiser that owns the parent inventory source group. The parent partner does not have access to these assigned inventory sources.
*/
advertiserId?: string | null;
/**
* The assigned inventory sources to create in bulk, specified as a list of AssignedInventorySources.
*/
createdAssignedInventorySources?: Schema$AssignedInventorySource[];
/**
* The IDs of the assigned inventory sources to delete in bulk, specified as a list of assigned_inventory_source_ids.
*/
deletedAssignedInventorySources?: string[] | null;
/**
* The ID of the partner that owns the inventory source group. Only this partner has write access to these assigned inventory sources.
*/
partnerId?: string | null;
}
/**
* Response message for AssignedInventorySourceService.BulkEdit.
*/
export interface Schema$BulkEditAssignedInventorySourcesResponse {
/**
* The list of assigned inventory sources that have been successfully created. This list will be absent if empty.
*/
assignedInventorySources?: Schema$AssignedInventorySource[];
}
/**
* Request message for AssignedLocationService.BulkEditAssignedLocations.
*/
export interface Schema$BulkEditAssignedLocationsRequest {
/**
* The assigned locations to create in bulk, specified as a list of AssignedLocations.
*/
createdAssignedLocations?: Schema$AssignedLocation[];
/**
* The IDs of the assigned locations to delete in bulk, specified as a list of assigned_location_ids.
*/
deletedAssignedLocations?: string[] | null;
}
/**
* Response message for AssignedLocationService.BulkEditAssignedLocations.
*/
export interface Schema$BulkEditAssignedLocationsResponse {
/**
* The list of assigned locations that have been successfully created. This list will be absent if empty.
*/
assignedLocations?: Schema$AssignedLocation[];
}
/**
* Request message for BulkEditAssignedUserRoles.
*/
export interface Schema$BulkEditAssignedUserRolesRequest {
/**
* The assigned user roles to create in batch, specified as a list of AssignedUserRoles.
*/
createdAssignedUserRoles?: Schema$AssignedUserRole[];
/**
* The assigned user roles to delete in batch, specified as a list of assigned_user_role_ids. The format of assigned_user_role_id is `entityType-entityid`, for example `partner-123`.
*/
deletedAssignedUserRoles?: string[] | null;
}
export interface Schema$BulkEditAssignedUserRolesResponse {
/**
* The list of assigned user roles that have been successfully created. This list will be absent if empty.
*/
createdAssignedUserRoles?: Schema$AssignedUserRole[];
}
/**
* Request message for BulkEditLineItemAssignedTargetingOptions.
*/
export interface Schema$BulkEditLineItemAssignedTargetingOptionsRequest {
/**
* The assigned targeting options to create in batch, specified as a list of `CreateAssignedTargetingOptionsRequest`.
*/
createRequests?: Schema$CreateAssignedTargetingOptionsRequest[];
/**
* The assigned targeting options to delete in batch, specified as a list of `DeleteAssignedTargetingOptionsRequest`.
*/
deleteRequests?: Schema$DeleteAssignedTargetingOptionsRequest[];
}
export interface Schema$BulkEditLineItemAssignedTargetingOptionsResponse {
/**
* The list of assigned targeting options that have been successfully created. This list will be absent if empty.
*/
createdAssignedTargetingOptions?: Schema$AssignedTargetingOption[];
}
/**
* Request message for NegativeKeywordService.BulkEditNegativeKeywords.
*/
export interface Schema$BulkEditNegativeKeywordsRequest {
/**
* The negative keywords to create in batch, specified as a list of NegativeKeywords.
*/
createdNegativeKeywords?: Schema$NegativeKeyword[];
/**
* The negative keywords to delete in batch, specified as a list of keyword_values.
*/
deletedNegativeKeywords?: string[] | null;
}
/**
* Response message for NegativeKeywordService.BulkEditNegativeKeywords.
*/
export interface Schema$BulkEditNegativeKeywordsResponse {
/**
* The list of negative keywords that have been successfully created. This list will be absent if empty.
*/
negativeKeywords?: Schema$NegativeKeyword[];
}
/**
* Request message for BulkEditPartnerAssignedTargetingOptions.
*/
export interface Schema$BulkEditPartnerAssignedTargetingOptionsRequest {
/**
* The assigned targeting options to create in batch, specified as a list of `CreateAssignedTargetingOptionsRequest`. Supported targeting types: * `TARGETING_TYPE_CHANNEL`
*/
createRequests?: Schema$CreateAssignedTargetingOptionsRequest[];
/**
* The assigned targeting options to delete in batch, specified as a list of `DeleteAssignedTargetingOptionsRequest`. Supported targeting types: * `TARGETING_TYPE_CHANNEL`
*/
deleteRequests?: Schema$DeleteAssignedTargetingOptionsRequest[];
}
export interface Schema$BulkEditPartnerAssignedTargetingOptionsResponse {
/**
* The list of assigned targeting options that have been successfully created. This list will be absent if empty.
*/
createdAssignedTargetingOptions?: Schema$AssignedTargetingOption[];
}
/**
* Request message for SiteService.BulkEditSites.
*/
export interface Schema$BulkEditSitesRequest {
/**
* The ID of the advertiser that owns the parent channel.
*/
advertiserId?: string | null;
/**
* The sites to create in batch, specified as a list of Sites.
*/
createdSites?: Schema$Site[];
/**
* The sites to delete in batch, specified as a list of site url_or_app_ids.
*/
deletedSites?: string[] | null;
/**
* The ID of the partner that owns the parent channel.
*/
partnerId?: string | null;
}
/**
* Response message for SiteService.BulkEditSites.
*/
export interface Schema$BulkEditSitesResponse {
/**
* The list of sites that have been successfully created. This list will be absent if empty.
*/
sites?: Schema$Site[];
}
export interface Schema$BulkListAdvertiserAssignedTargetingOptionsResponse {
/**
* The list of assigned targeting options. This list will be absent if empty.
*/
assignedTargetingOptions?: Schema$AssignedTargetingOption[];
/**
* A token identifying the next page of results. This value should be specified as the pageToken in a subsequent BulkListAdvertiserAssignedTargetingOptionsRequest to fetch the next page of results. This token will be absent if there are no more assigned_targeting_options to return.
*/
nextPageToken?: string | null;
}
/**
* Response message for BulkListCampaignAssignedTargetingOptions.
*/
export interface Schema$BulkListCampaignAssignedTargetingOptionsResponse {
/**
* The list of assigned targeting options. This list will be absent if empty.
*/
assignedTargetingOptions?: Schema$AssignedTargetingOption[];
/**
* A token identifying the next page of results. This value should be specified as the pageToken in a subsequent BulkListCampaignAssignedTargetingOptionsRequest to fetch the next page of results. This token will be absent if there are no more assigned_targeting_options to return.
*/
nextPageToken?: string | null;
}
/**
* Response message for BulkListInsertionOrderAssignedTargetingOptions.
*/
export interface Schema$BulkListInsertionOrderAssignedTargetingOptionsResponse {
/**
* The list of assigned targeting options. This list will be absent if empty.
*/
assignedTargetingOptions?: Schema$AssignedTargetingOption[];
/**
* A token identifying the next page of results. This value should be specified as the pageToken in a subsequent BulkListInsertionOrderAssignedTargetingOptionsRequest to fetch the next page of results. This token will be absent if there are no more assigned_targeting_options to return.
*/
nextPageToken?: string | null;
}
export interface Schema$BulkListLineItemAssignedTargetingOptionsResponse {
/**
* The list of assigned targeting options. This list will be absent if empty.
*/
assignedTargetingOptions?: Schema$AssignedTargetingOption[];
/**
* A token identifying the next page of results. This value should be specified as the pageToken in a subsequent BulkListLineItemAssignedTargetingOptionsRequest to fetch the next page of results. This token will be absent if there are no more assigned_targeting_options to return.
*/
nextPageToken?: string | null;
}
/**
* A single campaign.
*/
export interface Schema$Campaign {
/**
* Output only. The unique ID of the advertiser the campaign belongs to.
*/
advertiserId?: string | null;
/**
* Required. The planned spend and duration of the campaign.
*/
campaignFlight?: Schema$CampaignFlight;
/**
* Required. The goal of the campaign.
*/
campaignGoal?: Schema$CampaignGoal;
/**
* Output only. The unique ID of the campaign. Assigned by the system.
*/