import {z} from 'zod' export type GetApiCmV1CampaignOverviewsArgs = {ad_account_id: string, product_id: string, campaign_ids: Array}; export type GetApiCmV1CampaignOverviewsOptions = {baseUrl?: string | undefined, Bearer?: string | undefined, fetch?: typeof fetch | undefined}; export const adcloudcommonCurrency = z.enum(["UNKNOWN_CURRENCY", "USD", "KRW", "JPY", "EUR", "GBP"]); export const targetFuturePreferenceInfoProductScope = z.enum(["UNKNOWN", "ALL", "ANDROID", "IOS"]); export const targetFuturePreferenceInfoCustomProducts = z.object({product_ids: z.array(z.string()).optional()}); export const adAccountTargetFuturePreferenceInfo = z.object({product_scope: targetFuturePreferenceInfoProductScope.optional(), custom_products: targetFuturePreferenceInfoCustomProducts.optional()}); export const dspAdAccount = z.object({id: z.string().optional(), title: z.string(), description: z.string().optional(), timezone: z.string().optional(), currency: adcloudcommonCurrency.optional(), custom_key_values: z.record(z.string(), z.string()).optional(), billing_account_id: z.string().optional(), created_at: z.string().optional(), updated_at: z.string().optional(), targets_future_preferences: z.record(z.string(), adAccountTargetFuturePreferenceInfo).optional()}); export const commonDeviceOs = z.enum(["UNKNOWN_DEVICE_OS", "ANDROID", "IOS", "VERSATILE", "MOBILE_WEB", "MACOS", "WINDOWS", "NEXT_VERSATILE"]); export const dspProductType = z.enum(["UNKNOWN_TYPE", "APP", "WEB"]); export const adcloudcommonTrackingCompany = z.enum(["UNKNOWN_TRACKING_COMPANY", "KOCHAVA", "ADJUST", "MAT", "MOLOCO_PIXEL", "APPSFLYER", "ADBRIX", "WEB", "GENERIC", "TRACKFNT", "AIRBRIDGE", "MOLOCO_E2E", "APSALAR", "BRANCH", "TENJIN", "SINGULAR", "ADBRIX_V2", "TRAFFICGUARD", "GAMELOFT", "SKADNETWORK", "MYTRACKER", "MOLOCO_RMP", "MOLOCO_PIXEL_V2", "JUSTTRACK", "SHOPEE", "KOCHAVA_FOR_PUBLISHER", "GAMESIGHT", "CAULY", "HASOFFER", "ADACTION", "CURATE"]); export const dspPostbackIntegration = z.object({mmp: adcloudcommonTrackingCompany.optional(), bundle_id: z.string().optional()}); export const dspMmpIntegrationStatus = z.enum(["UNKNOWN_STATUS", "UNDER_REVIEW", "DENIED", "ACTIVE"]); export const conversionValueConfigurationItemConversionValueScheme = z.enum(["UNKNOWN_CONVERSION_VALUE_SCHEME", "CONVERSION_VALUE_SCHEME_SINGLE_EVENT", "CONVERSION_VALUE_SCHEME_MULTIPLE_EVENTS", "CONVERSION_VALUE_SCHEME_CUSTOM_EVENTS", "CONVERSION_VALUE_SCHEME_SKAN_V4_EVENTS"]); export const adcloudcommonFloatingPointRange = z.object({start: z.number().optional(), end: z.number().optional()}); export const conversionValueConfigurationItemCvConfigurationForSingleEventEventInfo = z.object({event_name: z.string().optional(), revenue_interval: adcloudcommonFloatingPointRange.optional()}); export const conversionValueConfigurationItemCvConfigurationForSingleEvent = z.object({cv_revenue_events: z.record(z.string(), conversionValueConfigurationItemCvConfigurationForSingleEventEventInfo).optional()}); export const conversionValueConfigurationItemCvConfigurationForMultipleEvents = z.object({cv_events: z.record(z.string(), z.string()).optional()}); export const conversionValueConfigurationItemCvConfigurationForCustomEventsEventInfo = z.object({event_name: z.string(), event_value: z.string().optional(), revenue_interval: adcloudcommonFloatingPointRange.optional(), predict_revenue_interval: adcloudcommonFloatingPointRange.optional(), event_counter: z.number().int(), hours_from_install: z.number().int()}); export const cvConfigurationForCustomEventsEventList = z.object({events: z.array(conversionValueConfigurationItemCvConfigurationForCustomEventsEventInfo).optional()}); export const conversionValueConfigurationItemCvConfigurationForCustomEvents = z.object({cv_events: z.record(z.string(), cvConfigurationForCustomEventsEventList).optional()}); export const cvConfigurationForSkanV4EventsPostback = z.object({postback_sequence_index: z.number().int().optional(), measurement_window: z.number().int().optional(), coarse_grained_values: z.record(z.string(), cvConfigurationForCustomEventsEventList).optional(), fine_grained_values: z.record(z.string(), cvConfigurationForCustomEventsEventList).optional()}); export const conversionValueConfigurationItemCvConfigurationForSkanV4Events = z.object({postbacks: z.array(cvConfigurationForSkanV4EventsPostback).optional()}); export const cvConfigurationAutoRefreshAutoRefreshResult = z.enum(["UNKNOWN", "OK", "ERROR"]); export const conversionValueConfigurationItemCvConfigurationAutoRefresh = z.object({enable_auto_refresh: z.boolean().optional(), refresh_result: cvConfigurationAutoRefreshAutoRefreshResult.optional(), refresh_error_message: z.string().optional(), last_auto_refreshed_at: z.string().optional()}); export const mmpIntegrationConversionValueConfigurationItem = z.object({effective_date: z.string().optional(), scheme: conversionValueConfigurationItemConversionValueScheme.optional(), cv_single: conversionValueConfigurationItemCvConfigurationForSingleEvent.optional(), cv_multi: conversionValueConfigurationItemCvConfigurationForMultipleEvents.optional(), cv_custom: conversionValueConfigurationItemCvConfigurationForCustomEvents.optional(), cv_skan_v4: conversionValueConfigurationItemCvConfigurationForSkanV4Events.optional(), auto_refresh: conversionValueConfigurationItemCvConfigurationAutoRefresh.optional()}); export const mmpContextAdjustContext = z.object({url_host_universal_link: z.string().optional(), url_host_branded_link: z.string().optional()}); export const mmpIntegrationMmpContext = z.object({adjust: mmpContextAdjustContext.optional()}); export const dspMmpIntegration = z.object({id: z.string().optional(), mmp_bundle_id: z.string().optional(), mmp: adcloudcommonTrackingCompany.optional(), ownership: z.boolean().optional(), status: dspMmpIntegrationStatus.optional(), denied_reason: z.string().optional(), cv_config_item: mmpIntegrationConversionValueConfigurationItem.optional(), mmp_context: mmpIntegrationMmpContext.optional(), updated_at: z.string().optional(), allow_fingerprinting: z.boolean().optional(), fingerprinting_last_auto_refreshed_at: z.string().optional()}); export const appPropertiesAppScreenshots = z.object({urls: z.array(z.string()).optional()}); export const appPropertiesAppEventType = z.enum(["UNKNOWN", "IN_APP_ADVERTISING", "IN_APP_PURCHASE", "SIGN_UP", "SUBSCRIPTION", "PREDICTED_LIFETIME_VALUE", "ACHIEVE_LEVEL", "START_TRIAL", "ADD_PAYMENT_INFO", "VIEW_PRODUCT_OR_CONTENT", "ADD_TO_WISHLIST", "SEARCH", "ADD_TO_CART", "BEGIN_CHECKOUT", "FIRST_DEPOSIT", "FIRST_TRADE", "OTHER"]); export const appPropertiesIosPrimaryMeasurement = z.enum(["IOS_PRIMARY_MEASUREMENT_UNKNOWN", "IOS_PRIMARY_MEASUREMENT_NONE", "IOS_PRIMARY_MEASUREMENT_SKAN", "IOS_PRIMARY_MEASUREMENT_MMP"]); export const appPropertiesIosSecondaryMeasurement = z.enum(["IOS_SECONDARY_MEASUREMENT_UNKNOWN", "IOS_SECONDARY_MEASUREMENT_NONE", "IOS_SECONDARY_MEASUREMENT_NA", "IOS_SECONDARY_MEASUREMENT_SKAN", "IOS_SECONDARY_MEASUREMENT_MMP", "IOS_SECONDARY_MEASUREMENT_OTHER_MMP", "IOS_SECONDARY_MEASUREMENT_OTHER_3P", "IOS_SECONDARY_MEASUREMENT_INCREMENTALITY", "IOS_SECONDARY_MEASUREMENT_CUSTOM"]); export const productAppProperties = z.object({bundle_id: z.string(), category: z.string().optional(), categories: z.array(z.string()).optional(), category_readable: z.string().optional(), rating: z.number().optional(), rating_cnt: z.string().optional(), app_store_url: z.string().optional(), available_countries: z.array(z.string()).optional(), unavailable_countries: z.array(z.string()).optional(), rtb_bundle_ids: z.array(z.string()).optional(), postback_integration: dspPostbackIntegration.optional(), mmp_integration: dspMmpIntegration.optional(), skadn_mmp_integration: dspMmpIntegration.optional(), content_rating: z.string().optional(), storekit_enabled: z.boolean().optional(), autoinline_enabled: z.boolean().optional(), localized_app_name: z.record(z.string(), z.string()).optional(), localized_app_icon_url: z.record(z.string(), z.string()).optional(), localized_app_screenshots: z.record(z.string(), appPropertiesAppScreenshots).optional(), app_event_types: z.record(z.string(), appPropertiesAppEventType).optional(), description: z.string().optional(), short_description: z.string().optional(), ios_primary_measurement: appPropertiesIosPrimaryMeasurement.optional(), ios_secondary_measurement: appPropertiesIosSecondaryMeasurement.optional(), ios_custom_measurement: z.string().optional()}); export const productWebProperties = z.object({category: z.string().optional(), landing_url: z.string().optional(), categories: z.array(z.string()).optional()}); export const productDynamicCreativeProperty = z.object({permission: z.boolean().optional()}); export const productSuspensionActionKind = z.enum(["UNKNOWN_KIND", "CREATE", "UPDATE"]); export const productSuspensionActionType = z.enum(["UNKNOWN_TYPE", "SUSPEND_UNTIL", "SUSPEND_INDEFINITELY", "STOP_SUSPENSION"]); export const productSuspensionAction = z.object({user_name: z.string().optional(), user_email: z.string().optional(), reason: z.string().optional(), kind: productSuspensionActionKind.optional(), type: productSuspensionActionType.optional(), effective_from: z.string().optional(), effective_until: z.string().optional(), created_at: z.string().optional()}); export const dspProduct = z.object({id: z.string().optional(), ad_account_id: z.string().optional(), title: z.string(), description: z.string().optional(), advertiser_domain: z.string(), allow_empty_advertiser_domain: z.boolean().optional(), device_os: commonDeviceOs.optional(), developer_name: z.string().optional(), type: dspProductType, app: productAppProperties.optional(), web: productWebProperties.optional(), dynamic_creative_property: productDynamicCreativeProperty.optional(), suspension_history: z.array(productSuspensionAction).optional(), created_at: z.string().optional(), updated_at: z.string().optional()}); export const commonEnablingState = z.enum(["UNSPECIFIED", "ENABLED", "DISABLED"]); export const dspCampaignType = z.enum(["UNKNOWN_CAMPAIGN_TYPE", "GENERIC", "APP_USER_ACQUISITION", "APP_REENGAGEMENT", "WEBSITE_VISIT", "CTV_GENERIC", "CTV_APP_USER_ACQUISITION", "WEB_USER_ACQUISITION", "CTV_WEBSITE_VISIT", "CTV_WEB_USER_ACQUISITION", "WEB_RETARGETING"]); export const dspCampaignState = z.enum(["UNKNOWN_CAMPAIGN_STATE", "SUBMITTED", "READY", "UPCOMING", "ACTIVE", "PAUSED", "SUSPENDED", "COMPLETED", "LEARNING"]); export const commonTimeInterval = z.object({start: z.string().optional(), end: z.string().optional()}); export const adcloudcommonMoney = z.object({currency: adcloudcommonCurrency.optional(), amount_micros: z.string().optional()}); export const dspDailyBudgetSchedule = z.object({daily_budget: adcloudcommonMoney.optional()}); export const dspDayOfWeekBudgetSchedule = z.object({monday_budget: adcloudcommonMoney.optional(), tuesday_budget: adcloudcommonMoney.optional(), wednesday_budget: adcloudcommonMoney.optional(), thursday_budget: adcloudcommonMoney.optional(), friday_budget: adcloudcommonMoney.optional(), saturday_budget: adcloudcommonMoney.optional(), sunday_budget: adcloudcommonMoney.optional()}); export const dspWeeklyFlexibleBudgetSchedule = z.object({weekly_budget: adcloudcommonMoney.optional()}); export const dspBudgetSchedule = z.object({daily_schedule: dspDailyBudgetSchedule.optional(), weekly_schedule: dspDayOfWeekBudgetSchedule.optional(), weekly_flexible_schedule: dspWeeklyFlexibleBudgetSchedule.optional()}); export const dspCampaignGoalType = z.enum(["UNKNOWN_TYPE", "OPTIMIZE_NONE", "FIXED_CPM_FOR_APP_UA", "FIXED_CPM_FOR_APP_RE", "OPTIMIZE_CPI_FOR_APP_UA", "OPTIMIZE_CPA_FOR_APP_UA", "OPTIMIZE_CPC_FOR_APP_UA", "OPTIMIZE_ROAS_FOR_APP_UA", "OPTIMIZE_ROAS_FOR_APP_RE", "OPTIMIZE_CPC_FOR_APP_RE", "OPTIMIZE_CPC_FOR_WEB_VISIT", "OPTIMIZE_APP_INSTALLS", "OPTIMIZE_APP_ROAS", "OPTIMIZE_CLICKS_TO_WEB", "OPTIMIZE_CLICKS_TO_APP", "OPTIMIZE_CPA_FOR_APP_RE", "OPTIMIZE_RETENTION_FOR_APP_UA", "OPTIMIZE_REATTRIBUTION_FOR_APP", "OPTIMIZE_CPA_REPEATED_FOR_APP_UA", "FIXED_CPM_GENERIC", "FIXED_CPM_FOR_CTV", "FIXED_CPM_FOR_WEB_VISIT", "OPTIMIZE_LANDING_FOR_WEB_UA", "OPTIMIZE_CPA_FOR_WEB_UA"]); export const campaignGoalOptimizeAppInstallsMode = z.enum(["UNKNOWN_MODE", "TARGET_CPI_CENTRIC", "BUDGET_CENTRIC", "MARGIN_CENTRIC", "FIXED"]); export const campaignGoalOptimizeAppInstalls = z.object({mode: campaignGoalOptimizeAppInstallsMode.optional(), target_cpi: adcloudcommonMoney.optional(), rate: z.number().optional(), margin: z.number().optional()}); export const campaignGoalOptimizeCpaForAppUaMode = z.enum(["UNKNOWN_MODE", "BUDGET_CENTRIC", "MARGIN_CENTRIC", "TARGET_PRIMARY_KPI_CENTRIC"]); export const campaignGoalOptimizeCpaForAppUa = z.object({action: z.string(), mode: campaignGoalOptimizeCpaForAppUaMode.optional(), rate: z.number().optional(), margin: z.number().optional(), target_kpi: adcloudcommonMoney.optional()}); export const campaignGoalOptimizeAppRoasMode = z.enum(["UNKNOWN_MODE", "BUDGET_CENTRIC", "MARGIN_CENTRIC", "TARGET_PRIMARY_KPI_CENTRIC"]); export const campaignGoalOptimizeAppRoas = z.object({target_roas: z.number().optional(), revenue_actions: z.array(z.string()), target_cpi: adcloudcommonMoney.optional(), mode: campaignGoalOptimizeAppRoasMode.optional(), rate: z.number().optional(), margin: z.number().optional()}); export const campaignGoalOptimizeClicksToWebMode = z.enum(["UNKNOWN_MODE", "BUDGET_CENTRIC", "TARGET_CPC_CENTRIC"]); export const campaignGoalOptimizeClicksToWeb = z.object({target_cpc: adcloudcommonMoney.optional(), mode: campaignGoalOptimizeClicksToWebMode.optional(), rate: z.number().optional()}); export const campaignGoalOptimizeClicksToAppMode = z.enum(["UNKNOWN_MODE", "BUDGET_CENTRIC", "TARGET_CPC_CENTRIC"]); export const campaignGoalOptimizeClicksToApp = z.object({target_cpc: adcloudcommonMoney.optional(), mode: campaignGoalOptimizeClicksToAppMode.optional(), rate: z.number().optional()}); export const campaignGoalOptimizeRoasForAppRe = z.object({target_roas: z.number().optional(), reengagement_action: z.string().optional(), revenue_actions: z.array(z.string()), rate: z.number().optional()}); export const campaignGoalOptimizeCpcForAppReMode = z.enum(["UNKNOWN_MODE", "BUDGET_CENTRIC", "TARGET_CPC_CENTRIC"]); export const campaignGoalOptimizeCpcForAppRe = z.object({target_cpc: adcloudcommonMoney.optional(), reengagement_action: z.string().optional(), mode: campaignGoalOptimizeCpcForAppReMode.optional(), rate: z.number().optional()}); export const campaignGoalOptimizeFixedCpm = z.object({target_cpm: adcloudcommonMoney}); export const campaignGoalOptimizeCpaForAppReMode = z.enum(["UNKNOWN_MODE", "BUDGET_CENTRIC"]); export const campaignGoalOptimizeCpaForAppRe = z.object({action: z.string(), reengagement_action: z.string().optional(), mode: campaignGoalOptimizeCpaForAppReMode.optional(), rate: z.number().optional()}); export const campaignGoalOptimizeAppRetentionMode = z.enum(["UNKNOWN_MODE", "BUDGET_CENTRIC", "MARGIN_CENTRIC"]); export const campaignGoalOptimizeAppRetention = z.object({mode: campaignGoalOptimizeAppRetentionMode.optional(), target_cpi: adcloudcommonMoney.optional(), rate: z.number().optional(), margin: z.number().optional()}); export const campaignGoalOptimizeAppReattributionMode = z.enum(["UNKNOWN_MODE", "BUDGET_CENTRIC"]); export const campaignGoalOptimizeAppReattribution = z.object({mode: campaignGoalOptimizeAppReattributionMode.optional(), rate: z.number().optional()}); export const campaignGoalOptimizeCpaRepeatedForAppUaMode = z.enum(["UNKNOWN_MODE", "BUDGET_CENTRIC"]); export const campaignGoalOptimizeCpaRepeatedForAppUa = z.object({action: z.string(), mode: campaignGoalOptimizeCpaRepeatedForAppUaMode.optional(), rate: z.number().optional()}); export const campaignGoalOptimizeFixedCpmPacingPacingMode = z.enum(["NONE", "BY_FREQUENCY"]); export const campaignGoalOptimizeFixedCpmPacing = z.object({target_cpm: adcloudcommonMoney, pacing_mode: campaignGoalOptimizeFixedCpmPacingPacingMode.optional(), rate: z.number().optional()}); export const campaignGoalOptimizeLandingForWebUaMode = z.enum(["UNKNOWN_MODE", "BUDGET_CENTRIC"]); export const campaignGoalOptimizeLandingForWebUa = z.object({mode: campaignGoalOptimizeLandingForWebUaMode.optional(), rate: z.number().optional()}); export const campaignGoalOptimizeCpaForWebUaMode = z.enum(["UNKNOWN_MODE", "BUDGET_CENTRIC"]); export const campaignGoalOptimizeCpaForWebUa = z.object({action: z.string(), mode: campaignGoalOptimizeCpaForWebUaMode.optional(), rate: z.number().optional()}); export const dspCampaignGoal = z.object({type: dspCampaignGoalType, optimize_app_installs: campaignGoalOptimizeAppInstalls.optional(), optimize_cpa_for_app_ua: campaignGoalOptimizeCpaForAppUa.optional(), optimize_app_roas: campaignGoalOptimizeAppRoas.optional(), optimize_clicks_to_web: campaignGoalOptimizeClicksToWeb.optional(), optimize_clicks_to_app: campaignGoalOptimizeClicksToApp.optional(), optimize_roas_for_app_re: campaignGoalOptimizeRoasForAppRe.optional(), optimize_cpc_for_app_re: campaignGoalOptimizeCpcForAppRe.optional(), optimize_fixed_cpm: campaignGoalOptimizeFixedCpm.optional(), optimize_cpa_for_app_re: campaignGoalOptimizeCpaForAppRe.optional(), optimize_app_retention: campaignGoalOptimizeAppRetention.optional(), optimize_app_reattribution: campaignGoalOptimizeAppReattribution.optional(), optimize_cpa_repeated_for_app_ua: campaignGoalOptimizeCpaRepeatedForAppUa.optional(), optimize_fixed_cpm_pacing: campaignGoalOptimizeFixedCpmPacing.optional(), optimize_landing_for_web_ua: campaignGoalOptimizeLandingForWebUa.optional(), optimize_cpa_for_web_ua: campaignGoalOptimizeCpaForWebUa.optional(), kpi_actions: z.array(z.string()).optional()}); export const sKAdNetworkInputTargetingState = z.enum(["UNKNOWN_TARGETING_STATE", "TARGET_DO_NOT_CARE", "TARGET_ALL", "TARGET_SKADN_ONLY", "TARGET_NON_SKADN_ONLY", "TARGET_CUSTOM"]); export const sKAdNetworkInputCustomOption = z.enum(["UNKNOWN_SKAN_CUSTOM_OPTION", "SKAN_CUSTOM_OPTION_MMP_ATTRIBUTABLE", "SKAN_CUSTOM_OPTION_BI_ATTRIBUTABLE", "SKAN_CUSTOM_OPTION_NON_ATTRIBUTABLE", "SKAN_CUSTOM_OPTION_SKAN_ATTRIBUTABLE"]); export const dspSKAdNetworkInput = z.object({targeting_state: sKAdNetworkInputTargetingState.optional(), include_traffic_without_attributions: z.boolean().optional(), custom_options: z.array(sKAdNetworkInputCustomOption).optional(), prefer_mmp_attribution: z.boolean().optional()}); export const dspAdTrackingAllowance = z.enum(["UNKNOWN_AD_TRACKING_ALLOWANCE", "NON_LAT_ONLY", "LAT_ONLY", "DO_NOT_CARE"]); export const campaignServingStatus = z.object({serving_blocked: z.boolean().optional(), serving_blocked_timestamp: z.string().optional()}); export const launchNoticeNoticeType = z.enum(["UNKNOWN", "WARNING", "DISCLAIMER"]); export const launchNoticeNoticeMessage = z.enum(["UNKNOWN_MESSAGE", "MMP_PROBABILISTIC_ATTRIBUTION_STATUS_DISABLED", "MMP_VIEW_THROUGH_PROBABILISTIC_ATTRIBUTION_STATUS_DISABLED", "MMP_ADVANCED_PRIVACY_STATUS_ENABLED", "MMP_PROBABILISTIC_ATTRIBUTION_STATUS_UNKNOWN", "CAMPAIGN_WILL_PAUSE_IF_ADVANCED_PRIVACY_ENABLED_AFTER_48H"]); export const commonLaunchNotice = z.object({type: launchNoticeNoticeType.optional(), message: launchNoticeNoticeMessage.optional()}); export const dspCampaign = z.object({id: z.string().optional(), ad_account_id: z.string().optional(), product_id: z.string().optional(), title: z.string(), description: z.string().optional(), enabling_state: commonEnablingState.optional(), type: dspCampaignType, device_os: commonDeviceOs, state: dspCampaignState.optional(), countries: z.array(z.string()), currency: adcloudcommonCurrency.optional(), schedule: commonTimeInterval, budget_schedule: dspBudgetSchedule.optional(), tracking_company: adcloudcommonTrackingCompany.optional(), tracking_link_id: z.string().optional(), landing_url: z.string().optional(), goal: dspCampaignGoal, skadn_input: dspSKAdNetworkInput.optional(), custom_key_values: z.record(z.string(), z.string()).optional(), ad_tracking_allowance: dspAdTrackingAllowance.optional(), is_deleted: z.boolean().optional(), auto_delete_at: z.string().optional(), created_at: z.string().optional(), updated_at: z.string().optional(), serving_status: campaignServingStatus.optional(), launch_notices: z.array(commonLaunchNotice).optional(), launch_notice_confirmations: z.array(commonLaunchNotice).optional()}); export const audienceTargetingConditionPlacementReason = z.enum(["UNKNOWN_PLACEMENT_REASON", "REASON_BRAND_SAFETY", "REASON_PERFORMANCE_IMPROVEMENT", "REASON_AGE_RESTRICTION", "REASON_FRAUD", "REASON_OWN_APP_CROSS_PROMOTION_BLOCKING", "REASON_NOT_OPERATING_IN_A_SPECIFIC_LOCATION", "REASON_INCREMENTALITY_TESTING", "REASON_OTHER"]); export const adcloudcommonCreativeType = z.enum(["UNKNOWN_CREATIVE_TYPE", "IMAGE_BANNER", "IMAGE_INTERSTITIAL", "VIDEO_BANNER", "VIDEO_INTERSTITIAL", "NATIVE_LOGO", "NATIVE_VIDEO", "NATIVE_IMAGE", "CUSTOM_HTML_BANNER", "CUSTOM_HTML_INTERSTITIAL", "TEMPLATE_HTML_BANNER", "TEMPLATE_HTML_INTERSTITIAL", "RICH_CUSTOM_HTML_BANNER", "RICH_CUSTOM_HTML_INTERSTITIAL", "DYNAMIC_HTML_BANNER", "DYNAMIC_HTML_INTERSTITIAL"]); export const commonLatLng = z.object({latitude: z.number().optional(), longitude: z.number().optional()}); export const commonCircle = z.object({center: commonLatLng.optional(), radius: z.number().optional()}); export const commonAdExchange = z.enum(["UNKNOWN_AD_EXCHANGE", "MOPUB", "ADX", "ADMIXER", "SMAATO", "RUBICON", "EXELBID", "BRIGHTROLL", "CAULYRTB", "ADLIB", "ORION", "MOLOCO", "ADOP", "APPLOVIN", "FYBER", "SAMSUNG", "ADCOLONY", "POLYMORPH", "CHARTBOOST", "MANPLUS", "KAKAO", "UNITY", "FYBERCORE", "ADGENERATION", "SAMSUNGPAY", "NHN", "ADPOPCORN", "OPENX", "VUNGLE", "ADALPHA", "BYTEDANCE", "NAVER", "INMOBI", "SIGNALPLAY", "ACUITY", "IRONSOURCE", "PUBMATIC", "BAIDU", "FLUCT", "FIVE", "APPODEAL", "ADPIE", "MOBILITYWARE", "TPMN", "PUBNATIVE", "TAPJOY", "MOMENTO", "BIDENCE", "APS", "INDEX", "IQZONE", "STARTIO", "FLOWER", "ONESTORE", "NIMBUS", "AEQUUS", "MCTV", "MINTEGRAL", "MOLOCO_SDK_APPLOVIN", "MOLOCO_SDK_IRONSOURCE", "PANGLE", "MAGNITE", "MOLOCO_SDK_X3MADS", "FREE_WHEEL", "MOLOCO_SDK_ADMOB", "ADX_RTB", "XIAOMI", "MOLOCO_SDK_CREATIVE_TEST", "MOLOCO_SDK_MAX", "MOLOCO_SDK_LEVELPLAY", "NEXXEN", "MOLOCO_SDK_ADMOB_MEDIATION", "MOLOCO_SDK", "MOLOCO_SDK_IN_HOUSE_MEDIATION", "TABOOLA", "CRITEO", "MOLOCO_SDK_DIRECT_AD", "APX1", "DIRECT_AD", "BIGO", "CAS", "TUBI", "SPRINGSERVE", "PUBLICA"]); export const commonDeviceType = z.enum(["UNKNOWN_DEVICE_TYPE", "MOBILE", "PERSONAL_COMPUTER", "CONNECTED_TV", "HIGHEND_PHONE", "TABLET", "CONNECTED_DEVICE", "SET_TOP_BOX"]); export const adcloudcommonEventType = z.enum(["UNKNOWN_EVENT_TYPE", "BID_MADE", "BID_WON", "IMPRESSION", "IMPRESSION_EXTRA", "CLICK", "INSTALL", "CUSTOM"]); export const audienceTargetingConditionRecentCampaignActivityFilter = z.object({event: adcloudcommonEventType, campaign_id: z.string(), last_n_days: z.number().int()}); export const audienceTargetingConditionLocationFilter = z.object({cities: z.array(z.string()).optional(), regions: z.array(z.string()).optional(), zipcodes: z.array(z.string()).optional(), geofences: z.array(commonCircle).optional()}); export const commonGender = z.enum(["UNKNOWN_GENDER", "FEMALE", "MALE"]); export const audienceTargetingConditionDeviceOsFilter = z.object({os: commonDeviceOs, min_version: z.string().optional(), max_version: z.string().optional()}); export const audienceTargetingConditionMediaChannelType = z.enum(["UNKNOWN_MEDIA_CHANNEL_TYPE", "APP", "WEB"]); export const audienceTargetingConditionNewUserFilter = z.object({last_n_days: z.number().int()}); export const commonAdvertiserIdType = z.enum(["UNKNOWN_ADVERTISER_ID_TYPE", "ANDROID_IDFA", "IOS_IDFA", "GENERIC_USER_ID", "GENERIC_DEVICE_ID", "ANDROID_LAT_IDFA", "IOS_LAT_IDFA"]); export const dspAudienceTargetingConditionVideoType = z.enum(["UNKNOWN_VIDEO_TYPE", "REWARD_VIDEO", "NON_REWARD_VIDEO", "NON_VIDEO"]); export const adcloudcommonTimezonePolicy = z.enum(["UNKNOWN_TIME", "DEVICE_TIME", "UTC_TIME", "AD_ACCOUNT_TIME", "ADVERTISER_TIME"]); export const adcloudcommonInterval = z.object({start: z.number().int().optional(), end: z.number().int().optional()}); export const adcloudcommonDayOfWeek = z.enum(["UNKNOWN_DAY_OF_WEEK", "MON", "TUE", "WED", "THU", "FRI", "SAT", "SUN"]); export const audienceTargetingConditionWeeklyScheduleFilter = z.object({timezone_policy: adcloudcommonTimezonePolicy.optional(), hour_range: adcloudcommonInterval.optional(), days: z.array(adcloudcommonDayOfWeek)}); export const commonBannerApi = z.enum(["UNKNOWN_BANNER_API", "MRAID_2"]); export const commonAudienceData = z.object({provider: z.string().optional(), condition: z.string().optional()}); export const commonPostbackEventCount = z.object({app_bundle: z.string().optional(), range: adcloudcommonInterval.optional(), events: z.array(z.string()).optional()}); export const commonTagsThrottleCondition = z.object({tags: z.array(z.string()).optional(), throttle_rate: z.number().optional()}); export const commonDisplayManagerVersion = z.object({min: z.string().optional(), max: z.string().optional()}); export const commonTimeUnit = z.enum(["UNKNOWN_TIME_UNIT", "MINUTE", "HOUR", "DAY", "WEEK"]); export const commonPostbackEventsCondition = z.object({audiences: z.array(z.string()).optional(), events: z.array(z.string()).optional(), past_time_range: adcloudcommonInterval.optional(), past_time_range_unit: commonTimeUnit.optional(), range: commonTimeInterval.optional(), short_term_user_profile: z.boolean().optional(), count_range: adcloudcommonInterval.optional()}); export const locationSetZipCodeSet = z.object({zipcodes: z.array(z.string()).optional(), country: z.string().optional()}); export const audienceTargetingConditionLocationSet = z.object({osm_ids: z.array(z.string()).optional(), zipcodes: z.array(locationSetZipCodeSet).optional()}); export const audienceTargetingConditionCoppaAcceptance = z.enum(["UNKNOWN_COPPA", "ACCEPT_COPPA_ONLY", "DENY_COPPA"]); export const audienceTargetingConditionSkanTraffic = z.enum(["UNKNOWN_SKAN", "TARGET_SKAN_ONLY", "TARGET_NON_SKAN"]); export const commonTimeDuration = z.object({amount: z.string().optional(), unit: commonTimeUnit.optional()}); export const customAudienceSetAppEvent = z.object({product_id: z.string().optional(), event: z.string().optional(), sliding_window_duration: commonTimeDuration.optional()}); export const customAudienceSetApp = z.object({product_id: z.string().optional(), sliding_window_duration: commonTimeDuration.optional()}); export const customAudienceSetCustomAudienceCondition = z.object({app_events: z.array(customAudienceSetAppEvent).optional(), user_lists: z.array(z.string()).optional(), apps: z.array(customAudienceSetApp).optional()}); export const audienceTargetingConditionCustomAudienceSet = z.object({include_having_all: customAudienceSetCustomAudienceCondition.optional(), include_having_any: customAudienceSetCustomAudienceCondition.optional(), exclude_having_all: customAudienceSetCustomAudienceCondition.optional(), exclude_having_any: customAudienceSetCustomAudienceCondition.optional()}); export const dspAudienceTargetingCondition = z.object({allowed_countries: z.array(z.string()).optional(), blocked_countries: z.array(z.string()).optional(), placement_reasons: z.array(audienceTargetingConditionPlacementReason).optional(), custom_placement_reason: z.string().optional(), allowed_app_bundles: z.array(z.string()).optional(), blocked_app_bundles: z.array(z.string()).optional(), allowed_content_categories: z.array(z.string()).optional(), blocked_content_categories: z.array(z.string()).optional(), allowed_cities: z.array(z.string()).optional(), blocked_cities: z.array(z.string()).optional(), allowed_creative_types: z.array(adcloudcommonCreativeType).optional(), blocked_creative_types: z.array(adcloudcommonCreativeType).optional(), allowed_websites: z.array(z.string()).optional(), blocked_websites: z.array(z.string()).optional(), allowed_geofences: z.array(commonCircle).optional(), blocked_geofences: z.array(commonCircle).optional(), allowed_exchanges: z.array(commonAdExchange).optional(), blocked_exchanges: z.array(commonAdExchange).optional(), allowed_idfas: z.array(z.string()).optional(), blocked_idfas: z.array(z.string()).optional(), allowed_zipcodes: z.array(z.string()).optional(), blocked_zipcodes: z.array(z.string()).optional(), allowed_device_models: z.array(z.string()).optional(), blocked_device_models: z.array(z.string()).optional(), allowed_user_audience_tags: z.array(z.string()).optional(), blocked_user_audience_tags: z.array(z.string()).optional(), allowed_languages: z.array(z.string()).optional(), blocked_languages: z.array(z.string()).optional(), allowed_device_types: z.array(commonDeviceType).optional(), blocked_device_types: z.array(commonDeviceType).optional(), allowed_mostly_visited_countries: z.array(z.string()).optional(), blocked_mostly_visited_countries: z.array(z.string()).optional(), allowed_regions: z.array(z.string()).optional(), blocked_regions: z.array(z.string()).optional(), allowed_recent_campaign_activities: z.array(audienceTargetingConditionRecentCampaignActivityFilter).optional(), blocked_recent_campaign_activities: z.array(audienceTargetingConditionRecentCampaignActivityFilter).optional(), allowed_locations: z.array(audienceTargetingConditionLocationFilter).optional(), blocked_locations: z.array(audienceTargetingConditionLocationFilter).optional(), genders: z.array(commonGender).optional(), connection_types: z.array(z.string()).optional(), allowed_direct_deal_ids: z.array(z.string()).optional(), blocked_direct_deal_ids: z.array(z.string()).optional(), device_oses: z.array(audienceTargetingConditionDeviceOsFilter).optional(), media_channel_type: audienceTargetingConditionMediaChannelType.optional(), new_users: audienceTargetingConditionNewUserFilter.optional(), advertiser_id_types: z.array(commonAdvertiserIdType).optional(), allowed_video_types: z.array(dspAudienceTargetingConditionVideoType).optional(), blocked_video_types: z.array(dspAudienceTargetingConditionVideoType).optional(), weekly_schedules: z.array(audienceTargetingConditionWeeklyScheduleFilter).optional(), allowed_gender_score: adcloudcommonFloatingPointRange.optional(), blocked_gender_score: adcloudcommonFloatingPointRange.optional(), allowed_ages: z.array(adcloudcommonInterval).optional(), blocked_ages: z.array(adcloudcommonInterval).optional(), allowed_ip_ranges: z.array(z.string()).optional(), blocked_ip_ranges: z.array(z.string()).optional(), allowed_device_carriers: z.array(z.string()).optional(), blocked_device_carriers: z.array(z.string()).optional(), allowed_keywords: z.array(z.string()).optional(), blocked_keywords: z.array(z.string()).optional(), user_buckets: z.array(adcloudcommonInterval).optional(), allowed_ad_units: z.array(z.string()).optional(), blocked_ad_units: z.array(z.string()).optional(), allowed_placements: z.array(z.string()).optional(), blocked_placements: z.array(z.string()).optional(), allowed_banner_apis: z.array(commonBannerApi).optional(), blocked_banner_apis: z.array(commonBannerApi).optional(), schedule: commonTimeInterval.optional(), audience_data: commonAudienceData.optional(), allowed_apps_by_checksum: z.array(z.string()).optional(), blocked_apps_by_checksum: z.array(z.string()).optional(), allowed_postback_event_counts: z.array(commonPostbackEventCount).optional(), auction_types: z.array(z.string()).optional(), throttle_apt_tags: commonTagsThrottleCondition.optional(), allowed_dev_makes: z.array(z.string()).optional(), blocked_dev_makes: z.array(z.string()).optional(), display_manager_versions: z.array(commonDisplayManagerVersion).optional(), allowed_audiences: z.array(z.string()).optional(), blocked_audiences: z.array(z.string()).optional(), allowed_postback_has_all_events_conditions: z.array(commonPostbackEventsCondition).optional(), blocked_postback_has_all_events_conditions: z.array(commonPostbackEventsCondition).optional(), allowed_postback_has_any_events_conditions: z.array(commonPostbackEventsCondition).optional(), blocked_postback_has_any_events_conditions: z.array(commonPostbackEventsCondition).optional(), allowed_location_set: audienceTargetingConditionLocationSet.optional(), blocked_location_set: audienceTargetingConditionLocationSet.optional(), allowed_apt_tags: z.array(z.string()).optional(), blocked_apt_tags: z.array(z.string()).optional(), coppa_acceptance: audienceTargetingConditionCoppaAcceptance.optional(), skan_traffic: audienceTargetingConditionSkanTraffic.optional(), contains_custom_audience: z.boolean().optional(), custom_audience_set: audienceTargetingConditionCustomAudienceSet.optional()}); export const adclouddspAudience = z.object({shared_audience_target_ids: z.array(z.string()).optional(), targeting_condition: dspAudienceTargetingCondition.optional()}); export const adclouddspAdCapper = z.object({imp_interval: commonTimeDuration.optional()}); export const dspAdGroupAudienceExtension = z.object({paired_ad_group_id: z.string().optional(), is_secondary: z.boolean().optional()}); export const dspAdGroup = z.object({id: z.string().optional(), title: z.string(), campaign_id: z.string().optional(), product_id: z.string().optional(), ad_account_id: z.string().optional(), experiment_id: z.string().optional(), enabling_state: commonEnablingState.optional(), audience: adclouddspAudience.optional(), capper: adclouddspAdCapper.optional(), pricing_model_id: z.string().optional(), creative_group_ids: z.array(z.string()).optional(), user_buckets: z.array(adcloudcommonInterval).optional(), audience_extension: dspAdGroupAudienceExtension.optional(), created_at: z.string().optional(), updated_at: z.string().optional(), aud_size: z.string().optional(), matchable_aud_size: z.string().optional(), last_aud_size_computed_at: z.string().optional()}); export const dspCustomerSetIdType = z.enum(["UNKNOWN_ID_TYPE", "GOOGLE_ADID", "APPLE_IDFA"]); export const dspCustomerSetStatus = z.enum(["UNKNOWN_STATUS", "PREPARING", "READY", "FAILED"]); export const fileUpdateInfoUpdateStatus = z.enum(["UNKNOWN_STATUS", "IN_PROGRESS", "SUCCESS", "FAILED"]); export const customerSetFileUpdateInfo = z.object({status: fileUpdateInfoUpdateStatus.optional(), timestamp: z.string().optional(), file_name: z.string().optional()}); export const customerSetStatusDetailConnectionMethod = z.enum(["UNKNOWN_METHOD", "CLOUD_API", "MCP_UPLOAD", "AF_AUDIENCE_BUILDER", "BESPOKE"]); export const customerSetStatusDetailErrorId = z.enum(["UNKNOWN_ERROR_ID", "TAGGING_ERROR", "REQUEST_ERROR", "PREPROCESSING_ERROR", "GENERIC_ERROR"]); export const customerSetCustomerSetStatusDetail = z.object({connection_method: customerSetStatusDetailConnectionMethod.optional(), error_id: customerSetStatusDetailErrorId.optional(), error_description: z.string().optional(), csv_file_size: z.number().int().optional(), aud_size: z.number().int().optional()}); export const customerSetFileUpdateHistory = z.object({status: dspCustomerSetStatus.optional(), status_detail: customerSetCustomerSetStatusDetail.optional(), updated_at: z.string().optional()}); export const dspCustomerSet = z.object({id: z.string().optional(), title: z.string(), description: z.string().optional(), id_type: dspCustomerSetIdType, status: dspCustomerSetStatus.optional(), data_file_path: z.string(), is_upper: z.boolean().optional(), auto_delete_at: z.string().optional(), created_at: z.string().optional(), updated_at: z.string().optional(), recent_file_update_info: customerSetFileUpdateInfo.optional(), status_detail: customerSetCustomerSetStatusDetail.optional(), file_update_histories: z.array(customerSetFileUpdateHistory).optional()}); export const customerActivityActivityCondition = z.object({product_id: z.string().optional(), event: z.string().optional(), sliding_window_duration: commonTimeDuration.optional()}); export const dspCustomerActivity = z.object({id: z.string().optional(), title: z.string().optional(), description: z.string().optional(), include_having_all: z.array(customerActivityActivityCondition).optional(), include_having_any: z.array(customerActivityActivityCondition).optional(), exclude_having_all: z.array(customerActivityActivityCondition).optional(), exclude_having_any: z.array(customerActivityActivityCondition).optional(), created_at: z.string().optional(), updated_at: z.string().optional()}); export const trackingLinkUrlDataVerificationStatus = z.enum(["UNKNOWN_VERIFICATION_STATUS", "UNVERIFIED", "VERIFYING", "VERIFIED"]); export const urlDataUnverifiedStatusData = z.object({stored_at: z.string().optional(), user_id: z.string().optional()}); export const urlDataVerifyingStatusData = z.object({attempt_ids: z.array(z.string()).optional()}); export const trackingLinkVerificationAttemptUrlDataType = z.enum(["UNKNOWN_URL_DATA_TYPE", "CT_LINK", "VT_LINK"]); export const dspTrackingLinkVerificationAttempt = z.object({id: z.string().optional(), ad_account_id: z.string().optional(), tracking_link_id: z.string().optional(), url_data_type: trackingLinkVerificationAttemptUrlDataType.optional(), user_id: z.string().optional(), user_email: z.string().optional(), user_name: z.string().optional(), tracking_bundle_id: z.string().optional(), resolved_url: z.string().optional(), resolved_idfa: z.string().optional(), started_at: z.string().optional(), verified_at: z.string().optional()}); export const urlDataVerifiedStatusData = z.object({verified_attempt: dspTrackingLinkVerificationAttempt.optional()}); export const trackingLinkUrlData = z.object({url: z.string(), status: trackingLinkUrlDataVerificationStatus.optional(), unverified_status_data: urlDataUnverifiedStatusData.optional(), verifying_status_data: urlDataVerifyingStatusData.optional(), verified_status_data: urlDataVerifiedStatusData.optional()}); export const dspTrackingLink = z.object({id: z.string().optional(), ad_account_id: z.string().optional(), product_id: z.string().optional(), title: z.string(), description: z.string().optional(), device_os: commonDeviceOs, click_through_link: trackingLinkUrlData, view_through_link: trackingLinkUrlData.optional(), ctv_adjust_dual_vt_link: trackingLinkUrlData.optional(), tracking_company: adcloudcommonTrackingCompany.optional(), created_at: z.string().optional(), updated_at: z.string().optional()}); export const dspCreativeGroupStatus = z.enum(["UNKNOWN_STATUS", "DRAFT", "SUBMITTED", "REVIEW_NOT_NEEDED", "UNDER_REVIEW", "APPROVED", "DISAPPROVED"]); export const creativeGroupActionType = z.enum(["UNKNOWN_TYPE", "CREATE", "UPDATE", "START_REVIEW", "DISAPPROVE", "APPROVE", "REQUEST_REVIEW"]); export const dspCreativeGroupAction = z.object({id: z.string().optional(), user_id: z.string().optional(), user_display_name: z.string().optional(), action_type: creativeGroupActionType.optional(), comment: z.string().optional(), created_at: z.string().optional()}); export const adcloudcommonCreativeFeatureType = z.enum(["UNKNOWN_CREATIVE_FEATURE_TYPE", "GENERAL", "DYNAMIC_CREATIVE"]); export const creativeFeatureDynamicCreative = z.object({app_icon_url: z.string().optional(), brand_logo_url: z.string().optional(), business_title: z.string().optional(), cta_text: z.string().optional(), cta_color: z.string().optional(), image_border_color: z.string().optional(), title_preamble: z.string().optional(), main_text: z.string().optional(), main_text_color: z.string().optional(), cta_text_color: z.string().optional(), background_color: z.string().optional(), price_locale: z.string().optional(), disclaimer_text: z.string().optional(), disclaimer_text_color: z.string().optional(), sponsored_by: z.string().optional()}); export const dspCreativeFeature = z.object({type: adcloudcommonCreativeFeatureType.optional(), dynamic_creative: creativeFeatureDynamicCreative.optional()}); export const dspCreativeVideoSrcTargetAdPosition = z.enum(["DEFAULT", "FIRST_AD_ONLY", "LAST_AD_ONLY"]); export const dspCreativeGroupPublisherProperties = z.object({skippable: z.boolean().optional(), video_target_ad_position: dspCreativeVideoSrcTargetAdPosition.optional()}); export const dspCreativeGroup = z.object({id: z.string().optional(), ad_account_id: z.string().optional(), product_id: z.string().optional(), title: z.string(), description: z.string().optional(), enabling_state: commonEnablingState.optional(), creative_ids: z.array(z.string()).optional(), status: dspCreativeGroupStatus.optional(), action_history: z.array(dspCreativeGroupAction).optional(), tracking_link_id: z.string().optional(), landing_url: z.string().optional(), final_landing_url: z.string().optional(), mmp_tag: z.string().optional(), audience: adclouddspAudience.optional(), feature: dspCreativeFeature.optional(), created_at: z.string().optional(), updated_at: z.string().optional(), publisher_properties: dspCreativeGroupPublisherProperties.optional()}); export const dspCreativeGroupInactiveReason = z.enum(["UNKNOWN_REASON", "NO_CREATIVE", "NO_ADGROUP", "SCHEDULED", "EXTERNAL_ISSUE", "NO_ENABLED_CREATIVE", "NO_ENABLED_ADGROUP", "NO_ENABLED_CAMPAIGN", "DISABLED_CREATIVE_GROUP", "ENDED"]); export const dspCreativeGroupReferrerInfo = z.object({ad_group_id: z.string().optional(), ad_group_title: z.string().optional(), ad_group_state: commonEnablingState.optional(), ad_group_experiment_id: z.string().optional(), campaign_id: z.string().optional(), campaign_title: z.string().optional(), campaign_description: z.string().optional(), campaign_state: dspCampaignState.optional(), campaign_type: dspCampaignType.optional(), campaign_goal: dspCampaignGoal.optional(), campaign_countries: z.array(z.string()).optional(), campaign_schedule: commonTimeInterval.optional(), campaign_auto_delete_at: z.string().optional()}); export const dspReadCreativeGroupOverview = z.object({creative_group: dspCreativeGroup.optional(), state: commonEnablingState.optional(), inactive_reasons: z.array(dspCreativeGroupInactiveReason).optional(), creative_group_referrer_infos: z.array(dspCreativeGroupReferrerInfo).optional()}); export const dspAdvertiserInfo = z.object({id: z.string().optional(), title: z.string().optional(), description: z.string().optional()}); export const dspCreativeType = z.enum(["UNKNOWN_TYPE", "IMAGE", "VIDEO", "VAST_VIDEO", "NATIVE", "NATIVE_IMAGE", "NATIVE_VIDEO", "CUSTOM_HTML", "TEMPLATE_HTML", "RICH_CUSTOM_HTML", "DYNAMIC_HTML", "AD_TAG"]); export const dspCreativeImageSrc = z.object({image_url: z.string().optional(), filename: z.string().optional(), width: z.number().int().optional(), height: z.number().int().optional(), size_in_bytes: z.number().int().optional()}); export const dspCreativeHtmlRequirementAttributesFlag = z.enum(["UNKNOWN_FLAG", "MRAID2", "IN_BANNER_VIDEO"]); export const creativeHtmlRequirementAttributesCustomCloseType = z.enum(["UNKNOWN_CUSTOM_CLOSE_TYPE", "CUSTOM_CLOSE_TYPE_NONE", "CUSTOM_CLOSE_TYPE_ENABLED", "CUSTOM_CLOSE_TYPE_CONTROLLABLE"]); export const creativeHtmlRequirementAttributesAutoPlayAudioType = z.enum(["UNKNOWN_AUTO_PLAY_AUDIO_TYPE", "AUTO_PLAY_AUDIO_TYPE_MUTED", "AUTO_PLAY_AUDIO_TYPE_AUTO_PLAY", "AUTO_PLAY_AUDIO_TYPE_CONTROLLABLE"]); export const dspCreativeHtmlRequirementAttributes = z.object({flags: z.array(dspCreativeHtmlRequirementAttributesFlag).optional(), use_custom_close: creativeHtmlRequirementAttributesCustomCloseType.optional(), auto_play_audio: creativeHtmlRequirementAttributesAutoPlayAudioType.optional()}); export const dspCreativeHtmlSizeAttributesFixed = z.object({width: z.number().int().optional(), height: z.number().int().optional()}); export const dspCreativeHtmlSizeAttributes = z.object({interstitial: z.boolean().optional(), fixed: z.array(dspCreativeHtmlSizeAttributesFixed).optional()}); export const dspCreativeRichCustomHtmlSrcPlayableADSourceType = z.enum(["UNKNOWN_PLAYABLE_AD_SOURCE_TYPE", "PLAYABLE_AD_SOURCE_TYPE_URL", "PLAYABLE_AD_SOURCE_TYPE_TAG"]); export const creativeRichCustomHtmlSrcPlayableADSourceData = z.object({type: dspCreativeRichCustomHtmlSrcPlayableADSourceType.optional(), value: z.string().optional()}); export const dspCreativeRichCustomHtmlSrc = z.object({entry_html: z.string().optional(), html_requirement_attributes: dspCreativeHtmlRequirementAttributes, html_size_attributes: dspCreativeHtmlSizeAttributes.optional(), max_video_duration_seconds: z.number().int().optional(), playable_ad_source: creativeRichCustomHtmlSrcPlayableADSourceData.optional(), filename: z.string().optional()}); export const dspCreativeDynamicHtmlSrcPolicyPolicyFunction = z.enum(["UNKNOWN_POLICY", "RANDOM_SELECTION", "MOST_RECENT_VIEW", "IN_CART", "GLOBAL_TREND", "TREND", "COMBINED_EVENTS_RECENCY", "FREQUENTLY_BOUGHT_TOGETHER", "FREQUENTLY_SEEN_TOGETHER", "KEYWORD_SEARCH_WITH_CLIENT_RESULT", "COMBINED_EVENTS_RECENCY_WITH_KEYWORD_SEARCH", "MODEL", "GAME", "RMP_AUDIENCE_EXTENSION", "MCM_ITEM_RECOMMENDATION", "NEXT_ITEM_SELECTION"]); export const dspCreativeDynamicHtmlSrcPolicyPolicyFunctionConfigTrendConfig = z.object({name: z.string().optional()}); export const policySourcerType = z.enum(["UNKNOWN_SOURCER", "SOURCER_TEST_CATALOG_DEPENDENT", "SOURCER_TEST_CATALOG_INDEPENDENT", "SOURCER_DEFAULT", "SOURCER_USER_SIGNAL", "SOURCER_TRENDS", "SOURCER_RELATED_ITEMS", "SOURCER_AUCTION_ITEMS"]); export const policyEvaluatorType = z.enum(["UNKNOWN_EVALUATOR", "EVALUATOR_TEST_CATALOG_DEPENDENT", "EVALUATOR_TEST_CATALOG_INDEPENDENT", "EVALUATOR_RANDOM", "EVALUATOR_LR"]); export const dspCreativeDynamicHtmlSrcPolicyPolicyFunctionConfigModelConfig = z.object({sourcer_type: policySourcerType.optional(), evaluator_type: policyEvaluatorType.optional(), evaluator_suffix: z.string().optional(), user_signal_window_hours: z.number().int().optional()}); export const dspCreativeDynamicHtmlSrcPolicyPolicyFunctionConfigGameConfig = z.object({game_id: z.string().optional()}); export const dspCreativeDynamicHtmlSrcPolicyPolicyFunctionConfigMcmItemRecommendationConfig = z.object({mcm_platform_id: z.string().optional(), inventory_id: z.string().optional()}); export const dspCreativeDynamicHtmlSrcPolicyPolicyFunctionConfigNextItemSelectionConfig = z.object({require_video: z.boolean().optional(), skip_internal_review: z.boolean().optional()}); export const dspCreativeDynamicHtmlSrcPolicyPolicyFunctionConfig = z.object({trend: dspCreativeDynamicHtmlSrcPolicyPolicyFunctionConfigTrendConfig.optional(), model: dspCreativeDynamicHtmlSrcPolicyPolicyFunctionConfigModelConfig.optional(), game: dspCreativeDynamicHtmlSrcPolicyPolicyFunctionConfigGameConfig.optional(), mcm_item_recommendation: dspCreativeDynamicHtmlSrcPolicyPolicyFunctionConfigMcmItemRecommendationConfig.optional(), next_item_selection: dspCreativeDynamicHtmlSrcPolicyPolicyFunctionConfigNextItemSelectionConfig.optional()}); export const dspCreativeDynamicHtmlSrcPolicyItemCapperFrequency = z.object({period: z.string().optional(), max_exposures: z.number().int().optional()}); export const dspCreativeDynamicHtmlSrcPolicyItemCapper = z.object({frequency: dspCreativeDynamicHtmlSrcPolicyItemCapperFrequency.optional()}); export const dspCreativeDynamicHtmlSrcPolicy = z.object({function: dspCreativeDynamicHtmlSrcPolicyPolicyFunction.optional(), function_config: dspCreativeDynamicHtmlSrcPolicyPolicyFunctionConfig.optional(), num_items: z.number().int().optional(), catalog: z.string().optional(), item_capper: dspCreativeDynamicHtmlSrcPolicyItemCapper.optional()}); export const dspCreativeDynamicHtmlSrc = z.object({template_id: z.string(), template_env: z.record(z.string(), z.string()).optional(), rendered_entry_html: z.string(), html_requirement_attributes: dspCreativeHtmlRequirementAttributes.optional(), html_size_attributes: dspCreativeHtmlSizeAttributes.optional(), policy: dspCreativeDynamicHtmlSrcPolicy.optional()}); export const dspCreativeVideoSrcTranscodingInfoStatus = z.enum(["UNKNOWN_STATUS", "IN_PROGRESS", "SUCCEEDED", "FAILED"]); export const dspCreativeVideoSrcTranscodingInfo = z.object({status: dspCreativeVideoSrcTranscodingInfoStatus.optional(), failed_reason: z.string().optional()}); export const dspCreativeVideoSrc = z.object({video_url: z.string(), filename: z.string().optional(), width: z.number().int(), height: z.number().int(), length_seconds: z.number().int(), fps: z.number().int().optional(), size_in_bytes: z.number().int().optional(), companion_images: z.array(dspCreativeImageSrc).optional(), auto_endcard: z.boolean().optional(), playable_endcard: dspCreativeRichCustomHtmlSrc.optional(), dynamic_html_endcard: dspCreativeDynamicHtmlSrc.optional(), transcoding_info: dspCreativeVideoSrcTranscodingInfo.optional()}); export const dspCreativeVastVideoSrc = z.object({vast_tag: z.string(), width: z.number().int().optional(), height: z.number().int().optional(), length_seconds: z.number().int().optional()}); export const dspCreativeNativeSrc = z.object({icon_image: dspCreativeImageSrc, main_image: dspCreativeImageSrc, shrunk_main_image: dspCreativeImageSrc.optional(), title: z.string(), text: z.string(), cta_text: z.string(), sponsored_by: z.string().optional(), star_rating: z.number().optional(), video: dspCreativeVideoSrc.optional(), vast_video: dspCreativeVastVideoSrc.optional()}); export const dspCreativeCustomHtmlSrc = z.object({html: z.string(), width: z.number().int(), height: z.number().int(), image_url: z.string()}); export const dspCreativeTemplateHtmlSrc = z.object({template_id: z.string(), template_env: z.record(z.string(), z.string()).optional(), rendered_entry_html: z.string(), html_requirement_attributes: dspCreativeHtmlRequirementAttributes.optional(), html_size_attributes: dspCreativeHtmlSizeAttributes.optional(), max_video_duration_seconds: z.number().int().optional()}); export const dspCreative = z.object({id: z.string().optional(), ad_account_id: z.string().optional(), product_id: z.string().optional(), title: z.string(), enabling_state: commonEnablingState.optional(), advertiser_info: dspAdvertiserInfo.optional(), type: dspCreativeType.optional(), original_filename: z.string(), size_in_bytes: z.number().int().optional(), custom_key_values: z.record(z.string(), z.string()).optional(), image: dspCreativeImageSrc.optional(), video: dspCreativeVideoSrc.optional(), vast_video: dspCreativeVastVideoSrc.optional(), native: dspCreativeNativeSrc.optional(), custom_html: dspCreativeCustomHtmlSrc.optional(), template_html: dspCreativeTemplateHtmlSrc.optional(), rich_custom_html: dspCreativeRichCustomHtmlSrc.optional(), dynamic_html: dspCreativeDynamicHtmlSrc.optional(), feature_type: adcloudcommonCreativeFeatureType.optional(), creator_tag: z.string().optional(), created_at: z.string().optional(), updated_at: z.string().optional()}); export const dspSharedAudienceTarget = z.object({id: z.string().optional(), title: z.string(), targeting_condition: dspAudienceTargetingCondition.optional(), aud_size: z.string().optional(), reachable_aud_size: z.string().optional(), top_n_countries_aud_size_map: z.record(z.string(), z.string()).optional(), last_aud_size_computed_at: z.string().optional(), auto_delete_at: z.string().optional(), created_at: z.string().optional(), updated_at: z.string().optional(), is_target_lat: z.boolean().optional()}); export const messagesQueryCampaignOverviewsResponse = z.object({ad_account: dspAdAccount.optional(), product: dspProduct.optional(), campaigns: z.array(dspCampaign).optional(), ad_groups: z.array(dspAdGroup).optional(), customer_sets: z.array(dspCustomerSet).optional(), customer_activities: z.array(dspCustomerActivity).optional(), tracking_links: z.array(dspTrackingLink).optional(), creative_groups: z.array(dspReadCreativeGroupOverview).optional(), creatives: z.array(dspCreative).optional(), audience_targets: z.array(dspSharedAudienceTarget).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 }; /** * Query given Campaigns' setting overview * * GET /cm/v1/campaign-overviews */ export const getApiCmV1CampaignOverviews = async (args: GetApiCmV1CampaignOverviewsArgs, options?: GetApiCmV1CampaignOverviewsOptions) => { const {baseUrl = "https://api.moloco.cloud", fetch: fetchFn = fetch, Bearer} = options ?? {} const query = new URLSearchParams() const headers = new Headers() headers.set('accept', "application/json") if (args.ad_account_id != null) query.append("ad_account_id", String(args.ad_account_id)) if (args.product_id != null) query.append("product_id", String(args.product_id)) for (const item of args.campaign_ids ?? []) query.append("campaign_ids", String(item)) if (Bearer !== undefined) headers.set("Authorization", Bearer) const url = `${baseUrl.replace(/\/+$/, '')}/cm/v1/campaign-overviews${query.size > 0 ? `?${query}` : ''}` const res = await fetchFn(url, {method: "GET", headers}) if (!res.ok) throw new Error(`Request failed with status ${res.status}`, {cause: {status: res.status, body: await res.text()}}) return validateResponse(messagesQueryCampaignOverviewsResponse, await res.json()) };