export type NamingTemplateElementValue = {elementId?: string | undefined, value?: string | undefined}; export type LinkedInTargetingEntity = {facetUrn?: string | undefined, urn?: string | undefined, name?: string | undefined, children?: Array | undefined, parentUrn?: string | undefined}; export type LinkedInTargetingCriteriaGroup = {linkedInTargetingEntityLinkOperator?: ('AND' | 'OR') | undefined, linkedInTargetingCriterias?: Array | undefined}; export type GoogleKeyword = {name?: string | undefined, competition?: ('LOW' | 'MEDIUM' | 'HIGH' | 'UNKNOWN') | undefined, averageMonghtlySearchVolume?: number | undefined, averageCpc?: number | undefined, cpc?: number | undefined, cpm?: number | undefined, link?: string | undefined, status?: ('IS_RUNNING' | 'STOP' | 'IN_REVIEW' | 'REMOVED' | 'COMPLETED' | 'DISAPPROVED' | 'IS_STOPPING') | undefined, bid?: number | undefined, finalUrl?: string | undefined, averageImpressionsPerMonth?: number | undefined}; export type CustomParameter = {key?: string | undefined, value?: string | undefined}; export type RetargetingList = {googleCustomerId?: string | undefined, facebookAccountId?: string | undefined, channel?: ('FACEBOOK' | 'INSTAGRAM' | 'GOOGLE_ADWORDS' | 'GOOGLE_DISPLAY_NETWORK' | 'GOOGLE_ANALYTICS' | 'YOUTUBE' | 'XING' | 'LINKED_IN' | 'TWITTER' | 'GOOGLE_MY_BUSINESS' | 'TIKTOK' | 'BITLY' | 'THREADS' | 'BLUESKY' | 'WHATSAPP' | 'PINTEREST' | 'CANVA' | 'HUBSPOT' | 'SALESFORCE' | 'BREVO' | 'SISTRIX' | 'NEWS' | 'BEEKEEPER' | 'TEADS' | 'MASTODON' | 'SNAPCHAT' | 'PIXXIO' | 'YEXT' | 'CANTO' | 'WEBSITE' | 'PLAUSIBLE' | 'MATOMO') | undefined, name?: string | undefined, status?: ('OPEN' | 'NOT_ENOUGH_USERS' | 'CLOSED') | undefined, userId?: string | undefined, googleRetargetingListId?: string | undefined, facebookCustomAudienceId?: string | undefined, linkedInAudienceId?: string | undefined, twitterAudienceId?: string | undefined, tikTokAudienceId?: string | undefined, pinterestAudienceId?: string | undefined, urlPath?: string | undefined, engagementSource?: ('FACEBOOK' | 'INSTAGRAM' | 'GOOGLE_ADWORDS' | 'GOOGLE_DISPLAY_NETWORK' | 'GOOGLE_ANALYTICS' | 'YOUTUBE' | 'XING' | 'LINKED_IN' | 'TWITTER' | 'GOOGLE_MY_BUSINESS' | 'TIKTOK' | 'BITLY' | 'THREADS' | 'BLUESKY' | 'WHATSAPP' | 'PINTEREST' | 'CANVA' | 'HUBSPOT' | 'SALESFORCE' | 'BREVO' | 'SISTRIX' | 'NEWS' | 'BEEKEEPER' | 'TEADS' | 'MASTODON' | 'SNAPCHAT' | 'PIXXIO' | 'YEXT' | 'CANTO' | 'WEBSITE' | 'PLAUSIBLE' | 'MATOMO') | undefined, engagementType?: ('ENGAGED' | 'FOLLOWER') | undefined, description?: string | undefined, audienceSize?: number | undefined, retentionDays?: number | undefined}; export type PromotionGoogleUserList = {retargetingList?: RetargetingList | undefined, bidModifier?: number | undefined, bidModifierType?: ('INCREASE' | 'DECREASE') | undefined}; export type PromotionFacebookCustomAudience = {retargetingList?: RetargetingList | undefined}; export type PromotionLinkedInMatchedAudience = {retargetingList?: RetargetingList | undefined}; export type PromotionTwitterMatchedAudience = {retargetingList?: RetargetingList | undefined}; export type PromotionTikTokAudience = {retargetingList?: RetargetingList | undefined}; export type PromotionPinterestAudience = {retargetingList?: RetargetingList | undefined}; export type Retargeting = {googleUserLists?: Array | undefined, facebookCustomAudiences?: Array | undefined, linkedInMatchedAudiences?: Array | undefined, twitterCustomAudiences?: Array | undefined, tikTokAudiences?: Array | undefined, pinterestAudiences?: Array | undefined}; export type GoogleAdGroupExclusion = {googleKeywords?: Array | undefined, retargeting?: Retargeting | undefined}; export type Devices = {showOnMobile?: boolean | undefined, showOnTablet?: boolean | undefined, showOnDesktop?: boolean | undefined, mobileBidModifier?: number | undefined, mobileBidModifierType?: ('INCREASE' | 'DECREASE') | undefined, tabletBidModifier?: number | undefined, tabletBidModifierType?: ('INCREASE' | 'DECREASE') | undefined, desktopBidModifier?: number | undefined, desktopBidModifierType?: ('INCREASE' | 'DECREASE') | undefined}; export type SitelinkExtension = {feedId?: number | undefined, feedItemId?: number | undefined, assetId?: number | undefined, adwordsCustomerId?: string | undefined, extensionStatus?: ('ACCOUNT' | 'CAMPAIGN' | 'ADGROUP' | 'NONE') | undefined, extensionRunStatus?: ('ADDED_CAMPAIGN' | 'ADDED_ADGROUP' | 'ADDED_ACCOUNT' | 'IS_CAMPAIGN_LINKED' | 'IS_ADGROUP_LINKED' | 'UNLINKING' | 'UNLINKED') | undefined, sitelinkName?: string | undefined, sitelinkUrl?: string | undefined, sitelinkDescription1?: string | undefined, sitelinkDescription2?: string | undefined, finalUrls?: Array | undefined, finalMobileUrls?: Array | undefined, sitelinkTrackingUrl?: string | undefined}; export type CalloutExtension = {feedId?: number | undefined, feedItemId?: number | undefined, assetId?: number | undefined, adwordsCustomerId?: string | undefined, extensionStatus?: ('ACCOUNT' | 'CAMPAIGN' | 'ADGROUP' | 'NONE') | undefined, extensionRunStatus?: ('ADDED_CAMPAIGN' | 'ADDED_ADGROUP' | 'ADDED_ACCOUNT' | 'IS_CAMPAIGN_LINKED' | 'IS_ADGROUP_LINKED' | 'UNLINKING' | 'UNLINKED') | undefined, calloutText?: string | undefined}; export type CallExtension = {feedId?: number | undefined, feedItemId?: number | undefined, assetId?: number | undefined, adwordsCustomerId?: string | undefined, extensionStatus?: ('ACCOUNT' | 'CAMPAIGN' | 'ADGROUP' | 'NONE') | undefined, extensionRunStatus?: ('ADDED_CAMPAIGN' | 'ADDED_ADGROUP' | 'ADDED_ACCOUNT' | 'IS_CAMPAIGN_LINKED' | 'IS_ADGROUP_LINKED' | 'UNLINKING' | 'UNLINKED') | undefined, phoneNumber?: string | undefined, country?: string | undefined}; export type Extension = {sitelinkExtensions?: Array | undefined, calloutExtensions?: Array | undefined, callExtensions?: Array | undefined}; export type GoogleAdGroup = {id?: string | undefined, name?: string | undefined, type?: ('STANDARD' | 'DYNAMIC') | undefined, googleKeywords?: Array | undefined, status?: ('IS_RUNNING' | 'STOP' | 'IN_REVIEW' | 'REMOVED' | 'COMPLETED' | 'DISAPPROVED' | 'IS_STOPPING') | undefined, bid?: number | undefined, targetCpa?: number | undefined, targetReturnOnAdSpendPercentage?: number | undefined, trackingUrlTemplate?: string | undefined, customParameters?: Array | undefined, adGroupExclusion?: GoogleAdGroupExclusion | undefined, retargeting?: Retargeting | undefined, devices?: Devices | undefined, extension?: Extension | undefined, adRotationMode?: ('OPTIMIZE' | 'CONVERSION_OPTIMIZE' | 'ROTATE' | 'ROTATE_INDEFINITELY') | undefined, createdFromTargetingTemplateId?: string | undefined}; export type TwitterTargetingCriteria = {type?: ('KEYWORD' | 'FOLLOWER_LOOKALIKE') | undefined, value?: string | undefined, twitterId?: string | undefined}; export type TikTokTargetingCriteria = {id?: string | undefined, name?: string | undefined, type?: ('INTEREST_CATEGORY' | 'INTEREST_KEYWORD' | 'ACTION_CATEGORY_VIDEO' | 'ACTION_CATEGORY_CREATOR' | 'HASHTAG') | undefined, children?: Array | undefined}; export type SelectedItem = {id?: string | undefined, name?: string | undefined}; export type Keyword = {value?: string | undefined, matchType?: ('BROAD' | 'PHRASE' | 'EXACT') | undefined}; export type PinterestTargetingCriteria = {pinterestInterests?: Array | undefined, pinterestKeywords?: Array | undefined}; export type FacebookInterest = {id?: string | undefined, type?: string | undefined, name?: string | undefined, audience_size?: number | undefined, children?: Array | undefined, path?: Array | undefined}; export type FacebookInterestGroup = {facebookInterests?: Array | undefined}; export type FacebookAdGroup = {id?: string | undefined, name?: string | undefined, facebookInterests?: Array | undefined, status?: ('IS_RUNNING' | 'STOP' | 'IN_REVIEW' | 'REMOVED' | 'COMPLETED' | 'DISAPPROVED' | 'IS_STOPPING') | undefined, bid?: number | undefined, retargeting?: Retargeting | undefined, devices?: Devices | undefined}; export type TargetRegion = {type?: ('CITY' | 'REGION' | 'ZIP' | 'COORDINATE') | undefined, city?: string | undefined, useRadius?: boolean | undefined, radiusInKm?: number | undefined, countryCode?: string | undefined, lat?: number | undefined, lon?: number | undefined, bidModifier?: number | undefined, bidModifierType?: ('INCREASE' | 'DECREASE') | undefined, linkedInUrn?: string | undefined, twitterTargetingValue?: string | undefined, tikTokLocationId?: string | undefined, channel?: ('FACEBOOK' | 'INSTAGRAM' | 'GOOGLE_ADWORDS' | 'GOOGLE_DISPLAY_NETWORK' | 'GOOGLE_ANALYTICS' | 'YOUTUBE' | 'XING' | 'LINKED_IN' | 'TWITTER' | 'GOOGLE_MY_BUSINESS' | 'TIKTOK' | 'BITLY' | 'THREADS' | 'BLUESKY' | 'WHATSAPP' | 'PINTEREST' | 'CANVA' | 'HUBSPOT' | 'SALESFORCE' | 'BREVO' | 'SISTRIX' | 'NEWS' | 'BEEKEEPER' | 'TEADS' | 'MASTODON' | 'SNAPCHAT' | 'PIXXIO' | 'YEXT' | 'CANTO' | 'WEBSITE' | 'PLAUSIBLE' | 'MATOMO') | undefined, externalPlaceId?: string | undefined, regionReviewEnabled?: boolean | undefined, regionReviewStatus?: ('PENDING_APPROVAL' | 'APPROVED' | 'NOT_APPROVED') | undefined, types?: Array | undefined}; export type TargetRegionBehaviour = {interestedInThatRegion?: boolean | undefined, locatedInThatRegion?: boolean | undefined}; export type Age = {value?: Array | undefined}; export type YearsOfExperience = {enabled?: boolean | undefined, value?: Array | undefined}; export type TargetExclusion = {facebookInterests?: Array | undefined, linkedInTargetingCriterias?: Array | undefined, googleKeywords?: Array | undefined, targetRegions?: Array | undefined, retargeting?: Retargeting | undefined, linkedInTargetingEntityLinkOperator?: ('AND' | 'OR') | undefined, twitterTargetingCriterias?: Array | undefined}; export type GoogleMerchantAccount = {merchantAccountId?: string | undefined, name?: string | undefined}; export type ProductScope = {productDimension?: ('BRAND' | 'PRODUCT_NR' | 'STATE' | 'PRODUCT_TYPE' | 'CUSTOM_LABEL_0' | 'CUSTOM_LABEL_1' | 'CUSTOM_LABEL_2' | 'CUSTOM_LABEL_3' | 'CUSTOM_LABEL_4' | 'CHANNEL' | 'CHANNEL_EXCLUSIVE') | undefined, value?: string | undefined}; export type FacebookProductCatalog = {id?: string | undefined, name?: string | undefined, nbrOfProducts?: number | undefined, nbrOfQualifiedProducts?: number | undefined}; export type FacebookProductSet = {id?: string | undefined, name?: string | undefined, nbrOfProducts?: number | undefined}; export type ShoppingSettings = {googleMerchantAccount?: GoogleMerchantAccount | undefined, salesCountry?: string | undefined, enableLocal?: boolean | undefined, googleShoppingCampaignType?: ('CLASSIC' | 'SMART') | undefined, productScopeType?: ('NONE' | 'FILTER') | undefined, productScopes?: Array | undefined, facebookProductCatalog?: FacebookProductCatalog | undefined, facebookDynamicAdsTargetingType?: ('RETARGETING' | 'BROAD') | undefined, facebookProductSet?: FacebookProductSet | undefined, facebookRetargetingIncludedRetentionDays?: number | undefined, facebookRetargetingExcludedRetentionDays?: number | undefined}; export type DynamicSearchSettings = {domainName?: string | undefined, languageCode?: string | undefined}; export type FrequencyControlSpec = {intervalInDays?: number | undefined, maxFrequency?: number | undefined}; export type FrequencyControlLinkedInSpec = {durationInDays?: number | undefined, frequency?: number | undefined}; export type Target = {id?: string | undefined, name?: string | undefined, namingTemplateElementValues?: Array | undefined, gender?: ('ALL' | 'MALE' | 'FEMALE') | undefined, language?: ('ALL' | 'DE' | 'FR' | 'EN' | 'IT' | 'ES' | 'PT' | 'NL' | 'SV' | 'RO' | 'CS' | 'EL' | 'TR' | 'PL' | 'DA' | 'EU' | 'CY' | 'CA' | 'HU' | 'SK' | 'SL' | 'SQ' | 'HY' | 'BS' | 'BG' | 'HR' | 'UK' | 'NO' | 'FI') | undefined, additionalLanguages?: (Array<'ALL' | 'DE' | 'FR' | 'EN' | 'IT' | 'ES' | 'PT' | 'NL' | 'SV' | 'RO' | 'CS' | 'EL' | 'TR' | 'PL' | 'DA' | 'EU' | 'CY' | 'CA' | 'HU' | 'SK' | 'SL' | 'SQ' | 'HY' | 'BS' | 'BG' | 'HR' | 'UK' | 'NO' | 'FI'>) | undefined, linkedInTargetingEntityLinkOperator?: ('AND' | 'OR') | undefined, linkedInTargetingCriterias?: Array | undefined, linkedInTargetingCriteriaGroups?: Array | undefined, googleAdGroups?: Array | undefined, twitterTargetingCriterias?: Array | undefined, tikTokTargetingCriterias?: Array | undefined, pinterestTargetingCriterias?: Array | undefined, pinterestPerformancePlusEnabled?: boolean | undefined, pinterestPerformancePlusMinimumAge?: number | undefined, facebookInterestGroups?: Array | undefined, facebookInterests?: Array | undefined, facebookAdGroups?: Array | undefined, targetRegions?: Array | undefined, targetRegionBehaviour?: TargetRegionBehaviour | undefined, age?: Age | undefined, yearsOfExperience?: YearsOfExperience | undefined, devices?: Devices | undefined, targetExclusion?: TargetExclusion | undefined, retargeting?: Retargeting | undefined, shoppingSettings?: ShoppingSettings | undefined, dynamicSearchSettings?: DynamicSearchSettings | undefined, extension?: Extension | undefined, status?: ('IS_RUNNING' | 'STOP' | 'IN_REVIEW' | 'REMOVED' | 'COMPLETED' | 'DISAPPROVED' | 'IS_STOPPING') | undefined, createdFromTargetingTemplateId?: string | undefined, facebookSpecialAdCategory?: ('CREDIT' | 'EMPLOYMENT' | 'HOUSING' | 'ISSUES_ELECTIONS_POLITICS' | 'ONLINE_GAMBLING_AND_GAMING' | 'NONE') | undefined, facebookSpecialAdCategoryCountry?: string | undefined, facebookSpecialAdCategoryCountries?: Array | undefined, politicalIntent?: ('NOT_POLITICAL' | 'POLITICAL') | undefined, frequencyControl?: ('AUTOMATIC' | 'FREQUENCY_LIMIT' | 'MAX_FREQUENCY') | undefined, frequencyControlSpec?: FrequencyControlSpec | undefined, frequencyControlLinkedIn?: ('AUTOMATIC' | 'FREQUENCY_LIMIT' | 'MAX_FREQUENCY') | undefined, frequencyControlLinkedInSpec?: FrequencyControlLinkedInSpec | undefined, enableAdvantagePlusTargeting?: boolean | undefined}; export type MetaBudgetSplit = {facebookBudget?: number | undefined, instagramBudget?: number | undefined, storyBudget?: number | undefined, reelsBudget?: number | undefined}; export type TargetBudget = {targetId?: string | undefined, budget?: number | undefined, linkedInDailyBudget?: number | undefined, metaBudgetSplit?: MetaBudgetSplit | undefined}; export type BudgetChannel = {channel?: ('FACEBOOK' | 'INSTAGRAM' | 'GOOGLE_ADWORDS' | 'GOOGLE_DISPLAY_NETWORK' | 'GOOGLE_ANALYTICS' | 'YOUTUBE' | 'XING' | 'LINKED_IN' | 'TWITTER' | 'GOOGLE_MY_BUSINESS' | 'TIKTOK' | 'BITLY' | 'THREADS' | 'BLUESKY' | 'WHATSAPP' | 'PINTEREST' | 'CANVA' | 'HUBSPOT' | 'SALESFORCE' | 'BREVO' | 'SISTRIX' | 'NEWS' | 'BEEKEEPER' | 'TEADS' | 'MASTODON' | 'SNAPCHAT' | 'PIXXIO' | 'YEXT' | 'CANTO' | 'WEBSITE' | 'PLAUSIBLE' | 'MATOMO') | undefined, placement?: ('GOOGLE_SEARCH_NETWORK' | 'FACEBOOK_TIMELINE' | 'GOOGLE_DISPLAY_NETWORK' | 'FACEBOOK_AUDIENCE_NETWORK' | 'YOUTUBE' | 'INSTAGRAM_TIMELINE' | 'GOOGLE_SHOPPING' | 'FACEBOOK_MESSENGER' | 'LINKEDIN_CONTENT' | 'LINKEDIN_TEXT' | 'LINKEDIN_INMAIL' | 'LINKEDIN_DYNAMIC' | 'FACEBOOK_STORIES' | 'FACEBOOK_INSTANT_ARTICLES' | 'FACEBOOK_RIGHT_HAND_COLUMN' | 'FACEBOOK_MARKETPLACE' | 'INSTAGRAM_STORIES' | 'FACEBOOK_MESSENGER_STORIES' | 'FACEBOOK_SEARCH' | 'FACEBOOK_INSTREAM_VIDEO' | 'FACEBOOK_REELS' | 'INSTAGRAM_EXPLORE_HOME' | 'INSTAGRAM_PROFILE_FEED' | 'INSTAGRAM_PROFILE_REELS' | 'LINKEDIN_AUDIENCE_NETWORK' | 'TWITTER_ALL' | 'TWITTER_PUBLISHER_NETWORK' | 'TWITTER_SEARCH' | 'TWITTER_TIMELINE' | 'TWITTER_PROFILE' | 'GOOGLE_MY_BUSINESS' | 'FACEBOOK_UNKNOWN' | 'FACEBOOK_VIDEO_FEED' | 'INSTAGRAM_REELS' | 'INSTAGRAM_SHOP' | 'INSTAGRAM_EXPLORE' | 'TIKTOK_FEED' | 'META_AUTOMATIC' | 'THREADS_FEED' | 'BLUESKY_FEED' | 'PINTEREST_FEED') | undefined, selected?: boolean | undefined, totalCost?: number | undefined, bid?: number | undefined, maxBid?: number | undefined, costType?: ('CPC' | 'CPM' | 'CPS') | undefined, bidType?: ('AUTOMATIC' | 'MANUAL') | undefined, linkedInBiddingOptimization?: ('MAXIMIZE_CLICKS' | 'MAXIMIZE_IMPRESSIONS' | 'MAXIMIZE_CONVERSIONS' | 'MAXIMIZE_LEADS') | undefined, linkedInDailyBudget?: number | undefined, facebookBudgetOptimization?: ('CAMPAIGN_BUDGET_OPTIMIZATION' | 'ADSET_BUDGET_OPTIMIZATION') | undefined, facebookTrafficOptimization?: ('LINK_CLICKS' | 'LANDING_PAGE_VIEWS') | undefined, twitterBudgetOptimization?: ('CAMPAIGN_BUDGET_OPTIMIZATION' | 'AD_GROUP_BUDGET_OPTIMIZATION') | undefined, tikTokBudgetOptimization?: ('CAMPAIGN_BUDGET_OPTIMIZATION' | 'AD_GROUP_BUDGET_OPTIMIZATION') | undefined, targetBudgets?: Array | undefined}; export type GetSuggestedBidRequest = {promotionId?: string | undefined, target?: Target | undefined, targetingTemplateId?: string | undefined, budgetChannel?: BudgetChannel | undefined, lifetimeBudget?: number | undefined, nbrOfDays?: number | undefined, currency?: string | undefined, costType?: ('CPC' | 'CPM' | 'CPS') | undefined}; export type CreateApiV1PromotionsLinkedinSuggestedBidsArgs = {body: GetSuggestedBidRequest}; export type CreateApiV1PromotionsLinkedinSuggestedBidsOptions = {baseUrl: string, fetch?: typeof fetch | undefined}; /** * POST /v1/promotions/linkedin/suggestedBids */ export const createApiV1PromotionsLinkedinSuggestedBids = async (args: CreateApiV1PromotionsLinkedinSuggestedBidsArgs, options: CreateApiV1PromotionsLinkedinSuggestedBidsOptions) => { const {baseUrl, fetch: fetchFn = fetch} = options ?? {} const query = new URLSearchParams() const headers = new Headers() headers.set('content-type', "application/json") headers.set('accept', "application/json") const url = `${baseUrl.replace(/\/+$/, '')}/v1/promotions/linkedin/suggestedBids${query.size > 0 ? `?${query}` : ''}` const res = await fetchFn(url, {method: "POST", 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 (await res.json()) as unknown };