yandex-direct-mcp-plus 1.4.0 → 1.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/README.md +8 -6
  2. package/dist/app/registry.js +4 -2
  3. package/dist/shared/config/api-fields.d.ts +161 -0
  4. package/dist/shared/config/api-fields.js +682 -0
  5. package/dist/shared/config/enums.d.ts +3 -3
  6. package/dist/shared/config/enums.js +7 -3
  7. package/dist/shared/config/limits.d.ts +1 -0
  8. package/dist/shared/config/limits.js +2 -0
  9. package/dist/shared/lib/fields.d.ts +2 -0
  10. package/dist/shared/lib/fields.js +20 -0
  11. package/dist/shared/lib/format.js +44 -9
  12. package/dist/shared/lib/id.d.ts +1 -0
  13. package/dist/shared/lib/id.js +14 -0
  14. package/dist/tools/ad-extensions/handler.js +12 -2
  15. package/dist/tools/ad-groups/handler.js +8 -1
  16. package/dist/tools/ad-groups/schema.js +6 -3
  17. package/dist/tools/ad-images/handler.js +2 -1
  18. package/dist/tools/ads/handler.js +40 -3
  19. package/dist/tools/ads/tool.js +7 -1
  20. package/dist/tools/audience-targets/handler.js +2 -10
  21. package/dist/tools/bid-adjustments/handler.js +18 -15
  22. package/dist/tools/businesses/handler.js +2 -13
  23. package/dist/tools/campaigns/handler.d.ts +3 -1
  24. package/dist/tools/campaigns/handler.js +117 -12
  25. package/dist/tools/campaigns/priority-goals.d.ts +7 -0
  26. package/dist/tools/campaigns/priority-goals.js +24 -0
  27. package/dist/tools/campaigns/schema.d.ts +13 -2
  28. package/dist/tools/campaigns/schema.js +46 -6
  29. package/dist/tools/campaigns/tool.d.ts +1 -0
  30. package/dist/tools/campaigns/tool.js +28 -5
  31. package/dist/tools/dictionaries/handler.js +2 -1
  32. package/dist/tools/dynamic-targets/handler.js +2 -13
  33. package/dist/tools/feeds/handler.js +5 -2
  34. package/dist/tools/keywords/handler.d.ts +2 -1
  35. package/dist/tools/keywords/handler.js +34 -5
  36. package/dist/tools/keywords/schema.d.ts +10 -0
  37. package/dist/tools/keywords/schema.js +29 -0
  38. package/dist/tools/keywords/tool.d.ts +1 -0
  39. package/dist/tools/keywords/tool.js +19 -4
  40. package/dist/tools/negative-keywords/handler.js +4 -1
  41. package/dist/tools/retargeting/handler.js +2 -10
  42. package/dist/tools/sitelinks/handler.js +7 -2
  43. package/dist/tools/vcards/handler.js +2 -0
  44. package/package.json +4 -1
