lib/facebook_ads/ad_objects/application.rb (533 lines of code) (raw):
# Copyright (c) 2017-present, Facebook, Inc. All rights reserved.
#
# You are hereby granted a non-exclusive, worldwide, royalty-free license to use,
# copy, modify, and distribute this software in source code or binary form for use
# in connection with the web services and APIs provided by Facebook.
#
# As with any software that integrates with the Facebook platform, your use of
# this software is subject to the Facebook Platform Policy
# [http://developers.facebook.com/policy/]. This copyright notice shall be
# included in all copies or substantial portions of the software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
# FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
# COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
# IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
# 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 Application < AdObject
SUPPORTED_PLATFORMS = [
"AMAZON",
"ANDROID",
"CANVAS",
"GAMEROOM",
"INSTANT_GAME",
"IPAD",
"IPHONE",
"MOBILE_WEB",
"OCULUS",
"SAMSUNG",
"SUPPLEMENTARY_IMAGES",
"WEB",
"WINDOWS",
"XIAOMI",
]
AN_PLATFORMS = [
"ANDROID",
"DESKTOP",
"GALAXY",
"INSTANT_ARTICLES",
"IOS",
"MOBILE_WEB",
"OCULUS",
"UNKNOWN",
"XIAOMI",
]
PLATFORM = [
"ANDROID",
"IOS",
]
REQUEST_TYPE = [
"APP_INDEXING",
"BUTTON_SAMPLING",
"PLUGIN",
]
MUTATION_METHOD = [
"ADD",
"DELETE",
"REPLACE",
]
POST_METHOD = [
"CODELESS",
"EYMT",
]
SCORE_TYPE = [
"CUSTOM",
"NUMERIC",
"TIME",
]
SORT_ORDER = [
"HIGHER_IS_BETTER",
"LOWER_IS_BETTER",
]
LOGGING_SOURCE = [
"MESSENGER_BOT",
]
LOGGING_TARGET = [
"APP",
"APP_AND_PAGE",
"PAGE",
]
field :aam_rules, 'string'
field :an_ad_space_limit, 'int'
field :an_platforms, { list: 'string' }
field :android_key_hash, { list: 'string' }
field :android_sdk_error_categories, { list: 'object' }
field :app_domains, { list: 'string' }
field :app_events_config, 'object'
field :app_events_feature_bitmask, 'int'
field :app_events_session_timeout, 'int'
field :app_install_tracked, 'bool'
field :app_name, 'string'
field :app_signals_binding_ios, { list: 'object' }
field :app_type, 'int'
field :auth_dialog_data_help_url, 'string'
field :auth_dialog_headline, 'string'
field :auth_dialog_perms_explanation, 'string'
field :auth_referral_default_activity_privacy, 'string'
field :auth_referral_enabled, 'int'
field :auth_referral_extended_perms, { list: 'string' }
field :auth_referral_friend_perms, { list: 'string' }
field :auth_referral_response_type, 'string'
field :auth_referral_user_perms, { list: 'string' }
field :auto_event_mapping_android, { list: 'object' }
field :auto_event_mapping_ios, { list: 'object' }
field :auto_event_setup_enabled, 'bool'
field :canvas_fluid_height, 'bool'
field :canvas_fluid_width, 'int'
field :canvas_url, 'string'
field :category, 'string'
field :client_config, 'hash'
field :company, 'string'
field :configured_ios_sso, 'bool'
field :contact_email, 'string'
field :created_time, 'datetime'
field :creator_uid, 'string'
field :daily_active_users, 'string'
field :daily_active_users_rank, 'int'
field :deauth_callback_url, 'string'
field :default_share_mode, 'string'
field :description, 'string'
field :financial_id, 'string'
field :gdpv4_chrome_custom_tabs_enabled, 'bool'
field :gdpv4_enabled, 'bool'
field :gdpv4_nux_content, 'string'
field :gdpv4_nux_enabled, 'bool'
field :has_messenger_product, 'bool'
field :hosting_url, 'string'
field :icon_url, 'string'
field :id, 'string'
field :ios_bundle_id, { list: 'string' }
field :ios_sdk_dialog_flows, 'object'
field :ios_sdk_error_categories, { list: 'object' }
field :ios_sfvc_attr, 'bool'
field :ios_supports_native_proxy_auth_flow, 'bool'
field :ios_supports_system_auth, 'bool'
field :ipad_app_store_id, 'string'
field :iphone_app_store_id, 'string'
field :latest_sdk_version, 'object'
field :link, 'string'
field :logging_token, 'string'
field :login_secret, 'string'
field :logo_url, 'string'
field :migrations, 'hash'
field :mobile_profile_section_url, 'string'
field :mobile_web_url, 'string'
field :monthly_active_users, 'string'
field :monthly_active_users_rank, 'int'
field :name, 'string'
field :namespace, 'string'
field :object_store_urls, 'object'
field :page_tab_default_name, 'string'
field :page_tab_url, 'string'
field :photo_url, 'string'
field :privacy_policy_url, 'string'
field :profile_section_url, 'string'
field :property_id, 'string'
field :real_time_mode_devices, { list: 'string' }
field :restrictions, 'object'
field :restrictive_data_filter_params, 'string'
field :restrictive_data_filter_rules, 'string'
field :sdk_update_message, 'string'
field :seamless_login, 'int'
field :secure_canvas_url, 'string'
field :secure_page_tab_url, 'string'
field :server_ip_whitelist, 'string'
field :smart_login_bookmark_icon_url, 'string'
field :smart_login_menu_icon_url, 'string'
field :social_discovery, 'int'
field :subcategory, 'string'
field :suggested_events_setting, 'string'
field :supported_platforms, { list: { enum: -> { SUPPORTED_PLATFORMS }} }
field :supports_apprequests_fast_app_switch, 'object'
field :supports_attribution, 'bool'
field :supports_implicit_sdk_logging, 'bool'
field :suppress_native_ios_gdp, 'bool'
field :terms_of_service_url, 'string'
field :url_scheme_suffix, 'string'
field :user_support_email, 'string'
field :user_support_url, 'string'
field :website_url, 'string'
field :weekly_active_users, 'string'
has_no_delete
has_edge :accounts do |edge|
edge.delete do |api|
api.has_param :type, { enum: %w{test-users }}
api.has_param :uid, 'int'
end
edge.get do |api|
api.has_param :type, { enum: %w{test-users }}
end
edge.post do |api|
api.has_param :installed, 'bool'
api.has_param :minor, 'bool'
api.has_param :name, 'string'
api.has_param :owner_access_token, 'string'
api.has_param :permissions, { list: 'Permission' }
api.has_param :type, { enum: %w{test-users }}
api.has_param :uid, 'int'
end
end
has_edge :activities do |edge|
edge.post do |api|
api.has_param :advertiser_id, 'string'
api.has_param :advertiser_tracking_enabled, 'bool'
api.has_param :anon_id, 'string'
api.has_param :app_user_id, 'string'
api.has_param :application_tracking_enabled, 'bool'
api.has_param :attribution, 'string'
api.has_param :auto_publish, 'bool'
api.has_param :bundle_id, 'string'
api.has_param :bundle_short_version, 'string'
api.has_param :bundle_version, 'string'
api.has_param :click_id, 'string'
api.has_param :consider_views, 'bool'
api.has_param :custom_events, { list: 'object' }
api.has_param :custom_events_file, 'file'
api.has_param :data_processing_options, { list: 'string' }
api.has_param :data_processing_options_country, 'int'
api.has_param :data_processing_options_state, 'int'
api.has_param :device_token, 'string'
api.has_param :event, { enum: %w{CUSTOM_APP_EVENTS DEFERRED_APP_LINK MOBILE_APP_INSTALL }}
api.has_param :extinfo, 'object'
api.has_param :include_dwell_data, 'bool'
api.has_param :include_video_data, 'bool'
api.has_param :install_referrer, 'string'
api.has_param :install_timestamp, 'int'
api.has_param :installer_package, 'string'
api.has_param :limited_data_use, 'bool'
api.has_param :migration_bundle, 'string'
api.has_param :page_id, 'int'
api.has_param :page_scoped_user_id, 'int'
api.has_param :receipt_data, 'string'
api.has_param :ud, 'hash'
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 :windows_attribution_id, 'string'
end
end
has_edge :adnetwork_placements do |edge|
edge.get 'AdPlacement' do |api|
api.has_param :request_id, 'string'
end
end
has_edge :adnetworkanalytics do |edge|
edge.get 'AdNetworkAnalyticsSyncQueryResult' do |api|
api.has_param :aggregation_period, { enum: -> { AdNetworkAnalyticsSyncQueryResult::AGGREGATION_PERIOD }}
api.has_param :breakdowns, { list: { enum: -> { AdNetworkAnalyticsSyncQueryResult::BREAKDOWNS }} }
api.has_param :filters, { list: 'hash' }
api.has_param :limit, 'int'
api.has_param :metrics, { list: { enum: -> { AdNetworkAnalyticsSyncQueryResult::METRICS }} }
api.has_param :ordering_column, { enum: -> { AdNetworkAnalyticsSyncQueryResult::ORDERING_COLUMN }}
api.has_param :ordering_type, { enum: -> { AdNetworkAnalyticsSyncQueryResult::ORDERING_TYPE }}
api.has_param :since, 'datetime'
api.has_param :until, 'datetime'
end
edge.post 'Application' do |api|
api.has_param :aggregation_period, { enum: -> { AdNetworkAnalyticsSyncQueryResult::AGGREGATION_PERIOD }}
api.has_param :breakdowns, { list: { enum: -> { AdNetworkAnalyticsSyncQueryResult::BREAKDOWNS }} }
api.has_param :filters, { list: 'object' }
api.has_param :limit, 'int'
api.has_param :metrics, { list: { enum: -> { AdNetworkAnalyticsSyncQueryResult::METRICS }} }
api.has_param :ordering_column, { enum: -> { AdNetworkAnalyticsSyncQueryResult::ORDERING_COLUMN }}
api.has_param :ordering_type, { enum: -> { AdNetworkAnalyticsSyncQueryResult::ORDERING_TYPE }}
api.has_param :since, 'datetime'
api.has_param :until, 'datetime'
end
end
has_edge :adnetworkanalytics_results do |edge|
edge.get 'AdNetworkAnalyticsAsyncQueryResult' do |api|
api.has_param :query_ids, { list: 'string' }
end
end
has_edge :aem_conversion_configs do |edge|
edge.get do |api|
api.has_param :advertiser_ids, { list: 'string' }
end
end
has_edge :aem_conversion_filter do |edge|
edge.get do |api|
api.has_param :catalog_id, 'string'
api.has_param :fb_content_ids, 'string'
end
end
has_edge :aem_conversions do |edge|
edge.post do |api|
api.has_param :aem_conversions, { list: 'hash' }
end
end
has_edge :aem_skan_readiness do |edge|
edge.post do |api|
api.has_param :app_id, 'int'
api.has_param :is_aem_ready, 'bool'
api.has_param :is_skan_ready, 'bool'
end
end
has_edge :agencies do |edge|
edge.get 'Business'
end
has_edge :aggregate_revenue do |edge|
edge.post do |api|
api.has_param :ecpms, { list: 'string' }
api.has_param :query_ids, { list: 'string' }
api.has_param :request_id, 'string'
api.has_param :sync_api, 'bool'
end
end
has_edge :android_dialog_configs do |edge|
edge.get
end
has_edge :app_event_types do |edge|
edge.get
end
has_edge :app_indexing do |edge|
edge.post 'Application' do |api|
api.has_param :app_version, 'string'
api.has_param :device_session_id, 'string'
api.has_param :extra_info, 'string'
api.has_param :platform, { enum: -> { Application::PLATFORM }}
api.has_param :request_type, { enum: -> { Application::REQUEST_TYPE }}
api.has_param :tree, 'hash'
end
end
has_edge :app_indexing_session do |edge|
edge.post 'Application' do |api|
api.has_param :device_session_id, 'string'
api.has_param :extinfo, 'string'
end
end
has_edge :app_installed_groups do |edge|
edge.get 'Group' do |api|
api.has_param :group_id, 'string'
end
end
has_edge :app_push_device_token do |edge|
edge.post 'Application' do |api|
api.has_param :device_id, 'string'
api.has_param :device_token, 'string'
api.has_param :platform, { enum: -> { Application::PLATFORM }}
end
end
has_edge :appassets do |edge|
edge.get
end
has_edge :assets do |edge|
edge.post 'Application' do |api|
api.has_param :asset, 'file'
api.has_param :comment, 'string'
api.has_param :type, 'string'
end
end
has_edge :authorized_adaccounts do |edge|
edge.get 'AdAccount' do |api|
api.has_param :business, 'string'
end
end
has_edge :banned do |edge|
edge.delete do |api|
api.has_param :uids, { list: 'int' }
end
end
has_edge :button_auto_detection_device_selection do |edge|
edge.get do |api|
api.has_param :device_id, 'string'
end
end
has_edge :cloudbridge_settings do |edge|
edge.get
end
has_edge :codeless_event_mappings do |edge|
edge.post 'Application' do |api|
api.has_param :mappings, { list: 'hash' }
api.has_param :mutation_method, { enum: -> { Application::MUTATION_METHOD }}
api.has_param :platform, { enum: -> { Application::PLATFORM }}
api.has_param :post_method, { enum: -> { Application::POST_METHOD }}
end
end
has_edge :da_checks do |edge|
edge.get 'DaCheck' do |api|
api.has_param :checks, { list: 'string' }
api.has_param :connection_method, { enum: -> { DaCheck::CONNECTION_METHOD }}
end
end
has_edge :events do |edge|
edge.get 'Event' do |api|
api.has_param :include_canceled, 'bool'
api.has_param :type, { enum: -> { Event::TYPE }}
end
end
has_edge :insights_push_schedule do |edge|
edge.get
edge.post do |api|
api.has_param :ad_account_ids, { list: 'string' }
api.has_param :breakdowns, { list: 'string' }
api.has_param :date_preset, 'string'
api.has_param :level, { enum: %w{ACCOUNT AD ADSET CAMPAIGN }}
api.has_param :metrics, { list: 'string' }
api.has_param :object_id, 'string'
api.has_param :owner_id, 'int'
api.has_param :schedule, { enum: %w{DAILY FINE_15_MIN FINE_5_MIN MONTHLY WEEKLY }}
api.has_param :status, { enum: %w{ACTIVE DISABLED ERROR }}
api.has_param :time_increment, 'int'
api.has_param :time_start, 'datetime'
api.has_param :time_stop, 'datetime'
end
end
has_edge :ios_dialog_configs do |edge|
edge.get
end
has_edge :leaderboards_create do |edge|
edge.post 'Application' do |api|
api.has_param :context_id, 'string'
api.has_param :decimal_offset, 'int'
api.has_param :name, 'string'
api.has_param :score_type, { enum: -> { Application::SCORE_TYPE }}
api.has_param :sort_order, { enum: -> { Application::SORT_ORDER }}
api.has_param :unit, 'string'
end
end
has_edge :leaderboards_delete_entry do |edge|
edge.post 'Application' do |api|
api.has_param :name, 'string'
api.has_param :player_id, 'string'
end
end
has_edge :leaderboards_reset do |edge|
edge.post 'Application' do |api|
api.has_param :name, 'string'
api.has_param :reset_time, 'datetime'
end
end
has_edge :mmp_auditing do |edge|
edge.post do |api|
api.has_param :advertiser_id, 'string'
api.has_param :attribution, 'string'
api.has_param :attribution_model, 'string'
api.has_param :auditing_token, 'string'
api.has_param :click_attr_window, 'int'
api.has_param :custom_events, { list: 'object' }
api.has_param :decline_reason, 'string'
api.has_param :event, 'string'
api.has_param :event_reported_time, 'int'
api.has_param :fb_ad_id, 'int'
api.has_param :fb_click_time, 'int'
api.has_param :fb_view_time, 'int'
api.has_param :is_fb, 'bool'
api.has_param :view_attr_window, 'int'
end
end
has_edge :mobile_sdk_gk do |edge|
edge.get do |api|
api.has_param :device_id, 'string'
api.has_param :extinfo, 'object'
api.has_param :os_version, 'string'
api.has_param :platform, { enum: %w{ANDROID IOS }}
api.has_param :sdk_version, 'string'
end
end
has_edge :monetized_digital_store_objects do |edge|
edge.post do |api|
api.has_param :content_id, 'string'
api.has_param :store, 'string'
end
end
has_edge :occludespopups do |edge|
edge.post do |api|
api.has_param :flash, 'bool'
api.has_param :unity, 'bool'
end
end
has_edge :page_activities do |edge|
edge.post 'Application' do |api|
api.has_param :advertiser_tracking_enabled, 'bool'
api.has_param :application_tracking_enabled, 'bool'
api.has_param :custom_events, { list: 'object' }
api.has_param :logging_source, { enum: -> { Application::LOGGING_SOURCE }}
api.has_param :logging_target, { enum: -> { Application::LOGGING_TARGET }}
api.has_param :page_id, 'int'
api.has_param :page_scoped_user_id, 'int'
end
end
has_edge :payment_currencies do |edge|
edge.post 'Application' do |api|
api.has_param :currency_url, 'string'
end
end
has_edge :permissions do |edge|
edge.get do |api|
api.has_param :android_key_hash, 'string'
api.has_param :ios_bundle_id, 'string'
api.has_param :permission, { list: 'Permission' }
api.has_param :proxied_app_id, 'int'
api.has_param :status, { list: { enum: %w{live unapproved }} }
end
end
has_edge :products do |edge|
edge.get do |api|
api.has_param :product_ids, { list: 'string' }
end
end
has_edge :purchases do |edge|
edge.get
end
has_edge :roles do |edge|
edge.get
end
has_edge :subscribed_domains do |edge|
edge.get
edge.post 'Application' do |api|
api.has_param :subscribe, { list: 'string' }
api.has_param :unsubscribe, { list: 'string' }
end
end
has_edge :subscribed_domains_phishing do |edge|
edge.get
edge.post 'Application' do |api|
api.has_param :subscribe, { list: 'string' }
api.has_param :unsubscribe, { list: 'string' }
end
end
has_edge :subscriptions do |edge|
edge.delete do |api|
api.has_param :fields, { list: 'string' }
api.has_param :object, 'string'
end
edge.post do |api|
api.has_param :callback_url, 'string'
api.has_param :fields, { list: 'string' }
api.has_param :include_values, 'bool'
api.has_param :object, 'string'
api.has_param :verify_token, 'string'
end
end
has_edge :uploads do |edge|
edge.post do |api|
api.has_param :file_length, 'int'
api.has_param :file_name, 'object'
api.has_param :file_type, 'object'
api.has_param :session_type, { enum: %w{attachment }}
end
end
has_edge :user_properties do |edge|
edge.post do |api|
api.has_param :data, { list: 'object' }
api.has_param :limited_data_use, 'bool'
end
end
end
end