facebookbusiness 0.3.2.9 → 0.3.2.10

Sign up to get free protection for your applications and to get access to all the features.
Files changed (48) hide show
  1. checksums.yaml +4 -4
  2. data/lib/facebook_ads/ad_objects/ad.rb +2 -2
  3. data/lib/facebook_ads/ad_objects/ad_account.rb +3 -0
  4. data/lib/facebook_ads/ad_objects/ad_account_targeting_unified.rb +0 -86
  5. data/lib/facebook_ads/ad_objects/ad_async_request.rb +1 -13
  6. data/lib/facebook_ads/ad_objects/ad_campaign_activity.rb +2 -2
  7. data/lib/facebook_ads/ad_objects/ad_campaign_delivery_stats_unsupported_reasons.rb +1 -1
  8. data/lib/facebook_ads/ad_objects/ad_creative.rb +0 -2
  9. data/lib/facebook_ads/ad_objects/ad_creative_link_data_template_video_spec.rb +1 -1
  10. data/lib/facebook_ads/ad_objects/ad_monetization_property.rb +10 -81
  11. data/lib/facebook_ads/ad_objects/ad_network_analytics_sync_query_result.rb +56 -0
  12. data/lib/facebook_ads/ad_objects/ad_study.rb +1 -0
  13. data/lib/facebook_ads/ad_objects/adgroup_activity.rb +2 -2
  14. data/lib/facebook_ads/ad_objects/ads_optimal_delivery_growth_opportunity.rb +1 -1
  15. data/lib/facebook_ads/ad_objects/ads_pixel_stats_result.rb +1 -0
  16. data/lib/facebook_ads/ad_objects/application.rb +10 -81
  17. data/lib/facebook_ads/ad_objects/{lead_gen_qualifier.rb → brand_safety_block_list_usage.rb} +6 -5
  18. data/lib/facebook_ads/ad_objects/business.rb +30 -82
  19. data/lib/facebook_ads/ad_objects/business_activity_log_event.rb +1 -1
  20. data/lib/facebook_ads/ad_objects/business_credit_card_legacy.rb +46 -0
  21. data/lib/facebook_ads/ad_objects/custom_audience.rb +1 -0
  22. data/lib/facebook_ads/ad_objects/custom_conversion.rb +1 -0
  23. data/lib/facebook_ads/ad_objects/dog_notification_settings.rb +1 -1
  24. data/lib/facebook_ads/ad_objects/dynamic_item_display_bundle.rb +2 -2
  25. data/lib/facebook_ads/ad_objects/dynamic_item_display_bundle_folder.rb +1 -1
  26. data/lib/facebook_ads/ad_objects/event.rb +6 -56
  27. data/lib/facebook_ads/ad_objects/favorite_request.rb +2 -2
  28. data/lib/facebook_ads/ad_objects/group.rb +2 -0
  29. data/lib/facebook_ads/ad_objects/iterative_split_test_config.rb +1 -1
  30. data/lib/facebook_ads/ad_objects/lead_gen_data_draft.rb +1 -1
  31. data/lib/facebook_ads/ad_objects/leadgen_form.rb +2 -2
  32. data/lib/facebook_ads/ad_objects/live_video.rb +17 -17
  33. data/lib/facebook_ads/ad_objects/live_with_guest_session.rb +1 -1
  34. data/lib/facebook_ads/ad_objects/page.rb +6 -4
  35. data/lib/facebook_ads/ad_objects/permission.rb +1 -0
  36. data/lib/facebook_ads/ad_objects/product_catalog.rb +2 -3
  37. data/lib/facebook_ads/ad_objects/product_catalog_category.rb +1 -1
  38. data/lib/facebook_ads/ad_objects/product_feed_rule.rb +1 -1
  39. data/lib/facebook_ads/ad_objects/product_feed_rule_suggestion.rb +1 -1
  40. data/lib/facebook_ads/ad_objects/product_item.rb +5 -5
  41. data/lib/facebook_ads/ad_objects/reach_frequency_prediction.rb +6 -6
  42. data/lib/facebook_ads/ad_objects/request_history.rb +2 -2
  43. data/lib/facebook_ads/ad_objects/split_test_winner.rb +1 -1
  44. data/lib/facebook_ads/ad_objects/third_party_measurement_report_dataset.rb +49 -0
  45. data/lib/facebook_ads/ad_objects/user.rb +3 -0
  46. data/lib/facebook_ads/ad_objects/vehicle.rb +0 -1
  47. data/lib/facebook_ads/version.rb +1 -1
  48. metadata +5 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1523cfedcc1698c92199caea344b4e57a490701c9b47adc4a0e63e446a0cacc9