package/README.md CHANGED
@@ -6,7 +6,7 @@
6
6
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
7
7
  [![Node](https://img.shields.io/badge/node-%3E%3D22-green.svg)](https://nodejs.org)
8
8
 
9
- - **58 инструментов**, из них 24 только читают. Кампании и стратегии, группы, объявления и модерация, ключевые фразы и ставки, минус-фразы и общие наборы, быстрые ссылки, уточнения, изображения, визитки, корректировки ставок, ретаргетинг, аудиторные и динамические цели, фиды, расписание показов, статистика, поисковые запросы, баланс и справочники.
9
+ - **60 инструментов**, из них 25 только читают. Кампании и стратегии, группы, объявления и модерация, ключевые фразы и ставки, минус-фразы и общие наборы, быстрые ссылки, уточнения, изображения, визитки, корректировки ставок, ретаргетинг, аудиторные и динамические цели, фиды, расписание показов, статистика, поисковые запросы, баланс и справочники.
10
10
  - **Деньги — в рублях**, на вводе и на выводе; в микроединицы API сервер переводит сам. Поддержан агентский режим (`Client-Login`).
11
11
  - **ID — строками** (`"1915016273214320641"`): 64-битные идентификаторы Директа не помещаются в число JavaScript и молча теряют точность. Здесь это стережёт правило линтера, а не внимательность.
12
12
  - **Реклама боевая.** Тестовой среды у Директа больше нет — какие инструменты тратят деньги и что удаляют необратимо, перечислено в разделе [Что меняет данные](#что-меняет-данные).
@@ -18,7 +18,7 @@
18
18
  - [Установка](#установка) — Claude Code, Claude Desktop, Cursor, из исходников
19
19
  - [Токен](#токен) — как получить и какие переменные окружения нужны
20
20
  - [Что меняет данные](#что-меняет-данные) — что тратит бюджет и что необратимо
21
- - [Инструменты](#инструменты-58) — полный список с описаниями
21
+ - [Инструменты](#инструменты-60) — полный список с описаниями
22
22
  - [Разработка](#разработка) — сборка, тесты, архитектура
23
23
 
24
24
  ## Что можно делать
@@ -35,7 +35,7 @@
35
35
  Найди код региона для Новосибирска
36
36
  ```
37
37
 
38
- Полный список — [58 инструментов](#инструменты-58) ниже.
38
+ Полный список — [60 инструментов](#инструменты-60) ниже.
39
39
 
40
40
  ## Установка
41
41
 
@@ -89,7 +89,7 @@ OAuth-токен выпускается для приложения, зарег
89
89
 
90
90
  Граница проходит не по «чтение или запись», а по скорости, с которой действие превращается в деньги.
91
91
 
92
- **24 инструмента только читают** — все `list_*`, `get_*` и справочники. Вызвать их безопасно всегда.
92
+ **25 инструментов только читают** — все `list_*`, `get_*` и справочники. Вызвать их безопасно всегда.
93
93
 
94
94
  **Тратят бюджет или запускают показы** — восемь:
95
95
 
@@ -108,11 +108,11 @@ OAuth-токен выпускается для приложения, зарег
108
108
 
109
109
  `manage_campaigns` (`delete`), `manage_ads` (`delete`), `manage_keywords` (`delete`), `delete_ad_groups`, `delete_ad_extensions`, `delete_sitelinks`, `delete_vcards`, `delete_bid_adjustments`, `delete_retargeting_lists`, `manage_ad_images` (`delete`), `manage_dynamic_targets` (`delete`), `set_audience_targets` (`delete`), `manage_negative_keyword_shared_sets` (`delete`).
110
110
 
111
- Сюда же — `set_campaign_negative_keywords` и `set_ad_group_negative_keywords` в режиме `replace`: он затирает прежний список минус-фраз целиком. Именно поэтому у них нет режима по умолчанию — `mode` приходится назвать явно.
111
+ Сюда же — `set_campaign_negative_keywords` и `set_ad_group_negative_keywords` в режиме `replace`: он затирает прежний список минус-фраз целиком. Именно поэтому у них нет режима по умолчанию — `mode` приходится назвать явно. Так же устроен `set_priority_goals`: `replace` и `remove` убирают цели стратегии, а любая смена целей перезапускает её обучение.
112
112
 
113
113
  Остальные инструменты создают и правят объекты. Пока кампания не прошла модерацию и не включена, показов по ней нет и бюджет не расходуется.
114
114
 
115
- ## Инструменты (58)
115
+ ## Инструменты (60)
116
116
 
117
117
  **Кампании**
118
118
 
@@ -125,6 +125,7 @@ OAuth-токен выпускается для приложения, зарег
125
125
  | `manage_campaigns` | suspend/resume/archive/unarchive/delete для списка кампаний |
126
126
  | `get_strategy` | Получить стратегию текстово-графической кампании |
127
127
  | `set_strategy` | Сменить стратегию: ручная, максимум кликов, средняя цена клика/конверсии, оплата за конверсию |
128
+ | `set_priority_goals` | Цели стратегии и их ценность в рублях: добавить, убрать или заменить список |
128
129
  | `get_time_targeting` | Расписание показов: часовой пояс, часы по дням недели, праздники |
129
130
  | `set_time_targeting` | Задать расписание показов и почасовые коэффициенты (заменяет целиком) |
130
131
 
@@ -155,6 +156,7 @@ OAuth-токен выпускается для приложения, зарег
155
156
  | `add_keywords` | Добавить ключевые фразы |
156
157
  | `update_keywords` | Изменить текст фразы и подстановочные переменные `{param1}`/`{param2}` |
157
158
  | `set_keyword_bids` | Установить ставки (поиск/сети, рубли) на фразах/группах/кампаниях |
159
+ | `get_keyword_auction` | Аукцион по фразам: ставки и списываемые цены по позициям, ставки конкурентов, цена входа (рубли) |
158
160
  | `manage_keywords` | suspend/resume/delete |
159
161
  | `set_campaign_negative_keywords` | Минус-фразы кампании: `mode` обязателен — `replace`, `add` или `remove` |
160
162
  | `get_campaign_negative_keywords` | Получить минус-фразы кампаний |
@@ -6,12 +6,12 @@ import { createTextAdTool, listAdsTool, manageAdsTool, moderateAdsTool, updateTe
6
6
  import { listAudienceTargetsTool, setAudienceTargetsTool } from "#tools/audience-targets/tool";
7
7
  import { addBidAdjustmentsTool, deleteBidAdjustmentsTool, getBidAdjustmentsTool, setBidAdjustmentsTool } from "#tools/bid-adjustments/tool";
8
8
  import { listBusinessesTool } from "#tools/businesses/tool";
9
- import { createCampaignTool, getCampaignTool, getStrategyTool, listCampaignsTool, manageCampaignsTool, setStrategyTool, updateCampaignTool } from "#tools/campaigns/tool";
9
+ import { createCampaignTool, getCampaignTool, getStrategyTool, listCampaignsTool, manageCampaignsTool, setPriorityGoalsTool, setStrategyTool, updateCampaignTool } from "#tools/campaigns/tool";
10
10
  import { getChangesTool } from "#tools/changes/tool";
11
11
  import { getRegionsTool, listTimeZonesTool } from "#tools/dictionaries/tool";
12
12
  import { listDynamicTargetsTool, manageDynamicTargetsTool } from "#tools/dynamic-targets/tool";
13
13
  import { listFeedsTool } from "#tools/feeds/tool";
14
- import { addKeywordsTool, listKeywordsTool, manageKeywordsTool, setKeywordBidsTool, updateKeywordsTool } from "#tools/keywords/tool";
14
+ import { addKeywordsTool, getKeywordAuctionTool, listKeywordsTool, manageKeywordsTool, setKeywordBidsTool, updateKeywordsTool } from "#tools/keywords/tool";
15
15
  import { getCampaignNegativeKeywordsTool, linkNegativeKeywordSetsTool, listNegativeKeywordSharedSetsTool, manageNegativeKeywordSharedSetsTool, setAdGroupNegativeKeywordsTool, setCampaignNegativeKeywordsTool } from "#tools/negative-keywords/tool";
16
16
  import { addRetargetingListTool, deleteRetargetingListsTool, listRetargetingListsTool, updateRetargetingListsTool } from "#tools/retargeting/tool";
17
17
  import { getSearchQueriesTool } from "#tools/search-queries/tool";
@@ -28,6 +28,7 @@ export const tools = [
28
28
  manageCampaignsTool,
29
29
  getStrategyTool,
30
30
  setStrategyTool,
31
+ setPriorityGoalsTool,
31
32
  getTimeTargetingTool,
32
33
  setTimeTargetingTool,
33
34
  // Группы объявлений
@@ -46,6 +47,7 @@ export const tools = [
46
47
  updateKeywordsTool,
47
48
  manageKeywordsTool,
48
49
  setKeywordBidsTool,
50
+ getKeywordAuctionTool,
49
51
  // Минус-фразы
50
52
  getCampaignNegativeKeywordsTool,
51
53
  setCampaignNegativeKeywordsTool,
@@ -0,0 +1,161 @@
1
+ export declare const API_FIELDS: {
2
+ readonly adextensions: {
3
+ readonly AdExtensionFieldEnum: readonly ["Associated", "Id", "State", "Status", "StatusClarification", "Type"];
4
+ readonly CalloutFieldEnum: readonly ["CalloutText"];
5
+ };
6
+ readonly adgroups: {
7
+ readonly AdGroupFieldEnum: readonly ["CampaignId", "Id", "Name", "NegativeKeywordSharedSetIds", "NegativeKeywords", "RegionIds", "RestrictedRegionIds", "ServingStatus", "Status", "Subtype", "TrackingParams", "Type"];
8
+ readonly DynamicTextAdGroupFieldEnum: readonly ["AutotargetingCategories", "AutotargetingSettings", "DomainUrl", "DomainUrlProcessingStatus"];
9
+ readonly DynamicTextFeedAdGroupFieldEnum: readonly ["AutotargetingCategories", "AutotargetingSettings", "FeedId", "Source", "SourceProcessingStatus", "SourceType"];
10
+ readonly MobileAppAdGroupFieldEnum: readonly ["AppAvailabilityStatus", "AppIconModeration", "AppOperatingSystemType", "StoreUrl", "TargetCarrier", "TargetDeviceType", "TargetOperatingSystemVersion"];
11
+ readonly SmartAdGroupFieldEnum: readonly ["AdBodySource", "AdTitleSource", "FeedId"];
12
+ readonly TextAdGroupFeedParamsFieldEnum: readonly ["FeedCategoryIds", "FeedId"];
13
+ readonly UnifiedAdGroupFieldEnum: readonly ["OfferRetargeting"];
14
+ };
15
+ readonly adimages: {
16
+ readonly AdImageFieldEnum: readonly ["AdImageHash", "Associated", "Name", "OriginalUrl", "PreviewUrl", "Subtype", "Type"];
17
+ };
18
+ readonly ads: {
19
+ readonly AdFieldEnum: readonly ["AdCategories", "AdGroupId", "AgeLabel", "CampaignId", "Id", "State", "Status", "StatusClarification", "Subtype", "Type"];
20
+ readonly CpcVideoAdBuilderAdFieldEnum: readonly ["AutogeneratedErirAdDescription", "Creative", "ErirAdDescription", "Href", "TurboPageId", "TurboPageModeration"];
21
+ readonly CpmBannerAdBuilderAdFieldEnum: readonly ["AutogeneratedErirAdDescription", "Creative", "ErirAdDescription", "Href", "TrackingPixels", "TurboPageId", "TurboPageModeration"];
22
+ readonly CpmVideoAdBuilderAdFieldEnum: readonly ["AutogeneratedErirAdDescription", "Creative", "ErirAdDescription", "Href", "TrackingPixels", "TurboPageId", "TurboPageModeration"];
23
+ readonly DynamicTextAdFieldEnum: readonly ["AdExtensions", "AdImageHash", "AdImageModeration", "SitelinkSetId", "SitelinksModeration", "Text", "VCardId", "VCardModeration"];
24
+ readonly ListingAdFieldEnum: readonly ["AdExtensions", "BusinessId", "DefaultTexts", "FeedFilterConditions", "FeedId", "FeedProcessingStatus", "SitelinkSetId", "SitelinksModeration", "TextSources", "TitleSources"];
25
+ readonly MobileAppAdBuilderAdFieldEnum: readonly ["AutogeneratedErirAdDescription", "Creative", "ErirAdDescription", "TrackingUrl"];
26
+ readonly MobileAppAdFieldEnum: readonly ["Action", "AdImageHash", "AdImageModeration", "AutogeneratedErirAdDescription", "ErirAdDescription", "Features", "Text", "Title", "TrackingUrl", "VideoExtension"];
27
+ readonly MobileAppCpcVideoAdBuilderAdFieldEnum: readonly ["AutogeneratedErirAdDescription", "Creative", "ErirAdDescription", "TrackingUrl"];
28
+ readonly MobileAppImageAdFieldEnum: readonly ["AdImageHash", "AutogeneratedErirAdDescription", "ErirAdDescription", "TrackingUrl"];
29
+ readonly ResponsiveAdFieldEnum: readonly ["AdExtensions", "AdImages", "BusinessId", "DisplayDomain", "DisplayUrlPath", "DisplayUrlPathModeration", "ErirAdDescription", "Href", "PriceExtension", "SitelinkSetId", "SitelinksModeration", "Texts", "Titles", "VideoExtensions"];
30
+ readonly ShoppingAdFieldEnum: readonly ["AdExtensions", "BusinessId", "DefaultTexts", "FeedFilterConditions", "FeedId", "FeedProcessingStatus", "SitelinkSetId", "SitelinksModeration", "TextSources", "TitleSources"];
31
+ readonly SmartAdBuilderAdFieldEnum: readonly ["Creative"];
32
+ readonly TextAdBuilderAdFieldEnum: readonly ["AutogeneratedErirAdDescription", "Creative", "ErirAdDescription", "FinalUrl", "Href", "TurboPageId", "TurboPageModeration"];
33
+ readonly TextAdFieldEnum: readonly ["AdExtensions", "AdImageHash", "AdImageModeration", "AutogeneratedErirAdDescription", "BusinessId", "DisplayDomain", "DisplayUrlPath", "DisplayUrlPathModeration", "ErirAdDescription", "FinalUrl", "Href", "Mobile", "PreferVCardOverBusiness", "SitelinkSetId", "SitelinksModeration", "Text", "Title", "Title2", "TurboPageId", "TurboPageModeration", "VCardId", "VCardModeration", "VideoExtension"];
34
+ readonly TextAdPriceExtensionFieldEnum: readonly ["OldPrice", "Price", "PriceCurrency", "PriceQualifier"];
35
+ readonly TextImageAdFieldEnum: readonly ["AdImageHash", "AutogeneratedErirAdDescription", "ErirAdDescription", "FinalUrl", "Href", "TurboPageId", "TurboPageModeration"];
36
+ };
37
+ readonly agencyclients: {
38
+ readonly AgencyClientFieldEnum: readonly ["AccountQuality", "Archived", "AvailableAdGroupTypes", "AvailableCampaignTypes", "Bonuses", "ClientId", "ClientInfo", "CountryId", "CreatedAt", "Currency", "ForbiddenPlatform", "Grants", "Login", "Notification", "OverdraftSumAvailable", "Phone", "Representatives", "Restrictions", "Settings", "Type", "VatRate"];
39
+ };
40
+ readonly audiencetargets: {
41
+ readonly AudienceTargetFieldEnum: readonly ["AdGroupId", "CampaignId", "ContextBid", "Id", "InterestId", "RetargetingListId", "State", "StrategyPriority"];
42
+ };
43
+ readonly bidmodifiers: {
44
+ readonly AdGroupAdjustmentFieldEnum: readonly ["BidModifier"];
45
+ readonly BidModifierFieldEnum: readonly ["AdGroupId", "CampaignId", "Id", "Level", "Type"];
46
+ readonly DemographicsAdjustmentFieldEnum: readonly ["Age", "BidModifier", "Enabled", "Gender"];
47
+ readonly DesktopAdjustmentFieldEnum: readonly ["BidModifier"];
48
+ readonly DesktopOnlyAdjustmentFieldEnum: readonly ["BidModifier"];
49
+ readonly IncomeGradeAdjustmentFieldEnum: readonly ["BidModifier", "Enabled", "Grade"];
50
+ readonly MobileAdjustmentFieldEnum: readonly ["BidModifier", "OperatingSystemType"];
51
+ readonly RegionalAdjustmentFieldEnum: readonly ["BidModifier", "Enabled", "RegionId"];
52
+ readonly RetargetingAdjustmentFieldEnum: readonly ["Accessible", "BidModifier", "Enabled", "RetargetingConditionId"];
53
+ readonly SerpLayoutAdjustmentFieldEnum: readonly ["BidModifier", "Enabled", "SerpLayout"];
54
+ readonly SmartAdAdjustmentFieldEnum: readonly ["BidModifier"];
55
+ readonly SmartTvAdjustmentFieldEnum: readonly ["BidModifier"];
56
+ readonly TabletAdjustmentFieldEnum: readonly ["BidModifier", "OperatingSystemType"];
57
+ readonly VideoAdjustmentFieldEnum: readonly ["BidModifier"];
58
+ };
59
+ readonly bids: {
60
+ readonly BidFieldEnum: readonly ["AdGroupId", "AuctionBids", "AutotargetingSearchBidIsAuto", "Bid", "CampaignId", "CompetitorsBids", "ContextBid", "ContextCoverage", "CurrentSearchPrice", "KeywordId", "MinSearchPrice", "SearchPrices", "ServingStatus", "StrategyPriority"];
61
+ };
62
+ readonly businesses: {
63
+ readonly BusinessFieldEnum: readonly ["Address", "HasOffice", "Id", "InternalUrl", "IsPublished", "MergedIds", "Name", "Phone", "ProfileUrl", "Rubric", "Urls"];
64
+ };
65
+ readonly campaigns: {
66
+ readonly CampaignFieldEnum: readonly ["BlockedIps", "ClientInfo", "Currency", "DailyBudget", "EndDate", "ExcludedSites", "Funds", "Id", "Name", "NegativeKeywords", "Notification", "RepresentedBy", "SourceId", "StartDate", "State", "Statistics", "Status", "StatusClarification", "StatusPayment", "TimeTargeting", "TimeZone", "Type"];
67
+ readonly CpmBannerCampaignFieldEnum: readonly ["BiddingStrategy", "CounterIds", "FrequencyCap", "Settings", "VideoTarget"];
68
+ readonly DynamicTextCampaignFieldEnum: readonly ["AttributionModel", "BiddingStrategy", "CanBeUsedAsPackageBiddingStrategySource", "CounterIds", "NegativeKeywordSharedSetIds", "PackageBiddingStrategy", "PlacementTypes", "PriorityGoals", "Settings", "TrackingParams"];
69
+ readonly DynamicTextCampaignSearchStrategyPlacementTypesFieldEnum: readonly ["DynamicPlaces", "ProductGallery", "SearchResults"];
70
+ readonly MobileAppCampaignFieldEnum: readonly ["BiddingStrategy", "CanBeUsedAsPackageBiddingStrategySource", "NegativeKeywordSharedSetIds", "PackageBiddingStrategy", "Settings", "WeeklyBudgetRollover"];
71
+ readonly SmartCampaignFieldEnum: readonly ["AttributionModel", "BiddingStrategy", "CanBeUsedAsPackageBiddingStrategySource", "CounterId", "PackageBiddingStrategy", "PriorityGoals", "Settings", "TrackingParams"];
72
+ readonly TextCampaignFieldEnum: readonly ["AttributionModel", "BiddingStrategy", "CanBeUsedAsPackageBiddingStrategySource", "CounterIds", "NegativeKeywordSharedSetIds", "PackageBiddingStrategy", "PriorityGoals", "RelevantKeywords", "Settings", "TrackingParams", "WeeklyBudgetRollover"];
73
+ readonly TextCampaignSearchStrategyPlacementTypesFieldEnum: readonly ["DynamicPlaces", "ProductGallery", "SearchResults"];
74
+ readonly UnifiedCampaignFieldEnum: readonly ["AttributionModel", "BiddingStrategy", "CanBeUsedAsPackageBiddingStrategySource", "CounterIds", "NegativeKeywordSharedSetIds", "PackageBiddingStrategy", "PriorityGoals", "Settings", "TrackingParams", "WeeklyBudgetRollover"];
75
+ readonly UnifiedCampaignPackageBiddingStrategyPlatformsFieldEnum: readonly ["DynamicPlaces", "Maps", "Network", "ProductGallery", "SearchOrganizationList", "SearchResult"];
76
+ readonly UnifiedCampaignSearchStrategyPlacementTypesFieldEnum: readonly ["DynamicPlaces", "Maps", "ProductGallery", "SearchOrganizationList", "SearchResults"];
77
+ };
78
+ readonly changes: {
79
+ readonly CheckFieldEnum: readonly ["AdGroupIds", "AdIds", "CampaignIds", "CampaignsStat"];
80
+ };
81
+ readonly clients: {
82
+ readonly ClientFieldEnum: readonly ["AccountQuality", "Archived", "AvailableAdGroupTypes", "AvailableCampaignTypes", "Bonuses", "ClientId", "ClientInfo", "CountryId", "CreatedAt", "Currency", "ForbiddenPlatform", "Grants", "Login", "Notification", "OverdraftSumAvailable", "Phone", "Representatives", "Restrictions", "Settings", "Type", "VatRate"];
83
+ };
84
+ readonly creatives: {
85
+ readonly CpcVideoCreativeFieldEnum: readonly ["Duration"];
86
+ readonly CpmVideoCreativeFieldEnum: readonly ["Duration"];
87
+ readonly CreativeFieldEnum: readonly ["Associated", "Height", "Id", "IsAdaptive", "Name", "PreviewUrl", "ThumbnailUrl", "Type", "Width"];
88
+ readonly SmartCreativeFieldEnum: readonly ["BusinessType", "CreativeGroupId", "CreativeGroupName"];
89
+ readonly VideoExtensionCreativeFieldEnum: readonly ["Duration"];
90
+ };
91
+ readonly dictionaries: {
92
+ readonly GeoRegionFieldEnum: readonly ["GeoRegionId", "GeoRegionName", "ParentGeoRegionNames"];
93
+ };
94
+ readonly dynamictextadtargets: {
95
+ readonly WebpageFieldEnum: readonly ["AdGroupId", "Bid", "CampaignId", "ConditionType", "Conditions", "ContextBid", "Id", "Name", "State", "StatusClarification", "StrategyPriority"];
96
+ };
97
+ readonly feeds: {
98
+ readonly FeedFieldEnum: readonly ["BusinessType", "CampaignIds", "FilterSchema", "Id", "Name", "NumberOfItems", "NumberOfListings", "SourceType", "Status", "TitleAndTextSources", "UpdatedAt"];
99
+ readonly FileFeedFieldEnum: readonly ["Filename"];
100
+ readonly UrlFeedFieldEnum: readonly ["Login", "RemoveUtmTags", "Url"];
101
+ };
102
+ readonly keywordbids: {
103
+ readonly KeywordBidFieldEnum: readonly ["AdGroupId", "CampaignId", "KeywordId", "ServingStatus", "StrategyPriority"];
104
+ readonly KeywordBidNetworkFieldEnum: readonly ["Bid", "Coverage"];
105
+ readonly KeywordBidSearchFieldEnum: readonly ["AuctionBids", "AutotargetingSearchBidIsAuto", "Bid"];
106
+ };
107
+ readonly keywords: {
108
+ readonly KeywordFieldEnum: readonly ["AdGroupId", "AutotargetingBrandOptions", "AutotargetingCategories", "AutotargetingSearchBidIsAuto", "Bid", "CampaignId", "ContextBid", "Id", "Keyword", "Productivity", "ServingStatus", "State", "StatisticsNetwork", "StatisticsSearch", "Status", "StrategyPriority", "UserParam1", "UserParam2"];
109
+ };
110
+ readonly keywordsresearch: {
111
+ readonly HasSearchVolumeFieldEnum: readonly ["AllDevices", "Desktops", "Keyword", "MobilePhones", "RegionIds", "Tablets"];
112
+ };
113
+ readonly leads: {
114
+ readonly LeadFieldEnum: readonly ["Data", "Id", "SubmittedAt", "TurboPageId", "TurboPageName"];
115
+ };
116
+ readonly negativekeywordsharedsets: {
117
+ readonly NegativeKeywordSharedSetFieldEnum: readonly ["Associated", "Id", "Name", "NegativeKeywords"];
118
+ };
119
+ readonly retargetinglists: {
120
+ readonly RetargetingListFieldEnum: readonly ["AvailableForTargetsInAdGroupTypes", "Description", "Id", "IsAvailable", "Name", "Rules", "Scope", "Type"];
121
+ };
122
+ readonly sitelinks: {
123
+ readonly SitelinkFieldEnum: readonly ["Description", "Href", "Title", "TurboPageId"];
124
+ readonly SitelinksSetFieldEnum: readonly ["Id", "Sitelinks"];
125
+ };
126
+ readonly smartadtargets: {
127
+ readonly SmartAdTargetFieldEnum: readonly ["AdGroupId", "Audience", "AvailableItemsOnly", "AverageCpa", "AverageCpc", "CampaignId", "ConditionType", "Conditions", "Id", "Name", "State", "StrategyPriority"];
128
+ };
129
+ readonly strategies: {
130
+ readonly StrategyAverageCpaFieldEnum: readonly ["AverageCpa", "BidCeiling", "BudgetType", "CustomPeriodBudget", "ExplorationBudget", "GoalId", "WeeklyBudgetRollover", "WeeklySpendLimit"];
131
+ readonly StrategyAverageCpaMultipleGoalsFieldEnum: readonly ["BidCeiling", "BudgetType", "CustomPeriodBudget", "ExplorationBudget", "WeeklyBudgetRollover", "WeeklySpendLimit"];
132
+ readonly StrategyAverageCpaPerCampaignFieldEnum: readonly ["AverageCpa", "BidCeiling", "BudgetType", "CustomPeriodBudget", "ExplorationBudget", "GoalId", "WeeklySpendLimit"];
133
+ readonly StrategyAverageCpaPerFilterFieldEnum: readonly ["BidCeiling", "BudgetType", "CustomPeriodBudget", "ExplorationBudget", "FilterAverageCpa", "GoalId", "WeeklySpendLimit"];
134
+ readonly StrategyAverageCpcFieldEnum: readonly ["AverageCpc", "BudgetType", "CustomPeriodBudget", "WeeklyBudgetRollover", "WeeklySpendLimit"];
135
+ readonly StrategyAverageCpcPerCampaignFieldEnum: readonly ["AverageCpc", "BidCeiling", "BudgetType", "CustomPeriodBudget", "WeeklySpendLimit"];
136
+ readonly StrategyAverageCpcPerFilterFieldEnum: readonly ["BidCeiling", "BudgetType", "CustomPeriodBudget", "FilterAverageCpc", "WeeklySpendLimit"];
137
+ readonly StrategyAverageCrrFieldEnum: readonly ["BudgetType", "Crr", "CustomPeriodBudget", "ExplorationBudget", "GoalId", "WeeklyBudgetRollover", "WeeklySpendLimit"];
138
+ readonly StrategyFieldEnum: readonly ["AttributionModel", "CounterIds", "Id", "Name", "PriorityGoals", "StatusArchived", "Type"];
139
+ readonly StrategyMaximumClicksFieldEnum: readonly ["BidCeiling", "BudgetType", "CustomPeriodBudget", "WeeklyBudgetRollover", "WeeklySpendLimit"];
140
+ readonly StrategyMaximumConversionRateFieldEnum: readonly ["BidCeiling", "BudgetType", "CustomPeriodBudget", "GoalId", "WeeklyBudgetRollover", "WeeklySpendLimit"];
141
+ readonly StrategyMaxProfitFieldEnum: readonly ["BudgetType", "CustomPeriodBudget", "ExplorationBudget", "WeeklyBudgetRollover", "WeeklySpendLimit"];
142
+ readonly StrategyPayForConversionCrrFieldEnum: readonly ["BudgetType", "Crr", "CustomPeriodBudget", "GoalId", "WeeklySpendLimit"];
143
+ readonly StrategyPayForConversionFieldEnum: readonly ["BudgetType", "Cpa", "CustomPeriodBudget", "GoalId", "WeeklySpendLimit"];
144
+ readonly StrategyPayForConversionMultipleGoalsFieldEnum: readonly ["BudgetType", "CustomPeriodBudget", "WeeklySpendLimit"];
145
+ readonly StrategyPayForConversionPerCampaignFieldEnum: readonly ["BudgetType", "Cpa", "CustomPeriodBudget", "GoalId", "WeeklySpendLimit"];
146
+ readonly StrategyPayForConversionPerFilterFieldEnum: readonly ["BudgetType", "Cpa", "CustomPeriodBudget", "GoalId", "WeeklySpendLimit"];
147
+ };
148
+ readonly turbopages: {
149
+ readonly TurboPageFieldEnum: readonly ["BoundWithHref", "Href", "Id", "Name", "PreviewHref", "TurboSiteHref"];
150
+ };
151
+ readonly vcards: {
152
+ readonly VCardFieldEnum: readonly ["Apartment", "Building", "CampaignId", "City", "CompanyName", "ContactEmail", "ContactPerson", "Country", "ExtraMessage", "House", "Id", "InstantMessenger", "MetroStationId", "Ogrn", "Phone", "PointOnMap", "Street", "WorkTime"];
153
+ };
154
+ readonly "general.xsd": {
155
+ readonly AutotargetingBrandOptionsFieldEnum: readonly ["WithAdvertiserBrand", "WithCompetitorsBrand", "WithoutBrands"];
156
+ readonly AutotargetingCategoriesFieldEnum: readonly ["Accessory", "Alternative", "Broader", "Exact", "Narrow"];
157
+ };
158
+ };
159
+ type ApiService = keyof typeof API_FIELDS;
160
+ export type FieldOf<S extends ApiService, E extends keyof (typeof API_FIELDS)[S]> = (typeof API_FIELDS)[S][E] extends readonly (infer Value)[] ? Value : never;
161
+ export {};