diff --git a/lib/facebook_ads/ad_objects/ad.rb b/lib/facebook_ads/ad_objects/ad.rb index 3a3c0cd3..c1d8d9ce 100644 --- a/lib/facebook_ads/ad_objects/ad.rb +++ b/lib/facebook_ads/ad_objects/ad.rb @@ -98,7 +98,10 @@ class Ad < AdObject field :account_id, 'string' + field :ad_active_time, 'string' field :ad_review_feedback, 'AdgroupReviewFeedback' + field :ad_schedule_end_time, 'datetime' + field :ad_schedule_start_time, 'datetime' field :adlabels, { list: 'AdLabel' } field :adset, 'AdSet' field :adset_id, 'string' @@ -160,7 +163,7 @@ class Ad < AdObject edge.get 'Ad' do |api| api.has_param :date_preset, { enum: -> { Ad::DATE_PRESET }} api.has_param :effective_status, { list: 'string' } - api.has_param :time_range, 'object' + api.has_param :time_range, 'hash' api.has_param :updated_since, 'int' end edge.post 'Ad' do |api| @@ -189,8 +192,8 @@ class Ad < AdObject api.has_param :summary, { list: 'string' } api.has_param :summary_action_breakdowns, { list: { enum: -> { AdsInsights::SUMMARY_ACTION_BREAKDOWNS }} } api.has_param :time_increment, 'string' - api.has_param :time_range, 'object' - api.has_param :time_ranges, { list: 'object' } + api.has_param :time_range, 'hash' + api.has_param :time_ranges, { list: 'hash' } api.has_param :use_account_attribution_setting, 'bool' api.has_param :use_unified_attribution_setting, 'bool' end @@ -212,8 +215,8 @@ class Ad < AdObject api.has_param :summary, { list: 'string' } api.has_param :summary_action_breakdowns, { list: { enum: -> { AdsInsights::SUMMARY_ACTION_BREAKDOWNS }} } api.has_param :time_increment, 'string' - api.has_param :time_range, 'object' - api.has_param :time_ranges, { list: 'object' } + api.has_param :time_range, 'hash' + api.has_param :time_ranges, { list: 'hash' } api.has_param :use_account_attribution_setting, 'bool' api.has_param :use_unified_attribution_setting, 'bool' end diff --git a/lib/facebook_ads/ad_objects/ad_account.rb b/lib/facebook_ads/ad_objects/ad_account.rb index d8964ffb..9b1b402b 100644 --- a/lib/facebook_ads/ad_objects/ad_account.rb +++ b/lib/facebook_ads/ad_objects/ad_account.rb @@ -123,6 +123,7 @@ class AdAccount < AdObject "PRIMARY", "REGULATED_CATEGORIES_AUDIENCE", "STUDY_RULE_AUDIENCE", + "SUBSCRIBER_SEGMENT", "VIDEO", "WEBSITE", ] @@ -138,6 +139,7 @@ class AdAccount < AdObject field :ad_account_promotable_objects, 'AdAccountPromotableObjects' field :age, 'double' field :agency_client_declaration, 'AgencyClientDeclaration' + field :all_capabilities, { list: 'string' } field :amount_spent, 'string' field :attribution_spec, { list: 'AttributionSpec' } field :balance, 'string' @@ -198,6 +200,7 @@ class AdAccount < AdObject field :timezone_name, 'string' field :timezone_offset_hours_utc, 'double' field :tos_accepted, 'hash' + field :user_access_expire_time, 'datetime' field :user_tasks, { list: 'string' } field :user_tos_accepted, 'hash' field :viewable_business, 'Business' @@ -207,6 +210,7 @@ class AdAccount < AdObject edge.get 'AdAccountBusinessConstraints' edge.post 'AdAccountBusinessConstraints' do |api| api.has_param :audience_controls, 'object' + api.has_param :placement_controls, 'object' end end @@ -307,7 +311,7 @@ class AdAccount < AdObject api.has_param :recommender_settings, 'hash' api.has_param :source_instagram_media_id, 'string' api.has_param :template_url, 'string' - api.has_param :template_url_spec, 'object' + api.has_param :template_url_spec, 'string' api.has_param :thumbnail_url, 'string' api.has_param :title, 'string' api.has_param :url_tags, 'string' @@ -336,7 +340,7 @@ class AdAccount < AdObject api.has_param :selected_hashes, { list: 'string' } end edge.post list: 'AdImage' do |api| - api.has_param :bytes, 'object' + api.has_param :bytes, 'string' api.has_param :copy_from, 'object' api.accepts_files! end @@ -387,10 +391,12 @@ class AdAccount < AdObject edge.get 'Ad' do |api| api.has_param :date_preset, { enum: -> { Ad::DATE_PRESET }} api.has_param :effective_status, { list: 'string' } - api.has_param :time_range, 'object' + api.has_param :time_range, 'hash' api.has_param :updated_since, 'int' end edge.post 'Ad' do |api| + api.has_param :ad_schedule_end_time, 'datetime' + api.has_param :ad_schedule_start_time, 'datetime' api.has_param :adlabels, { list: 'object' } api.has_param :adset_id, 'int' api.has_param :adset_spec, 'AdSet' @@ -416,9 +422,13 @@ class AdAccount < AdObject has_edge :ads_conversion_goal do |edge| edge.post do |api| + api.has_param :conversion_event_value_source, { enum: %w{DATA_SOURCE VALUE_RULE }} api.has_param :description, 'string' + api.has_param :goal_creation_method, { enum: %w{ADVERTISER_CREATED_UI AUTO_MIGRATION L2_ENHANCE_API_MIGRATION }} api.has_param :goal_name, 'string' + api.has_param :performance_goal, { enum: %w{AD_OPTIMIZATION_GOAL_AD_RECALL_LIFT AD_OPTIMIZATION_GOAL_APP_DOWNLOADS AD_OPTIMIZATION_GOAL_APP_INSTALLS AD_OPTIMIZATION_GOAL_APP_INSTALLS_AND_OFFSITE_CONVERSIONS AD_OPTIMIZATION_GOAL_BRAND_AWARENESS AD_OPTIMIZATION_GOAL_CLICKS AD_OPTIMIZATION_GOAL_COMPLETED_VIDEO_VIEWS AD_OPTIMIZATION_GOAL_CONVERSATIONS AD_OPTIMIZATION_GOAL_DERIVED_EVENTS AD_OPTIMIZATION_GOAL_DWELLS AD_OPTIMIZATION_GOAL_ENGAGED_REACH AD_OPTIMIZATION_GOAL_ENGAGED_USERS AD_OPTIMIZATION_GOAL_EVENT_RESPONSES AD_OPTIMIZATION_GOAL_EXTERNAL AD_OPTIMIZATION_GOAL_IMPRESSIONS AD_OPTIMIZATION_GOAL_INCREMENTAL_OFFSITE_CONVERSIONS AD_OPTIMIZATION_GOAL_IN_APP_VALUE AD_OPTIMIZATION_GOAL_JOB_APPLICATIONS AD_OPTIMIZATION_GOAL_LANDING_PAGE_VIEWS AD_OPTIMIZATION_GOAL_LEAD_GENERATION AD_OPTIMIZATION_GOAL_MEDIA_DOWNLOADS AD_OPTIMIZATION_GOAL_MESSAGING_APPOINTMENT_CONVERSION AD_OPTIMIZATION_GOAL_MESSAGING_DEEP_CONVERSATION_AND_FOLLOW AD_OPTIMIZATION_GOAL_MESSAGING_DEEP_CONVERSATION_AND_REPLY AD_OPTIMIZATION_GOAL_MESSAGING_PURCHASE_CONVERSION AD_OPTIMIZATION_GOAL_MID_FUNNEL_EVENT AD_OPTIMIZATION_GOAL_MRC_VIDEO_VIEWS AD_OPTIMIZATION_GOAL_MULTI_CONVERSIONS AD_OPTIMIZATION_GOAL_NONE AD_OPTIMIZATION_GOAL_OFFER_CLAIMS AD_OPTIMIZATION_GOAL_OFFLINE_CONVERSIONS AD_OPTIMIZATION_GOAL_OFFSITE_CLICKS AD_OPTIMIZATION_GOAL_OFFSITE_CONVERSIONS AD_OPTIMIZATION_GOAL_ONSITE_CONVERSIONS AD_OPTIMIZATION_GOAL_PAGE_ENGAGEMENT AD_OPTIMIZATION_GOAL_PAGE_FOLLOWS AD_OPTIMIZATION_GOAL_PAGE_LIKES AD_OPTIMIZATION_GOAL_POST_ENGAGEMENT AD_OPTIMIZATION_GOAL_QUALITY_CALL AD_OPTIMIZATION_GOAL_QUALITY_LEAD AD_OPTIMIZATION_GOAL_REACH AD_OPTIMIZATION_GOAL_REMINDERS_SET AD_OPTIMIZATION_GOAL_REPLIES AD_OPTIMIZATION_GOAL_RESEARCH_POLL_RESPONSES AD_OPTIMIZATION_GOAL_RETENTION AD_OPTIMIZATION_GOAL_RETURN_ON_AD_SPEND AD_OPTIMIZATION_GOAL_SOCIAL_IMPRESSIONS AD_OPTIMIZATION_GOAL_STORE_VISITS AD_OPTIMIZATION_GOAL_SUBSCRIBERS AD_OPTIMIZATION_GOAL_TICKET_PURCHASE AD_OPTIMIZATION_GOAL_VALUE AD_OPTIMIZATION_GOAL_VIDEO_LONG_VIEWS AD_OPTIMIZATION_GOAL_VIDEO_VIEWS AD_OPTIMIZATION_GOAL_VIDEO_VIEWS_15S AD_OPTIMIZATION_GOAL_VISIT_INSTAGRAM_PROFILE AD_OPTIMIZATION_GOAL_VISIT_INSTAGRAM_PROFILE_AND_PROFILE_ACTIONS }} api.has_param :single_channel_conversion_events, { list: 'hash' } + api.has_param :value_adjustment_rule, 'hash' end end @@ -452,7 +462,7 @@ class AdAccount < AdObject api.has_param :date_preset, { enum: -> { AdSet::DATE_PRESET }} api.has_param :effective_status, { list: { enum: -> { AdSet::EFFECTIVE_STATUS }} } api.has_param :is_completed, 'bool' - api.has_param :time_range, 'object' + api.has_param :time_range, 'hash' api.has_param :updated_since, 'int' end edge.post 'AdSet' do |api| @@ -464,6 +474,7 @@ class AdAccount < AdObject api.has_param :bid_constraints, 'hash' api.has_param :bid_strategy, { enum: -> { AdSet::BID_STRATEGY }} api.has_param :billing_event, { enum: -> { AdSet::BILLING_EVENT }} + api.has_param :campaign_attribution, 'object' api.has_param :campaign_id, 'string' api.has_param :campaign_spec, 'object' api.has_param :creative_sequence, { list: 'string' } @@ -705,7 +716,7 @@ class AdAccount < AdObject api.has_param :date_preset, { enum: -> { Campaign::DATE_PRESET }} api.has_param :effective_status, { list: { enum: -> { Campaign::EFFECTIVE_STATUS }} } api.has_param :is_completed, 'bool' - api.has_param :time_range, 'object' + api.has_param :time_range, 'hash' end edge.post 'Campaign' do |api| api.has_param :adlabels, { list: 'object' } @@ -828,6 +839,10 @@ class AdAccount < AdObject end end + has_edge :dsa_recommendations do |edge| + edge.get 'AdAccountDsaRecommendations' + end + has_edge :generatepreviews do |edge| edge.get 'AdPreview' do |api| api.has_param :ad_format, { enum: -> { AdPreview::AD_FORMAT }} @@ -871,8 +886,8 @@ class AdAccount < AdObject api.has_param :summary, { list: 'string' } api.has_param :summary_action_breakdowns, { list: { enum: -> { AdsInsights::SUMMARY_ACTION_BREAKDOWNS }} } api.has_param :time_increment, 'string' - api.has_param :time_range, 'object' - api.has_param :time_ranges, { list: 'object' } + api.has_param :time_range, 'hash' + api.has_param :time_ranges, { list: 'hash' } api.has_param :use_account_attribution_setting, 'bool' api.has_param :use_unified_attribution_setting, 'bool' end @@ -894,8 +909,8 @@ class AdAccount < AdObject api.has_param :summary, { list: 'string' } api.has_param :summary_action_breakdowns, { list: { enum: -> { AdsInsights::SUMMARY_ACTION_BREAKDOWNS }} } api.has_param :time_increment, 'string' - api.has_param :time_range, 'object' - api.has_param :time_ranges, { list: 'object' } + api.has_param :time_range, 'hash' + api.has_param :time_ranges, { list: 'hash' } api.has_param :use_account_attribution_setting, 'bool' api.has_param :use_unified_attribution_setting, 'bool' end @@ -917,6 +932,9 @@ class AdAccount < AdObject api.has_param :campaign_group_status, { enum: %w{ACTIVE ADSET_PAUSED ARCHIVED CAMPAIGN_PAUSED DELETED DISAPPROVED IN_PROCESS PAUSED PENDING_BILLING_INFO PENDING_REVIEW PREAPPROVED WITH_ISSUES }} api.has_param :conversion_domain, 'string' api.has_param :custom_event_type, { enum: %w{ADD_TO_CART CONTENT_VIEW PURCHASE }} + api.has_param :daily_budget, 'int' + api.has_param :dsa_beneficiary, 'string' + api.has_param :dsa_payor, 'string' api.has_param :end_time, 'int' api.has_param :lifetime_budget, 'int' api.has_param :override_creative_text, 'string' @@ -1029,6 +1047,7 @@ class AdAccount < AdObject api.has_param :impression, 'int' api.has_param :instream_packages, { list: { enum: -> { ReachFrequencyPrediction::INSTREAM_PACKAGES }} } api.has_param :interval_frequency_cap_reset_period, 'int' + api.has_param :is_balanced_frequency, 'bool' api.has_param :is_bonus_media, 'bool' api.has_param :is_conversion_goal, 'bool' api.has_param :is_full_view, 'bool' @@ -1047,6 +1066,8 @@ class AdAccount < AdObject api.has_param :stop_time, 'int' api.has_param :story_event_type, 'int' api.has_param :target_cpm, 'int' + api.has_param :target_frequency, 'int' + api.has_param :target_frequency_reset_period, 'int' api.has_param :target_spec, 'Targeting' api.has_param :video_view_length_constraint, 'int' end @@ -1153,5 +1174,9 @@ class AdAccount < AdObject end end + has_edge :value_adjustment_rules do |edge| + edge.get + end + end end diff --git a/lib/facebook_ads/ad_objects/ad_account_ad_rules_history.rb b/lib/facebook_ads/ad_objects/ad_account_ad_rules_history.rb index a3e4879a..332d42f2 100644 --- a/lib/facebook_ads/ad_objects/ad_account_ad_rules_history.rb +++ b/lib/facebook_ads/ad_objects/ad_account_ad_rules_history.rb @@ -19,6 +19,7 @@ class AdAccountAdRulesHistory < AdObject "CHANGED_BID", "CHANGED_BUDGET", "EMAIL", + "ENABLE_ADVANTAGE_PLUS_CREATIVE", "ENABLE_AUTOFLOW", "ENDPOINT_PINGED", "ERROR", diff --git a/lib/facebook_ads/ad_objects/ad_account_ad_volume.rb b/lib/facebook_ads/ad_objects/ad_account_ad_volume.rb index 1ffbe6a1..54b08216 100644 --- a/lib/facebook_ads/ad_objects/ad_account_ad_volume.rb +++ b/lib/facebook_ads/ad_objects/ad_account_ad_volume.rb @@ -18,7 +18,11 @@ class AdAccountAdVolume < AdObject "AB_TEST", "ACO_TOGGLE", "ADS_REPORTING", + "ADVANCED_CAMPAIGN_BUDGET", "ADVANTAGE_PLUS_CREATIVE", + "ADVANTAGE_PLUS_CREATIVE_CATALOG", + "ADVANTAGE_SHOPPING_CAMPAIGN", + "ADVANTAGE_SHOPPING_CAMPAIGN_FRAGMENTATION", "AD_OBJECTIVE", "AEM_V2_INELIGIBLE", "AGGREGATED_BID_LIMITED", @@ -28,48 +32,64 @@ class AdAccountAdVolume < AdObject "AUCTION_OVERLAP_CONSOLIDATION", "AUDIENCE_EXPANSION", "AUTOFLOW_OPT_IN", + "AUTOFLOW_OPT_IN_FALLBACK_DUPLICATION_FLOW", "AUTOMATIC_PLACEMENTS", "AUTO_BID", "BROAD_TARGETING", "CAPI", + "CAPI_PERFORMANCE_MATCH_KEY", + "CASH_REWARDS_OPT_IN", "CONNECT_FACEBOOK_PAGE_TO_INSTAGRAM", "CONNECT_FACEBOOK_PAGE_TO_WHATSAPP", "COST_GOAL", "COST_GOAL_BUDGET_LIMITED", "COST_GOAL_CPA_LIMITED", + "COST_PER_RESULT", + "CREATION_PACKAGE_UPGRADE_TO_ASC", "CREATIVE_BADGE", "CREATIVE_FATIGUE", "CREATIVE_FATIGUE_HOURLY", "CREATIVE_LIMITED", "CREATIVE_LIMITED_HOURLY", + "CREATOR_ADS_PA_CONVERSION", + "CTA", "DEAD_LINK", + "DYNAMIC_ADVANTAGE_CAMPAIGN_BUDGET", "ECOSYSTEM_BID_REDUCE_L1_CARDINALITY", "FRAGMENTATION", "GES_TEST", + "GUIDANCE_CENTER_CODE_GEN", "LEARNING_LIMITED", "LOW_OUTCOME", + "MERLIN_GUIDANCE", "MMT_CAROUSEL_TO_VIDEO", "MOBILE_FIRST_VIDEO", + "MR_AEMV2SUB_KCONSOLIDATION", "MULTI_TEXT", "MUSIC", "OPTIMAL_SPEND", "PAYMENT_METHOD", + "PERFORMANT_CREATIVE_REELS_OPT_IN", "PFR_L1_INLINE_MMT", "PREDICTIVE_CREATIVE_LIMITED", "PREDICTIVE_CREATIVE_LIMITED_HOURLY", + "RAPID_LEARNING_LIMITED", "REVERT", "SCALE_GOOD_CAMPAIGN", "SEMANTIC_BASED_AUDIENCE_EXPANSION", "SETUP_PIXEL", "SHOPS_ADS", "SIGNALS_GROWTH_CAPI", + "SIGNALS_GROWTH_CAPI_TABLE", "SIX_PLUS_MANUAL_PLACEMENTS", "SPEND_LIMIT", "SYD_TEST_MODE", "TOP_ADSETS_WITH_ADS_UNDER_CAP", "TOP_CAMPAIGNS_WITH_ADS_UNDER_CAP", + "UNCROP_IMAGE", "UNECONOMICAL_ADS_THROTTLING", "UNUSED_BUDGET", + "VIDEO_LENGTH", "ZERO_IMPRESSION", ] diff --git a/lib/facebook_ads/ad_objects/ad_account_business_constraints.rb b/lib/facebook_ads/ad_objects/ad_account_business_constraints.rb index c703bc50..3b512fd6 100644 --- a/lib/facebook_ads/ad_objects/ad_account_business_constraints.rb +++ b/lib/facebook_ads/ad_objects/ad_account_business_constraints.rb @@ -16,6 +16,7 @@ module FacebookAds class AdAccountBusinessConstraints < AdObject field :audience_controls, 'object' + field :placement_controls, 'object' has_no_id has_no_get has_no_post diff --git a/lib/facebook_ads/ad_objects/ad_account_delivery_estimate.rb b/lib/facebook_ads/ad_objects/ad_account_delivery_estimate.rb index a36b2652..afcdd0c6 100644 --- a/lib/facebook_ads/ad_objects/ad_account_delivery_estimate.rb +++ b/lib/facebook_ads/ad_objects/ad_account_delivery_estimate.rb @@ -36,6 +36,7 @@ class AdAccountDeliveryEstimate < AdObject "QUALITY_CALL", "QUALITY_LEAD", "REACH", + "REMINDERS_SET", "SUBSCRIBERS", "THRUPLAY", "VALUE", diff --git a/lib/facebook_ads/ad_objects/ad_account_dsa_recommendations.rb b/lib/facebook_ads/ad_objects/ad_account_dsa_recommendations.rb new file mode 100644 index 00000000..20e418ad --- /dev/null +++ b/lib/facebook_ads/ad_objects/ad_account_dsa_recommendations.rb @@ -0,0 +1,25 @@ +# Copyright (c) Meta Platforms, Inc. and affiliates. +# All rights reserved. + +# This source code is licensed under the license found in the +# LICENSE file in the root directory of this source tree. + +# FB:AUTOGEN + +module FacebookAds + # This class is auto-generated. + + # For any issues or feature requests related to this class, please let us know + # on github and we'll fix in our codegen framework. We'll not be able to accept + # pull request for this class. + + class AdAccountDsaRecommendations < AdObject + + field :recommendations, { list: 'string' } + has_no_id + has_no_get + has_no_post + has_no_delete + + end +end diff --git a/lib/facebook_ads/ad_objects/ad_account_matched_search_applications_edge_data.rb b/lib/facebook_ads/ad_objects/ad_account_matched_search_applications_edge_data.rb index a0b3ede9..2913cbbd 100644 --- a/lib/facebook_ads/ad_objects/ad_account_matched_search_applications_edge_data.rb +++ b/lib/facebook_ads/ad_objects/ad_account_matched_search_applications_edge_data.rb @@ -21,6 +21,7 @@ class AdAccountMatchedSearchApplicationsEdgeData < AdObject "APK_PURE", "APTOIDE_A1_STORE", "BEMOBI_MOBILE_STORE", + "DIGITAL_TURBINE_STORE", "DOES_NOT_EXIST", "FB_ANDROID_STORE", "FB_CANVAS", diff --git a/lib/facebook_ads/ad_objects/ad_account_targeting_unified.rb b/lib/facebook_ads/ad_objects/ad_account_targeting_unified.rb index f0631f5d..3c05e4d0 100644 --- a/lib/facebook_ads/ad_objects/ad_account_targeting_unified.rb +++ b/lib/facebook_ads/ad_objects/ad_account_targeting_unified.rb @@ -361,6 +361,7 @@ class AdAccountTargetingUnified < AdObject "excluded_user_adclusters", "excluded_user_device", "exclusions", + "expanded_implicit_custom_audiences", "facebook_positions", "family_statuses", "fb_deal_id", @@ -395,6 +396,7 @@ class AdAccountTargetingUnified < AdObject "location_categories", "location_cluster_ids", "location_expansion", + "marketing_message_targeting", "marketplace_product_categories", "messenger_positions", "mobile_device_model", @@ -415,6 +417,7 @@ class AdAccountTargetingUnified < AdObject "relationship_statuses", "rtb_flag", "site_category", + "tafe_ca_mitigation_strategy", "targeting_automation", "targeting_optimization", "targeting_relaxation_types", @@ -441,6 +444,7 @@ class AdAccountTargetingUnified < AdObject "apk_pure", "aptoide_a1_store", "bemobi_mobile_store", + "digital_turbine_store", "does_not_exist", "fb_android_store", "fb_canvas", diff --git a/lib/facebook_ads/ad_objects/ad_asset_customization_rule_customization_spec.rb b/lib/facebook_ads/ad_objects/ad_asset_customization_rule_customization_spec.rb new file mode 100644 index 00000000..f18a2fe5 --- /dev/null +++ b/lib/facebook_ads/ad_objects/ad_asset_customization_rule_customization_spec.rb @@ -0,0 +1,39 @@ +# Copyright (c) Meta Platforms, Inc. and affiliates. +# All rights reserved. + +# This source code is licensed under the license found in the +# LICENSE file in the root directory of this source tree. + +# FB:AUTOGEN + +module FacebookAds + # This class is auto-generated. + + # For any issues or feature requests related to this class, please let us know + # on github and we'll fix in our codegen framework. We'll not be able to accept + # pull request for this class. + + class AdAssetCustomizationRuleCustomizationSpec < AdObject + DEVICE_PLATFORMS = [ + "desktop", + "mobile", + ] + + + field :age_max, 'int' + field :age_min, 'int' + field :audience_network_positions, { list: 'string' } + field :device_platforms, { list: { enum: -> { DEVICE_PLATFORMS }} } + field :facebook_positions, { list: 'string' } + field :geo_locations, 'TargetingGeoLocation' + field :instagram_positions, { list: 'string' } + field :locales, { list: 'int' } + field :messenger_positions, { list: 'string' } + field :publisher_platforms, { list: 'string' } + has_no_id + has_no_get + has_no_post + has_no_delete + + end +end diff --git a/lib/facebook_ads/ad_objects/ad_asset_feed_spec.rb b/lib/facebook_ads/ad_objects/ad_asset_feed_spec.rb index 3b61d58d..63833cf1 100644 --- a/lib/facebook_ads/ad_objects/ad_asset_feed_spec.rb +++ b/lib/facebook_ads/ad_objects/ad_asset_feed_spec.rb @@ -18,6 +18,7 @@ class AdAssetFeedSpec < AdObject "ADD_TO_CART", "APPLY_NOW", "AUDIO_CALL", + "BOOK_NOW", "BOOK_TRAVEL", "BUY", "BUY_NOW", @@ -95,7 +96,7 @@ class AdAssetFeedSpec < AdObject field :ad_formats, { list: 'string' } field :additional_data, 'object' field :app_product_page_id, 'string' - field :asset_customization_rules, { list: 'object' } + field :asset_customization_rules, { list: 'AdAssetFeedSpecAssetCustomizationRule' } field :autotranslate, { list: 'string' } field :bodies, { list: 'AdAssetFeedSpecBody' } field :call_to_action_types, { list: { enum: -> { CALL_TO_ACTION_TYPES }} } @@ -107,6 +108,7 @@ class AdAssetFeedSpec < AdObject field :groups, { list: 'AdAssetFeedSpecGroupRule' } field :images, { list: 'AdAssetFeedSpecImage' } field :link_urls, { list: 'AdAssetFeedSpecLinkUrl' } + field :message_extensions, { list: 'AdAssetMessageExtensions' } field :optimization_type, 'string' field :titles, { list: 'AdAssetFeedSpecTitle' } field :videos, { list: 'AdAssetFeedSpecVideo' } diff --git a/lib/facebook_ads/ad_objects/ad_asset_feed_spec_asset_customization_rule.rb b/lib/facebook_ads/ad_objects/ad_asset_feed_spec_asset_customization_rule.rb new file mode 100644 index 00000000..890ed4ea --- /dev/null +++ b/lib/facebook_ads/ad_objects/ad_asset_feed_spec_asset_customization_rule.rb @@ -0,0 +1,37 @@ +# Copyright (c) Meta Platforms, Inc. and affiliates. +# All rights reserved. + +# This source code is licensed under the license found in the +# LICENSE file in the root directory of this source tree. + +# FB:AUTOGEN + +module FacebookAds + # This class is auto-generated. + + # For any issues or feature requests related to this class, please let us know + # on github and we'll fix in our codegen framework. We'll not be able to accept + # pull request for this class. + + class AdAssetFeedSpecAssetCustomizationRule < AdObject + + field :body_label, 'AdAssetFeedSpecAssetLabel' + field :call_to_action_label, 'AdAssetFeedSpecAssetLabel' + field :call_to_action_type_label, 'AdAssetFeedSpecAssetLabel' + field :caption_label, 'AdAssetFeedSpecAssetLabel' + field :carousel_label, 'AdAssetFeedSpecAssetLabel' + field :customization_spec, 'AdAssetCustomizationRuleCustomizationSpec' + field :description_label, 'AdAssetFeedSpecAssetLabel' + field :image_label, 'AdAssetFeedSpecAssetLabel' + field :is_default, 'bool' + field :link_url_label, 'AdAssetFeedSpecAssetLabel' + field :priority, 'int' + field :title_label, 'AdAssetFeedSpecAssetLabel' + field :video_label, 'AdAssetFeedSpecAssetLabel' + has_no_id + has_no_get + has_no_post + has_no_delete + + end +end diff --git a/lib/facebook_ads/ad_objects/ad_asset_message_extensions.rb b/lib/facebook_ads/ad_objects/ad_asset_message_extensions.rb new file mode 100644 index 00000000..9cb68e0c --- /dev/null +++ b/lib/facebook_ads/ad_objects/ad_asset_message_extensions.rb @@ -0,0 +1,25 @@ +# Copyright (c) Meta Platforms, Inc. and affiliates. +# All rights reserved. + +# This source code is licensed under the license found in the +# LICENSE file in the root directory of this source tree. + +# FB:AUTOGEN + +module FacebookAds + # This class is auto-generated. + + # For any issues or feature requests related to this class, please let us know + # on github and we'll fix in our codegen framework. We'll not be able to accept + # pull request for this class. + + class AdAssetMessageExtensions < AdObject + + field :type, 'string' + has_no_id + has_no_get + has_no_post + has_no_delete + + end +end diff --git a/lib/facebook_ads/ad_objects/ad_asset_target_rule_targeting.rb b/lib/facebook_ads/ad_objects/ad_asset_target_rule_targeting.rb new file mode 100644 index 00000000..a58ed7dd --- /dev/null +++ b/lib/facebook_ads/ad_objects/ad_asset_target_rule_targeting.rb @@ -0,0 +1,37 @@ +# Copyright (c) Meta Platforms, Inc. and affiliates. +# All rights reserved. + +# This source code is licensed under the license found in the +# LICENSE file in the root directory of this source tree. + +# FB:AUTOGEN + +module FacebookAds + # This class is auto-generated. + + # For any issues or feature requests related to this class, please let us know + # on github and we'll fix in our codegen framework. We'll not be able to accept + # pull request for this class. + + class AdAssetTargetRuleTargeting < AdObject + DEVICE_PLATFORMS = [ + "desktop", + "mobile", + ] + + + field :age_max, 'int' + field :age_min, 'int' + field :audience_network_positions, { list: 'string' } + field :device_platforms, { list: { enum: -> { DEVICE_PLATFORMS }} } + field :facebook_positions, { list: 'string' } + field :geo_locations, 'TargetingGeoLocation' + field :instagram_positions, { list: 'string' } + field :publisher_platforms, { list: 'string' } + has_no_id + has_no_get + has_no_post + has_no_delete + + end +end diff --git a/lib/facebook_ads/ad_objects/ad_campaign_delivery_estimate.rb b/lib/facebook_ads/ad_objects/ad_campaign_delivery_estimate.rb index 14348027..9c02ceab 100644 --- a/lib/facebook_ads/ad_objects/ad_campaign_delivery_estimate.rb +++ b/lib/facebook_ads/ad_objects/ad_campaign_delivery_estimate.rb @@ -36,6 +36,7 @@ class AdCampaignDeliveryEstimate < AdObject "QUALITY_CALL", "QUALITY_LEAD", "REACH", + "REMINDERS_SET", "SUBSCRIBERS", "THRUPLAY", "VALUE", diff --git a/lib/facebook_ads/ad_objects/ad_creative.rb b/lib/facebook_ads/ad_objects/ad_creative.rb index 84c72c23..bd81bbbb 100644 --- a/lib/facebook_ads/ad_objects/ad_creative.rb +++ b/lib/facebook_ads/ad_objects/ad_creative.rb @@ -18,6 +18,7 @@ class AdCreative < AdObject "ADD_TO_CART", "APPLY_NOW", "AUDIO_CALL", + "BOOK_NOW", "BOOK_TRAVEL", "BUY", "BUY_NOW", diff --git a/lib/facebook_ads/ad_objects/ad_creative_link_data.rb b/lib/facebook_ads/ad_objects/ad_creative_link_data.rb index 364676ef..2e36c627 100644 --- a/lib/facebook_ads/ad_objects/ad_creative_link_data.rb +++ b/lib/facebook_ads/ad_objects/ad_creative_link_data.rb @@ -14,11 +14,6 @@ module FacebookAds # pull request for this class. class AdCreativeLinkData < AdObject - ATTACHMENT_STYLE = [ - "default", - "link", - ] - FORMAT_OPTION = [ "carousel_ar_effects", "carousel_images_multi_items", @@ -31,7 +26,7 @@ class AdCreativeLinkData < AdObject field :ad_context, 'string' field :additional_image_index, 'int' field :app_link_spec, 'AdCreativeLinkDataAppLinkSpec' - field :attachment_style, { enum: -> { ATTACHMENT_STYLE }} + field :attachment_style, 'string' field :branded_content_shared_to_sponsor_status, 'string' field :branded_content_sponsor_page_id, 'string' field :call_to_action, 'AdCreativeLinkDataCallToAction' diff --git a/lib/facebook_ads/ad_objects/ad_creative_link_data_call_to_action.rb b/lib/facebook_ads/ad_objects/ad_creative_link_data_call_to_action.rb index e2072144..0cd6e9bd 100644 --- a/lib/facebook_ads/ad_objects/ad_creative_link_data_call_to_action.rb +++ b/lib/facebook_ads/ad_objects/ad_creative_link_data_call_to_action.rb @@ -18,6 +18,7 @@ class AdCreativeLinkDataCallToAction < AdObject "ADD_TO_CART", "APPLY_NOW", "AUDIO_CALL", + "BOOK_NOW", "BOOK_TRAVEL", "BUY", "BUY_NOW", diff --git a/lib/facebook_ads/ad_objects/ad_creative_link_data_image_overlay_spec.rb b/lib/facebook_ads/ad_objects/ad_creative_link_data_image_overlay_spec.rb index 9e35baa0..eb03d81c 100644 --- a/lib/facebook_ads/ad_objects/ad_creative_link_data_image_overlay_spec.rb +++ b/lib/facebook_ads/ad_objects/ad_creative_link_data_image_overlay_spec.rb @@ -55,6 +55,7 @@ class AdCreativeLinkDataImageOverlaySpec < AdObject "price", "star_rating", "strikethrough_price", + "sustainable", ] THEME_COLOR = [ diff --git a/lib/facebook_ads/ad_objects/ad_image.rb b/lib/facebook_ads/ad_objects/ad_image.rb index ee28aba6..bd1d604c 100644 --- a/lib/facebook_ads/ad_objects/ad_image.rb +++ b/lib/facebook_ads/ad_objects/ad_image.rb @@ -38,7 +38,7 @@ class AdImage < AdObject field :url, 'string' field :url_128, 'string' field :width, 'int' - field :bytes, 'object' + field :bytes, 'string' field :copy_from, 'object' has_no_post has_no_delete diff --git a/lib/facebook_ads/ad_objects/ad_preview.rb b/lib/facebook_ads/ad_objects/ad_preview.rb index 25cf2c97..cea08203 100644 --- a/lib/facebook_ads/ad_objects/ad_preview.rb +++ b/lib/facebook_ads/ad_objects/ad_preview.rb @@ -21,6 +21,8 @@ class AdPreview < AdObject "AUDIENCE_NETWORK_REWARDED_VIDEO", "BIZ_DISCO_FEED_MOBILE", "DESKTOP_FEED_STANDARD", + "FACEBOOK_PROFILE_FEED_DESKTOP", + "FACEBOOK_PROFILE_FEED_MOBILE", "FACEBOOK_REELS_BANNER", "FACEBOOK_REELS_BANNER_DESKTOP", "FACEBOOK_REELS_MOBILE", @@ -34,13 +36,14 @@ class AdPreview < AdObject "INSTAGRAM_FEED_WEB", "INSTAGRAM_FEED_WEB_M_SITE", "INSTAGRAM_PROFILE_FEED", + "INSTAGRAM_PROFILE_REELS", "INSTAGRAM_REELS", "INSTAGRAM_REELS_OVERLAY", "INSTAGRAM_SEARCH_CHAIN", "INSTAGRAM_SEARCH_GRID", "INSTAGRAM_STANDARD", "INSTAGRAM_STORY", - "INSTAGRAM_STORY_CAMERA_TRAY", + "INSTAGRAM_STORY_EFFECT_TRAY", "INSTAGRAM_STORY_WEB", "INSTAGRAM_STORY_WEB_M_SITE", "INSTANT_ARTICLE_RECIRCULATION_AD", @@ -71,6 +74,7 @@ class AdPreview < AdObject CREATIVE_FEATURE = [ "profile_card", + "standard_enhancements_catalog", ] RENDER_TYPE = [ diff --git a/lib/facebook_ads/ad_objects/ad_promoted_object.rb b/lib/facebook_ads/ad_objects/ad_promoted_object.rb index 2e2cd3ae..93a1bf8a 100644 --- a/lib/facebook_ads/ad_objects/ad_promoted_object.rb +++ b/lib/facebook_ads/ad_objects/ad_promoted_object.rb @@ -57,6 +57,7 @@ class AdPromotedObject < AdObject field :object_store_url, 'string' field :offer_id, 'string' field :offline_conversion_data_set_id, 'string' + field :offsite_conversion_event_id, 'string' field :omnichannel_object, 'object' field :page_id, 'string' field :pixel_aggregation_rule, 'string' diff --git a/lib/facebook_ads/ad_objects/ad_report_run.rb b/lib/facebook_ads/ad_objects/ad_report_run.rb index a7770b1a..a302147f 100644 --- a/lib/facebook_ads/ad_objects/ad_report_run.rb +++ b/lib/facebook_ads/ad_objects/ad_report_run.rb @@ -45,8 +45,8 @@ class AdReportRun < AdObject field :summary, { list: 'string' } field :summary_action_breakdowns, { list: 'adaccountinsights_summary_action_breakdowns_enum_param' } field :time_increment, 'string' - field :time_range, 'object' - field :time_ranges, { list: 'object' } + field :time_range, 'hash' + field :time_ranges, { list: 'hash' } field :use_account_attribution_setting, 'bool' field :use_unified_attribution_setting, 'bool' has_no_post diff --git a/lib/facebook_ads/ad_objects/ad_rule_history.rb b/lib/facebook_ads/ad_objects/ad_rule_history.rb index 7985c524..673ad9c8 100644 --- a/lib/facebook_ads/ad_objects/ad_rule_history.rb +++ b/lib/facebook_ads/ad_objects/ad_rule_history.rb @@ -19,6 +19,7 @@ class AdRuleHistory < AdObject "CHANGED_BID", "CHANGED_BUDGET", "EMAIL", + "ENABLE_ADVANTAGE_PLUS_CREATIVE", "ENABLE_AUTOFLOW", "ENDPOINT_PINGED", "ERROR", diff --git a/lib/facebook_ads/ad_objects/ad_set.rb b/lib/facebook_ads/ad_objects/ad_set.rb index 4f636dab..f46ddf3d 100644 --- a/lib/facebook_ads/ad_objects/ad_set.rb +++ b/lib/facebook_ads/ad_objects/ad_set.rb @@ -73,6 +73,7 @@ class AdSet < AdObject "QUALITY_CALL", "QUALITY_LEAD", "REACH", + "REMINDERS_SET", "SUBSCRIBERS", "THRUPLAY", "VALUE", @@ -183,6 +184,7 @@ class AdSet < AdObject field :billing_event, { enum: -> { BILLING_EVENT }} field :budget_remaining, 'string' field :campaign, 'Campaign' + field :campaign_active_time, 'string' field :campaign_attribution, 'string' field :campaign_id, 'string' field :configured_status, { enum: -> { CONFIGURED_STATUS }} @@ -201,6 +203,7 @@ class AdSet < AdObject field :full_funnel_exploration_mode, 'string' field :id, 'string' field :instagram_actor_id, 'string' + field :is_budget_schedule_enabled, 'bool' field :is_dynamic_creative, 'bool' field :issues_info, { list: 'AdCampaignIssuesInfo' } field :learning_stage_info, 'AdCampaignLearningStageInfo' @@ -280,7 +283,7 @@ class AdSet < AdObject edge.get 'Ad' do |api| api.has_param :date_preset, { enum: -> { Ad::DATE_PRESET }} api.has_param :effective_status, { list: 'string' } - api.has_param :time_range, 'object' + api.has_param :time_range, 'hash' api.has_param :updated_since, 'int' end end @@ -296,7 +299,7 @@ class AdSet < AdObject api.has_param :date_preset, { enum: -> { AdSet::DATE_PRESET }} api.has_param :effective_status, { list: { enum: -> { AdSet::EFFECTIVE_STATUS }} } api.has_param :is_completed, 'bool' - api.has_param :time_range, 'object' + api.has_param :time_range, 'hash' end edge.post 'AdSet' do |api| api.has_param :campaign_id, 'string' @@ -336,8 +339,8 @@ class AdSet < AdObject api.has_param :summary, { list: 'string' } api.has_param :summary_action_breakdowns, { list: { enum: -> { AdsInsights::SUMMARY_ACTION_BREAKDOWNS }} } api.has_param :time_increment, 'string' - api.has_param :time_range, 'object' - api.has_param :time_ranges, { list: 'object' } + api.has_param :time_range, 'hash' + api.has_param :time_ranges, { list: 'hash' } api.has_param :use_account_attribution_setting, 'bool' api.has_param :use_unified_attribution_setting, 'bool' end @@ -359,8 +362,8 @@ class AdSet < AdObject api.has_param :summary, { list: 'string' } api.has_param :summary_action_breakdowns, { list: { enum: -> { AdsInsights::SUMMARY_ACTION_BREAKDOWNS }} } api.has_param :time_increment, 'string' - api.has_param :time_range, 'object' - api.has_param :time_ranges, { list: 'object' } + api.has_param :time_range, 'hash' + api.has_param :time_ranges, { list: 'hash' } api.has_param :use_account_attribution_setting, 'bool' api.has_param :use_unified_attribution_setting, 'bool' end diff --git a/lib/facebook_ads/ad_objects/ad_video.rb b/lib/facebook_ads/ad_objects/ad_video.rb index 54da4fb3..d32e44c2 100644 --- a/lib/facebook_ads/ad_objects/ad_video.rb +++ b/lib/facebook_ads/ad_objects/ad_video.rb @@ -34,7 +34,6 @@ class AdVideo < AdObject "AUDIO_COMMENT", "BROADCAST", "BULLETIN_ARTICLE_AUDIO", - "CANDIDATE_VIDEOS_DELETED", "CANVAS", "CFC_VIDEO", "CMS_MEDIA_MANAGER", @@ -81,7 +80,6 @@ class AdVideo < AdObject "GROUP_POST", "HACK_TV", "HEURISTIC_CLUSTER_VIDEO", - "HEURISTIC_PREVIEW", "HIGHLIGHT_CLIP_VIDEO", "HUDDLE_BROADCAST", "IG_REELS_XPV", @@ -97,7 +95,6 @@ class AdVideo < AdObject "JOBS_VISUAL_INTRO_ENTRY", "JOB_APPLICATION_VIDEO", "JOB_OPENING_VIDEO", - "KOTOTORO", "LEARN", "LEGACY", "LEGACY_CONTAINED_POST_BROADCAST", @@ -153,6 +150,7 @@ class AdVideo < AdObject "PROFILE_INTRO_CARD", "PROFILE_VIDEO", "PROTON", + "QUICK_CLIP_WORKPLACE_POST", "QUICK_PROMOTION", "REPLACE_VIDEO", "SALES_CLIENT_INTERACTION", @@ -161,7 +159,6 @@ class AdVideo < AdObject "SLIDESHOW_ANIMOTO", "SLIDESHOW_SHAKR", "SLIDESHOW_VARIATION_VIDEO", - "SOTTO_CONTENT", "SOUNDBITES_VIDEO", "SOUND_PLATFORM_STREAM", "SRT_ATTACHMENT", @@ -244,6 +241,32 @@ class AdVideo < AdObject "transfer", ] + VALIDATION_AD_PLACEMENTS = [ + "AUDIENCE_NETWORK_INSTREAM_VIDEO", + "AUDIENCE_NETWORK_INSTREAM_VIDEO_MOBILE", + "AUDIENCE_NETWORK_REWARDED_VIDEO", + "DESKTOP_FEED_STANDARD", + "FACEBOOK_STORY_MOBILE", + "FACEBOOK_STORY_STICKER_MOBILE", + "INSTAGRAM_STANDARD", + "INSTAGRAM_STORY", + "INSTANT_ARTICLE_STANDARD", + "INSTREAM_BANNER_DESKTOP", + "INSTREAM_BANNER_MOBILE", + "INSTREAM_VIDEO_DESKTOP", + "INSTREAM_VIDEO_IMAGE", + "INSTREAM_VIDEO_MOBILE", + "MESSENGER_MOBILE_INBOX_MEDIA", + "MESSENGER_MOBILE_STORY_MEDIA", + "MOBILE_FEED_STANDARD", + "MOBILE_FULLWIDTH", + "MOBILE_INTERSTITIAL", + "MOBILE_MEDIUM_RECTANGLE", + "MOBILE_NATIVE", + "RIGHT_COLUMN_STANDARD", + "SUGGESTED_VIDEO_MOBILE", + ] + TYPE = [ "tagged", "uploaded", @@ -294,9 +317,10 @@ class AdVideo < AdObject field :live_audience_count, 'int' field :live_status, 'string' field :music_video_copyright, 'MusicVideoCopyright' - field :permalink_url, 'object' + field :permalink_url, 'string' field :picture, 'string' field :place, 'Place' + field :post_id, 'string' field :post_views, 'int' field :premiere_living_room_status, 'string' field :privacy, 'Privacy' @@ -375,6 +399,9 @@ class AdVideo < AdObject field :video_id_original, 'string' field :video_start_time_ms, 'int' field :waterfall_id, 'string' + field :ad_placements_validation_only, 'bool' + field :creative_folder_id, 'string' + field :validation_ad_placements, { list: { enum: -> { VALIDATION_AD_PLACEMENTS }} } has_edge :captions do |edge| edge.get diff --git a/lib/facebook_ads/ad_objects/ads_action_stats.rb b/lib/facebook_ads/ad_objects/ads_action_stats.rb index d7611f8b..358b83d6 100644 --- a/lib/facebook_ads/ad_objects/ads_action_stats.rb +++ b/lib/facebook_ads/ad_objects/ads_action_stats.rb @@ -16,6 +16,7 @@ module FacebookAds class AdsActionStats < AdObject field :_1d_click, 'string' + field :_1d_ev, 'string' field :_1d_view, 'string' field :_28d_click, 'string' field :_28d_view, 'string' diff --git a/lib/facebook_ads/ad_objects/ads_histogram_stats.rb b/lib/facebook_ads/ad_objects/ads_histogram_stats.rb new file mode 100644 index 00000000..d97ca4bd --- /dev/null +++ b/lib/facebook_ads/ad_objects/ads_histogram_stats.rb @@ -0,0 +1,56 @@ +# Copyright (c) Meta Platforms, Inc. and affiliates. +# All rights reserved. + +# This source code is licensed under the license found in the +# LICENSE file in the root directory of this source tree. + +# FB:AUTOGEN + +module FacebookAds + # This class is auto-generated. + + # For any issues or feature requests related to this class, please let us know + # on github and we'll fix in our codegen framework. We'll not be able to accept + # pull request for this class. + + class AdsHistogramStats < AdObject + + field :_1d_click, { list: 'int' } + field :_1d_ev, { list: 'int' } + field :_1d_view, { list: 'int' } + field :_28d_click, { list: 'int' } + field :_28d_view, { list: 'int' } + field :_7d_click, { list: 'int' } + field :_7d_view, { list: 'int' } + field :action_brand, 'string' + field :action_canvas_component_id, 'string' + field :action_canvas_component_name, 'string' + field :action_carousel_card_id, 'string' + field :action_carousel_card_name, 'string' + field :action_category, 'string' + field :action_converted_product_id, 'string' + field :action_destination, 'string' + field :action_device, 'string' + field :action_event_channel, 'string' + field :action_link_click_destination, 'string' + field :action_location_code, 'string' + field :action_reaction, 'string' + field :action_target_id, 'string' + field :action_type, 'string' + field :action_video_asset_id, 'string' + field :action_video_sound, 'string' + field :action_video_type, 'string' + field :dda, { list: 'int' } + field :inline, { list: 'int' } + field :interactive_component_sticker_id, 'string' + field :interactive_component_sticker_response, 'string' + field :skan_click, { list: 'int' } + field :skan_view, { list: 'int' } + field :value, { list: 'int' } + has_no_id + has_no_get + has_no_post + has_no_delete + + end +end diff --git a/lib/facebook_ads/ad_objects/ads_insights.rb b/lib/facebook_ads/ad_objects/ads_insights.rb index 33f1e14b..446456d3 100644 --- a/lib/facebook_ads/ad_objects/ads_insights.rb +++ b/lib/facebook_ads/ad_objects/ads_insights.rb @@ -16,6 +16,7 @@ module FacebookAds class AdsInsights < AdObject ACTION_ATTRIBUTION_WINDOWS = [ "1d_click", + "1d_ev", "1d_view", "28d_click", "28d_view", @@ -38,6 +39,7 @@ class AdsInsights < AdObject "action_type", "action_video_sound", "action_video_type", + "standard_event_content_type", ] ACTION_REPORT_TIME = [ @@ -67,6 +69,7 @@ class AdsInsights < AdObject "impression_device", "is_conversion_id_modeled", "link_url_asset", + "marketing_messages_btn_name", "mmm", "place_page_id", "platform_position", @@ -77,6 +80,8 @@ class AdsInsights < AdObject "region", "skan_campaign_id", "skan_conversion_id", + "skan_version", + "standard_event_content_type", "title_asset", "video_asset", ] @@ -122,6 +127,7 @@ class AdsInsights < AdObject "action_type", "action_video_sound", "action_video_type", + "standard_event_content_type", ] @@ -208,6 +214,9 @@ class AdsInsights < AdObject field :interactive_component_tap, { list: 'AdsActionStats' } field :labels, 'string' field :location, 'string' + field :marketing_messages_cost_per_delivered, 'string' + field :marketing_messages_cost_per_link_btn_click, 'string' + field :marketing_messages_spend, 'string' field :mobile_app_purchase_roas, { list: 'AdsActionStats' } field :objective, 'string' field :optimization_goal, 'string' @@ -217,15 +226,12 @@ class AdsInsights < AdObject field :purchase_roas, { list: 'AdsActionStats' } field :qualifying_question_qualify_answer_rate, 'string' field :quality_ranking, 'string' - field :quality_score_ectr, 'string' - field :quality_score_ecvr, 'string' - field :quality_score_organic, 'string' field :reach, 'string' field :social_spend, 'string' field :spend, 'string' field :total_postbacks, 'string' field :total_postbacks_detailed, { list: 'AdsActionStats' } - field :total_postbacks_detailed_v4, 'string' + field :total_postbacks_detailed_v4, { list: 'AdsActionStats' } field :unique_actions, { list: 'AdsActionStats' } field :unique_clicks, 'string' field :unique_conversions, { list: 'AdsActionStats' } @@ -248,10 +254,10 @@ class AdsInsights < AdObject field :video_p75_watched_actions, { list: 'AdsActionStats' } field :video_p95_watched_actions, { list: 'AdsActionStats' } field :video_play_actions, { list: 'AdsActionStats' } - field :video_play_curve_actions, { list: 'object' } - field :video_play_retention_0_to_15s_actions, { list: 'object' } - field :video_play_retention_20_to_60s_actions, { list: 'object' } - field :video_play_retention_graph_actions, { list: 'object' } + field :video_play_curve_actions, { list: 'AdsHistogramStats' } + field :video_play_retention_0_to_15s_actions, { list: 'AdsHistogramStats' } + field :video_play_retention_20_to_60s_actions, { list: 'AdsHistogramStats' } + field :video_play_retention_graph_actions, { list: 'AdsHistogramStats' } field :video_thruplay_watched_actions, { list: 'AdsActionStats' } field :video_time_watched_actions, { list: 'AdsActionStats' } field :website_ctr, { list: 'AdsActionStats' } diff --git a/lib/facebook_ads/ad_objects/ads_pixel.rb b/lib/facebook_ads/ad_objects/ads_pixel.rb index f9704c65..4e66f4bf 100644 --- a/lib/facebook_ads/ad_objects/ads_pixel.rb +++ b/lib/facebook_ads/ad_objects/ads_pixel.rb @@ -85,6 +85,7 @@ class AdsPixel < AdObject field :owner_ad_account, 'AdAccount' field :owner_business, 'Business' field :usage, 'OfflineConversionDataSetUsage' + field :user_access_expire_time, 'datetime' field :valid_entries, 'int' has_no_delete diff --git a/lib/facebook_ads/ad_objects/album.rb b/lib/facebook_ads/ad_objects/album.rb index 5f06b617..27854924 100644 --- a/lib/facebook_ads/ad_objects/album.rb +++ b/lib/facebook_ads/ad_objects/album.rb @@ -23,12 +23,12 @@ class Album < AdObject field :cover_photo, 'Photo' field :created_time, 'datetime' field :description, 'string' - field :edit_link, 'object' + field :edit_link, 'string' field :event, 'Event' field :from, 'object' field :id, 'string' field :is_user_facing, 'bool' - field :link, 'object' + field :link, 'string' field :location, 'string' field :modified_major, 'datetime' field :name, 'string' diff --git a/lib/facebook_ads/ad_objects/application.rb b/lib/facebook_ads/ad_objects/application.rb index 8948fde1..94ff7cc2 100644 --- a/lib/facebook_ads/ad_objects/application.rb +++ b/lib/facebook_ads/ad_objects/application.rb @@ -154,6 +154,7 @@ class Application < AdObject field :privacy_policy_url, 'string' field :profile_section_url, 'string' field :property_id, 'string' + field :protected_mode_rules, 'object' field :real_time_mode_devices, { list: 'string' } field :restrictions, 'object' field :restrictive_data_filter_params, 'string' @@ -237,6 +238,7 @@ class Application < AdObject api.has_param :url_schemes, { list: 'string' } api.has_param :user_id, 'string' api.has_param :user_id_type, { enum: %w{INSTANT_GAMES_PLAYER_ID }} + api.has_param :vendor_id, 'string' api.has_param :windows_attribution_id, 'string' end end @@ -312,6 +314,7 @@ class Application < AdObject edge.post do |api| api.has_param :app_id, 'int' api.has_param :is_aem_ready, 'bool' + api.has_param :is_app_aem_install_ready, 'bool' api.has_param :is_app_aem_ready, 'bool' api.has_param :is_skan_ready, 'bool' api.has_param :message, 'string' @@ -393,6 +396,12 @@ class Application < AdObject end end + has_edge :banned do |edge| + edge.get 'User' do |api| + api.has_param :uid, 'int' + end + end + has_edge :button_auto_detection_device_selection do |edge| edge.get do |api| api.has_param :device_id, 'string' @@ -529,6 +538,10 @@ class Application < AdObject edge.get end + has_edge :server_domain_infos do |edge| + edge.get + end + has_edge :subscribed_domains do |edge| edge.get edge.post 'Application' do |api| diff --git a/lib/facebook_ads/ad_objects/avatar.rb b/lib/facebook_ads/ad_objects/avatar.rb new file mode 100644 index 00000000..0e879e65 --- /dev/null +++ b/lib/facebook_ads/ad_objects/avatar.rb @@ -0,0 +1,34 @@ +# Copyright (c) Meta Platforms, Inc. and affiliates. +# All rights reserved. + +# This source code is licensed under the license found in the +# LICENSE file in the root directory of this source tree. + +# FB:AUTOGEN + +module FacebookAds + # This class is auto-generated. + + # For any issues or feature requests related to this class, please let us know + # on github and we'll fix in our codegen framework. We'll not be able to accept + # pull request for this class. + + class Avatar < AdObject + + field :id, 'string' + has_no_post + has_no_delete + + has_edge :models do |edge| + edge.get do |api| + api.has_param :client_name, 'string' + api.has_param :client_version, 'string' + api.has_param :force_generate, 'bool' + api.has_param :platform, 'string' + api.has_param :profile, 'string' + api.has_param :sdk_version, 'string' + end + end + + end +end diff --git a/lib/facebook_ads/ad_objects/shop_order.rb b/lib/facebook_ads/ad_objects/avatar_profile_picture.rb similarity index 88% rename from lib/facebook_ads/ad_objects/shop_order.rb rename to lib/facebook_ads/ad_objects/avatar_profile_picture.rb index ac0e293d..dcfc4221 100644 --- a/lib/facebook_ads/ad_objects/shop_order.rb +++ b/lib/facebook_ads/ad_objects/avatar_profile_picture.rb @@ -13,10 +13,10 @@ module FacebookAds # on github and we'll fix in our codegen framework. We'll not be able to accept # pull request for this class. - class ShopOrder < AdObject + class AvatarProfilePicture < AdObject - field :creation_time, 'datetime' field :id, 'string' + field :url, 'string' has_no_post has_no_delete diff --git a/lib/facebook_ads/ad_objects/business.rb b/lib/facebook_ads/ad_objects/business.rb index b0b05b0b..b18f369c 100644 --- a/lib/facebook_ads/ad_objects/business.rb +++ b/lib/facebook_ads/ad_objects/business.rb @@ -332,6 +332,7 @@ class Business < AdObject field :two_factor_type, 'string' field :updated_by, 'object' field :updated_time, 'datetime' + field :user_access_expire_time, 'datetime' field :verification_status, 'string' field :vertical, 'string' field :vertical_id, 'int' @@ -586,6 +587,14 @@ class Business < AdObject edge.get 'CpasMerchantConfig' end + has_edge :creative_folders do |edge| + edge.post 'BusinessCreativeFolder' do |api| + api.has_param :description, 'string' + api.has_param :name, 'string' + api.has_param :parent_folder_id, 'string' + end + end + has_edge :creditcards do |edge| edge.get 'CreditCard' end @@ -628,6 +637,16 @@ class Business < AdObject end end + has_edge :images do |edge| + edge.post 'BusinessImage' do |api| + api.has_param :ad_placements_validation_only, 'bool' + api.has_param :bytes, 'string' + api.has_param :creative_folder_id, 'string' + api.has_param :name, 'string' + api.has_param :validation_ad_placements, { list: { enum: -> { BusinessImage::VALIDATION_AD_PLACEMENTS }} } + end + end + has_edge :initiated_audience_sharing_requests do |edge| edge.get 'BusinessAssetSharingAgreement' do |api| api.has_param :recipient_id, 'string' @@ -690,6 +709,7 @@ class Business < AdObject api.has_param :no_ad_account, 'bool' api.has_param :page_name, 'string' api.has_param :page_profile_image_url, 'string' + api.has_param :partition_type, { enum: %w{AUTH FIXED FIXED_WITHOUT_PARTITION }} api.has_param :partner_facebook_page_url, 'string' api.has_param :partner_registration_countries, { list: 'string' } api.has_param :sales_rep_email, 'string' @@ -814,6 +834,10 @@ class Business < AdObject end end + has_edge :partner_account_linking do |edge| + edge.get + end + has_edge :partner_premium_options do |edge| edge.post do |api| api.has_param :catalog_segment_id, 'string' @@ -893,6 +917,27 @@ class Business < AdObject end end + has_edge :share_preverified_numbers do |edge| + edge.delete do |api| + api.has_param :partner_business_id, 'string' + api.has_param :preverified_id, 'string' + end + edge.post 'Business' do |api| + api.has_param :partner_business_id, 'string' + api.has_param :preverified_id, 'string' + end + end + + has_edge :system_user_access_tokens do |edge| + edge.post 'Business' do |api| + api.has_param :asset, { list: 'int' } + api.has_param :fetch_only, 'bool' + api.has_param :scope, { list: 'Permission' } + api.has_param :set_token_expires_in_60_days, 'bool' + api.has_param :system_user_id, 'int' + end + end + has_edge :system_users do |edge| edge.get 'SystemUser' edge.post 'SystemUser' do |api| @@ -906,5 +951,84 @@ class Business < AdObject edge.get end + has_edge :videos do |edge| + edge.post 'AdVideo' do |api| + api.has_param :ad_placements_validation_only, 'bool' + api.has_param :adaptive_type, 'string' + api.has_param :animated_effect_id, 'int' + api.has_param :application_id, 'string' + api.has_param :asked_fun_fact_prompt_id, 'int' + api.has_param :audio_story_wave_animation_handle, 'string' + api.has_param :chunk_session_id, 'string' + api.has_param :composer_entry_picker, 'string' + api.has_param :composer_entry_point, 'string' + api.has_param :composer_entry_time, 'int' + api.has_param :composer_session_events_log, 'string' + api.has_param :composer_session_id, 'string' + api.has_param :composer_source_surface, 'string' + api.has_param :composer_type, 'string' + api.has_param :container_type, { enum: -> { AdVideo::CONTAINER_TYPE }} + api.has_param :content_category, { enum: -> { AdVideo::CONTENT_CATEGORY }} + api.has_param :creative_folder_id, 'string' + api.has_param :creative_tools, 'string' + api.has_param :description, 'string' + api.has_param :embeddable, 'bool' + api.has_param :end_offset, 'int' + api.has_param :fbuploader_video_file_chunk, 'string' + api.has_param :file_size, 'int' + api.has_param :file_url, 'string' + api.has_param :fisheye_video_cropped, 'bool' + api.has_param :formatting, { enum: -> { AdVideo::FORMATTING }} + api.has_param :fov, 'int' + api.has_param :front_z_rotation, 'double' + api.has_param :fun_fact_prompt_id, 'int' + api.has_param :fun_fact_toastee_id, 'int' + api.has_param :guide, { list: { list: 'int' } } + api.has_param :guide_enabled, 'bool' + api.has_param :has_nickname, 'bool' + api.has_param :holiday_card, 'string' + api.has_param :initial_heading, 'int' + api.has_param :initial_pitch, 'int' + api.has_param :instant_game_entry_point_data, 'string' + api.has_param :is_boost_intended, 'bool' + api.has_param :is_group_linking_post, 'bool' + api.has_param :is_voice_clip, 'bool' + api.has_param :location_source_id, 'string' + api.has_param :offer_like_post_id, 'int' + api.has_param :og_action_type_id, 'string' + api.has_param :og_icon_id, 'string' + api.has_param :og_object_id, 'string' + api.has_param :og_phrase, 'string' + api.has_param :og_suggestion_mechanism, 'string' + api.has_param :original_fov, 'int' + api.has_param :original_projection_type, { enum: -> { AdVideo::ORIGINAL_PROJECTION_TYPE }} + api.has_param :publish_event_id, 'int' + api.has_param :react_mode_metadata, 'string' + api.has_param :referenced_sticker_id, 'string' + api.has_param :replace_video_id, 'string' + api.has_param :slideshow_spec, 'hash' + api.has_param :source, 'string' + api.has_param :source_instagram_media_id, 'string' + api.has_param :spherical, 'bool' + api.has_param :start_offset, 'int' + api.has_param :swap_mode, { enum: -> { AdVideo::SWAP_MODE }} + api.has_param :text_format_metadata, 'string' + api.has_param :throwback_camera_roll_media, 'string' + api.has_param :thumb, 'file' + api.has_param :time_since_original_post, 'int' + api.has_param :title, 'string' + api.has_param :transcode_setting_properties, 'string' + api.has_param :unpublished_content_type, { enum: -> { AdVideo::UNPUBLISHED_CONTENT_TYPE }} + api.has_param :upload_phase, { enum: -> { AdVideo::UPLOAD_PHASE }} + api.has_param :upload_session_id, 'string' + api.has_param :upload_setting_properties, 'string' + api.has_param :validation_ad_placements, { list: { enum: -> { AdVideo::VALIDATION_AD_PLACEMENTS }} } + api.has_param :video_file_chunk, 'string' + api.has_param :video_id_original, 'string' + api.has_param :video_start_time_ms, 'int' + api.has_param :waterfall_id, 'string' + end + end + end end diff --git a/lib/facebook_ads/ad_objects/business_creative_folder.rb b/lib/facebook_ads/ad_objects/business_creative_folder.rb new file mode 100644 index 00000000..4b31c1b7 --- /dev/null +++ b/lib/facebook_ads/ad_objects/business_creative_folder.rb @@ -0,0 +1,31 @@ +# Copyright (c) Meta Platforms, Inc. and affiliates. +# All rights reserved. + +# This source code is licensed under the license found in the +# LICENSE file in the root directory of this source tree. + +# FB:AUTOGEN + +module FacebookAds + # This class is auto-generated. + + # For any issues or feature requests related to this class, please let us know + # on github and we'll fix in our codegen framework. We'll not be able to accept + # pull request for this class. + + class BusinessCreativeFolder < AdObject + + field :business, 'Business' + field :creation_time, 'datetime' + field :creative_insight_permissions, { list: 'hash' } + field :description, 'string' + field :id, 'string' + field :media_library_url, 'string' + field :name, 'string' + field :owner_business, 'Business' + field :parent_folder_id, 'string' + has_no_post + has_no_delete + + end +end diff --git a/lib/facebook_ads/ad_objects/business_image.rb b/lib/facebook_ads/ad_objects/business_image.rb index 032ae1d7..998b849a 100644 --- a/lib/facebook_ads/ad_objects/business_image.rb +++ b/lib/facebook_ads/ad_objects/business_image.rb @@ -14,6 +14,32 @@ module FacebookAds # pull request for this class. class BusinessImage < AdObject + VALIDATION_AD_PLACEMENTS = [ + "AUDIENCE_NETWORK_INSTREAM_VIDEO", + "AUDIENCE_NETWORK_INSTREAM_VIDEO_MOBILE", + "AUDIENCE_NETWORK_REWARDED_VIDEO", + "DESKTOP_FEED_STANDARD", + "FACEBOOK_STORY_MOBILE", + "FACEBOOK_STORY_STICKER_MOBILE", + "INSTAGRAM_STANDARD", + "INSTAGRAM_STORY", + "INSTANT_ARTICLE_STANDARD", + "INSTREAM_BANNER_DESKTOP", + "INSTREAM_BANNER_MOBILE", + "INSTREAM_VIDEO_DESKTOP", + "INSTREAM_VIDEO_IMAGE", + "INSTREAM_VIDEO_MOBILE", + "MESSENGER_MOBILE_INBOX_MEDIA", + "MESSENGER_MOBILE_STORY_MEDIA", + "MOBILE_FEED_STANDARD", + "MOBILE_FULLWIDTH", + "MOBILE_INTERSTITIAL", + "MOBILE_MEDIUM_RECTANGLE", + "MOBILE_NATIVE", + "RIGHT_COLUMN_STANDARD", + "SUGGESTED_VIDEO_MOBILE", + ] + field :business, 'Business' field :creation_time, 'datetime' @@ -25,6 +51,10 @@ class BusinessImage < AdObject field :url, 'string' field :url_128, 'string' field :width, 'int' + field :ad_placements_validation_only, 'bool' + field :bytes, 'string' + field :creative_folder_id, 'string' + field :validation_ad_placements, { list: { enum: -> { VALIDATION_AD_PLACEMENTS }} } has_no_post has_no_delete diff --git a/lib/facebook_ads/ad_objects/business_video.rb b/lib/facebook_ads/ad_objects/business_video.rb new file mode 100644 index 00000000..b97a1d26 --- /dev/null +++ b/lib/facebook_ads/ad_objects/business_video.rb @@ -0,0 +1,27 @@ +# Copyright (c) Meta Platforms, Inc. and affiliates. +# All rights reserved. + +# This source code is licensed under the license found in the +# LICENSE file in the root directory of this source tree. + +# FB:AUTOGEN + +module FacebookAds + # This class is auto-generated. + + # For any issues or feature requests related to this class, please let us know + # on github and we'll fix in our codegen framework. We'll not be able to accept + # pull request for this class. + + class BusinessVideo < AdObject + + field :business, 'Business' + field :id, 'string' + field :media_library_url, 'string' + field :name, 'string' + field :video, 'AdVideo' + has_no_post + has_no_delete + + end +end diff --git a/lib/facebook_ads/ad_objects/campaign.rb b/lib/facebook_ads/ad_objects/campaign.rb index df5528d3..bf9d3107 100644 --- a/lib/facebook_ads/ad_objects/campaign.rb +++ b/lib/facebook_ads/ad_objects/campaign.rb @@ -400,6 +400,7 @@ class Campaign < AdObject field :effective_status, { enum: -> { EFFECTIVE_STATUS }} field :has_secondary_skadnetwork_reporting, 'bool' field :id, 'string' + field :is_budget_schedule_enabled, 'bool' field :is_skadnetwork_attribution, 'bool' field :issues_info, { list: 'AdCampaignIssuesInfo' } field :last_budget_toggling_time, 'datetime' @@ -447,7 +448,7 @@ class Campaign < AdObject edge.get 'Ad' do |api| api.has_param :date_preset, { enum: -> { Ad::DATE_PRESET }} api.has_param :effective_status, { list: 'string' } - api.has_param :time_range, 'object' + api.has_param :time_range, 'hash' api.has_param :updated_since, 'int' end end @@ -457,7 +458,7 @@ class Campaign < AdObject api.has_param :date_preset, { enum: -> { AdSet::DATE_PRESET }} api.has_param :effective_status, { list: { enum: -> { AdSet::EFFECTIVE_STATUS }} } api.has_param :is_completed, 'bool' - api.has_param :time_range, 'object' + api.has_param :time_range, 'hash' end end @@ -466,7 +467,7 @@ class Campaign < AdObject api.has_param :date_preset, { enum: -> { Campaign::DATE_PRESET }} api.has_param :effective_status, { list: { enum: -> { Campaign::EFFECTIVE_STATUS }} } api.has_param :is_completed, 'bool' - api.has_param :time_range, 'object' + api.has_param :time_range, 'hash' end edge.post 'Campaign' do |api| api.has_param :deep_copy, 'bool' @@ -496,8 +497,8 @@ class Campaign < AdObject api.has_param :summary, { list: 'string' } api.has_param :summary_action_breakdowns, { list: { enum: -> { AdsInsights::SUMMARY_ACTION_BREAKDOWNS }} } api.has_param :time_increment, 'string' - api.has_param :time_range, 'object' - api.has_param :time_ranges, { list: 'object' } + api.has_param :time_range, 'hash' + api.has_param :time_ranges, { list: 'hash' } api.has_param :use_account_attribution_setting, 'bool' api.has_param :use_unified_attribution_setting, 'bool' end @@ -519,8 +520,8 @@ class Campaign < AdObject api.has_param :summary, { list: 'string' } api.has_param :summary_action_breakdowns, { list: { enum: -> { AdsInsights::SUMMARY_ACTION_BREAKDOWNS }} } api.has_param :time_increment, 'string' - api.has_param :time_range, 'object' - api.has_param :time_ranges, { list: 'object' } + api.has_param :time_range, 'hash' + api.has_param :time_ranges, { list: 'hash' } api.has_param :use_account_attribution_setting, 'bool' api.has_param :use_unified_attribution_setting, 'bool' end diff --git a/lib/facebook_ads/ad_objects/catalog_item_appeal_status.rb b/lib/facebook_ads/ad_objects/catalog_item_appeal_status.rb index 53ec845e..c784c988 100644 --- a/lib/facebook_ads/ad_objects/catalog_item_appeal_status.rb +++ b/lib/facebook_ads/ad_objects/catalog_item_appeal_status.rb @@ -17,8 +17,8 @@ class CatalogItemAppealStatus < AdObject STATUS = [ "This item cannot be appealed as it is either approved or already has an appeal", "This item is not rejected for any of channels", - "Weve encountered unexpected error while processing this request. Please try again later !", - "Youve reached the maximum number of item requests you can make this week. Youll be able to request item reviews again within the next 7 days.", + "We've encountered unexpected error while processing this request. Please try again later !", + "You've reached the maximum number of item requests you can make this week. You'll be able to request item reviews again within the next 7 days.", "Your request was received. See information below to learn more.", ] diff --git a/lib/facebook_ads/ad_objects/comment.rb b/lib/facebook_ads/ad_objects/comment.rb index 892bce2f..08fdff4b 100644 --- a/lib/facebook_ads/ad_objects/comment.rb +++ b/lib/facebook_ads/ad_objects/comment.rb @@ -64,7 +64,7 @@ class Comment < AdObject field :message_tags, { list: 'EntityAtTextRange' } field :object, 'object' field :parent, 'Comment' - field :permalink_url, 'object' + field :permalink_url, 'string' field :private_reply_conversation, 'object' field :user_likes, 'bool' diff --git a/lib/facebook_ads/ad_objects/custom_audience.rb b/lib/facebook_ads/ad_objects/custom_audience.rb index b9bf26bd..5b3b794e 100644 --- a/lib/facebook_ads/ad_objects/custom_audience.rb +++ b/lib/facebook_ads/ad_objects/custom_audience.rb @@ -64,6 +64,7 @@ class CustomAudience < AdObject "PRIMARY", "REGULATED_CATEGORIES_AUDIENCE", "STUDY_RULE_AUDIENCE", + "SUBSCRIBER_SEGMENT", "VIDEO", "WEBSITE", ] diff --git a/lib/facebook_ads/ad_objects/dataset.rb b/lib/facebook_ads/ad_objects/dataset.rb new file mode 100644 index 00000000..77bebc47 --- /dev/null +++ b/lib/facebook_ads/ad_objects/dataset.rb @@ -0,0 +1,24 @@ +# Copyright (c) Meta Platforms, Inc. and affiliates. +# All rights reserved. + +# This source code is licensed under the license found in the +# LICENSE file in the root directory of this source tree. + +# FB:AUTOGEN + +module FacebookAds + # This class is auto-generated. + + # For any issues or feature requests related to this class, please let us know + # on github and we'll fix in our codegen framework. We'll not be able to accept + # pull request for this class. + + class Dataset < AdObject + + field :id, 'string' + has_no_get + has_no_post + has_no_delete + + end +end diff --git a/lib/facebook_ads/ad_objects/extended_credit_allocation_config.rb b/lib/facebook_ads/ad_objects/extended_credit_allocation_config.rb index c56b523d..27624710 100644 --- a/lib/facebook_ads/ad_objects/extended_credit_allocation_config.rb +++ b/lib/facebook_ads/ad_objects/extended_credit_allocation_config.rb @@ -24,6 +24,7 @@ class ExtendedCreditAllocationConfig < AdObject PARTITION_TYPE = [ "AUTH", "FIXED", + "FIXED_WITHOUT_PARTITION", ] SEND_BILL_TO = [ diff --git a/lib/facebook_ads/ad_objects/group.rb b/lib/facebook_ads/ad_objects/group.rb index 7a1fdc3e..6a1ef2ba 100644 --- a/lib/facebook_ads/ad_objects/group.rb +++ b/lib/facebook_ads/ad_objects/group.rb @@ -131,6 +131,7 @@ class Group < AdObject api.has_param :name, 'string' api.has_param :place, 'object' api.has_param :privacy, 'string' + api.has_param :session_id, 'string' api.has_param :tags, { list: 'int' } api.has_param :visible, 'string' end @@ -177,7 +178,6 @@ class Group < AdObject api.has_param :backdated_time_granularity, { enum: -> { Post::BACKDATED_TIME_GRANULARITY }} api.has_param :call_to_action, 'object' api.has_param :caption, 'string' - api.has_param :checkin_entry_point, { enum: -> { Post::CHECKIN_ENTRY_POINT }} api.has_param :child_attachments, { list: 'object' } api.has_param :client_mutation_id, 'string' api.has_param :composer_entry_picker, 'string' @@ -284,11 +284,11 @@ class Group < AdObject edge.post 'Group' do |api| api.has_param :admin, 'int' api.has_param :description, 'string' - api.has_param :group_icon_id, 'object' + api.has_param :group_icon_id, 'string' api.has_param :group_type, { enum: -> { Group::GROUP_TYPE }} api.has_param :join_setting, { enum: -> { Group::JOIN_SETTING }} api.has_param :name, 'string' - api.has_param :parent_id, 'object' + api.has_param :parent_id, 'string' api.has_param :post_permissions, { enum: -> { Group::POST_PERMISSIONS }} api.has_param :post_requires_admin_approval, 'bool' api.has_param :privacy, 'string' diff --git a/lib/facebook_ads/ad_objects/high_demand_period.rb b/lib/facebook_ads/ad_objects/high_demand_period.rb new file mode 100644 index 00000000..f7a6b63b --- /dev/null +++ b/lib/facebook_ads/ad_objects/high_demand_period.rb @@ -0,0 +1,33 @@ +# Copyright (c) Meta Platforms, Inc. and affiliates. +# All rights reserved. + +# This source code is licensed under the license found in the +# LICENSE file in the root directory of this source tree. + +# FB:AUTOGEN + +module FacebookAds + # This class is auto-generated. + + # For any issues or feature requests related to this class, please let us know + # on github and we'll fix in our codegen framework. We'll not be able to accept + # pull request for this class. + + class HighDemandPeriod < AdObject + BUDGET_VALUE_TYPE = [ + "ABSOLUTE", + "MULTIPLIER", + ] + + + field :ad_object_id, 'string' + field :budget_value, 'int' + field :budget_value_type, 'string' + field :id, 'string' + field :recurrence_type, 'string' + field :time_end, 'datetime' + field :time_start, 'datetime' + field :weekly_schedule, { list: 'HighDemandPeriodTimeSuggestionWeeklySegment' } + + end +end diff --git a/lib/facebook_ads/ad_objects/high_demand_period_time_suggestion_weekly_segment.rb b/lib/facebook_ads/ad_objects/high_demand_period_time_suggestion_weekly_segment.rb new file mode 100644 index 00000000..8d1d03e8 --- /dev/null +++ b/lib/facebook_ads/ad_objects/high_demand_period_time_suggestion_weekly_segment.rb @@ -0,0 +1,28 @@ +# Copyright (c) Meta Platforms, Inc. and affiliates. +# All rights reserved. + +# This source code is licensed under the license found in the +# LICENSE file in the root directory of this source tree. + +# FB:AUTOGEN + +module FacebookAds + # This class is auto-generated. + + # For any issues or feature requests related to this class, please let us know + # on github and we'll fix in our codegen framework. We'll not be able to accept + # pull request for this class. + + class HighDemandPeriodTimeSuggestionWeeklySegment < AdObject + + field :days, { list: 'string' } + field :end_minute, 'int' + field :start_minute, 'int' + field :timezone_type, 'string' + has_no_id + has_no_get + has_no_post + has_no_delete + + end +end diff --git a/lib/facebook_ads/ad_objects/ig_shopping_review_status.rb b/lib/facebook_ads/ad_objects/ig_shopping_review_status.rb new file mode 100644 index 00000000..feeef890 --- /dev/null +++ b/lib/facebook_ads/ad_objects/ig_shopping_review_status.rb @@ -0,0 +1,27 @@ +# Copyright (c) Meta Platforms, Inc. and affiliates. +# All rights reserved. + +# This source code is licensed under the license found in the +# LICENSE file in the root directory of this source tree. + +# FB:AUTOGEN + +module FacebookAds + # This class is auto-generated. + + # For any issues or feature requests related to this class, please let us know + # on github and we'll fix in our codegen framework. We'll not be able to accept + # pull request for this class. + + class IgShoppingReviewStatus < AdObject + + field :onsite_eligibility, 'IgShoppingReviewStatusOnsiteEligibility' + field :reasons, { list: 'IgShoppingReviewStatusReasonWithHelpMessage' } + field :status, 'string' + has_no_id + has_no_get + has_no_post + has_no_delete + + end +end diff --git a/lib/facebook_ads/ad_objects/ig_shopping_review_status_onsite_eligibility.rb b/lib/facebook_ads/ad_objects/ig_shopping_review_status_onsite_eligibility.rb new file mode 100644 index 00000000..0818b754 --- /dev/null +++ b/lib/facebook_ads/ad_objects/ig_shopping_review_status_onsite_eligibility.rb @@ -0,0 +1,26 @@ +# Copyright (c) Meta Platforms, Inc. and affiliates. +# All rights reserved. + +# This source code is licensed under the license found in the +# LICENSE file in the root directory of this source tree. + +# FB:AUTOGEN + +module FacebookAds + # This class is auto-generated. + + # For any issues or feature requests related to this class, please let us know + # on github and we'll fix in our codegen framework. We'll not be able to accept + # pull request for this class. + + class IgShoppingReviewStatusOnsiteEligibility < AdObject + + field :is_eligible, 'bool' + field :reasons, { list: 'IgShoppingReviewStatusReasonWithHelpMessage' } + has_no_id + has_no_get + has_no_post + has_no_delete + + end +end diff --git a/lib/facebook_ads/ad_objects/ig_shopping_review_status_reason_with_help_message.rb b/lib/facebook_ads/ad_objects/ig_shopping_review_status_reason_with_help_message.rb new file mode 100644 index 00000000..89e6c6a2 --- /dev/null +++ b/lib/facebook_ads/ad_objects/ig_shopping_review_status_reason_with_help_message.rb @@ -0,0 +1,27 @@ +# Copyright (c) Meta Platforms, Inc. and affiliates. +# All rights reserved. + +# This source code is licensed under the license found in the +# LICENSE file in the root directory of this source tree. + +# FB:AUTOGEN + +module FacebookAds + # This class is auto-generated. + + # For any issues or feature requests related to this class, please let us know + # on github and we'll fix in our codegen framework. We'll not be able to accept + # pull request for this class. + + class IgShoppingReviewStatusReasonWithHelpMessage < AdObject + + field :code, 'string' + field :help_url, 'string' + field :message, 'string' + has_no_id + has_no_get + has_no_post + has_no_delete + + end +end diff --git a/lib/facebook_ads/ad_objects/ig_user.rb b/lib/facebook_ads/ad_objects/ig_user.rb index 76b45767..a87962d3 100644 --- a/lib/facebook_ads/ad_objects/ig_user.rb +++ b/lib/facebook_ads/ad_objects/ig_user.rb @@ -51,6 +51,10 @@ class IgUser < AdObject end end + has_edge :dataset do |edge| + edge.get 'Dataset' + end + has_edge :insights do |edge| edge.get 'InstagramInsightsResult' do |api| api.has_param :breakdown, { list: { enum: -> { InstagramInsightsResult::BREAKDOWN }} } @@ -79,6 +83,7 @@ class IgUser < AdObject api.has_param :audio_name, 'string' api.has_param :caption, 'string' api.has_param :children, { list: 'string' } + api.has_param :collaborators, { list: 'string' } api.has_param :cover_url, 'string' api.has_param :image_url, 'string' api.has_param :is_carousel_item, 'bool' diff --git a/lib/facebook_ads/ad_objects/instagram_carousel.rb b/lib/facebook_ads/ad_objects/instagram_carousel.rb new file mode 100644 index 00000000..e7cfb5ed --- /dev/null +++ b/lib/facebook_ads/ad_objects/instagram_carousel.rb @@ -0,0 +1,40 @@ +# Copyright (c) Meta Platforms, Inc. and affiliates. +# All rights reserved. + +# This source code is licensed under the license found in the +# LICENSE file in the root directory of this source tree. + +# FB:AUTOGEN + +module FacebookAds + # This class is auto-generated. + + # For any issues or feature requests related to this class, please let us know + # on github and we'll fix in our codegen framework. We'll not be able to accept + # pull request for this class. + + class InstagramCarousel < AdObject + + field :caption_text, 'string' + field :comment_count, 'int' + field :content_type, 'int' + field :display_url, 'string' + field :id, 'string' + field :like_count, 'int' + field :owner_instagram_user, 'InstagramUser' + field :permalink, 'string' + field :taken_at, 'datetime' + field :video_url, 'string' + has_no_post + has_no_delete + + has_edge :comments do |edge| + edge.get 'InstagramComment' + edge.post 'InstagramComment' do |api| + api.has_param :ad_id, 'string' + api.has_param :message, 'string' + end + end + + end +end diff --git a/lib/facebook_ads/ad_objects/instagram_comment.rb b/lib/facebook_ads/ad_objects/instagram_comment.rb new file mode 100644 index 00000000..7e7615a3 --- /dev/null +++ b/lib/facebook_ads/ad_objects/instagram_comment.rb @@ -0,0 +1,35 @@ +# Copyright (c) Meta Platforms, Inc. and affiliates. +# All rights reserved. + +# This source code is licensed under the license found in the +# LICENSE file in the root directory of this source tree. + +# FB:AUTOGEN + +module FacebookAds + # This class is auto-generated. + + # For any issues or feature requests related to this class, please let us know + # on github and we'll fix in our codegen framework. We'll not be able to accept + # pull request for this class. + + class InstagramComment < AdObject + + field :comment_type, 'string' + field :created_at, 'datetime' + field :id, 'string' + field :instagram_comment_id, 'string' + field :instagram_user, 'InstagramUser' + field :mentioned_instagram_users, { list: 'InstagramUser' } + field :message, 'string' + + has_edge :replies do |edge| + edge.get 'InstagramComment' + edge.post 'InstagramComment' do |api| + api.has_param :ad_id, 'string' + api.has_param :message, 'string' + end + end + + end +end diff --git a/lib/facebook_ads/ad_objects/instagram_insights_result.rb b/lib/facebook_ads/ad_objects/instagram_insights_result.rb index ab1105ed..054cdcf7 100644 --- a/lib/facebook_ads/ad_objects/instagram_insights_result.rb +++ b/lib/facebook_ads/ad_objects/instagram_insights_result.rb @@ -31,6 +31,8 @@ class InstagramInsightsResult < AdObject "engagement", "exits", "follows", + "ig_reels_avg_watch_time", + "ig_reels_video_view_total_time", "impressions", "likes", "navigation", diff --git a/lib/facebook_ads/ad_objects/instagram_media.rb b/lib/facebook_ads/ad_objects/instagram_media.rb new file mode 100644 index 00000000..28d77260 --- /dev/null +++ b/lib/facebook_ads/ad_objects/instagram_media.rb @@ -0,0 +1,45 @@ +# Copyright (c) Meta Platforms, Inc. and affiliates. +# All rights reserved. + +# This source code is licensed under the license found in the +# LICENSE file in the root directory of this source tree. + +# FB:AUTOGEN + +module FacebookAds + # This class is auto-generated. + + # For any issues or feature requests related to this class, please let us know + # on github and we'll fix in our codegen framework. We'll not be able to accept + # pull request for this class. + + class InstagramMedia < AdObject + + field :caption_text, 'string' + field :comment_count, 'int' + field :content_type, 'int' + field :display_url, 'string' + field :filter_name, 'string' + field :id, 'string' + field :latitude, 'double' + field :like_count, 'int' + field :location, 'Location' + field :location_name, 'string' + field :longitude, 'double' + field :owner_instagram_user, 'InstagramUser' + field :permalink, 'string' + field :taken_at, 'datetime' + field :video_url, 'string' + has_no_post + has_no_delete + + has_edge :comments do |edge| + edge.get 'InstagramComment' + edge.post 'InstagramComment' do |api| + api.has_param :ad_id, 'string' + api.has_param :message, 'string' + end + end + + end +end diff --git a/lib/facebook_ads/ad_objects/instagram_user.rb b/lib/facebook_ads/ad_objects/instagram_user.rb index b0dd862a..d6c20933 100644 --- a/lib/facebook_ads/ad_objects/instagram_user.rb +++ b/lib/facebook_ads/ad_objects/instagram_user.rb @@ -33,6 +33,10 @@ class InstagramUser < AdObject edge.get 'Business' end + has_edge :ar_effects do |edge| + edge.get + end + has_edge :authorized_adaccounts do |edge| edge.get 'AdAccount' do |api| api.has_param :business, 'string' diff --git a/lib/facebook_ads/ad_objects/instagram_video_metadata.rb b/lib/facebook_ads/ad_objects/instagram_video_metadata.rb new file mode 100644 index 00000000..6bfedc1a --- /dev/null +++ b/lib/facebook_ads/ad_objects/instagram_video_metadata.rb @@ -0,0 +1,27 @@ +# Copyright (c) Meta Platforms, Inc. and affiliates. +# All rights reserved. + +# This source code is licensed under the license found in the +# LICENSE file in the root directory of this source tree. + +# FB:AUTOGEN + +module FacebookAds + # This class is auto-generated. + + # For any issues or feature requests related to this class, please let us know + # on github and we'll fix in our codegen framework. We'll not be able to accept + # pull request for this class. + + class InstagramVideoMetadata < AdObject + + field :duration, 'double' + field :height, 'double' + field :width, 'double' + has_no_id + has_no_get + has_no_post + has_no_delete + + end +end diff --git a/lib/facebook_ads/ad_objects/lead_gen_appointment_booking_info.rb b/lib/facebook_ads/ad_objects/lead_gen_appointment_booking_info.rb index 7a972a8b..27c8b0ba 100644 --- a/lib/facebook_ads/ad_objects/lead_gen_appointment_booking_info.rb +++ b/lib/facebook_ads/ad_objects/lead_gen_appointment_booking_info.rb @@ -17,7 +17,7 @@ class LeadGenAppointmentBookingInfo < AdObject field :advertiser_timezone_offset, 'string' field :appointment_durations, { list: 'string' } - field :appointment_slots_by_day, { list: 'object' } + field :appointment_slots_by_day, { list: 'LeadGenAppointmentSlotsByDay' } has_no_id has_no_get has_no_post diff --git a/lib/facebook_ads/ad_objects/lead_gen_appointment_slots_by_day.rb b/lib/facebook_ads/ad_objects/lead_gen_appointment_slots_by_day.rb new file mode 100644 index 00000000..5cc26194 --- /dev/null +++ b/lib/facebook_ads/ad_objects/lead_gen_appointment_slots_by_day.rb @@ -0,0 +1,26 @@ +# Copyright (c) Meta Platforms, Inc. and affiliates. +# All rights reserved. + +# This source code is licensed under the license found in the +# LICENSE file in the root directory of this source tree. + +# FB:AUTOGEN + +module FacebookAds + # This class is auto-generated. + + # For any issues or feature requests related to this class, please let us know + # on github and we'll fix in our codegen framework. We'll not be able to accept + # pull request for this class. + + class LeadGenAppointmentSlotsByDay < AdObject + + field :appointment_slots, { list: 'LeadGenAppointmentTimeSlot' } + field :day, 'string' + has_no_id + has_no_get + has_no_post + has_no_delete + + end +end diff --git a/lib/facebook_ads/ad_objects/lead_gen_appointment_time_slot.rb b/lib/facebook_ads/ad_objects/lead_gen_appointment_time_slot.rb new file mode 100644 index 00000000..24764cd7 --- /dev/null +++ b/lib/facebook_ads/ad_objects/lead_gen_appointment_time_slot.rb @@ -0,0 +1,26 @@ +# Copyright (c) Meta Platforms, Inc. and affiliates. +# All rights reserved. + +# This source code is licensed under the license found in the +# LICENSE file in the root directory of this source tree. + +# FB:AUTOGEN + +module FacebookAds + # This class is auto-generated. + + # For any issues or feature requests related to this class, please let us know + # on github and we'll fix in our codegen framework. We'll not be able to accept + # pull request for this class. + + class LeadGenAppointmentTimeSlot < AdObject + + field :end_time, 'int' + field :start_time, 'int' + has_no_id + has_no_get + has_no_post + has_no_delete + + end +end diff --git a/lib/facebook_ads/ad_objects/lead_gen_context_card.rb b/lib/facebook_ads/ad_objects/lead_gen_context_card.rb new file mode 100644 index 00000000..50d70937 --- /dev/null +++ b/lib/facebook_ads/ad_objects/lead_gen_context_card.rb @@ -0,0 +1,29 @@ +# Copyright (c) Meta Platforms, Inc. and affiliates. +# All rights reserved. + +# This source code is licensed under the license found in the +# LICENSE file in the root directory of this source tree. + +# FB:AUTOGEN + +module FacebookAds + # This class is auto-generated. + + # For any issues or feature requests related to this class, please let us know + # on github and we'll fix in our codegen framework. We'll not be able to accept + # pull request for this class. + + class LeadGenContextCard < AdObject + + field :button_text, 'string' + field :content, { list: 'string' } + field :cover_photo, 'Photo' + field :id, 'string' + field :style, 'string' + field :title, 'string' + has_no_get + has_no_post + has_no_delete + + end +end diff --git a/lib/facebook_ads/ad_objects/lead_gen_custom_disclaimer.rb b/lib/facebook_ads/ad_objects/lead_gen_custom_disclaimer.rb new file mode 100644 index 00000000..3b2fbed6 --- /dev/null +++ b/lib/facebook_ads/ad_objects/lead_gen_custom_disclaimer.rb @@ -0,0 +1,27 @@ +# Copyright (c) Meta Platforms, Inc. and affiliates. +# All rights reserved. + +# This source code is licensed under the license found in the +# LICENSE file in the root directory of this source tree. + +# FB:AUTOGEN + +module FacebookAds + # This class is auto-generated. + + # For any issues or feature requests related to this class, please let us know + # on github and we'll fix in our codegen framework. We'll not be able to accept + # pull request for this class. + + class LeadGenCustomDisclaimer < AdObject + + field :body, 'LeadGenCustomDisclaimerBody' + field :checkboxes, { list: 'LeadGenLegalContentCheckbox' } + field :title, 'string' + has_no_id + has_no_get + has_no_post + has_no_delete + + end +end diff --git a/lib/facebook_ads/ad_objects/lead_gen_custom_disclaimer_body.rb b/lib/facebook_ads/ad_objects/lead_gen_custom_disclaimer_body.rb new file mode 100644 index 00000000..8bced10c --- /dev/null +++ b/lib/facebook_ads/ad_objects/lead_gen_custom_disclaimer_body.rb @@ -0,0 +1,26 @@ +# Copyright (c) Meta Platforms, Inc. and affiliates. +# All rights reserved. + +# This source code is licensed under the license found in the +# LICENSE file in the root directory of this source tree. + +# FB:AUTOGEN + +module FacebookAds + # This class is auto-generated. + + # For any issues or feature requests related to this class, please let us know + # on github and we'll fix in our codegen framework. We'll not be able to accept + # pull request for this class. + + class LeadGenCustomDisclaimerBody < AdObject + + field :text, 'string' + field :url_entities, { list: 'LeadGenUrlEntityAtRanges' } + has_no_id + has_no_get + has_no_post + has_no_delete + + end +end diff --git a/lib/facebook_ads/ad_objects/lead_gen_legal_content.rb b/lib/facebook_ads/ad_objects/lead_gen_legal_content.rb new file mode 100644 index 00000000..612f9f2b --- /dev/null +++ b/lib/facebook_ads/ad_objects/lead_gen_legal_content.rb @@ -0,0 +1,26 @@ +# Copyright (c) Meta Platforms, Inc. and affiliates. +# All rights reserved. + +# This source code is licensed under the license found in the +# LICENSE file in the root directory of this source tree. + +# FB:AUTOGEN + +module FacebookAds + # This class is auto-generated. + + # For any issues or feature requests related to this class, please let us know + # on github and we'll fix in our codegen framework. We'll not be able to accept + # pull request for this class. + + class LeadGenLegalContent < AdObject + + field :custom_disclaimer, 'LeadGenCustomDisclaimer' + field :id, 'string' + field :privacy_policy, 'LeadGenPrivacyPolicy' + has_no_get + has_no_post + has_no_delete + + end +end diff --git a/lib/facebook_ads/ad_objects/lead_gen_legal_content_checkbox.rb b/lib/facebook_ads/ad_objects/lead_gen_legal_content_checkbox.rb new file mode 100644 index 00000000..1a6f9462 --- /dev/null +++ b/lib/facebook_ads/ad_objects/lead_gen_legal_content_checkbox.rb @@ -0,0 +1,28 @@ +# Copyright (c) Meta Platforms, Inc. and affiliates. +# All rights reserved. + +# This source code is licensed under the license found in the +# LICENSE file in the root directory of this source tree. + +# FB:AUTOGEN + +module FacebookAds + # This class is auto-generated. + + # For any issues or feature requests related to this class, please let us know + # on github and we'll fix in our codegen framework. We'll not be able to accept + # pull request for this class. + + class LeadGenLegalContentCheckbox < AdObject + + field :id, 'string' + field :is_checked_by_default, 'bool' + field :is_required, 'bool' + field :key, 'string' + field :text, 'string' + has_no_get + has_no_post + has_no_delete + + end +end diff --git a/lib/facebook_ads/ad_objects/lead_gen_privacy_policy.rb b/lib/facebook_ads/ad_objects/lead_gen_privacy_policy.rb new file mode 100644 index 00000000..f8df5775 --- /dev/null +++ b/lib/facebook_ads/ad_objects/lead_gen_privacy_policy.rb @@ -0,0 +1,26 @@ +# Copyright (c) Meta Platforms, Inc. and affiliates. +# All rights reserved. + +# This source code is licensed under the license found in the +# LICENSE file in the root directory of this source tree. + +# FB:AUTOGEN + +module FacebookAds + # This class is auto-generated. + + # For any issues or feature requests related to this class, please let us know + # on github and we'll fix in our codegen framework. We'll not be able to accept + # pull request for this class. + + class LeadGenPrivacyPolicy < AdObject + + field :link_text, 'string' + field :url, 'string' + has_no_id + has_no_get + has_no_post + has_no_delete + + end +end diff --git a/lib/facebook_ads/ad_objects/lead_gen_thank_you_page.rb b/lib/facebook_ads/ad_objects/lead_gen_thank_you_page.rb new file mode 100644 index 00000000..87c083f9 --- /dev/null +++ b/lib/facebook_ads/ad_objects/lead_gen_thank_you_page.rb @@ -0,0 +1,34 @@ +# Copyright (c) Meta Platforms, Inc. and affiliates. +# All rights reserved. + +# This source code is licensed under the license found in the +# LICENSE file in the root directory of this source tree. + +# FB:AUTOGEN + +module FacebookAds + # This class is auto-generated. + + # For any issues or feature requests related to this class, please let us know + # on github and we'll fix in our codegen framework. We'll not be able to accept + # pull request for this class. + + class LeadGenThankYouPage < AdObject + + field :body, 'string' + field :business_phone_number, 'string' + field :button_text, 'string' + field :button_type, 'string' + field :country_code, 'string' + field :enable_messenger, 'bool' + field :id, 'string' + field :lead_gen_use_case, 'string' + field :status, 'string' + field :title, 'string' + field :website_url, 'string' + has_no_get + has_no_post + has_no_delete + + end +end diff --git a/lib/facebook_ads/ad_objects/lead_gen_url_entity_at_ranges.rb b/lib/facebook_ads/ad_objects/lead_gen_url_entity_at_ranges.rb new file mode 100644 index 00000000..480ece79 --- /dev/null +++ b/lib/facebook_ads/ad_objects/lead_gen_url_entity_at_ranges.rb @@ -0,0 +1,27 @@ +# Copyright (c) Meta Platforms, Inc. and affiliates. +# All rights reserved. + +# This source code is licensed under the license found in the +# LICENSE file in the root directory of this source tree. + +# FB:AUTOGEN + +module FacebookAds + # This class is auto-generated. + + # For any issues or feature requests related to this class, please let us know + # on github and we'll fix in our codegen framework. We'll not be able to accept + # pull request for this class. + + class LeadGenUrlEntityAtRanges < AdObject + + field :length, 'int' + field :offset, 'int' + field :url, 'string' + has_no_id + has_no_get + has_no_post + has_no_delete + + end +end diff --git a/lib/facebook_ads/ad_objects/leadgen_form.rb b/lib/facebook_ads/ad_objects/leadgen_form.rb index 85cc17d8..d7a72528 100644 --- a/lib/facebook_ads/ad_objects/leadgen_form.rb +++ b/lib/facebook_ads/ad_objects/leadgen_form.rb @@ -59,7 +59,7 @@ class LeadgenForm < AdObject field :allow_organic_lead, 'bool' field :block_display_for_non_targeted_viewer, 'bool' - field :context_card, 'object' + field :context_card, 'LeadGenContextCard' field :created_time, 'datetime' field :creator, 'User' field :expired_leads_count, 'int' @@ -68,7 +68,7 @@ class LeadgenForm < AdObject field :id, 'string' field :is_optimized_for_quality, 'bool' field :leads_count, 'int' - field :legal_content, 'object' + field :legal_content, 'LeadGenLegalContent' field :locale, 'string' field :name, 'string' field :organic_leads_count, 'int' @@ -78,7 +78,7 @@ class LeadgenForm < AdObject field :question_page_custom_headline, 'string' field :questions, { list: 'LeadGenQuestion' } field :status, 'string' - field :thank_you_page, 'object' + field :thank_you_page, 'LeadGenThankYouPage' field :tracking_parameters, { list: 'hash' } has_no_delete diff --git a/lib/facebook_ads/ad_objects/live_video.rb b/lib/facebook_ads/ad_objects/live_video.rb index 87eff337..4461af0f 100644 --- a/lib/facebook_ads/ad_objects/live_video.rb +++ b/lib/facebook_ads/ad_objects/live_video.rb @@ -96,7 +96,7 @@ class LiveVideo < AdObject field :is_reference_only, 'bool' field :live_views, 'int' field :overlay_url, 'string' - field :permalink_url, 'object' + field :permalink_url, 'string' field :planned_start_time, 'datetime' field :recommended_encoder_settings, 'LiveVideoRecommendedEncoderSettings' field :seconds_left, 'int' @@ -110,7 +110,7 @@ class LiveVideo < AdObject has_edge :blocked_users do |edge| edge.get 'User' do |api| - api.has_param :uid, 'object' + api.has_param :uid, 'string' end end diff --git a/lib/facebook_ads/ad_objects/local_service_business.rb b/lib/facebook_ads/ad_objects/local_service_business.rb index 8c4b230c..67296687 100644 --- a/lib/facebook_ads/ad_objects/local_service_business.rb +++ b/lib/facebook_ads/ad_objects/local_service_business.rb @@ -18,6 +18,7 @@ class LocalServiceBusiness < AdObject "AVAILABLE_FOR_ORDER", "DISCONTINUED", "IN_STOCK", + "MARK_AS_SOLD", "OUT_OF_STOCK", "PENDING", "PREORDER", @@ -74,7 +75,9 @@ class LocalServiceBusiness < AdObject field :id, 'string' field :image_fetch_status, { enum: -> { IMAGE_FETCH_STATUS }} field :images, { list: 'string' } + field :local_info, 'ProductItemLocalInfo' field :local_service_business_id, 'string' + field :main_local_info, 'ProductItemLocalInfo' field :phone, 'string' field :price, 'string' field :price_range, 'string' diff --git a/lib/facebook_ads/ad_objects/messaging_feature_status.rb b/lib/facebook_ads/ad_objects/messaging_feature_status.rb index 4c0a6fc1..c447651f 100644 --- a/lib/facebook_ads/ad_objects/messaging_feature_status.rb +++ b/lib/facebook_ads/ad_objects/messaging_feature_status.rb @@ -16,6 +16,8 @@ module FacebookAds class MessagingFeatureStatus < AdObject field :hop_v2, 'bool' + field :ig_multi_app, 'bool' + field :msgr_multi_app, 'bool' has_no_id has_no_get has_no_post diff --git a/lib/facebook_ads/ad_objects/messenger_ads_partial_automated_step_list.rb b/lib/facebook_ads/ad_objects/messenger_ads_partial_automated_step_list.rb new file mode 100644 index 00000000..af9213b0 --- /dev/null +++ b/lib/facebook_ads/ad_objects/messenger_ads_partial_automated_step_list.rb @@ -0,0 +1,33 @@ +# Copyright (c) Meta Platforms, Inc. and affiliates. +# All rights reserved. + +# This source code is licensed under the license found in the +# LICENSE file in the root directory of this source tree. + +# FB:AUTOGEN + +module FacebookAds + # This class is auto-generated. + + # For any issues or feature requests related to this class, please let us know + # on github and we'll fix in our codegen framework. We'll not be able to accept + # pull request for this class. + + class MessengerAdsPartialAutomatedStepList < AdObject + + field :fblead_form, 'LeadgenForm' + field :first_step_id, 'string' + field :id, 'string' + field :page, 'Page' + field :privacy_url, 'string' + field :reminder_text, 'string' + field :stop_question_message, 'string' + has_no_post + has_no_delete + + has_edge :steps do |edge| + edge.get + end + + end +end diff --git a/lib/facebook_ads/ad_objects/page.rb b/lib/facebook_ads/ad_objects/page.rb index 6c014eac..38fb8d14 100644 --- a/lib/facebook_ads/ad_objects/page.rb +++ b/lib/facebook_ads/ad_objects/page.rb @@ -193,13 +193,6 @@ class Page < AdObject "year", ] - CHECKIN_ENTRY_POINT = [ - "BRANDING_CHECKIN", - "BRANDING_OTHER", - "BRANDING_PHOTO", - "BRANDING_STATUS", - ] - FORMATTING = [ "MARKDOWN", "PLAINTEXT", @@ -297,7 +290,6 @@ class Page < AdObject DEVELOPER_ACTION = [ "ENABLE_FOLLOWUP_MESSAGE", - "SEND_RE_OPTIN", ] SUBSCRIBED_FIELDS = [ @@ -322,8 +314,8 @@ class Page < AdObject "group_feed", "hometown", "hours", - "in_thread_lead_form_submit", "inbox_labels", + "invalid_topic_placeholder", "invoice_access_bank_slip_events", "invoice_access_invoice_change", "invoice_access_invoice_draft_change", @@ -353,6 +345,7 @@ class Page < AdObject "messaging_feedback", "messaging_game_plays", "messaging_handovers", + "messaging_in_thread_lead_form_submit", "messaging_optins", "messaging_optouts", "messaging_payments", @@ -362,6 +355,7 @@ class Page < AdObject "messaging_referrals", "mission", "name", + "otp_verification", "page_about_story", "page_change_proposal", "page_upcoming_change", @@ -440,6 +434,7 @@ class Page < AdObject field :has_added_app, 'bool' field :has_transitioned_to_new_page_experience, 'bool' field :has_whatsapp_business_number, 'bool' + field :has_whatsapp_enterprise_number_using_cloud_api, 'bool' field :has_whatsapp_number, 'bool' field :hometown, 'string' field :hours, 'hash' @@ -483,6 +478,7 @@ class Page < AdObject field :offer_eligible, 'bool' field :overall_star_rating, 'double' field :owner_business, 'Business' + field :page_about_story, 'PageAboutStory' field :page_token, 'string' field :parent_page, 'Page' field :parking, 'PageParking' @@ -525,6 +521,7 @@ class Page < AdObject field :unread_message_count, 'int' field :unread_notif_count, 'int' field :unseen_message_count, 'int' + field :user_access_expire_time, 'datetime' field :username, 'string' field :verification_status, 'string' field :voip_info, 'VoipInfo' @@ -534,6 +531,10 @@ class Page < AdObject field :written_by, 'string' has_no_delete + has_edge :ab_tests do |edge| + edge.get 'PagePostExperiment' + end + has_edge :acknowledge_orders do |edge| edge.post 'Page' do |api| api.has_param :idempotency_key, 'string' @@ -720,6 +721,7 @@ class Page < AdObject api.has_param :match_content_type, { enum: %w{AUDIO_ONLY VIDEO_AND_AUDIO VIDEO_ONLY }} api.has_param :matched_asset_id, 'string' api.has_param :reference_asset_id, 'string' + api.has_param :selected_segments, { list: 'hash' } end end @@ -749,6 +751,10 @@ class Page < AdObject end end + has_edge :dataset do |edge| + edge.get 'Dataset' + end + has_edge :events do |edge| edge.get 'Event' do |api| api.has_param :event_state_filter, { list: { enum: -> { Event::EVENT_STATE_FILTER }} } @@ -793,7 +799,6 @@ class Page < AdObject api.has_param :backdated_time_granularity, { enum: -> { Page::BACKDATED_TIME_GRANULARITY }} api.has_param :call_to_action, 'object' api.has_param :caption, 'string' - api.has_param :checkin_entry_point, { enum: -> { Page::CHECKIN_ENTRY_POINT }} api.has_param :child_attachments, { list: 'object' } api.has_param :client_mutation_id, 'string' api.has_param :composer_entry_picker, 'string' @@ -907,6 +912,7 @@ class Page < AdObject edge.get 'ImageCopyright' edge.post 'ImageCopyright' do |api| api.has_param :artist, 'string' + api.has_param :attribution_link, 'string' api.has_param :creator, 'string' api.has_param :custom_id, 'string' api.has_param :description, 'string' @@ -947,10 +953,6 @@ class Page < AdObject end end - has_edge :invoice_access_bank_account do |edge| - edge.get - end - has_edge :leadgen_forms do |edge| edge.get 'LeadgenForm' edge.post 'LeadgenForm' do |api| @@ -1080,6 +1082,23 @@ class Page < AdObject edge.get 'MessagingFeatureReview' end + has_edge :messenger_lead_forms do |edge| + edge.get 'MessengerAdsPartialAutomatedStepList' + edge.post 'Page' do |api| + api.has_param :account_id, 'int' + api.has_param :block_send_api, 'bool' + api.has_param :exit_keyphrases, 'string' + api.has_param :handover_app_id, 'int' + api.has_param :handover_summary, 'bool' + api.has_param :privacy_url, 'string' + api.has_param :reminder_text, 'string' + api.has_param :step_list, { list: 'hash' } + api.has_param :stop_question_message, 'string' + api.has_param :template_name, 'string' + api.has_param :tracking_parameters, 'hash' + end + end + has_edge :messenger_profile do |edge| edge.delete do |api| api.has_param :fields, { list: { enum: %w{ACCOUNT_LINKING_URL GET_STARTED GREETING HOME_URL ICE_BREAKERS PAYMENT_SETTINGS PERSISTENT_MENU PLATFORM SUBJECT_TO_NEW_EU_PRIVACY_RULES TARGET_AUDIENCE WHITELISTED_DOMAINS }} } @@ -1160,6 +1179,12 @@ class Page < AdObject end end + has_edge :photo_stories do |edge| + edge.post 'Page' do |api| + api.has_param :photo_id, 'string' + end + end + has_edge :photos do |edge| edge.get 'Photo' do |api| api.has_param :biz_tag_id, 'int' @@ -1335,6 +1360,10 @@ class Page < AdObject edge.get 'CommerceMerchantSettingsSetupStatus' end + has_edge :stories do |edge| + edge.get 'Stories' + end + has_edge :subscribed_apps do |edge| edge.delete edge.get 'Application' @@ -1369,6 +1398,7 @@ class Page < AdObject has_edge :threads do |edge| edge.get 'UnifiedThread' do |api| api.has_param :folder, 'string' + api.has_param :platform, { enum: -> { UnifiedThread::PLATFORM }} api.has_param :tags, { list: 'string' } api.has_param :user_id, 'string' end @@ -1421,15 +1451,30 @@ class Page < AdObject edge.post 'AdVideo' do |api| api.has_param :description, 'string' api.has_param :feed_targeting, 'object' + api.has_param :place, 'string' api.has_param :scheduled_publish_time, 'datetime' api.has_param :targeting, 'object' api.has_param :title, 'string' api.has_param :upload_phase, { enum: -> { AdVideo::UPLOAD_PHASE }} - api.has_param :video_id, 'object' + api.has_param :video_id, 'string' api.has_param :video_state, { enum: -> { AdVideo::VIDEO_STATE }} end end + has_edge :video_stories do |edge| + edge.post do |api| + api.has_param :description, 'string' + api.has_param :feed_targeting, 'object' + api.has_param :place, 'string' + api.has_param :scheduled_publish_time, 'datetime' + api.has_param :targeting, 'object' + api.has_param :title, 'string' + api.has_param :upload_phase, { enum: %w{FINISH START }} + api.has_param :video_id, 'string' + api.has_param :video_state, { enum: %w{DRAFT PUBLISHED SCHEDULED }} + end + end + has_edge :videos do |edge| edge.get 'AdVideo' do |api| api.has_param :type, { enum: -> { AdVideo::TYPE }} @@ -1543,6 +1588,7 @@ class Page < AdObject has_edge :welcome_message_flows do |edge| edge.get do |api| + api.has_param :app_id, 'string' api.has_param :flow_id, 'string' end end diff --git a/lib/facebook_ads/ad_objects/page_about_story.rb b/lib/facebook_ads/ad_objects/page_about_story.rb new file mode 100644 index 00000000..7f32eb2a --- /dev/null +++ b/lib/facebook_ads/ad_objects/page_about_story.rb @@ -0,0 +1,29 @@ +# Copyright (c) Meta Platforms, Inc. and affiliates. +# All rights reserved. + +# This source code is licensed under the license found in the +# LICENSE file in the root directory of this source tree. + +# FB:AUTOGEN + +module FacebookAds + # This class is auto-generated. + + # For any issues or feature requests related to this class, please let us know + # on github and we'll fix in our codegen framework. We'll not be able to accept + # pull request for this class. + + class PageAboutStory < AdObject + + field :composed_text, { list: 'PageAboutStoryComposedBlock' } + field :cover_photo, 'Photo' + field :entity_map, { list: 'object' } + field :id, 'string' + field :is_published, 'bool' + field :page_id, 'string' + field :title, 'string' + has_no_post + has_no_delete + + end +end diff --git a/lib/facebook_ads/ad_objects/page_about_story_composed_block.rb b/lib/facebook_ads/ad_objects/page_about_story_composed_block.rb new file mode 100644 index 00000000..d8a492cd --- /dev/null +++ b/lib/facebook_ads/ad_objects/page_about_story_composed_block.rb @@ -0,0 +1,29 @@ +# Copyright (c) Meta Platforms, Inc. and affiliates. +# All rights reserved. + +# This source code is licensed under the license found in the +# LICENSE file in the root directory of this source tree. + +# FB:AUTOGEN + +module FacebookAds + # This class is auto-generated. + + # For any issues or feature requests related to this class, please let us know + # on github and we'll fix in our codegen framework. We'll not be able to accept + # pull request for this class. + + class PageAboutStoryComposedBlock < AdObject + + field :depth, 'int' + field :entity_ranges, { list: 'PageAboutStoryComposedBlockEntityRanges' } + field :inline_style_ranges, { list: 'PageAboutStoryComposedBlockInlineStyle' } + field :text, 'string' + field :type, 'string' + has_no_id + has_no_get + has_no_post + has_no_delete + + end +end diff --git a/lib/facebook_ads/ad_objects/page_about_story_composed_block_entity_ranges.rb b/lib/facebook_ads/ad_objects/page_about_story_composed_block_entity_ranges.rb new file mode 100644 index 00000000..4acbdd51 --- /dev/null +++ b/lib/facebook_ads/ad_objects/page_about_story_composed_block_entity_ranges.rb @@ -0,0 +1,27 @@ +# Copyright (c) Meta Platforms, Inc. and affiliates. +# All rights reserved. + +# This source code is licensed under the license found in the +# LICENSE file in the root directory of this source tree. + +# FB:AUTOGEN + +module FacebookAds + # This class is auto-generated. + + # For any issues or feature requests related to this class, please let us know + # on github and we'll fix in our codegen framework. We'll not be able to accept + # pull request for this class. + + class PageAboutStoryComposedBlockEntityRanges < AdObject + + field :key, 'string' + field :length, 'int' + field :offset, 'int' + has_no_id + has_no_get + has_no_post + has_no_delete + + end +end diff --git a/lib/facebook_ads/ad_objects/page_about_story_composed_block_inline_style.rb b/lib/facebook_ads/ad_objects/page_about_story_composed_block_inline_style.rb new file mode 100644 index 00000000..def295bc --- /dev/null +++ b/lib/facebook_ads/ad_objects/page_about_story_composed_block_inline_style.rb @@ -0,0 +1,27 @@ +# Copyright (c) Meta Platforms, Inc. and affiliates. +# All rights reserved. + +# This source code is licensed under the license found in the +# LICENSE file in the root directory of this source tree. + +# FB:AUTOGEN + +module FacebookAds + # This class is auto-generated. + + # For any issues or feature requests related to this class, please let us know + # on github and we'll fix in our codegen framework. We'll not be able to accept + # pull request for this class. + + class PageAboutStoryComposedBlockInlineStyle < AdObject + + field :length, 'int' + field :offset, 'int' + field :style, 'string' + has_no_id + has_no_get + has_no_post + has_no_delete + + end +end diff --git a/lib/facebook_ads/ad_objects/page_post.rb b/lib/facebook_ads/ad_objects/page_post.rb index bcfc025b..7ef1e911 100644 --- a/lib/facebook_ads/ad_objects/page_post.rb +++ b/lib/facebook_ads/ad_objects/page_post.rb @@ -74,7 +74,7 @@ class PagePost < AdObject field :multi_share_end_card, 'bool' field :multi_share_optimized, 'bool' field :parent_id, 'string' - field :permalink_url, 'object' + field :permalink_url, 'string' field :picture, 'string' field :place, 'Place' field :privacy, 'Privacy' diff --git a/lib/facebook_ads/ad_objects/page_post_experiment.rb b/lib/facebook_ads/ad_objects/page_post_experiment.rb index 95f8afc6..0bd4e2f9 100644 --- a/lib/facebook_ads/ad_objects/page_post_experiment.rb +++ b/lib/facebook_ads/ad_objects/page_post_experiment.rb @@ -16,10 +16,13 @@ module FacebookAds class PagePostExperiment < AdObject field :auto_resolve_settings, 'object' + field :control_video_id, 'string' field :creation_time, 'datetime' field :creator, 'User' field :declared_winning_time, 'datetime' + field :declared_winning_video_id, 'string' field :description, 'string' + field :experiment_video_ids, { list: 'string' } field :id, 'string' field :insight_snapshots, { list: 'map>>' } field :name, 'string' @@ -31,5 +34,9 @@ class PagePostExperiment < AdObject has_no_post has_no_delete + has_edge :video_insights do |edge| + edge.get + end + end end diff --git a/lib/facebook_ads/ad_objects/post.rb b/lib/facebook_ads/ad_objects/post.rb index 3243830b..6c61d9df 100644 --- a/lib/facebook_ads/ad_objects/post.rb +++ b/lib/facebook_ads/ad_objects/post.rb @@ -23,13 +23,6 @@ class Post < AdObject "year", ] - CHECKIN_ENTRY_POINT = [ - "BRANDING_CHECKIN", - "BRANDING_OTHER", - "BRANDING_PHOTO", - "BRANDING_STATUS", - ] - FORMATTING = [ "MARKDOWN", "PLAINTEXT", @@ -112,7 +105,7 @@ class Post < AdObject field :is_popular, 'bool' field :is_published, 'bool' field :is_spherical, 'bool' - field :link, 'object' + field :link, 'string' field :message, 'string' field :message_tags, { list: 'string' } field :multi_share_end_card, 'bool' @@ -120,7 +113,7 @@ class Post < AdObject field :name, 'string' field :object_id, 'string' field :parent_id, 'string' - field :permalink_url, 'object' + field :permalink_url, 'string' field :picture, 'string' field :place, 'Place' field :privacy, 'Privacy' diff --git a/lib/facebook_ads/ad_objects/product_catalog.rb b/lib/facebook_ads/ad_objects/product_catalog.rb index 6e3a10f4..409d449b 100644 --- a/lib/facebook_ads/ad_objects/product_catalog.rb +++ b/lib/facebook_ads/ad_objects/product_catalog.rb @@ -38,12 +38,14 @@ class ProductCatalog < AdObject ] PERMITTED_TASKS = [ + "AA_ANALYZE", "ADVERTISE", "MANAGE", "MANAGE_AR", ] TASKS = [ + "AA_ANALYZE", "ADVERTISE", "MANAGE", "MANAGE_AR", @@ -99,6 +101,7 @@ class ProductCatalog < AdObject field :owner_business, 'Business' field :product_count, 'int' field :store_catalog_settings, 'StoreCatalogSettings' + field :user_access_expire_time, 'datetime' field :vertical, 'string' field :catalog_segment_filter, 'object' field :catalog_segment_product_set_id, 'string' @@ -120,12 +123,6 @@ class ProductCatalog < AdObject end end - has_edge :ar_effects_batch_status do |edge| - edge.get 'ArEffectsBatchStatus' do |api| - api.has_param :handle, 'string' - end - end - has_edge :assigned_users do |edge| edge.delete do |api| api.has_param :user, 'int' diff --git a/lib/facebook_ads/ad_objects/product_image.rb b/lib/facebook_ads/ad_objects/product_image.rb index faa7bba4..48bbbf95 100644 --- a/lib/facebook_ads/ad_objects/product_image.rb +++ b/lib/facebook_ads/ad_objects/product_image.rb @@ -15,8 +15,10 @@ module FacebookAds class ProductImage < AdObject + field :height, 'int' field :id, 'string' field :image_url, 'string' + field :width, 'int' has_no_post has_no_delete diff --git a/lib/facebook_ads/ad_objects/product_item.rb b/lib/facebook_ads/ad_objects/product_item.rb index 2100a8d2..b7ed7727 100644 --- a/lib/facebook_ads/ad_objects/product_item.rb +++ b/lib/facebook_ads/ad_objects/product_item.rb @@ -28,6 +28,7 @@ class ProductItem < AdObject "available for order", "discontinued", "in stock", + "mark_as_sold", "out of stock", "pending", "preorder", @@ -300,10 +301,16 @@ class ProductItem < AdObject "BAD_QUALITY_IMAGE", "CANNOT_EDIT_SUBSCRIPTION_PRODUCTS", "CRAWLED_AVAILABILITY_MISMATCH", + "DA_DISABLED_BY_USER", + "DA_POLICY_VIOLATION", "DIGITAL_GOODS_NOT_AVAILABLE_FOR_CHECKOUT", "DUPLICATE_IMAGES", "DUPLICATE_TITLE_AND_DESCRIPTION", + "EMPTY_AVAILABILITY", + "EMPTY_CONDITION", "EMPTY_DESCRIPTION", + "EMPTY_PRODUCT_URL", + "EMPTY_SELLER_DESCRIPTION", "GENERIC_INVALID_FIELD", "HIDDEN_UNTIL_PRODUCT_LAUNCH", "IMAGE_FETCH_FAILED", @@ -326,6 +333,8 @@ class ProductItem < AdObject "IN_ANOTHER_PRODUCT_LAUNCH", "ITEM_GROUP_NOT_SPECIFIED", "ITEM_NOT_SHIPPABLE_FOR_SCA_SHOP", + "ITEM_OVERRIDE_EMPTY_AVAILABILITY", + "ITEM_OVERRIDE_EMPTY_PRICE", "ITEM_OVERRIDE_NOT_VISIBLE", "ITEM_STALE_OUT_OF_STOCK", "MINI_SHOPS_DISABLED_BY_USER", @@ -351,6 +360,7 @@ class ProductItem < AdObject "PROPERTY_PRICE_CURRENCY_NOT_SUPPORTED", "PROPERTY_PRICE_TOO_HIGH", "PROPERTY_PRICE_TOO_LOW", + "PROPERTY_UNIT_PRICE_CURRENCY_MISMATCH_ITEM_PRICE_CURRENCY", "PROPERTY_VALUE_CONTAINS_HTML_TAGS", "PROPERTY_VALUE_DESCRIPTION_CONTAINS_OFF_PLATFORM_LINK", "PROPERTY_VALUE_FORMAT", @@ -359,16 +369,25 @@ class ProductItem < AdObject "PROPERTY_VALUE_NON_POSITIVE", "PROPERTY_VALUE_STRING_EXCEEDS_LENGTH", "PROPERTY_VALUE_STRING_TOO_SHORT", + "PROPERTY_VALUE_UPPERCASE", "PROPERTY_VALUE_UPPERCASE_WARNING", "QUALITY_DUPLICATED_DESCRIPTION", "QUALITY_ITEM_LINK_BROKEN", "QUALITY_ITEM_LINK_REDIRECTING", "RETAILER_ID_NOT_PROVIDED", "SHOPIFY_ITEM_MISSING_SHIPPING_PROFILE", + "SHOPS_POLICY_VIOLATION", "SUBSCRIPTION_INFO_NOT_ENABLED_FOR_FEED", "TAX_CATEGORY_NOT_SUPPORTED_IN_UK", "UNSUPPORTED_PRODUCT_CATEGORY", "VARIANT_ATTRIBUTE_ISSUE", + "VIDEO_FETCH_FAILED", + "VIDEO_FETCH_FAILED_BAD_GATEWAY", + "VIDEO_FETCH_FAILED_FILE_SIZE_EXCEEDED", + "VIDEO_FETCH_FAILED_FORBIDDEN", + "VIDEO_FETCH_FAILED_LINK_BROKEN", + "VIDEO_FETCH_FAILED_TIMED_OUT", + "VIDEO_NOT_DOWNLOADABLE", ] MARKED_FOR_PRODUCT_LAUNCH = [ @@ -642,7 +661,6 @@ class ProductItem < AdObject field :additional_variant_attributes, { list: 'hash' } field :age_group, { enum: -> { AGE_GROUP }} field :applinks, 'CatalogItemAppLinks' - field :ar_data, 'ProductItemArData' field :availability, { enum: -> { AVAILABILITY }} field :brand, 'string' field :capability_to_review_status, { list: 'hash' } @@ -693,6 +711,7 @@ class ProductItem < AdObject field :product_catalog, 'ProductCatalog' field :product_feed, 'ProductFeed' field :product_group, 'ProductGroup' + field :product_local_info, 'ProductItemLocalInfo' field :product_type, 'string' field :quantity_to_sell_on_facebook, 'int' field :retailer_id, 'string' diff --git a/lib/facebook_ads/ad_objects/product_item_ar_data.rb b/lib/facebook_ads/ad_objects/product_item_ar_data.rb deleted file mode 100644 index d599e13b..00000000 --- a/lib/facebook_ads/ad_objects/product_item_ar_data.rb +++ /dev/null @@ -1,48 +0,0 @@ -# Copyright (c) Meta Platforms, Inc. and affiliates. -# All rights reserved. - -# This source code is licensed under the license found in the -# LICENSE file in the root directory of this source tree. - -# FB:AUTOGEN - -module FacebookAds - # This class is auto-generated. - - # For any issues or feature requests related to this class, please let us know - # on github and we'll fix in our codegen framework. We'll not be able to accept - # pull request for this class. - - class ProductItemArData < AdObject - SURFACES = [ - "B2C_MARKETPLACE", - "C2C_MARKETPLACE", - "DA", - "DAILY_DEALS", - "DAILY_DEALS_LEGACY", - "IG_PRODUCT_TAGGING", - "MARKETPLACE", - "MARKETPLACE_ADS_DEPRECATED", - "MARKETPLACE_SHOPS", - "MINI_SHOPS", - "OFFLINE_CONVERSIONS", - "SHOPS", - "UNIVERSAL_CHECKOUT", - "WHATSAPP", - ] - - - field :container_effect, 'string' - field :effect_icon, 'string' - field :effect_parameters, 'object' - field :picker_icon, 'string' - field :product_ar_link, 'object' - field :state, 'string' - field :surfaces, { list: { enum: -> { SURFACES }} } - has_no_id - has_no_get - has_no_post - has_no_delete - - end -end diff --git a/lib/facebook_ads/ad_objects/product_item_local_info.rb b/lib/facebook_ads/ad_objects/product_item_local_info.rb new file mode 100644 index 00000000..30f16fb2 --- /dev/null +++ b/lib/facebook_ads/ad_objects/product_item_local_info.rb @@ -0,0 +1,31 @@ +# Copyright (c) Meta Platforms, Inc. and affiliates. +# All rights reserved. + +# This source code is licensed under the license found in the +# LICENSE file in the root directory of this source tree. + +# FB:AUTOGEN + +module FacebookAds + # This class is auto-generated. + + # For any issues or feature requests related to this class, please let us know + # on github and we'll fix in our codegen framework. We'll not be able to accept + # pull request for this class. + + class ProductItemLocalInfo < AdObject + + field :availability_circle_origin, 'ProductItemLocalInfoLatLongShape' + field :availability_circle_radius, 'double' + field :availability_circle_radius_unit, 'string' + field :availability_polygon_coordinates, { list: 'ProductItemLocalInfoLatLongShape' } + field :availability_postal_codes, { list: 'string' } + field :availability_source, 'string' + field :id, 'string' + field :inferred_circle_origin, 'ProductItemLocalInfoLatLongShape' + field :inferred_circle_radius, 'double' + has_no_post + has_no_delete + + end +end diff --git a/lib/facebook_ads/ad_objects/product_item_local_info_lat_long_shape.rb b/lib/facebook_ads/ad_objects/product_item_local_info_lat_long_shape.rb new file mode 100644 index 00000000..254df70c --- /dev/null +++ b/lib/facebook_ads/ad_objects/product_item_local_info_lat_long_shape.rb @@ -0,0 +1,26 @@ +# Copyright (c) Meta Platforms, Inc. and affiliates. +# All rights reserved. + +# This source code is licensed under the license found in the +# LICENSE file in the root directory of this source tree. + +# FB:AUTOGEN + +module FacebookAds + # This class is auto-generated. + + # For any issues or feature requests related to this class, please let us know + # on github and we'll fix in our codegen framework. We'll not be able to accept + # pull request for this class. + + class ProductItemLocalInfoLatLongShape < AdObject + + field :latitude, 'double' + field :longitude, 'double' + has_no_id + has_no_get + has_no_post + has_no_delete + + end +end diff --git a/lib/facebook_ads/ad_objects/reach_frequency_prediction.rb b/lib/facebook_ads/ad_objects/reach_frequency_prediction.rb index b3432f54..be04e84c 100644 --- a/lib/facebook_ads/ad_objects/reach_frequency_prediction.rb +++ b/lib/facebook_ads/ad_objects/reach_frequency_prediction.rb @@ -142,6 +142,7 @@ class ReachFrequencyPrediction < AdObject field :existing_campaign_id, 'string' field :grp_buying, 'bool' field :impression, 'int' + field :is_balanced_frequency, 'bool' field :is_full_view, 'bool' field :is_reach_and_frequency_io_buying, 'bool' field :num_curve_points, 'int' @@ -150,6 +151,8 @@ class ReachFrequencyPrediction < AdObject field :rf_prediction_id_to_release, 'string' field :rf_prediction_id_to_share, 'string' field :stop_time, 'int' + field :target_frequency, 'int' + field :target_frequency_reset_period, 'int' has_no_post has_no_delete diff --git a/lib/facebook_ads/ad_objects/ar_effects_batch_status.rb b/lib/facebook_ads/ad_objects/stories.rb similarity index 79% rename from lib/facebook_ads/ad_objects/ar_effects_batch_status.rb rename to lib/facebook_ads/ad_objects/stories.rb index 6943db07..9b8424f4 100644 --- a/lib/facebook_ads/ad_objects/ar_effects_batch_status.rb +++ b/lib/facebook_ads/ad_objects/stories.rb @@ -13,11 +13,13 @@ module FacebookAds # on github and we'll fix in our codegen framework. We'll not be able to accept # pull request for this class. - class ArEffectsBatchStatus < AdObject + class Stories < AdObject - field :errors, { list: 'string' } - field :product_groups, { list: 'object' } + field :creation_time, 'string' + field :media_type, 'string' + field :post_id, 'string' field :status, 'string' + field :url, 'string' has_no_id has_no_get has_no_post diff --git a/lib/facebook_ads/ad_objects/user.rb b/lib/facebook_ads/ad_objects/user.rb index 461cc0c7..81961472 100644 --- a/lib/facebook_ads/ad_objects/user.rb +++ b/lib/facebook_ads/ad_objects/user.rb @@ -38,6 +38,7 @@ class User < AdObject field :about, 'string' field :age_range, 'AgeRange' + field :avatar_2d_profile_picture, 'AvatarProfilePicture' field :birthday, 'string' field :community, 'Group' field :cover, 'UserCoverPhoto' @@ -55,6 +56,7 @@ class User < AdObject field :install_type, 'string' field :installed, 'bool' field :is_guest_user, 'bool' + field :is_work_account, 'bool' field :languages, { list: 'Experience' } field :last_name, 'string' field :link, 'string' @@ -71,7 +73,7 @@ class User < AdObject field :profile_pic, 'string' field :quotes, 'string' field :relationship_status, 'string' - field :shared_login_upgrade_required_by, 'object' + field :shared_login_upgrade_required_by, 'datetime' field :short_name, 'string' field :significant_other, 'User' field :sports, { list: 'Experience' } @@ -180,7 +182,7 @@ class User < AdObject end has_edge :avatars do |edge| - edge.get + edge.get 'Avatar' end has_edge :business_users do |edge| @@ -209,6 +211,7 @@ class User < AdObject has_edge :conversations do |edge| edge.get 'UnifiedThread' do |api| api.has_param :folder, 'string' + api.has_param :platform, { enum: -> { UnifiedThread::PLATFORM }} api.has_param :tags, { list: 'string' } api.has_param :user_id, 'string' end @@ -251,7 +254,6 @@ class User < AdObject api.has_param :backdated_time_granularity, { enum: -> { Post::BACKDATED_TIME_GRANULARITY }} api.has_param :call_to_action, 'object' api.has_param :caption, 'string' - api.has_param :checkin_entry_point, { enum: -> { Post::CHECKIN_ENTRY_POINT }} api.has_param :child_attachments, { list: 'object' } api.has_param :client_mutation_id, 'string' api.has_param :composer_entry_picker, 'string' diff --git a/lib/facebook_ads/ad_objects/whats_app_business_account.rb b/lib/facebook_ads/ad_objects/whats_app_business_account.rb index 68591da9..caaf5cc9 100644 --- a/lib/facebook_ads/ad_objects/whats_app_business_account.rb +++ b/lib/facebook_ads/ad_objects/whats_app_business_account.rb @@ -16,16 +16,10 @@ module FacebookAds class WhatsAppBusinessAccount < AdObject TASKS = [ "DEVELOP", - "FULL_CONTROL", "MANAGE", "MANAGE_EXTENSIONS", "MANAGE_PHONE", - "MANAGE_PHONE_ASSETS", - "MANAGE_TEMPLATES", - "MESSAGING", "VIEW_COST", - "VIEW_PHONE_ASSETS", - "VIEW_TEMPLATES", ] CATEGORY = [ @@ -42,6 +36,7 @@ class WhatsAppBusinessAccount < AdObject field :creation_time, 'int' field :currency, 'string' field :id, 'string' + field :is_enabled_for_insights, 'bool' field :message_template_namespace, 'string' field :name, 'string' field :on_behalf_of_business_info, 'object' @@ -52,7 +47,6 @@ class WhatsAppBusinessAccount < AdObject field :purchase_order_number, 'string' field :status, 'string' field :timezone_id, 'string' - has_no_post has_no_delete has_edge :assigned_users do |edge| @@ -74,7 +68,7 @@ class WhatsAppBusinessAccount < AdObject has_edge :conversation_analytics do |edge| edge.get do |api| - api.has_param :conversation_categories, { list: { enum: %w{AUTHENTICATION MARKETING SERVICE UNKNOWN UTILITY }} } + api.has_param :conversation_categories, { list: { enum: %w{AUTHENTICATION MARKETING MARKETING_OPTIMIZED_DELIVERY SERVICE UNKNOWN UTILITY }} } api.has_param :conversation_directions, { list: { enum: %w{BUSINESS_INITIATED UNKNOWN USER_INITIATED }} } api.has_param :conversation_types, { list: { enum: %w{FREE_ENTRY_POINT FREE_TIER REGULAR UNKNOWN }} } api.has_param :country_codes, { list: 'string' } @@ -91,10 +85,24 @@ class WhatsAppBusinessAccount < AdObject edge.get end + has_edge :flows do |edge| + edge.get + end + has_edge :message_campaigns do |edge| edge.get end + has_edge :message_template_previews do |edge| + edge.get do |api| + api.has_param :add_security_recommendation, 'bool' + api.has_param :button_types, { list: { enum: %w{OTP }} } + api.has_param :category, { enum: %w{AUTHENTICATION }} + api.has_param :code_expiration_minutes, 'int' + api.has_param :languages, { list: 'string' } + end + end + has_edge :message_templates do |edge| edge.delete do |api| api.has_param :hsm_id, 'string' @@ -115,7 +123,16 @@ class WhatsAppBusinessAccount < AdObject api.has_param :components, { list: 'hash' } api.has_param :cta_url_link_tracking_opted_out, 'bool' api.has_param :language, 'string' + api.has_param :message_send_ttl_seconds, 'int' api.has_param :name, 'string' + api.has_param :sub_category, 'object' + end + end + + has_edge :migrate_message_templates do |edge| + edge.post 'WhatsAppBusinessAccount' do |api| + api.has_param :page_number, 'int' + api.has_param :source_waba_id, 'string' end end @@ -125,6 +142,7 @@ class WhatsAppBusinessAccount < AdObject api.has_param :cc, 'string' api.has_param :migrate_phone_number, 'bool' api.has_param :phone_number, 'string' + api.has_param :preverified_id, 'string' api.has_param :verified_name, 'string' end end @@ -152,6 +170,16 @@ class WhatsAppBusinessAccount < AdObject end end + has_edge :template_analytics do |edge| + edge.get do |api| + api.has_param :end, 'datetime' + api.has_param :granularity, { enum: %w{DAILY }} + api.has_param :metric_types, { list: { enum: %w{CLICKED DELIVERED READ SENT }} } + api.has_param :start, 'datetime' + api.has_param :template_ids, { list: 'string' } + end + end + has_edge :template_performance_metrics do |edge| edge.get do |api| api.has_param :name, 'string' @@ -159,5 +187,15 @@ class WhatsAppBusinessAccount < AdObject end end + has_edge :upsert_message_templates do |edge| + edge.post 'WhatsAppBusinessAccount' do |api| + api.has_param :category, { enum: -> { WhatsAppBusinessAccount::CATEGORY }} + api.has_param :components, { list: 'hash' } + api.has_param :languages, { list: 'string' } + api.has_param :message_send_ttl_seconds, 'int' + api.has_param :name, 'string' + end + end + end end diff --git a/lib/facebook_ads/ad_objects/whats_app_business_pre_verified_phone_number.rb b/lib/facebook_ads/ad_objects/whats_app_business_pre_verified_phone_number.rb index 8d31f2f1..34b06337 100644 --- a/lib/facebook_ads/ad_objects/whats_app_business_pre_verified_phone_number.rb +++ b/lib/facebook_ads/ad_objects/whats_app_business_pre_verified_phone_number.rb @@ -24,14 +24,19 @@ class WhatsAppBusinessPreVerifiedPhoneNumber < AdObject field :code_verification_status, 'string' field :code_verification_time, 'datetime' field :id, 'string' + field :owner_business, 'Business' field :phone_number, 'string' field :verification_expiry_time, 'datetime' has_no_post + has_edge :partners do |edge| + edge.get 'Business' + end + has_edge :request_code do |edge| edge.post do |api| api.has_param :code_method, { enum: %w{SMS VOICE }} - api.has_param :language, 'object' + api.has_param :language, 'string' end end diff --git a/lib/facebook_ads/version.rb b/lib/facebook_ads/version.rb index 067bb586..1f8104eb 100644 --- a/lib/facebook_ads/version.rb +++ b/lib/facebook_ads/version.rb @@ -7,6 +7,6 @@ # FB:AUTOGEN module FacebookAds - VERSION = '17.0.2' - API_VERSION = '17.0' + VERSION = '18.0.0' + API_VERSION = '18.0' end