4
- data.tar.gz: 8cf7a3e6aeefffb338b7b31680aff80626c478e0fe4e7375f93bc0f51a8cb93c
3
+ metadata.gz: 8bb2c10dfe18230855620aaf85993be2e8ed2d8cbfe897fc38bb025b924a2294
4
+ data.tar.gz: 142dc97b71de60e546b48c66c532e852b58518388995d8f4bc64d1fb522c566e
5
5
  SHA512:
6
- metadata.gz: e3d9c2f1d007f27d3bcbc87888d70b55c28b71f851caeeb41fbcd85a71e16c6e6fb2dd44c29ea6a751dac5b13c0893246bdcf22d7ddc77583f567384f7fd344a
7
- data.tar.gz: 2d7012c5fbf2d4eefd86d90bb53b93aa63afddcfea0854f892f3cdfd3b66bc5d7837ddbd5aca0f8ab3cf1503281da236ffeb8b2212784a357d7fed0e0d3792d9
6
+ metadata.gz: e83233cb326813c013bdc6ce4261f211a44cde1e5999987ca0497a4168c03840e6d2817dd0712a5f0b4442decb7370f1f7aea604707aa45817e6ca52993a0068
7
+ data.tar.gz: 9aa9146d95db541740324fdb572f2c45d629f0471b5f58cf63938b98956cfba5c716bffa2c9a4de0c42af84faf062b41cd12a8fafbd47e3ca1df051cf3f272bf
@@ -148,11 +148,11 @@ module FacebookAds
148
148
  has_edge :adlabels do |edge|
149
149
  edge.delete do |api|
150
150
  api.has_param :adlabels, { list: 'object' }
151
- api.has_param :execution_options, { list: { enum: %w{validate_only }} }
151
+ api.has_param :execution_options, { list: { enum: -> { Ad::EXECUTION_OPTIONS }} }
152
152
  end
153
153
  edge.post 'Ad' do |api|
154
154
  api.has_param :adlabels, { list: 'object' }
155
- api.has_param :execution_options, { list: { enum: %w{validate_only }} }
155
+ api.has_param :execution_options, { list: { enum: -> { Ad::EXECUTION_OPTIONS }} }
156
156
  end
157
157
  end
158
158
 
@@ -127,6 +127,7 @@ module FacebookAds
127
127
  "FOX",
128
128
  "LOOKALIKE",
129
129
  "MANAGED",
130
+ "MEASUREMENT",
130
131
  "OFFLINE_CONVERSION",
131
132
  "PARTNER",
132
133
  "STUDY_RULE_AUDIENCE",
@@ -162,6 +163,7 @@ module FacebookAds
162
163
  field :end_advertiser_name, 'string'
163
164
  field :extended_credit_invoice_group, 'ExtendedCreditInvoiceGroup'
164
165
  field :failed_delivery_checks, { list: 'DeliveryCheck' }
166
+ field :fb_entity, 'int'
165
167
  field :funding_source, 'string'
166
168
  field :funding_source_details, 'FundingSourceDetails'
167
169
  field :has_migrated_permissions, 'bool'
@@ -1175,6 +1177,7 @@ module FacebookAds
1175
1177
  api.has_param :is_bonus_media, 'bool'
1176
1178
  api.has_param :is_conversion_goal, 'bool'
1177
1179
  api.has_param :is_full_view, 'bool'
1180
+ api.has_param :is_higher_average_frequency, 'bool'
1178
1181
  api.has_param :is_reach_and_frequency_io_buying, 'bool'
1179
1182
  api.has_param :is_reserved_buying, 'bool'
1180
1183
  api.has_param :expiration_time, 'int'
@@ -27,118 +27,32 @@ module FacebookAds
27
27
 
28
28
  class AdAccountTargetingUnified < AdObject
