import {z} from 'zod' export type DemandGenBiddingStrategy = {effectiveBiddingValue?: unknown | undefined, effectiveBiddingValueSource?: ('BIDDING_SOURCE_UNSPECIFIED' | 'BIDDING_SOURCE_LINE_ITEM' | 'BIDDING_SOURCE_AD_GROUP') | undefined, type?: ('DEMAND_GEN_BIDDING_STRATEGY_TYPE_UNSPECIFIED' | 'DEMAND_GEN_BIDDING_STRATEGY_TYPE_TARGET_CPA' | 'DEMAND_GEN_BIDDING_STRATEGY_TYPE_TARGET_ROAS' | 'DEMAND_GEN_BIDDING_STRATEGY_TYPE_MAXIMIZE_CONVERSIONS' | 'DEMAND_GEN_BIDDING_STRATEGY_TYPE_MAXIMIZE_CONVERSION_VALUE' | 'DEMAND_GEN_BIDDING_STRATEGY_TYPE_MAXIMIZE_CLICKS' | 'DEMAND_GEN_BIDDING_STRATEGY_TYPE_TARGET_CPC') | undefined, value?: unknown | undefined}; export type FixedBidStrategy = {bidAmountMicros?: unknown | undefined}; export type MaximizeSpendBidStrategy = {customBiddingAlgorithmId?: unknown | undefined, maxAverageCpmBidAmountMicros?: unknown | undefined, performanceGoalType?: ('BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_UNSPECIFIED' | 'BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPA' | 'BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPC' | 'BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_VIEWABLE_CPM' | 'BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CUSTOM_ALGO' | 'BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CIVA' | 'BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_IVO_TEN' | 'BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_AV_VIEWED' | 'BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_REACH') | undefined, raiseBidForDeals?: boolean | undefined}; export type PerformanceGoalBidStrategy = {customBiddingAlgorithmId?: unknown | undefined, maxAverageCpmBidAmountMicros?: unknown | undefined, performanceGoalAmountMicros?: unknown | undefined, performanceGoalType?: ('BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_UNSPECIFIED' | 'BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPA' | 'BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPC' | 'BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_VIEWABLE_CPM' | 'BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CUSTOM_ALGO' | 'BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CIVA' | 'BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_IVO_TEN' | 'BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_AV_VIEWED' | 'BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_REACH') | undefined}; export type YoutubeAndPartnersBiddingStrategy = {adGroupEffectiveTargetCpaSource?: ('BIDDING_SOURCE_UNSPECIFIED' | 'BIDDING_SOURCE_LINE_ITEM' | 'BIDDING_SOURCE_AD_GROUP') | undefined, adGroupEffectiveTargetCpaValue?: unknown | undefined, type?: ('YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_UNSPECIFIED' | 'YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_MANUAL_CPV' | 'YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_MANUAL_CPM' | 'YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_TARGET_CPA' | 'YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_TARGET_CPM' | 'YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_RESERVE_CPM' | 'YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_MAXIMIZE_LIFT' | 'YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_MAXIMIZE_CONVERSIONS' | 'YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_TARGET_CPV' | 'YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_TARGET_ROAS' | 'YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_MAXIMIZE_CONVERSION_VALUE') | undefined, value?: unknown | undefined}; export type BiddingStrategy = {demandGenBid?: DemandGenBiddingStrategy | undefined, fixedBid?: FixedBidStrategy | undefined, maximizeSpendAutoBid?: MaximizeSpendBidStrategy | undefined, performanceGoalAutoBid?: PerformanceGoalBidStrategy | undefined, youtubeAndPartnersBid?: YoutubeAndPartnersBiddingStrategy | undefined}; export type Date = {day?: number | undefined, month?: number | undefined, year?: number | undefined}; export type DateRange = {endDate?: Date | undefined, startDate?: Date | undefined}; export type InsertionOrderBudgetSegment = {budgetAmountMicros?: unknown | undefined, campaignBudgetId?: unknown | undefined, dateRange?: DateRange | undefined, description?: string | undefined}; export type InsertionOrderBudget = {automationType?: ('INSERTION_ORDER_AUTOMATION_TYPE_UNSPECIFIED' | 'INSERTION_ORDER_AUTOMATION_TYPE_BUDGET' | 'INSERTION_ORDER_AUTOMATION_TYPE_NONE' | 'INSERTION_ORDER_AUTOMATION_TYPE_BID_BUDGET') | undefined, budgetSegments?: Array | undefined, budgetUnit?: ('BUDGET_UNIT_UNSPECIFIED' | 'BUDGET_UNIT_CURRENCY' | 'BUDGET_UNIT_IMPRESSIONS') | undefined}; export type FrequencyCap = {maxImpressions?: number | undefined, maxViews?: number | undefined, timeUnit?: ('TIME_UNIT_UNSPECIFIED' | 'TIME_UNIT_LIFETIME' | 'TIME_UNIT_MONTHS' | 'TIME_UNIT_WEEKS' | 'TIME_UNIT_DAYS' | 'TIME_UNIT_HOURS' | 'TIME_UNIT_MINUTES') | undefined, timeUnitCount?: number | undefined, unlimited?: boolean | undefined}; export type IntegrationDetails = {details?: string | undefined, integrationCode?: string | undefined}; export type Kpi = {kpiAlgorithmId?: unknown | undefined, kpiAmountMicros?: unknown | undefined, kpiPercentageMicros?: unknown | undefined, kpiString?: string | undefined, kpiType?: ('KPI_TYPE_UNSPECIFIED' | 'KPI_TYPE_CPM' | 'KPI_TYPE_CPC' | 'KPI_TYPE_CPA' | 'KPI_TYPE_CTR' | 'KPI_TYPE_VIEWABILITY' | 'KPI_TYPE_CPIAVC' | 'KPI_TYPE_CPE' | 'KPI_TYPE_CPV' | 'KPI_TYPE_CLICK_CVR' | 'KPI_TYPE_IMPRESSION_CVR' | 'KPI_TYPE_VCPM' | 'KPI_TYPE_VTR' | 'KPI_TYPE_AUDIO_COMPLETION_RATE' | 'KPI_TYPE_VIDEO_COMPLETION_RATE' | 'KPI_TYPE_CPCL' | 'KPI_TYPE_CPCV' | 'KPI_TYPE_TOS10' | 'KPI_TYPE_MAXIMIZE_PACING' | 'KPI_TYPE_CUSTOM_IMPRESSION_VALUE_OVER_COST' | 'KPI_TYPE_OTHER') | undefined}; export type Pacing = {dailyMaxImpressions?: unknown | undefined, dailyMaxMicros?: unknown | undefined, pacingPeriod?: ('PACING_PERIOD_UNSPECIFIED' | 'PACING_PERIOD_DAILY' | 'PACING_PERIOD_FLIGHT') | undefined, pacingType?: ('PACING_TYPE_UNSPECIFIED' | 'PACING_TYPE_AHEAD' | 'PACING_TYPE_ASAP' | 'PACING_TYPE_EVEN') | undefined}; export type PartnerCost = {costType?: ('PARTNER_COST_TYPE_UNSPECIFIED' | 'PARTNER_COST_TYPE_ADLOOX' | 'PARTNER_COST_TYPE_ADLOOX_PREBID' | 'PARTNER_COST_TYPE_ADSAFE' | 'PARTNER_COST_TYPE_ADXPOSE' | 'PARTNER_COST_TYPE_AGGREGATE_KNOWLEDGE' | 'PARTNER_COST_TYPE_AGENCY_TRADING_DESK' | 'PARTNER_COST_TYPE_DV360_FEE' | 'PARTNER_COST_TYPE_COMSCORE_VCE' | 'PARTNER_COST_TYPE_DATA_MANAGEMENT_PLATFORM' | 'PARTNER_COST_TYPE_DEFAULT' | 'PARTNER_COST_TYPE_DOUBLE_VERIFY' | 'PARTNER_COST_TYPE_DOUBLE_VERIFY_PREBID' | 'PARTNER_COST_TYPE_EVIDON' | 'PARTNER_COST_TYPE_INTEGRAL_AD_SCIENCE_VIDEO' | 'PARTNER_COST_TYPE_INTEGRAL_AD_SCIENCE_PREBID' | 'PARTNER_COST_TYPE_MEDIA_COST_DATA' | 'PARTNER_COST_TYPE_MOAT_VIDEO' | 'PARTNER_COST_TYPE_NIELSEN_DAR' | 'PARTNER_COST_TYPE_SHOP_LOCAL' | 'PARTNER_COST_TYPE_TERACENT' | 'PARTNER_COST_TYPE_THIRD_PARTY_AD_SERVER' | 'PARTNER_COST_TYPE_TRUST_METRICS' | 'PARTNER_COST_TYPE_VIZU' | 'PARTNER_COST_TYPE_CUSTOM_FEE_1' | 'PARTNER_COST_TYPE_CUSTOM_FEE_2' | 'PARTNER_COST_TYPE_CUSTOM_FEE_3' | 'PARTNER_COST_TYPE_CUSTOM_FEE_4' | 'PARTNER_COST_TYPE_CUSTOM_FEE_5' | 'PARTNER_COST_TYPE_SCIBIDS_FEE') | undefined, feeAmount?: unknown | undefined, feePercentageMillis?: unknown | undefined, feeType?: ('PARTNER_COST_FEE_TYPE_UNSPECIFIED' | 'PARTNER_COST_FEE_TYPE_CPM_FEE' | 'PARTNER_COST_FEE_TYPE_MEDIA_FEE') | undefined, invoiceType?: ('PARTNER_COST_INVOICE_TYPE_UNSPECIFIED' | 'PARTNER_COST_INVOICE_TYPE_DV360' | 'PARTNER_COST_INVOICE_TYPE_PARTNER') | undefined}; export type InsertionOrder = {advertiserId?: unknown | undefined, bidStrategy?: BiddingStrategy | undefined, budget?: InsertionOrderBudget | undefined, campaignId?: unknown | undefined, displayName?: string | undefined, entityStatus?: ('ENTITY_STATUS_UNSPECIFIED' | 'ENTITY_STATUS_ACTIVE' | 'ENTITY_STATUS_ARCHIVED' | 'ENTITY_STATUS_DRAFT' | 'ENTITY_STATUS_PAUSED' | 'ENTITY_STATUS_SCHEDULED_FOR_DELETION') | undefined, frequencyCap?: FrequencyCap | undefined, insertionOrderId?: unknown | undefined, insertionOrderType?: ('INSERTION_ORDER_TYPE_UNSPECIFIED' | 'RTB' | 'OVER_THE_TOP') | undefined, integrationDetails?: IntegrationDetails | undefined, kpi?: Kpi | undefined, name?: string | undefined, optimizationObjective?: ('OPTIMIZATION_OBJECTIVE_UNSPECIFIED' | 'CONVERSION' | 'CLICK' | 'BRAND_AWARENESS' | 'CUSTOM' | 'NO_OBJECTIVE') | undefined, pacing?: Pacing | undefined, partnerCosts?: Array | undefined, reservationType?: ('RESERVATION_TYPE_UNSPECIFIED' | 'RESERVATION_TYPE_NOT_GUARANTEED' | 'RESERVATION_TYPE_PROGRAMMATIC_GUARANTEED' | 'RESERVATION_TYPE_TAG_GUARANTEED' | 'RESERVATION_TYPE_PETRA_VIRAL' | 'RESERVATION_TYPE_INSTANT_RESERVE') | undefined, updateTime?: unknown | undefined}; export type PatchApiV4AdvertisersAdvertisersIdInsertionOrdersInsertionOrdersIdArgs = {advertisersId: string, insertionOrdersId: string, updateMask?: unknown | undefined, body: InsertionOrder}; export type PatchApiV4AdvertisersAdvertisersIdInsertionOrdersInsertionOrdersIdOptions = {baseUrl?: string | undefined, Oauth2?: string | undefined, Oauth2c?: string | undefined, fetch?: typeof fetch | undefined}; export const demandGenBiddingStrategy = z.object({effectiveBiddingValue: z.string().optional(), effectiveBiddingValueSource: z.enum(["BIDDING_SOURCE_UNSPECIFIED", "BIDDING_SOURCE_LINE_ITEM", "BIDDING_SOURCE_AD_GROUP"]).optional(), type: z.enum(["DEMAND_GEN_BIDDING_STRATEGY_TYPE_UNSPECIFIED", "DEMAND_GEN_BIDDING_STRATEGY_TYPE_TARGET_CPA", "DEMAND_GEN_BIDDING_STRATEGY_TYPE_TARGET_ROAS", "DEMAND_GEN_BIDDING_STRATEGY_TYPE_MAXIMIZE_CONVERSIONS", "DEMAND_GEN_BIDDING_STRATEGY_TYPE_MAXIMIZE_CONVERSION_VALUE", "DEMAND_GEN_BIDDING_STRATEGY_TYPE_MAXIMIZE_CLICKS", "DEMAND_GEN_BIDDING_STRATEGY_TYPE_TARGET_CPC"]).optional(), value: z.string().optional()}); export const fixedBidStrategy = z.object({bidAmountMicros: z.string().optional()}); export const maximizeSpendBidStrategy = z.object({customBiddingAlgorithmId: z.string().optional(), maxAverageCpmBidAmountMicros: z.string().optional(), performanceGoalType: z.enum(["BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_UNSPECIFIED", "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPA", "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPC", "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_VIEWABLE_CPM", "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CUSTOM_ALGO", "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CIVA", "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_IVO_TEN", "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_AV_VIEWED", "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_REACH"]).optional(), raiseBidForDeals: z.boolean().optional()}); export const performanceGoalBidStrategy = z.object({customBiddingAlgorithmId: z.string().optional(), maxAverageCpmBidAmountMicros: z.string().optional(), performanceGoalAmountMicros: z.string().optional(), performanceGoalType: z.enum(["BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_UNSPECIFIED", "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPA", "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPC", "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_VIEWABLE_CPM", "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CUSTOM_ALGO", "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CIVA", "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_IVO_TEN", "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_AV_VIEWED", "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_REACH"]).optional()}); export const youtubeAndPartnersBiddingStrategy = z.object({adGroupEffectiveTargetCpaSource: z.enum(["BIDDING_SOURCE_UNSPECIFIED", "BIDDING_SOURCE_LINE_ITEM", "BIDDING_SOURCE_AD_GROUP"]).optional(), adGroupEffectiveTargetCpaValue: z.string().optional(), type: z.enum(["YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_UNSPECIFIED", "YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_MANUAL_CPV", "YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_MANUAL_CPM", "YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_TARGET_CPA", "YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_TARGET_CPM", "YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_RESERVE_CPM", "YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_MAXIMIZE_LIFT", "YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_MAXIMIZE_CONVERSIONS", "YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_TARGET_CPV", "YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_TARGET_ROAS", "YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_MAXIMIZE_CONVERSION_VALUE"]).optional(), value: z.string().optional()}); export const biddingStrategy = z.object({demandGenBid: demandGenBiddingStrategy.optional(), fixedBid: fixedBidStrategy.optional(), maximizeSpendAutoBid: maximizeSpendBidStrategy.optional(), performanceGoalAutoBid: performanceGoalBidStrategy.optional(), youtubeAndPartnersBid: youtubeAndPartnersBiddingStrategy.optional()}); export const date = z.object({day: z.number().int().optional(), month: z.number().int().optional(), year: z.number().int().optional()}); export const dateRange = z.object({endDate: date.optional(), startDate: date.optional()}); export const insertionOrderBudgetSegment = z.object({budgetAmountMicros: z.string().optional(), campaignBudgetId: z.string().optional(), dateRange: dateRange.optional(), description: z.string().optional()}); export const insertionOrderBudget = z.object({automationType: z.enum(["INSERTION_ORDER_AUTOMATION_TYPE_UNSPECIFIED", "INSERTION_ORDER_AUTOMATION_TYPE_BUDGET", "INSERTION_ORDER_AUTOMATION_TYPE_NONE", "INSERTION_ORDER_AUTOMATION_TYPE_BID_BUDGET"]).optional(), budgetSegments: z.array(insertionOrderBudgetSegment).optional(), budgetUnit: z.enum(["BUDGET_UNIT_UNSPECIFIED", "BUDGET_UNIT_CURRENCY", "BUDGET_UNIT_IMPRESSIONS"]).optional()}); export const frequencyCap = z.object({maxImpressions: z.number().int().optional(), maxViews: z.number().int().optional(), timeUnit: z.enum(["TIME_UNIT_UNSPECIFIED", "TIME_UNIT_LIFETIME", "TIME_UNIT_MONTHS", "TIME_UNIT_WEEKS", "TIME_UNIT_DAYS", "TIME_UNIT_HOURS", "TIME_UNIT_MINUTES"]).optional(), timeUnitCount: z.number().int().optional(), unlimited: z.boolean().optional()}); export const integrationDetails = z.object({details: z.string().optional(), integrationCode: z.string().optional()}); export const kpi = z.object({kpiAlgorithmId: z.string().optional(), kpiAmountMicros: z.string().optional(), kpiPercentageMicros: z.string().optional(), kpiString: z.string().optional(), kpiType: z.enum(["KPI_TYPE_UNSPECIFIED", "KPI_TYPE_CPM", "KPI_TYPE_CPC", "KPI_TYPE_CPA", "KPI_TYPE_CTR", "KPI_TYPE_VIEWABILITY", "KPI_TYPE_CPIAVC", "KPI_TYPE_CPE", "KPI_TYPE_CPV", "KPI_TYPE_CLICK_CVR", "KPI_TYPE_IMPRESSION_CVR", "KPI_TYPE_VCPM", "KPI_TYPE_VTR", "KPI_TYPE_AUDIO_COMPLETION_RATE", "KPI_TYPE_VIDEO_COMPLETION_RATE", "KPI_TYPE_CPCL", "KPI_TYPE_CPCV", "KPI_TYPE_TOS10", "KPI_TYPE_MAXIMIZE_PACING", "KPI_TYPE_CUSTOM_IMPRESSION_VALUE_OVER_COST", "KPI_TYPE_OTHER"]).optional()}); export const pacing = z.object({dailyMaxImpressions: z.string().optional(), dailyMaxMicros: z.string().optional(), pacingPeriod: z.enum(["PACING_PERIOD_UNSPECIFIED", "PACING_PERIOD_DAILY", "PACING_PERIOD_FLIGHT"]).optional(), pacingType: z.enum(["PACING_TYPE_UNSPECIFIED", "PACING_TYPE_AHEAD", "PACING_TYPE_ASAP", "PACING_TYPE_EVEN"]).optional()}); export const partnerCost = z.object({costType: z.enum(["PARTNER_COST_TYPE_UNSPECIFIED", "PARTNER_COST_TYPE_ADLOOX", "PARTNER_COST_TYPE_ADLOOX_PREBID", "PARTNER_COST_TYPE_ADSAFE", "PARTNER_COST_TYPE_ADXPOSE", "PARTNER_COST_TYPE_AGGREGATE_KNOWLEDGE", "PARTNER_COST_TYPE_AGENCY_TRADING_DESK", "PARTNER_COST_TYPE_DV360_FEE", "PARTNER_COST_TYPE_COMSCORE_VCE", "PARTNER_COST_TYPE_DATA_MANAGEMENT_PLATFORM", "PARTNER_COST_TYPE_DEFAULT", "PARTNER_COST_TYPE_DOUBLE_VERIFY", "PARTNER_COST_TYPE_DOUBLE_VERIFY_PREBID", "PARTNER_COST_TYPE_EVIDON", "PARTNER_COST_TYPE_INTEGRAL_AD_SCIENCE_VIDEO", "PARTNER_COST_TYPE_INTEGRAL_AD_SCIENCE_PREBID", "PARTNER_COST_TYPE_MEDIA_COST_DATA", "PARTNER_COST_TYPE_MOAT_VIDEO", "PARTNER_COST_TYPE_NIELSEN_DAR", "PARTNER_COST_TYPE_SHOP_LOCAL", "PARTNER_COST_TYPE_TERACENT", "PARTNER_COST_TYPE_THIRD_PARTY_AD_SERVER", "PARTNER_COST_TYPE_TRUST_METRICS", "PARTNER_COST_TYPE_VIZU", "PARTNER_COST_TYPE_CUSTOM_FEE_1", "PARTNER_COST_TYPE_CUSTOM_FEE_2", "PARTNER_COST_TYPE_CUSTOM_FEE_3", "PARTNER_COST_TYPE_CUSTOM_FEE_4", "PARTNER_COST_TYPE_CUSTOM_FEE_5", "PARTNER_COST_TYPE_SCIBIDS_FEE"]).optional(), feeAmount: z.string().optional(), feePercentageMillis: z.string().optional(), feeType: z.enum(["PARTNER_COST_FEE_TYPE_UNSPECIFIED", "PARTNER_COST_FEE_TYPE_CPM_FEE", "PARTNER_COST_FEE_TYPE_MEDIA_FEE"]).optional(), invoiceType: z.enum(["PARTNER_COST_INVOICE_TYPE_UNSPECIFIED", "PARTNER_COST_INVOICE_TYPE_DV360", "PARTNER_COST_INVOICE_TYPE_PARTNER"]).optional()}); export const insertionOrder = z.object({advertiserId: z.string().optional(), bidStrategy: biddingStrategy.optional(), budget: insertionOrderBudget.optional(), campaignId: z.string().optional(), displayName: z.string().optional(), entityStatus: z.enum(["ENTITY_STATUS_UNSPECIFIED", "ENTITY_STATUS_ACTIVE", "ENTITY_STATUS_ARCHIVED", "ENTITY_STATUS_DRAFT", "ENTITY_STATUS_PAUSED", "ENTITY_STATUS_SCHEDULED_FOR_DELETION"]).optional(), frequencyCap: frequencyCap.optional(), insertionOrderId: z.string().optional(), insertionOrderType: z.enum(["INSERTION_ORDER_TYPE_UNSPECIFIED", "RTB", "OVER_THE_TOP"]).optional(), integrationDetails: integrationDetails.optional(), kpi: kpi.optional(), name: z.string().optional(), optimizationObjective: z.enum(["OPTIMIZATION_OBJECTIVE_UNSPECIFIED", "CONVERSION", "CLICK", "BRAND_AWARENESS", "CUSTOM", "NO_OBJECTIVE"]).optional(), pacing: pacing.optional(), partnerCosts: z.array(partnerCost).optional(), reservationType: z.enum(["RESERVATION_TYPE_UNSPECIFIED", "RESERVATION_TYPE_NOT_GUARANTEED", "RESERVATION_TYPE_PROGRAMMATIC_GUARANTEED", "RESERVATION_TYPE_TAG_GUARANTEED", "RESERVATION_TYPE_PETRA_VIRAL", "RESERVATION_TYPE_INSTANT_RESERVE"]).optional(), updateTime: z.string().optional()}); export const validateResponse = async ( schema: { readonly '~standard': { readonly validate: (value: unknown) => ({ readonly value: Output; readonly issues?: undefined } | { readonly issues: ReadonlyArray<{ readonly message: string; readonly path?: ReadonlyArray | undefined }> }) | Promise<{ readonly value: Output; readonly issues?: undefined } | { readonly issues: ReadonlyArray<{ readonly message: string; readonly path?: ReadonlyArray | undefined }> }> } }, value: unknown ): Promise => { const result = await schema['~standard'].validate(value) if (result.issues !== undefined) { const detail = result.issues .map(({ message, path }) => path?.length ? `${path.map((segment) => String(typeof segment === 'object' ? segment.key : segment)).join('.')}: ${message}` : message ) .join('; ') throw new Error(`Response does not match the schema: ${detail}`, { cause: { issues: result.issues } }) } return result.value }; /** * Updates an existing insertion order. Returns the updated insertion order if successful. * * PATCH /v4/advertisers/{advertisersId}/insertionOrders/{insertionOrdersId} */ export const patchApiV4AdvertisersAdvertisersIdInsertionOrdersInsertionOrdersId = async (args: PatchApiV4AdvertisersAdvertisersIdInsertionOrdersInsertionOrdersIdArgs, options?: PatchApiV4AdvertisersAdvertisersIdInsertionOrdersInsertionOrdersIdOptions) => { const {baseUrl = "https://displayvideo.googleapis.com", fetch: fetchFn = fetch, Oauth2, Oauth2c} = options ?? {} const query = new URLSearchParams() const headers = new Headers() headers.set('content-type', "application/json") headers.set('accept', "application/json") if (args.updateMask != null) query.append("updateMask", String(args.updateMask)) if (Oauth2 !== undefined) headers.set('authorization', `Bearer ${Oauth2}`) if (Oauth2c !== undefined) headers.set('authorization', `Bearer ${Oauth2c}`) const url = `${baseUrl.replace(/\/+$/, '')}/v4/advertisers/${encodeURIComponent(String(args.advertisersId))}/insertionOrders/${encodeURIComponent(String(args.insertionOrdersId))}${query.size > 0 ? `?${query}` : ''}` const res = await fetchFn(url, {method: "PATCH", headers, body: JSON.stringify(args.body)}) if (!res.ok) throw new Error(`Request failed with status ${res.status}`, {cause: {status: res.status, body: await res.text()}}) return validateResponse(insertionOrder, await res.json()) };