googleapis
Version:
Google APIs Client Library for Node.js
1,014 lines • 1.21 MB
TypeScript
import { OAuth2Client, JWT, Compute, UserRefreshClient, BaseExternalAccountClient, GaxiosResponseWithHTTP2, GoogleConfigurable, MethodOptions, StreamMethodOptions, GlobalOptions, GoogleAuth, BodyResponseCallback, APIRequestContext } from 'googleapis-common';
import { Readable } from 'stream';
export declare namespace displayvideo_v3 {
export interface Options extends GlobalOptions {
version: 'v3';
}
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 automate complex Display & Video 360 workflows, such as creating insertion orders and setting targeting options for individual line items.
*
* @example
* ```js
* const {google} = require('googleapis');
* const displayvideo = google.displayvideo('v3');
* ```
*/
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;
guaranteedOrders: Resource$Guaranteedorders;
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);
}
/**
* 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;
}
/**
* A single ad group associated with a line item.
*/
export interface Schema$AdGroup {
/**
* The format of the ads in the ad group.
*/
adGroupFormat?: string | null;
/**
* The unique ID of the ad group. Assigned by the system.
*/
adGroupId?: string | null;
/**
* The unique ID of the advertiser the ad group belongs to.
*/
advertiserId?: string | null;
/**
* The bidding strategy used by the ad group. Only the youtubeAndPartnersBid field can be used in the bidding strategy.
*/
bidStrategy?: Schema$BiddingStrategy;
/**
* The display name of the ad group. Must be UTF-8 encoded with a maximum size of 255 bytes.
*/
displayName?: string | null;
/**
* Controls whether or not the ad group can spend its budget and bid on inventory. If the ad group's parent line item is not active, the ad group can't spend its budget even if its own status is `ENTITY_STATUS_ACTIVE`.
*/
entityStatus?: string | null;
/**
* The unique ID of the line item that the ad group belongs to.
*/
lineItemId?: string | null;
/**
* The resource name of the ad group.
*/
name?: string | null;
/**
* The settings of the product feed in this ad group.
*/
productFeedData?: Schema$ProductFeedData;
/**
* The [optimized targeting](//support.google.com/displayvideo/answer/12060859) settings of the ad group.
*/
targetingExpansion?: Schema$TargetingExpansionConfig;
}
/**
* A single ad associated with an ad group.
*/
export interface Schema$AdGroupAd {
/**
* The unique ID of the ad. Assigned by the system.
*/
adGroupAdId?: string | null;
/**
* The unique ID of the ad group that the ad belongs to.
*/
adGroupId?: string | null;
/**
* List of URLs used by the ad.
*/
adUrls?: Schema$AdUrl[];
/**
* The unique ID of the advertiser the ad belongs to.
*/
advertiserId?: string | null;
/**
* Details of an [audio ad](//support.google.com/displayvideo/answer/6274216) used for reach marketing objectives.
*/
audioAd?: Schema$AudioAd;
/**
* Details of a [non-skippable short video ad](//support.google.com/displayvideo/answer/6274216), equal to or less than 6 seconds, used for reach.
*/
bumperAd?: Schema$BumperAd;
/**
* The display name of the ad. Must be UTF-8 encoded with a maximum size of 255 bytes.
*/
displayName?: string | null;
/**
* Details of an ad sourced from a Display & Video 360 creative.
*/
displayVideoSourceAd?: Schema$DisplayVideoSourceAd;
/**
* The entity status of the ad.
*/
entityStatus?: string | null;
/**
* Details of an [in-stream ad skippable after 5 seconds](//support.google.com/displayvideo/answer/6274216), used for brand awareness or reach marketing objectives.
*/
inStreamAd?: Schema$InStreamAd;
/**
* Details of an [ad served on the YouTube Home feed](//support.google.com/google-ads/answer/9709826).
*/
mastheadAd?: Schema$MastheadAd;
/**
* The resource name of the ad.
*/
name?: string | null;
/**
* Details of a [non-skippable short in-stream video ad](//support.google.com/displayvideo/answer/6274216), between 6 and 15 seconds, used for reach marketing objectives.
*/
nonSkippableAd?: Schema$NonSkippableAd;
/**
* Details of an [ad promoting a video](//support.google.com/displayvideo/answer/6274216) that shows in places of discovery.
*/
videoDiscoverAd?: Schema$VideoDiscoveryAd;
/**
* Details of an [ad used in a video action campaign](//support.google.com/google-ads/answer/10147229) to drive actions to the business, service or product.
*/
videoPerformanceAd?: Schema$VideoPerformanceAd;
}
/**
* Wrapper object associating an AssignedTargetingOption resource and the ad group it is assigned to.
*/
export interface Schema$AdGroupAssignedTargetingOption {
/**
* The ID of the ad group the assigned targeting option is assigned to.
*/
adGroupId?: string | null;
/**
* The assigned targeting option resource.
*/
assignedTargetingOption?: Schema$AssignedTargetingOption;
}
/**
* Details of Scope3 (previously known as Adloox) brand safety settings.
*/
export interface Schema$Adloox {
/**
* Optional. Adult and Explicit Sexual Content [GARM](https://wfanet.org/leadership/garm/about-garm) risk ranges to exclude.
*/
adultExplicitSexualContent?: string | null;
/**
* Optional. Arms and Ammunition Content [GARM](https://wfanet.org/leadership/garm/about-garm) risk ranges to exclude.
*/
armsAmmunitionContent?: string | null;
/**
* Optional. Crime and Harmful Acts Content [GARM](https://wfanet.org/leadership/garm/about-garm) risk ranges to exclude.
*/
crimeHarmfulActsIndividualsSocietyHumanRightsViolationsContent?: string | null;
/**
* Optional. Death, Injury, or Military Conflict Content [GARM](https://wfanet.org/leadership/garm/about-garm) risk ranges to exclude.
*/
deathInjuryMilitaryConflictContent?: string | null;
/**
* Optional. Debated Sensitive Social Issue Content [GARM](https://wfanet.org/leadership/garm/about-garm) risk ranges to exclude.
*/
debatedSensitiveSocialIssueContent?: string | null;
/**
* Optional. IAB viewability threshold for display ads.
*/
displayIabViewability?: string | null;
/**
* Scope3 categories to exclude.
*/
excludedAdlooxCategories?: string[] | null;
/**
* Optional. Scope3's fraud IVT MFA categories to exclude.
*/
excludedFraudIvtMfaCategories?: string[] | null;
/**
* Optional. Hate Speech and Acts of Aggression Content [GARM](https://wfanet.org/leadership/garm/about-garm) risk ranges to exclude.
*/
hateSpeechActsAggressionContent?: string | null;
/**
* Optional. Illegal Drugs/Alcohol Content [GARM](https://wfanet.org/leadership/garm/about-garm) risk ranges to exclude.
*/
illegalDrugsTobaccoEcigarettesVapingAlcoholContent?: string | null;
/**
* Optional. Misinformation Content [GARM](https://wfanet.org/leadership/garm/about-garm) risk ranges to exclude.
*/
misinformationContent?: string | null;
/**
* Optional. Obscenity and Profanity Content [GARM](https://wfanet.org/leadership/garm/about-garm) risk ranges to exclude.
*/
obscenityProfanityContent?: string | null;
/**
* Optional. Online Piracy Content [GARM](https://wfanet.org/leadership/garm/about-garm) risk ranges to exclude.
*/
onlinePiracyContent?: string | null;
/**
* Optional. Spam or Harmful Content [GARM](https://wfanet.org/leadership/garm/about-garm) risk ranges to exclude.
*/
spamHarmfulContent?: string | null;
/**
* Optional. Terrorism Content [GARM](https://wfanet.org/leadership/garm/about-garm) risk ranges to exclude.
*/
terrorismContent?: string | null;
/**
* Optional. IAB viewability threshold for video ads.
*/
videoIabViewability?: string | null;
}
/**
* Additional URLs related to the ad, including beacons.
*/
export interface Schema$AdUrl {
/**
* The type of the Ad URL.
*/
type?: string | null;
/**
* The URL string value.
*/
url?: 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. Billing related settings of the advertiser.
*/
billingConfig?: Schema$AdvertiserBillingConfig;
/**
* 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`, `ENTITY_STATUS_PAUSED` 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;
/**
* Whether integration with Mediaocean (Prisma) is enabled. By enabling this, you agree to the following: On behalf of my company, I authorize Mediaocean (Prisma) to send budget segment plans to Google, and I authorize Google to send corresponding reporting and invoices from DV360 to Mediaocean for the purposes of budget planning, billing, and reconciliation for this advertiser.
*/
prismaEnabled?: boolean | 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;
}
/**
* Billing related settings of an advertiser.
*/
export interface Schema$AdvertiserBillingConfig {
/**
* Required. The ID of a billing profile assigned to the advertiser.
*/
billingProfileId?: string | null;
}
/**
* 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 disable Google's About this Ad feature that adds badging (to identify the content as an ad) and transparency information (on interaction with About this Ad) to your ads for Online Behavioral Advertising (OBA) and regulatory requirements. About this Ad gives users greater control over the ads they see and helps you explain why they're seeing your ad. [Learn more](//support.google.com/displayvideo/answer/14315795). If you choose to set this field to `true`, note that ads served through Display & Video 360 must comply to the following: * Be Online Behavioral Advertising (OBA) compliant, as per your contract with Google Marketing Platform. * In the European Economic Area (EEA), include transparency information and a mechanism for users to report illegal content in ads. If using an alternative ad badging, transparency, and reporting solution, you must ensure it includes the required transparency information and illegal content flagging mechanism and that you notify Google of any illegal content reports using the appropriate [form](//support.google.com/legal/troubleshooter/1114905?sjid=6787484030557261960-EU#ts=2981967%2C2982031%2C12980091).
*/
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 {
/**
* Required. 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;
}
/**
* 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;
}
/**
* Rule-based algorithm.
*/
export interface Schema$AlgorithmRules {
/**
* Attribution model for the algorithm. This field is only supported for allowlisted partners.
*/
attributionModelId?: string | null;
/**
* Rules for the impression signals.
*/
impressionSignalRuleset?: Schema$AlgorithmRulesRuleset;
/**
* Rules for the post-impression signals. This field is only supported for allowlisted partners.
*/
postImpressionSignalRuleset?: Schema$AlgorithmRulesRuleset;
}
/**
* A value to compare the signal to.
*/
export interface Schema$AlgorithmRulesComparisonValue {
/**
* Boolean value.
*/
boolValue?: boolean | null;
/**
* Creative dimension value.
*/
creativeDimensionValue?: Schema$Dimensions;
/**
* Day and time value. Only `TIME_ZONE_RESOLUTION_END_USER` is supported.
*/
dayAndTimeValue?: Schema$DayAndTime;
/**
* Device type value.
*/
deviceTypeValue?: string | null;
/**
* Double value.
*/
doubleValue?: number | null;
/**
* Environment value.
*/
environmentValue?: string | null;
/**
* Exchange value.
*/
exchangeValue?: string | null;
/**
* Integer value.
*/
int64Value?: string | null;
/**
* Ad position value.
*/
onScreenPositionValue?: string | null;
/**
* String value.
*/
stringValue?: string | null;
/**
* Video player size value. This field is only supported for allowlisted partners.
*/
videoPlayerSizeValue?: string | null;
}
/**
* The rule to score impressions based on Floodlight conversion events.
*/
export interface Schema$AlgorithmRulesFloodlightActivityConversionSignal {
/**
* Required. The type of conversions to be used in impression value computation, for example, post-click conversions.
*/
conversionCounting?: string | null;
/**
* Required. The way to acquire value from the floodlight activity, for example, count of the conversion.
*/
countingMethod?: string | null;
/**
* Required. Id of the floodlight activity.
*/
floodlightActivityId?: string | null;
}
/**
* Set of conditions. The return value of the rule is either: * The return value for single met condition or * The defined default return value if no conditions are met.
*/
export interface Schema$AlgorithmRulesRule {
/**
* List of conditions in this rule. The criteria among conditions should be mutually exclusive.
*/
conditions?: Schema$AlgorithmRulesRuleCondition[];
/**
* The default return value applied when none of the conditions are met.
*/
defaultReturnValue?: Schema$AlgorithmRulesSignalValue;
}
/**
* Set of signal comparisons. Equivalent of an `if` statement.
*/
export interface Schema$AlgorithmRulesRuleCondition {
/**
* The value returned if the `signalComparisons` condition evaluates to `TRUE`.
*/
returnValue?: Schema$AlgorithmRulesSignalValue;
/**
* List of comparisons that build `if` statement condition. The comparisons are combined into a single condition with `AND` logical operators.
*/
signalComparisons?: Schema$AlgorithmRulesSignalComparison[];
}
/**
* A ruleset consisting of a list of rules and how to aggregate the resulting values.
*/
export interface Schema$AlgorithmRulesRuleset {
/**
* How to aggregate values of evaluated rules.
*/
aggregationType?: string | null;
/**
* Maximum value the ruleset can evaluate to.
*/
maxValue?: number | null;
/**
* List of rules to generate the impression value.
*/
rules?: Schema$AlgorithmRulesRule[];
}
/**
* Signal used to evaluate rules.
*/
export interface Schema$AlgorithmRulesSignal {
/**
* Signal based on active views. This field is only supported for allowlisted partners.
*/
activeViewSignal?: string | null;
/**
* Signal based on clicks. This field is only supported for allowlisted partners.
*/
clickSignal?: string | null;
/**
* Signal based on impressions.
*/
impressionSignal?: string | null;
}
/**
* A single comparison. The comparison compares the `signal` to the `comparisonValue`. The comparison of `siteId==123` is represented with the following field values: * `signal` has an `impressionSignal` of `SITE_ID`. * `comparisonOperator` is set to `EQUAL`. * `comparisonValue` is set to 123.
*/
export interface Schema$AlgorithmRulesSignalComparison {
/**
* Operator used to compare the two values. In the resulting experession, the `signal` will be the first value and the `comparisonValue will be the second.
*/
comparisonOperator?: string | null;
/**
* Value to compare signal to.
*/
comparisonValue?: Schema$AlgorithmRulesComparisonValue;
/**
* Signal to compare.
*/
signal?: Schema$AlgorithmRulesSignal;
}
/**
* Adjusted value of the signal used for rule evaluation.
*/
export interface Schema$AlgorithmRulesSignalValue {
/**
* Signal based on active views. Only `TIME_ON_SCREEN` is supported. This field is only supported for allowlisted partners.
*/
activeViewSignal?: string | null;
/**
* Signal based on floodlight conversion events. This field is only supported for allowlisted partners.
*/
floodlightActivityConversionSignal?: Schema$AlgorithmRulesFloodlightActivityConversionSignal;
/**
* Value to use as result.
*/
number?: number | 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. The Media ID space updated on **April 5, 2023**. Update media IDs cached before **April 5, 2023** by retrieving the new media ID from associated creative resources or re-uploading the asset.
*/
mediaId?: string | null;
}
/**
* Asset association for the creative.
*/
export interface Schema$AssetAssociation {
/**
* Optional. The associated asset.
*/
asset?: Schema$Asset;
/**
* Optional. 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.
*/
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.
*/
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;
/**
* Output only. An alias for the assigned_targeting_option_id. This value can be used in place of `assignedTargetingOptionId` when retrieving or deleting existing targeting. This field will only be supported for all assigned targeting options of the following targeting types: * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_DEVICE_TYPE` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_EXCHANGE` * `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_NATIVE_CONTENT_POSITION` * `TARGETING_TYPE_OMID` * `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_VIDEO_PLAYER_SIZE` * `TARGETING_TYPE_VIEWABILITY` This field is also supported for line item assigned targeting options of the following targeting types: * `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` * `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION`
*/
assignedTargetingOptionIdAlias?: 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;
/**
* Audio content type details. This field will be populated when the targeting_type is `TARGETING_TYPE_AUDIO_CONTENT_TYPE`.
*/
audioContentTypeDetails?: Schema$AudioContentTypeAssignedTargetingOptionDetails;
/**
* 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;
/**
* Business chain details. This field will be populated when the targeting_type is `TARGETING_TYPE_BUSINESS_CHAIN`.
*/
businessChainDetails?: Schema$BusinessChainAssignedTargetingOptionDetails;
/**
* 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 duration details. This field will be populated when the targeting_type is `TARGETING_TYPE_CONTENT_DURATION`.
*/
contentDurationDetails?: Schema$ContentDurationAssignedTargetingOptionDetails;
/**
* Content genre details. This field will be populated when the targeting_type is `TARGETING_TYPE_CONTENT_GENRE`.
*/
contentGenreDetails?: Schema$ContentGenreAssignedTargetingOptionDetails;
/**
* 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;
/**
* Content duration details. This field will be populated when the TargetingType is `TARGETING_TYPE_CONTENT_STREAM_TYPE`.
*/
contentStreamTypeDetails?: Schema$ContentStreamTypeAssignedTargetingOptionDetails;
/**
* Content theme details. This field will be populated when the targeting_type is `TARGETING_TYPE_CONTENT_THEME_EXCLUSION`. Content theme are targeting exclusions. Advertiser level content theme exclusions, if set, are always applied in serving (even though they aren't visible in resource settings). Resource settings can exclude content theme in addition to advertiser exclusions.
*/
contentThemeExclusionDetails?: Schema$ContentThemeAssignedTargetingOptionDetails;
/**
* 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;
/**
* Native content position details. This field will be populated when the targeting_type is `TARGETING_TYPE_NATIVE_CONTENT_POSITION`.
*/
nativeContentPositionDetails?: Schema$NativeContentPositionAssignedTargetingOptionDetails;
/**
* 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;
/**
* Open Measurement enabled inventory details. This field will be populated when the targeting_type is `TARGETING_TYPE_OMID`.
*/
omidDetails?: Schema$OmidAssignedTargetingOptionDetails;
/**
* 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;
/**
* POI details. This field will be populated when the targeting_type is `TARGETING_TYPE_POI`.
*/
poiDetails?: Schema$PoiAssignedTargetingOptionDetails;
/**
* 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;
/**
* Session position details. This field will be populated when the targeting_type is `TARGETING_TYPE_SESSION_POSITION`.
*/
sessionPositionDetails?: Schema$SessionPositionAssignedTargetingOptionDetails;
/**
* 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;
/**
* YouTube channel details. This field will be populated when the targeting_type is `TARGETING_TYPE_YOUTUBE_CHANNEL`.
*/
youtubeChannelDetails?: Schema$YoutubeChannelAssignedTargetingOptionDetails;
/**
* YouTube video details. This field will be populated when the targeting_type is `TARGETING_TYPE_YOUTUBE_VIDEO`.
*/
youtubeVideoDetails?: Schema$YoutubeVideoAssignedTargetingOptionDetails;
}
/**
* 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 UN