29
29
  LIMIT_TYPE = [
30
- "adgroup_id",
31
- "age_max",
32
- "age_min",
33
- "alternate_auto_targeting_option",
34
- "app_install_state",
35
- "audience_network_positions",
36
30
  "behaviors",
37
- "brand_safety_content_filter_levels",
38
- "brand_safety_content_severity_levels",
39
- "catalog_based_targeting",
40
- "cities",
41
31
  "college_years",
42
- "conjunctive_user_adclusters",
43
- "connections",
44
- "contextual_targeting_categories",
45
- "countries",
46
- "country",
47
- "country_groups",
48
- "custom_audiences",
49
- "device_platforms",
50
- "direct_install_devices",
51
- "dynamic_audience_ids",
52
32
  "education_majors",
53
33
  "education_schools",
54
34
  "education_statuses",
55
- "effective_audience_network_positions",
56
- "effective_device_platforms",
57
- "effective_facebook_positions",
58
- "effective_instagram_positions",
59
- "effective_messenger_positions",
60
- "effective_publisher_platforms",
61
- "effective_whatsapp_positions",
62
- "engagement_specs",
63
35
  "ethnic_affinity",
64
- "exclude_previous_days",
65
- "exclude_reached_since",
66
- "excluded_connections",
67
- "excluded_custom_audiences",
68
- "excluded_dynamic_audience_ids",
69
- "excluded_engagement_specs",
70
- "excluded_geo_locations",
71
- "excluded_mobile_device_model",
72
- "excluded_product_audience_specs",
73
- "excluded_publisher_categories",
74
- "excluded_publisher_list_ids",
75
- "excluded_user_adclusters",
76
- "excluded_user_device",
77
- "exclusions",
78
- "facebook_positions",
79
36
  "family_statuses",
80
- "fb_deal_id",
81
- "flexible_spec",
82
- "follow_profiles",
83
- "follow_profiles_negative",
84
- "format",
85
- "friends_of_connections",
86
- "gatekeepers",
87
- "genders",
88
37
  "generation",
89
- "geo_locations",
90
38
  "home_ownership",
91
39
  "home_type",
92
40
  "home_value",
93
41
  "household_composition",
94
42
  "income",
95
43
  "industries",
96
- "instagram_positions",
97
- "instream_video_sponsorship_placements",
98
- "interest_defaults_source",
99
44
  "interested_in",
100
45
  "interests",
101
- "is_whatsapp_destination_ad",
102
- "keywords",
103
46
  "life_events",
104
- "locales",
105
47
  "location_categories",
106
- "location_cluster_ids",
107
- "location_expansion",
108
- "marketplace_product_categories",
109
- "messenger_positions",
110
- "mobile_device_model",
111
48
  "moms",
112
49
  "net_worth",
113
50
  "office_type",
114
- "page_types",
115
- "place_page_set_ids",
116
- "political_views",
117
51
  "politics",
118
- "product_audience_specs",
119
- "prospecting_audience",
120
- "publisher_platforms",
121
- "publisher_visibility_categories",
122
- "radius",
123
- "regions",
124
52
  "relationship_statuses",
125
- "rtb_flag",
126
- "site_category",
127
- "targeting_optimization",
128
- "timezones",
129
- "topic",
130
- "trending",
131
53
  "user_adclusters",
132
- "user_device",
133
- "user_event",
134
- "user_os",
135
- "user_page_threads",
136
- "user_page_threads_excluded",
137
- "whatsapp_positions",
138
- "wireless_carrier",
139
54
  "work_employers",
140
55
  "work_positions",
141
- "zips",
142
56
  ]
143
57
 
144
58
  WHITELISTED_TYPES = [
@@ -26,18 +26,6 @@ module FacebookAds
26
26
  # pull request for this class.
27
27
 
28
28
  class AdAsyncRequest < AdObject
29
- STATUS = [
30
- "CANCELED",
31
- "CANCELED_DEPENDENCY",
32
- "ERROR",
33
- "ERROR_CONFLICTS",
34
- "ERROR_DEPENDENCY",
35
- "INITIAL",
36
- "IN_PROGRESS",
37
- "PENDING_DEPENDENCY",
38
- "SUCCESS",
39
- ]
40
-
41
29
  STATUSES = [
42
30
  "CANCELED",
43
31
  "CANCELED_DEPENDENCY",
@@ -57,7 +45,7 @@ module FacebookAds
57
45
  field :input, 'hash'
58
46
  field :result, 'hash'
59
47
  field :scope_object_id, 'string'
60
- field :status, { enum: -> { STATUS }}
48
+ field :status, 'string'
61
49
  field :type, 'string'
62
50
  field :updated_time, 'datetime'
63
51
  has_no_post
@@ -129,8 +129,8 @@ module FacebookAds
129
129
  field :bid_amount_old, 'int'
130
130
  field :bid_constraints_new, 'object'
131
131
  field :bid_constraints_old, 'object'
132
- field :bid_info_new, { list: 'object' }
133
- field :bid_info_old, { list: 'object' }
132
+ field :bid_info_new, 'hash'
133
+ field :bid_info_old, 'hash'
134
134
  field :bid_strategy_new, { enum: -> { BID_STRATEGY_NEW }}
135
135
  field :bid_strategy_old, { enum: -> { BID_STRATEGY_OLD }}
136
136
  field :bid_type_new, 'string'
@@ -27,7 +27,7 @@ module FacebookAds
27
27
 
28
28
  class AdCampaignDeliveryStatsUnsupportedReasons < AdObject
29
29
 
30
- field :reason_data, { list: 'object' }
30
+ field :reason_data, 'hash'
31
31
  field :reason_type, 'string'
32
32
  field :id, 'string'
33
33
  has_no_get
@@ -101,8 +101,6 @@ module FacebookAds
101
101
  STATUS = [
102
102
  "ACTIVE",
103
103
  "DELETED",
104
- "PENDING_PROCESS",
105
- "WITH_ISSUES",
106
104
  ]
107
105
 
108
106
  AUTHORIZATION_CATEGORY = [
@@ -28,7 +28,7 @@ module FacebookAds
28
28
  class AdCreativeLinkDataTemplateVideoSpec < AdObject
29
29
 
30
30
  field :categorization_criteria, 'string'
31
- field :customization, { list: 'object' }
31
+ field :customization, 'hash'
32
32
  field :template_id, 'string'
33
33
  field :id, 'string'
34
34
  has_no_get
@@ -26,77 +26,6 @@ module FacebookAds
26
26
  # pull request for this class.
27
27
 
28
28
  class AdMonetizationProperty < AdObject
29
- AGGREGATION_PERIOD = [
30
- "DAY",
31
- "HOUR",
32
- "TOTAL",
33
- ]
34
-
35
- BREAKDOWNS = [
36
- "AGE",
37
- "APP",
38
- "CLICKED_VIEW_TAG",
39
- "COUNTRY",
40
- "DEAL",
41
- "DEAL_AD",
42
- "DEAL_PAGE",
43
- "DELIVERY_METHOD",
44
- "DISPLAY_FORMAT",
45
- "FAIL_REASON",
46
- "GENDER",
47
- "PLACEMENT",
48
- "PLATFORM",
49
- "PROPERTY",
50
- "SDK_VERSION",
51
- ]
52
-
53
- METRICS = [
54
- "FB_AD_NETWORK_BIDDING_BID_RATE",
55
- "FB_AD_NETWORK_BIDDING_REQUEST",
56
- "FB_AD_NETWORK_BIDDING_RESPONSE",
57
- "FB_AD_NETWORK_BIDDING_REVENUE",
58
- "FB_AD_NETWORK_BIDDING_WIN_RATE",
59
- "FB_AD_NETWORK_CLICK",
60
- "FB_AD_NETWORK_CLICK_VALUE_SCORE",
61
- "FB_AD_NETWORK_CLICK_VALUE_SCORE_DENOMINATOR",
62
- "FB_AD_NETWORK_CLICK_VALUE_SCORE_NUMERATOR",
63
- "FB_AD_NETWORK_CPM",
64
- "FB_AD_NETWORK_CTR",
65
- "FB_AD_NETWORK_DIRECT_PUBLISHER_BILL",
66
- "FB_AD_NETWORK_DIRECT_TOTAL_REVENUE",
67
- "FB_AD_NETWORK_FAST_CLICK_DENOMINATOR",
68
- "FB_AD_NETWORK_FAST_CLICK_NUMERATOR",
69
- "FB_AD_NETWORK_FAST_CLICK_RATE",
70
- "FB_AD_NETWORK_FAST_RETURN_DENOMINATOR",
71
- "FB_AD_NETWORK_FAST_RETURN_NUMERATOR",
72
- "FB_AD_NETWORK_FAST_RETURN_RATE",
73
- "FB_AD_NETWORK_FILLED_REQUEST",
74
- "FB_AD_NETWORK_FILL_RATE",
75
- "FB_AD_NETWORK_IMP",
76
- "FB_AD_NETWORK_NO_BID",
77
- "FB_AD_NETWORK_NO_FILL",
78
- "FB_AD_NETWORK_REQUEST",
79
- "FB_AD_NETWORK_REVENUE",
80
- "FB_AD_NETWORK_SHOW_RATE",
81
- "FB_AD_NETWORK_VIDEO_GUARANTEE_REVENUE",
82
- "FB_AD_NETWORK_VIDEO_MRC",
83
- "FB_AD_NETWORK_VIDEO_MRC_RATE",
84
- "FB_AD_NETWORK_VIDEO_VIEW",
85
- "FB_AD_NETWORK_VIDEO_VIEW_RATE",
86
- "FB_AD_NETWORK_WIN_RATE",
87
- ]
88
-
89
- ORDERING_COLUMN = [
90
- "METRIC",
91
- "TIME",
92
- "VALUE",
93
- ]
94
-
95
- ORDERING_TYPE = [
96
- "ASCENDING",
97
- "DESCENDING",
98
- ]
99
-
100
29
 
101
30
  field :id, 'string'
102
31
  has_no_post
@@ -104,24 +33,24 @@ module FacebookAds
104
33
 
105
34
  has_edge :adnetworkanalytics do |edge|
106
35
  edge.get 'AdNetworkAnalyticsSyncQueryResult' do |api|
107
- api.has_param :aggregation_period, { enum: -> { AdMonetizationProperty::AGGREGATION_PERIOD }}
108
- api.has_param :breakdowns, { list: { enum: -> { AdMonetizationProperty::BREAKDOWNS }} }
36
+ api.has_param :aggregation_period, { enum: -> { AdNetworkAnalyticsSyncQueryResult::AGGREGATION_PERIOD }}
37
+ api.has_param :breakdowns, { list: { enum: -> { AdNetworkAnalyticsSyncQueryResult::BREAKDOWNS }} }
109
38
  api.has_param :filters, { list: 'hash' }
110
39
  api.has_param :limit, 'int'
111
- api.has_param :metrics, { list: { enum: -> { AdMonetizationProperty::METRICS }} }
112
- api.has_param :ordering_column, { enum: -> { AdMonetizationProperty::ORDERING_COLUMN }}
113
- api.has_param :ordering_type, { enum: -> { AdMonetizationProperty::ORDERING_TYPE }}
40
+ api.has_param :metrics, { list: { enum: -> { AdNetworkAnalyticsSyncQueryResult::METRICS }} }
41
+ api.has_param :ordering_column, { enum: -> { AdNetworkAnalyticsSyncQueryResult::ORDERING_COLUMN }}
42
+ api.has_param :ordering_type, { enum: -> { AdNetworkAnalyticsSyncQueryResult::ORDERING_TYPE }}
114
43
  api.has_param :since, 'datetime'
115
44
  api.has_param :until, 'datetime'
116
45
  end
117
46
  edge.post 'AdMonetizationProperty' do |api|
118
- api.has_param :aggregation_period, { enum: -> { AdMonetizationProperty::AGGREGATION_PERIOD }}
119
- api.has_param :breakdowns, { list: { enum: -> { AdMonetizationProperty::BREAKDOWNS }} }
120
- api.has_param :metrics, { list: { enum: -> { AdMonetizationProperty::METRICS }} }
47
+ api.has_param :aggregation_period, { enum: -> { AdNetworkAnalyticsSyncQueryResult::AGGREGATION_PERIOD }}
48
+ api.has_param :breakdowns, { list: { enum: -> { AdNetworkAnalyticsSyncQueryResult::BREAKDOWNS }} }
49
+ api.has_param :metrics, { list: { enum: -> { AdNetworkAnalyticsSyncQueryResult::METRICS }} }
121
50
  api.has_param :filters, { list: 'object' }
122
51
  api.has_param :limit, 'int'
123
- api.has_param :ordering_column, { enum: -> { AdMonetizationProperty::ORDERING_COLUMN }}
124
- api.has_param :ordering_type, { enum: -> { AdMonetizationProperty::ORDERING_TYPE }}
52
+ api.has_param :ordering_column, { enum: -> { AdNetworkAnalyticsSyncQueryResult::ORDERING_COLUMN }}
53
+ api.has_param :ordering_type, { enum: -> { AdNetworkAnalyticsSyncQueryResult::ORDERING_TYPE }}
125
54
  api.has_param :since, 'datetime'
126
55
  api.has_param :until, 'datetime'
127
56
  end
@@ -26,6 +26,62 @@ module FacebookAds
26
26
  # pull request for this class.
27
27
 
28
28
  class AdNetworkAnalyticsSyncQueryResult < AdObject
29
+ AGGREGATION_PERIOD = [
30
+ "DAY",
31
+ "TOTAL",
32
+ ]
33
+
34
+ BREAKDOWNS = [
35
+ "AGE",
36
+ "APP",
37
+ "CLICKED_VIEW_TAG",
38
+ "COUNTRY",
39
+ "DEAL",
40
+ "DEAL_AD",
41
+ "DEAL_PAGE",
42
+ "DELIVERY_METHOD",
43
+ "DISPLAY_FORMAT",
44
+ "FAIL_REASON",
45
+ "GENDER",
46
+ "PLACEMENT",
47
+ "PLATFORM",
48
+ "PROPERTY",
49
+ "SDK_VERSION",
50
+ ]
51
+
52
+ METRICS = [
53
+ "FB_AD_NETWORK_BIDDING_BID_RATE",
54
+ "FB_AD_NETWORK_BIDDING_REQUEST",
55
+ "FB_AD_NETWORK_BIDDING_RESPONSE",
56
+ "FB_AD_NETWORK_BIDDING_REVENUE",
57
+ "FB_AD_NETWORK_BIDDING_WIN_RATE",
58
+ "FB_AD_NETWORK_CLICK",
59
+ "FB_AD_NETWORK_CPM",
60
+ "FB_AD_NETWORK_CTR",
61
+ "FB_AD_NETWORK_FILLED_REQUEST",
62
+ "FB_AD_NETWORK_FILL_RATE",
63
+ "FB_AD_NETWORK_IMP",
64
+ "FB_AD_NETWORK_REQUEST",
65
+ "FB_AD_NETWORK_REVENUE",
66
+ "FB_AD_NETWORK_SHOW_RATE",
67
+ "FB_AD_NETWORK_VIDEO_GUARANTEE_REVENUE",
68
+ "FB_AD_NETWORK_VIDEO_MRC",
69
+ "FB_AD_NETWORK_VIDEO_MRC_RATE",
70
+ "FB_AD_NETWORK_VIDEO_VIEW",
71
+ "FB_AD_NETWORK_VIDEO_VIEW_RATE",
72
+ ]
73
+
74
+ ORDERING_COLUMN = [
75
+ "METRIC",
76
+ "TIME",
77
+ "VALUE",
78
+ ]
79
+
80
+ ORDERING_TYPE = [
81
+ "ASCENDING",
82
+ "DESCENDING",
83
+ ]
84
+
29
85
 
30
86
  field :query_id, 'string'
31
87
  field :results, { list: 'object' }
@@ -37,6 +37,7 @@ module FacebookAds
37
37
  ]
38
38
 
39
39
  TYPE = [
40
+ "CONTINUOUS_LIFT_CONFIG",
40
41
  "LIFT",
41
42
  "SPLIT_TEST",
42
43
  ]
@@ -75,8 +75,8 @@ module FacebookAds
75
75
  field :asset_feed_id_old, 'string'
76
76
  field :bid_amount_new, 'int'
77
77
  field :bid_amount_old, 'int'
78
- field :bid_info_new, { list: 'object' }
79
- field :bid_info_old, { list: 'object' }
78
+ field :bid_info_new, 'hash'
79
+ field :bid_info_old, 'hash'
80
80
  field :bid_type_new, 'string'
81
81
  field :bid_type_old, 'string'
82
82
  field :conversion_specs_new, { list: 'object' }
@@ -27,7 +27,7 @@ module FacebookAds
27
27
 
28
28
  class AdsOptimalDeliveryGrowthOpportunity < AdObject
29
29
 
30
- field :child_metadata, { list: 'object' }
30
+ field :child_metadata, 'hash'
31
31
  field :metadata, 'object'
32
32
  field :optimization_type, 'string'
33
33
  field :id, 'string'