facebookbusiness 0.3.1.1 → 0.3.1.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (658) hide show
  1. checksums.yaml +4 -4
  2. data/lib/facebook_ads/ad_objects/ad.rb +54 -26
  3. data/lib/facebook_ads/ad_objects/ad_account.rb +747 -179
  4. data/lib/facebook_ads/ad_objects/ad_account_activity.rb +67 -0
  5. data/lib/facebook_ads/ad_objects/ad_account_ad_rules_history.rb +1 -2
  6. data/lib/facebook_ads/ad_objects/ad_account_all_payment_methods.rb +35 -0
  7. data/lib/facebook_ads/ad_objects/ad_account_asl_schedule.rb +40 -0
  8. data/lib/facebook_ads/ad_objects/ad_account_bank_info_list.rb +36 -0
  9. data/lib/facebook_ads/ad_objects/ad_account_billing_date_preference.rb +40 -0
  10. data/lib/facebook_ads/ad_objects/ad_account_checkout.rb +41 -0
  11. data/lib/facebook_ads/ad_objects/ad_account_checkout_payment.rb +43 -0
  12. data/lib/facebook_ads/ad_objects/ad_account_contextual_targeting.rb +8 -2
  13. data/lib/facebook_ads/ad_objects/ad_account_creation_request.rb +32 -1
  14. data/lib/facebook_ads/ad_objects/ad_account_custom_audience_limits.rb +40 -0
  15. data/lib/facebook_ads/ad_objects/ad_account_default_destination.rb +37 -0
  16. data/lib/facebook_ads/ad_objects/ad_account_default_objective.rb +79 -0
  17. data/lib/facebook_ads/ad_objects/ad_account_delivery_estimate.rb +2 -2
  18. data/lib/facebook_ads/ad_objects/ad_account_matched_search_applications_edge_data.rb +57 -0
  19. data/lib/facebook_ads/ad_objects/ad_account_payment_details.rb +40 -0
  20. data/lib/facebook_ads/ad_objects/ad_account_payment_options.rb +39 -0
  21. data/lib/facebook_ads/ad_objects/ad_account_placement_usage.rb +37 -0
  22. data/lib/facebook_ads/ad_objects/ad_account_prepay_details.rb +39 -0
  23. data/lib/facebook_ads/ad_objects/ad_account_promotable_objects.rb +38 -0
  24. data/lib/facebook_ads/ad_objects/ad_account_promotion_progress_bar.rb +43 -0
  25. data/lib/facebook_ads/ad_objects/ad_account_recommended_camapaign_budget.rb +38 -0
  26. data/lib/facebook_ads/ad_objects/ad_account_roas.rb +1 -34
  27. data/lib/facebook_ads/ad_objects/ad_account_spend_limit.rb +42 -0
  28. data/lib/facebook_ads/ad_objects/ad_account_subsidy_amount_details.rb +38 -0
  29. data/lib/facebook_ads/ad_objects/ad_account_targeting_unified.rb +12 -110
  30. data/lib/facebook_ads/ad_objects/ad_account_tracking_data.rb +36 -0
  31. data/lib/facebook_ads/ad_objects/ad_account_user.rb +0 -1
  32. data/lib/facebook_ads/ad_objects/ad_account_user_permissions.rb +45 -0
  33. data/lib/facebook_ads/ad_objects/ad_account_user_settings.rb +55 -0
  34. data/lib/facebook_ads/ad_objects/ad_activity.rb +1 -2
  35. data/lib/facebook_ads/ad_objects/ad_asset_feed.rb +216 -0
  36. data/lib/facebook_ads/ad_objects/ad_asset_feed_spec.rb +2 -2
  37. data/lib/facebook_ads/ad_objects/ad_asset_feed_spec_asset_label.rb +0 -1
  38. data/lib/facebook_ads/ad_objects/ad_asset_feed_spec_body.rb +1 -2
  39. data/lib/facebook_ads/ad_objects/ad_asset_feed_spec_caption.rb +1 -2
  40. data/lib/facebook_ads/ad_objects/ad_asset_feed_spec_description.rb +1 -2
  41. data/lib/facebook_ads/ad_objects/ad_asset_feed_spec_group_rule.rb +1 -2
  42. data/lib/facebook_ads/ad_objects/ad_asset_feed_spec_image.rb +1 -2
  43. data/lib/facebook_ads/ad_objects/ad_asset_feed_spec_link_url.rb +1 -2
  44. data/lib/facebook_ads/ad_objects/ad_asset_feed_spec_title.rb +1 -2
  45. data/lib/facebook_ads/ad_objects/ad_asset_feed_spec_video.rb +1 -2
  46. data/lib/facebook_ads/ad_objects/ad_async_request.rb +0 -1
  47. data/lib/facebook_ads/ad_objects/ad_async_request_set.rb +0 -2
  48. data/lib/facebook_ads/ad_objects/ad_async_request_set_notification_result.rb +1 -2
  49. data/lib/facebook_ads/ad_objects/ad_bid_adjustments.rb +38 -0
  50. data/lib/facebook_ads/ad_objects/ad_campaign_activity.rb +176 -0
  51. data/lib/facebook_ads/ad_objects/ad_campaign_bid_constraint.rb +36 -0
  52. data/lib/facebook_ads/ad_objects/ad_campaign_delivery_estimate.rb +2 -2
  53. data/lib/facebook_ads/ad_objects/ad_campaign_delivery_stats.rb +42 -0
  54. data/lib/facebook_ads/ad_objects/ad_campaign_frequency_control_specs.rb +1 -2
  55. data/lib/facebook_ads/ad_objects/ad_campaign_group_activity.rb +99 -0
  56. data/lib/facebook_ads/ad_objects/ad_campaign_group_stats.rb +50 -0
  57. data/lib/facebook_ads/ad_objects/ad_campaign_learning_stage_info.rb +41 -0
  58. data/lib/facebook_ads/ad_objects/ad_campaign_metrics_metadata.rb +39 -0
  59. data/lib/facebook_ads/ad_objects/ad_campaign_optimization_event.rb +38 -0
  60. data/lib/facebook_ads/ad_objects/ad_campaign_paced_bid_info.rb +36 -0
  61. data/lib/facebook_ads/ad_objects/ad_campaign_stats.rb +58 -0
  62. data/lib/facebook_ads/ad_objects/ad_column_sizes.rb +43 -0
  63. data/lib/facebook_ads/ad_objects/ad_contract.rb +77 -0
  64. data/lib/facebook_ads/ad_objects/ad_conversion_values.rb +38 -0
  65. data/lib/facebook_ads/ad_objects/ad_conversions.rb +39 -0
  66. data/lib/facebook_ads/ad_objects/ad_creative.rb +43 -9
  67. data/lib/facebook_ads/ad_objects/ad_creative_collection_thumbnail_info.rb +1 -2
  68. data/lib/facebook_ads/ad_objects/ad_creative_link_data.rb +4 -4
  69. data/lib/facebook_ads/ad_objects/ad_creative_link_data_app_link_spec.rb +1 -2
  70. data/lib/facebook_ads/ad_objects/ad_creative_link_data_call_to_action.rb +2 -2
  71. data/lib/facebook_ads/ad_objects/ad_creative_link_data_call_to_action_value.rb +2 -2
  72. data/lib/facebook_ads/ad_objects/ad_creative_link_data_child_attachment.rb +2 -2
  73. data/lib/facebook_ads/ad_objects/ad_creative_link_data_custom_overlay_spec.rb +1 -2
  74. data/lib/facebook_ads/ad_objects/ad_creative_link_data_image_layer_spec.rb +100 -0
  75. data/lib/facebook_ads/ad_objects/ad_creative_link_data_image_overlay_spec.rb +1 -2
  76. data/lib/facebook_ads/ad_objects/ad_creative_link_data_sponsorship_info_spec.rb +37 -0
  77. data/lib/facebook_ads/ad_objects/ad_creative_link_data_template_video_spec.rb +38 -0
  78. data/lib/facebook_ads/ad_objects/ad_creative_object_story_spec.rb +1 -2
  79. data/lib/facebook_ads/ad_objects/ad_creative_photo_data.rb +1 -2
  80. data/lib/facebook_ads/ad_objects/ad_creative_place_data.rb +1 -2
  81. data/lib/facebook_ads/ad_objects/ad_creative_platform_customization.rb +36 -0
  82. data/lib/facebook_ads/ad_objects/ad_creative_portrait_customizations.rb +36 -0
  83. data/lib/facebook_ads/ad_objects/ad_creative_post_click_configuration.rb +1 -2
  84. data/lib/facebook_ads/ad_objects/ad_creative_recommender_settings.rb +37 -0
  85. data/lib/facebook_ads/ad_objects/ad_creative_static_fallback_spec.rb +41 -0
  86. data/lib/facebook_ads/ad_objects/ad_creative_template_url_spec.rb +42 -0
  87. data/lib/facebook_ads/ad_objects/ad_creative_text_data.rb +1 -2
  88. data/lib/facebook_ads/ad_objects/ad_creative_video_data.rb +3 -2
  89. data/lib/facebook_ads/ad_objects/ad_creative_video_data_custom_overlay_spec.rb +76 -0
  90. data/lib/facebook_ads/ad_objects/ad_custom_derived_metrics.rb +41 -0
  91. data/lib/facebook_ads/ad_objects/ad_customization_rule_spec.rb +43 -0
  92. data/lib/facebook_ads/ad_objects/ad_default_values.rb +36 -0
  93. data/lib/facebook_ads/ad_objects/ad_delivery_insights.rb +42 -0
  94. data/lib/facebook_ads/ad_objects/ad_draft.rb +47 -0
  95. data/lib/facebook_ads/ad_objects/ad_dynamic_creative.rb +36 -0
  96. data/lib/facebook_ads/ad_objects/ad_entity_target_spend.rb +40 -0
  97. data/lib/facebook_ads/ad_objects/ad_export_preset.rb +40 -0
  98. data/lib/facebook_ads/ad_objects/ad_image.rb +1 -0
  99. data/lib/facebook_ads/ad_objects/ad_keyword_stats.rb +0 -1
  100. data/lib/facebook_ads/ad_objects/ad_kpi_shift.rb +41 -0
  101. data/lib/facebook_ads/ad_objects/ad_label.rb +0 -4
  102. data/lib/facebook_ads/ad_objects/ad_light_adgroup.rb +35 -0
  103. data/lib/facebook_ads/ad_objects/ad_light_campaign.rb +35 -0
  104. data/lib/facebook_ads/ad_objects/ad_light_campaign_group.rb +35 -0
  105. data/lib/facebook_ads/ad_objects/ad_monetization_property.rb +133 -0
  106. data/lib/facebook_ads/ad_objects/ad_network_analytics_async_query_export.rb +39 -0
  107. data/lib/facebook_ads/ad_objects/ad_network_analytics_async_query_result.rb +1 -2
  108. data/lib/facebook_ads/ad_objects/ad_network_analytics_sync_query_result.rb +68 -2
  109. data/lib/facebook_ads/ad_objects/ad_place_page_set_invalid_location.rb +37 -0
  110. data/lib/facebook_ads/ad_objects/ad_place_page_set_metadata.rb +38 -0
  111. data/lib/facebook_ads/ad_objects/ad_preview.rb +7 -2
  112. data/lib/facebook_ads/ad_objects/ad_promoted_object.rb +14 -2
  113. data/lib/facebook_ads/ad_objects/ad_recommendation.rb +1 -2
  114. data/lib/facebook_ads/ad_objects/ad_recommendation_data.rb +1 -2
  115. data/lib/facebook_ads/ad_objects/ad_report_run.rb +9 -7
  116. data/lib/facebook_ads/ad_objects/ad_report_spec.rb +105 -0
  117. data/lib/facebook_ads/ad_objects/ad_rule.rb +9 -1
  118. data/lib/facebook_ads/ad_objects/ad_rule_aggregated_execution_history.rb +38 -0
  119. data/lib/facebook_ads/ad_objects/ad_rule_evaluation_spec.rb +1 -2
  120. data/lib/facebook_ads/ad_objects/ad_rule_execution_options.rb +1 -2
  121. data/lib/facebook_ads/ad_objects/ad_rule_execution_spec.rb +1 -2
  122. data/lib/facebook_ads/ad_objects/ad_rule_filters.rb +1 -2
  123. data/lib/facebook_ads/ad_objects/ad_rule_history.rb +1 -2
  124. data/lib/facebook_ads/ad_objects/ad_rule_history_result.rb +1 -2
  125. data/lib/facebook_ads/ad_objects/ad_rule_history_result_action.rb +1 -2
  126. data/lib/facebook_ads/ad_objects/ad_rule_schedule.rb +1 -2
  127. data/lib/facebook_ads/ad_objects/ad_rule_schedule_spec.rb +1 -2
  128. data/lib/facebook_ads/ad_objects/ad_rule_trigger.rb +1 -2
  129. data/lib/facebook_ads/ad_objects/ad_saved_location.rb +44 -0
  130. data/lib/facebook_ads/ad_objects/ad_saved_report.rb +52 -0
  131. data/lib/facebook_ads/ad_objects/ad_script.rb +45 -0
  132. data/lib/facebook_ads/ad_objects/ad_script_execution_history.rb +44 -0
  133. data/lib/facebook_ads/ad_objects/ad_set.rb +70 -26
  134. data/lib/facebook_ads/ad_objects/ad_study.rb +27 -13
  135. data/lib/facebook_ads/ad_objects/ad_study_ads_asset_user_permissions.rb +1 -2
  136. data/lib/facebook_ads/ad_objects/ad_study_cell.rb +12 -0
  137. data/lib/facebook_ads/ad_objects/ad_study_objective.rb +0 -7
  138. data/lib/facebook_ads/ad_objects/ad_study_objective_id.rb +37 -0
  139. data/lib/facebook_ads/ad_objects/ad_topline.rb +69 -0
  140. data/lib/facebook_ads/ad_objects/ad_topline_detail.rb +49 -0
  141. data/lib/facebook_ads/ad_objects/ad_video.rb +421 -0
  142. data/lib/facebook_ads/ad_objects/adgroup_activity.rb +128 -0
  143. data/lib/facebook_ads/ad_objects/adgroup_metadata.rb +37 -0
  144. data/lib/facebook_ads/ad_objects/adgroup_placement_specific_review_feedback.rb +10 -2
  145. data/lib/facebook_ads/ad_objects/adgroup_relevance_score.rb +1 -2
  146. data/lib/facebook_ads/ad_objects/adgroup_review_feedback.rb +1 -2
  147. data/lib/facebook_ads/ad_objects/ads_action_stats.rb +5 -2
  148. data/lib/facebook_ads/ad_objects/ads_creation_saved_state.rb +38 -0
  149. data/lib/facebook_ads/ad_objects/ads_data_partner.rb +6 -0
  150. data/lib/facebook_ads/ad_objects/ads_image_crops.rb +1 -2
  151. data/lib/facebook_ads/ad_objects/ads_insights.rb +58 -19
  152. data/lib/facebook_ads/ad_objects/ads_optimal_delivery_growth_opportunity.rb +38 -0
  153. data/lib/facebook_ads/ad_objects/ads_payment_cycle.rb +41 -0
  154. data/lib/facebook_ads/ad_objects/ads_pixel.rb +82 -3
  155. data/lib/facebook_ads/ad_objects/ads_pixel_domain_control_rule.rb +37 -0
  156. data/lib/facebook_ads/ad_objects/ads_pixel_domain_last_fired_time.rb +37 -0
  157. data/lib/facebook_ads/ad_objects/ads_pixel_event_last_fired_time.rb +37 -0
  158. data/lib/facebook_ads/ad_objects/ads_pixel_event_prediction.rb +38 -0
  159. data/lib/facebook_ads/ad_objects/ads_pixel_event_suggestion_rule.rb +43 -0
  160. data/lib/facebook_ads/ad_objects/ads_pixel_microdata_stats.rb +36 -0
  161. data/lib/facebook_ads/ad_objects/ads_pixel_raw_fires_result.rb +41 -0
  162. data/lib/facebook_ads/ad_objects/ads_pixel_real_time_event_log_result.rb +42 -0
  163. data/lib/facebook_ads/ad_objects/ads_pixel_recent_events_result.rb +37 -0
  164. data/lib/facebook_ads/ad_objects/ads_pixel_server_to_server_key.rb +37 -0
  165. data/lib/facebook_ads/ad_objects/ads_pixel_signals_iwl_nux.rb +40 -0
  166. data/lib/facebook_ads/ad_objects/ads_pixel_stats.rb +1 -2
  167. data/lib/facebook_ads/ad_objects/ads_pixel_stats_result.rb +1 -2
  168. data/lib/facebook_ads/ad_objects/ads_pixel_traffic_anomaly_config.rb +40 -0
  169. data/lib/facebook_ads/ad_objects/ads_post.rb +55 -0
  170. data/lib/facebook_ads/ad_objects/ads_report_builder.rb +37 -0
  171. data/lib/facebook_ads/ad_objects/ads_report_builder_saved_report.rb +63 -0
  172. data/lib/facebook_ads/ad_objects/ads_segments.rb +43 -0
  173. data/lib/facebook_ads/ad_objects/ads_tal_health_check_error.rb +37 -0
  174. data/lib/facebook_ads/ad_objects/ads_tal_nudge.rb +39 -0
  175. data/lib/facebook_ads/ad_objects/ads_targeting_insights.rb +45 -0
  176. data/lib/facebook_ads/ad_objects/ads_user_settings.rb +61 -0
  177. data/lib/facebook_ads/ad_objects/age_range.rb +37 -0
  178. data/lib/facebook_ads/ad_objects/agency_client_declaration.rb +1 -2
  179. data/lib/facebook_ads/ad_objects/album.rb +97 -28
  180. data/lib/facebook_ads/ad_objects/an_blocked_bi_category.rb +36 -0
  181. data/lib/facebook_ads/ad_objects/analytics_cohort_query_result.rb +39 -0
  182. data/lib/facebook_ads/ad_objects/analytics_config.rb +62 -0
  183. data/lib/facebook_ads/ad_objects/analytics_entity_user_config.rb +36 -0
  184. data/lib/facebook_ads/ad_objects/analytics_event_types.rb +39 -0
  185. data/lib/facebook_ads/ad_objects/analytics_funnel_query_result.rb +39 -0
  186. data/lib/facebook_ads/ad_objects/analytics_platform_metrics_config.rb +44 -0
  187. data/lib/facebook_ads/ad_objects/analytics_query_export_result.rb +39 -0
  188. data/lib/facebook_ads/ad_objects/analytics_query_result.rb +40 -0
  189. data/lib/facebook_ads/ad_objects/analytics_segment.rb +53 -0
  190. data/lib/facebook_ads/ad_objects/analytics_user_config.rb +37 -0
  191. data/lib/facebook_ads/ad_objects/android_app_link.rb +1 -2
  192. data/lib/facebook_ads/ad_objects/app_event_config.rb +62 -0
  193. data/lib/facebook_ads/ad_objects/app_publisher.rb +41 -0
  194. data/lib/facebook_ads/ad_objects/app_request.rb +42 -0
  195. data/lib/facebook_ads/ad_objects/app_request_former_recipient.rb +36 -0
  196. data/lib/facebook_ads/ad_objects/application.rb +801 -0
  197. data/lib/facebook_ads/ad_objects/application_third_party_payload.rb +38 -0
  198. data/lib/facebook_ads/ad_objects/async_request.rb +51 -0
  199. data/lib/facebook_ads/ad_objects/async_session.rb +49 -0
  200. data/lib/facebook_ads/ad_objects/atlas_campaign.rb +75 -0
  201. data/lib/facebook_ads/ad_objects/atlas_company.rb +47 -0
  202. data/lib/facebook_ads/ad_objects/atlas_url.rb +36 -0
  203. data/lib/facebook_ads/ad_objects/atlas_user.rb +52 -0
  204. data/lib/facebook_ads/ad_objects/attribution_spec.rb +1 -2
  205. data/lib/facebook_ads/ad_objects/audience_insights_rule.rb +44 -0
  206. data/lib/facebook_ads/ad_objects/audience_insights_study_spec.rb +43 -0
  207. data/lib/facebook_ads/ad_objects/audience_overlap.rb +38 -0
  208. data/lib/facebook_ads/ad_objects/audience_permission.rb +1 -2
  209. data/lib/facebook_ads/ad_objects/audience_permission_for_actions.rb +40 -0
  210. data/lib/facebook_ads/ad_objects/audience_sharing_account_valid.rb +40 -0
  211. data/lib/facebook_ads/ad_objects/audience_sharing_recipient_accounts.rb +41 -0
  212. data/lib/facebook_ads/ad_objects/audience_study.rb +46 -0
  213. data/lib/facebook_ads/ad_objects/audio_copyright.rb +6 -1
  214. data/lib/facebook_ads/ad_objects/audio_release.rb +48 -0
  215. data/lib/facebook_ads/ad_objects/auto.rb +41 -0
  216. data/lib/facebook_ads/ad_objects/auto_market.rb +38 -0
  217. data/lib/facebook_ads/ad_objects/auto_offer.rb +52 -0
  218. data/lib/facebook_ads/ad_objects/automotive_model.rb +58 -0
  219. data/lib/facebook_ads/ad_objects/big_data_upload_session.rb +38 -0
  220. data/lib/facebook_ads/ad_objects/billed_amount_details.rb +39 -0
  221. data/lib/facebook_ads/ad_objects/blind_pig.rb +135 -0
  222. data/lib/facebook_ads/ad_objects/blocked_user_info.rb +39 -0
  223. data/lib/facebook_ads/ad_objects/brand_audience.rb +44 -0
  224. data/lib/facebook_ads/ad_objects/brand_request.rb +54 -0
  225. data/lib/facebook_ads/ad_objects/brazil_credit_memo.rb +40 -0
  226. data/lib/facebook_ads/ad_objects/broad_targeting_categories.rb +0 -1
  227. data/lib/facebook_ads/ad_objects/business.rb +376 -108
  228. data/lib/facebook_ads/ad_objects/business_activity_log_event.rb +1 -2
  229. data/lib/facebook_ads/ad_objects/business_ad_account_request.rb +0 -1
  230. data/lib/facebook_ads/ad_objects/business_advertisable_applications_result.rb +1 -1
  231. data/lib/facebook_ads/ad_objects/business_agreement.rb +42 -0
  232. data/lib/facebook_ads/ad_objects/business_application_request.rb +1 -2
  233. data/lib/facebook_ads/ad_objects/business_asset_sharing_agreement.rb +46 -0
  234. data/lib/facebook_ads/ad_objects/business_matched_search_applications_edge_data.rb +1 -2
  235. data/lib/facebook_ads/ad_objects/business_object.rb +39 -0
  236. data/lib/facebook_ads/ad_objects/business_owned_object_on_behalf_of_request.rb +39 -0
  237. data/lib/facebook_ads/ad_objects/business_page_request.rb +0 -1
  238. data/lib/facebook_ads/ad_objects/business_persona.rb +47 -0
  239. data/lib/facebook_ads/ad_objects/business_pixel_tos.rb +36 -0
  240. data/lib/facebook_ads/ad_objects/business_product_catalog_tos.rb +37 -0
  241. data/lib/facebook_ads/ad_objects/business_project.rb +43 -2
  242. data/lib/facebook_ads/ad_objects/business_request.rb +43 -0
  243. data/lib/facebook_ads/ad_objects/business_resource_group.rb +36 -0
  244. data/lib/facebook_ads/ad_objects/business_setting_logs_data.rb +40 -0
  245. data/lib/facebook_ads/ad_objects/business_tag.rb +36 -0
  246. data/lib/facebook_ads/ad_objects/business_unit.rb +38 -0
  247. data/lib/facebook_ads/ad_objects/business_user.rb +20 -0
  248. data/lib/facebook_ads/ad_objects/calibrator_existing_rule.rb +51 -0
  249. data/lib/facebook_ads/ad_objects/campaign.rb +45 -31
  250. data/lib/facebook_ads/ad_objects/campaign_group_brand_configuration.rb +38 -0
  251. data/lib/facebook_ads/ad_objects/canvas.rb +1 -1
  252. data/lib/facebook_ads/ad_objects/canvas_ad_settings.rb +42 -0
  253. data/lib/facebook_ads/ad_objects/canvas_body_element.rb +1 -2
  254. data/lib/facebook_ads/ad_objects/canvas_collection_thumbnail.rb +38 -0
  255. data/lib/facebook_ads/ad_objects/canvas_dynamic_setting.rb +37 -0
  256. data/lib/facebook_ads/ad_objects/canvas_template.rb +48 -0
  257. data/lib/facebook_ads/ad_objects/catalog_smart_pixel_settings.rb +48 -0
  258. data/lib/facebook_ads/ad_objects/check_batch_request_status.rb +1 -2
  259. data/lib/facebook_ads/ad_objects/child_event.rb +38 -0
  260. data/lib/facebook_ads/ad_objects/client_transparency_status.rb +39 -0
  261. data/lib/facebook_ads/ad_objects/column_suggestions.rb +39 -0
  262. data/lib/facebook_ads/ad_objects/comment.rb +115 -0
  263. data/lib/facebook_ads/ad_objects/commerce_merchant_settings.rb +55 -0
  264. data/lib/facebook_ads/ad_objects/commerce_merchant_settings_setup_status.rb +39 -0
  265. data/lib/facebook_ads/ad_objects/commerce_merchant_tos_acceptance.rb +36 -0
  266. data/lib/facebook_ads/ad_objects/commerce_order.rb +42 -0
  267. data/lib/facebook_ads/ad_objects/commerce_settings.rb +37 -0
  268. data/lib/facebook_ads/ad_objects/contacts_messenger_sync_config.rb +36 -0
  269. data/lib/facebook_ads/ad_objects/conversion_action_query.rb +1 -2
  270. data/lib/facebook_ads/ad_objects/copyright_attribution_insights.rb +1 -2
  271. data/lib/facebook_ads/ad_objects/copyright_reference_container.rb +45 -0
  272. data/lib/facebook_ads/ad_objects/cover_photo.rb +0 -1
  273. data/lib/facebook_ads/ad_objects/creative_history.rb +37 -0
  274. data/lib/facebook_ads/ad_objects/credit_card.rb +49 -0
  275. data/lib/facebook_ads/ad_objects/credit_partition_action_options.rb +38 -0
  276. data/lib/facebook_ads/ad_objects/crm_address.rb +48 -0
  277. data/lib/facebook_ads/ad_objects/currency.rb +41 -0
  278. data/lib/facebook_ads/ad_objects/currency_amount.rb +39 -0
  279. data/lib/facebook_ads/ad_objects/custom_audience.rb +88 -53
  280. data/lib/facebook_ads/ad_objects/custom_audience_ad_account.rb +0 -1
  281. data/lib/facebook_ads/ad_objects/custom_audience_capabilities.rb +36 -0
  282. data/lib/facebook_ads/ad_objects/custom_audience_data_source.rb +2 -2
  283. data/lib/facebook_ads/ad_objects/custom_audience_prefill_state.rb +1 -2
  284. data/lib/facebook_ads/ad_objects/custom_audience_session.rb +1 -2
  285. data/lib/facebook_ads/ad_objects/custom_audience_shared_account_campaign_info.rb +43 -0
  286. data/lib/facebook_ads/ad_objects/custom_audience_sharing_status.rb +1 -2
  287. data/lib/facebook_ads/ad_objects/custom_audience_status.rb +1 -2
  288. data/lib/facebook_ads/ad_objects/custom_audience_usage_history.rb +38 -0
  289. data/lib/facebook_ads/ad_objects/custom_audiences_tos.rb +0 -1
  290. data/lib/facebook_ads/ad_objects/custom_audienceshared_account_info.rb +40 -0
  291. data/lib/facebook_ads/ad_objects/custom_conversion.rb +10 -14
  292. data/lib/facebook_ads/ad_objects/custom_conversion_activities.rb +45 -0
  293. data/lib/facebook_ads/ad_objects/custom_conversion_stats_result.rb +1 -2
  294. data/lib/facebook_ads/ad_objects/custom_user_settings.rb +37 -0
  295. data/lib/facebook_ads/ad_objects/custom_voicemail.rb +37 -0
  296. data/lib/facebook_ads/ad_objects/da_check.rb +41 -0
  297. data/lib/facebook_ads/ad_objects/day_part.rb +1 -2
  298. data/lib/facebook_ads/ad_objects/delivery_check.rb +1 -2
  299. data/lib/facebook_ads/ad_objects/delivery_check_extra_info.rb +1 -2
  300. data/lib/facebook_ads/ad_objects/delivery_info.rb +82 -0
  301. data/lib/facebook_ads/ad_objects/destination.rb +47 -0
  302. data/lib/facebook_ads/ad_objects/destination_catalog_settings.rb +36 -0
  303. data/lib/facebook_ads/ad_objects/direct_deal.rb +4 -0
  304. data/lib/facebook_ads/ad_objects/direct_deal_available_advertisers.rb +38 -0
  305. data/lib/facebook_ads/ad_objects/direct_debit.rb +44 -0
  306. data/lib/facebook_ads/ad_objects/document_font.rb +40 -0
  307. data/lib/facebook_ads/ad_objects/dog_notification_settings.rb +36 -0
  308. data/lib/facebook_ads/ad_objects/draft_post.rb +50 -0
  309. data/lib/facebook_ads/ad_objects/dynamic_item_display_bundle.rb +41 -0
  310. data/lib/facebook_ads/ad_objects/dynamic_item_display_bundle_folder.rb +40 -0
  311. data/lib/facebook_ads/ad_objects/dynamic_item_quality_issue.rb +39 -0
  312. data/lib/facebook_ads/ad_objects/dynamic_post_child_attachment.rb +41 -0
  313. data/lib/facebook_ads/ad_objects/dynamic_price_config_by_date.rb +38 -0
  314. data/lib/facebook_ads/ad_objects/education_experience.rb +42 -0
  315. data/lib/facebook_ads/ad_objects/email_import.rb +39 -0
  316. data/lib/facebook_ads/ad_objects/engagement.rb +1 -2
  317. data/lib/facebook_ads/ad_objects/engagement_insights_rule.rb +39 -0
  318. data/lib/facebook_ads/ad_objects/ent_with_sponsor.rb +38 -0
  319. data/lib/facebook_ads/ad_objects/entity_at_text_range.rb +48 -0
  320. data/lib/facebook_ads/ad_objects/event.rb +314 -72
  321. data/lib/facebook_ads/ad_objects/event_external_ticket_info.rb +38 -0
  322. data/lib/facebook_ads/ad_objects/event_registration_setting.rb +38 -0
  323. data/lib/facebook_ads/ad_objects/event_source_group.rb +11 -2
  324. data/lib/facebook_ads/ad_objects/event_ticket_setting.rb +36 -0
  325. data/lib/facebook_ads/ad_objects/event_ticket_tier.rb +52 -0
  326. data/lib/facebook_ads/ad_objects/event_tour.rb +56 -0
  327. data/lib/facebook_ads/ad_objects/experience.rb +39 -0
  328. data/lib/facebook_ads/ad_objects/expirable_post.rb +53 -0
  329. data/lib/facebook_ads/ad_objects/export_ad_campaign.rb +37 -0
  330. data/lib/facebook_ads/ad_objects/export_ad_campaign_group.rb +37 -0
  331. data/lib/facebook_ads/ad_objects/export_adgroup.rb +37 -0
  332. data/lib/facebook_ads/ad_objects/extended_credit.rb +14 -9
  333. data/lib/facebook_ads/ad_objects/extended_credit_allocation_config.rb +1 -1
  334. data/lib/facebook_ads/ad_objects/extended_credit_application.rb +54 -0
  335. data/lib/facebook_ads/ad_objects/extended_credit_info.rb +37 -0
  336. data/lib/facebook_ads/ad_objects/external_event_source.rb +0 -1
  337. data/lib/facebook_ads/ad_objects/external_event_source_da_stats_result.rb +41 -0
  338. data/lib/facebook_ads/ad_objects/external_event_source_debugging.rb +41 -0
  339. data/lib/facebook_ads/ad_objects/external_event_source_pixel_helper_debugging_info.rb +38 -0
  340. data/lib/facebook_ads/ad_objects/external_merchant_settings.rb +44 -0
  341. data/lib/facebook_ads/ad_objects/f_plug_save.rb +37 -0
  342. data/lib/facebook_ads/ad_objects/fame_ad_campaign.rb +46 -0
  343. data/lib/facebook_ads/ad_objects/fame_ad_campaign_group.rb +43 -0
  344. data/lib/facebook_ads/ad_objects/fame_ad_group.rb +40 -0
  345. data/lib/facebook_ads/ad_objects/fame_export_config.rb +39 -0
  346. data/lib/facebook_ads/ad_objects/fame_kumo.rb +35 -0
  347. data/lib/facebook_ads/ad_objects/favorite_request.rb +69 -0
  348. data/lib/facebook_ads/ad_objects/fb_lite_to_nt_transitions.rb +36 -0
  349. data/lib/facebook_ads/ad_objects/finance_object.rb +37 -0
  350. data/lib/facebook_ads/ad_objects/flexible_targeting.rb +1 -2
  351. data/lib/facebook_ads/ad_objects/flight.rb +48 -0
  352. data/lib/facebook_ads/ad_objects/flight_catalog_settings.rb +36 -0
  353. data/lib/facebook_ads/ad_objects/food_drink_order.rb +53 -0
  354. data/lib/facebook_ads/ad_objects/friend_list.rb +53 -0
  355. data/lib/facebook_ads/ad_objects/funding_source_details.rb +0 -1
  356. data/lib/facebook_ads/ad_objects/funding_source_details_coupon.rb +1 -2
  357. data/lib/facebook_ads/ad_objects/fundraiser_person_to_charity.rb +56 -0
  358. data/lib/facebook_ads/ad_objects/game_item.rb +48 -0
  359. data/lib/facebook_ads/ad_objects/game_time.rb +44 -0
  360. data/lib/facebook_ads/ad_objects/games_persona.rb +37 -0
  361. data/lib/facebook_ads/ad_objects/games_stat.rb +38 -0
  362. data/lib/facebook_ads/ad_objects/generic_video_asset.rb +78 -0
  363. data/lib/facebook_ads/ad_objects/geo_area.rb +38 -0
  364. data/lib/facebook_ads/ad_objects/group.rb +553 -0
  365. data/lib/facebook_ads/ad_objects/hashed_user.rb +36 -0
  366. data/lib/facebook_ads/ad_objects/home_listing.rb +73 -0
  367. data/lib/facebook_ads/ad_objects/home_service_provider.rb +68 -0
  368. data/lib/facebook_ads/ad_objects/hotel.rb +67 -0
  369. data/lib/facebook_ads/ad_objects/hotel_catalog_settings.rb +35 -0
  370. data/lib/facebook_ads/ad_objects/hotel_room.rb +5 -0
  371. data/lib/facebook_ads/ad_objects/id_name.rb +0 -1
  372. data/lib/facebook_ads/ad_objects/insights_result.rb +4 -2
  373. data/lib/facebook_ads/ad_objects/instagram_business.rb +42 -0
  374. data/lib/facebook_ads/ad_objects/instagram_comment.rb +38 -0
  375. data/lib/facebook_ads/ad_objects/instagram_insights_result.rb +0 -2
  376. data/lib/facebook_ads/ad_objects/instagram_insights_value.rb +1 -2
  377. data/lib/facebook_ads/ad_objects/instagram_user.rb +67 -0
  378. data/lib/facebook_ads/ad_objects/instant_article.rb +8 -3
  379. data/lib/facebook_ads/ad_objects/instant_article_cta.rb +38 -0
  380. data/lib/facebook_ads/ad_objects/instant_article_insights_query_result.rb +1 -3
  381. data/lib/facebook_ads/ad_objects/instant_article_traffic_lift.rb +41 -0
  382. data/lib/facebook_ads/ad_objects/invoice_campaign.rb +43 -0
  383. data/lib/facebook_ads/ad_objects/ios_app_link.rb +1 -2
  384. data/lib/facebook_ads/ad_objects/ip_object.rb +37 -0
  385. data/lib/facebook_ads/ad_objects/iterative_split_test_config.rb +44 -0
  386. data/lib/facebook_ads/ad_objects/job_opening.rb +91 -0
  387. data/lib/facebook_ads/ad_objects/key_value.rb +37 -0
  388. data/lib/facebook_ads/ad_objects/lead.rb +2 -1
  389. data/lib/facebook_ads/ad_objects/lead_gen_appointment_booking_info.rb +38 -0
  390. data/lib/facebook_ads/ad_objects/lead_gen_conditional_questions_group.rb +2 -2
  391. data/lib/facebook_ads/ad_objects/lead_gen_conditional_questions_group_choices.rb +38 -0
  392. data/lib/facebook_ads/ad_objects/lead_gen_conditional_questions_group_questions.rb +38 -0
  393. data/lib/facebook_ads/ad_objects/lead_gen_context_card.rb +55 -0
  394. data/lib/facebook_ads/ad_objects/lead_gen_data_draft.rb +1 -1
  395. data/lib/facebook_ads/ad_objects/lead_gen_direct_crm_integration_third_party_app.rb +39 -0
  396. data/lib/facebook_ads/ad_objects/lead_gen_draft_question.rb +3 -4
  397. data/lib/facebook_ads/ad_objects/lead_gen_form_preview_details.rb +1 -2
  398. data/lib/facebook_ads/ad_objects/lead_gen_legal_content.rb +7 -0
  399. data/lib/facebook_ads/ad_objects/lead_gen_qualifier.rb +0 -1
  400. data/lib/facebook_ads/ad_objects/lead_gen_question.rb +2 -2
  401. data/lib/facebook_ads/ad_objects/lead_gen_question_option.rb +1 -2
  402. data/lib/facebook_ads/ad_objects/leadgen_form.rb +6 -5
  403. data/lib/facebook_ads/ad_objects/legacy_business_ad_account_request.rb +0 -1
  404. data/lib/facebook_ads/ad_objects/life_event.rb +27 -4
  405. data/lib/facebook_ads/ad_objects/link.rb +108 -0
  406. data/lib/facebook_ads/ad_objects/live_encoder.rb +44 -0
  407. data/lib/facebook_ads/ad_objects/live_video.rb +91 -23
  408. data/lib/facebook_ads/ad_objects/live_video_ad_break_config.rb +45 -0
  409. data/lib/facebook_ads/ad_objects/live_video_error.rb +39 -0
  410. data/lib/facebook_ads/ad_objects/live_video_input_stream.rb +41 -0
  411. data/lib/facebook_ads/ad_objects/live_video_targeting.rb +39 -0
  412. data/lib/facebook_ads/ad_objects/location.rb +1 -2
  413. data/lib/facebook_ads/ad_objects/lookalike_spec.rb +1 -2
  414. data/lib/facebook_ads/ad_objects/loom_config.rb +35 -0
  415. data/lib/facebook_ads/ad_objects/m_hub_terms_of_service.rb +37 -0
  416. data/lib/facebook_ads/ad_objects/marketing_area.rb +37 -0
  417. data/lib/facebook_ads/ad_objects/measurement_playground.rb +41 -0
  418. data/lib/facebook_ads/ad_objects/media_copyright_attribution.rb +48 -0
  419. data/lib/facebook_ads/ad_objects/media_fingerprint.rb +6 -0
  420. data/lib/facebook_ads/ad_objects/media_title.rb +67 -0
  421. data/lib/facebook_ads/ad_objects/menu.rb +37 -0
  422. data/lib/facebook_ads/ad_objects/merchant_report.rb +46 -0
  423. data/lib/facebook_ads/ad_objects/messaging_feature_review.rb +1 -2
  424. data/lib/facebook_ads/ad_objects/messaging_suggested_group.rb +39 -0
  425. data/lib/facebook_ads/ad_objects/messenger_ads_partial_automated_step_list.rb +40 -0
  426. data/lib/facebook_ads/ad_objects/messenger_destination_page_welcome_message.rb +40 -0
  427. data/lib/facebook_ads/ad_objects/messenger_platform_referral.rb +39 -0
  428. data/lib/facebook_ads/ad_objects/messenger_profile.rb +1 -13
  429. data/lib/facebook_ads/ad_objects/minimum_budget.rb +1 -2
  430. data/lib/facebook_ads/ad_objects/mobile_app_alert.rb +39 -0
  431. data/lib/facebook_ads/ad_objects/music_video_copyright.rb +47 -0
  432. data/lib/facebook_ads/ad_objects/native_megaphone.rb +39 -0
  433. data/lib/facebook_ads/ad_objects/native_offer.rb +17 -8
  434. data/lib/facebook_ads/ad_objects/native_offer_discount.rb +41 -0
  435. data/lib/facebook_ads/ad_objects/native_offer_view.rb +54 -0
  436. data/lib/facebook_ads/ad_objects/nota_fiscal.rb +40 -0
  437. data/lib/facebook_ads/ad_objects/null.rb +35 -0
  438. data/lib/facebook_ads/ad_objects/offer.rb +79 -0
  439. data/lib/facebook_ads/ad_objects/offline_conversion_data_set.rb +63 -17
  440. data/lib/facebook_ads/ad_objects/offsite_pixel.rb +1 -0
  441. data/lib/facebook_ads/ad_objects/open_graph_context.rb +16 -0
  442. data/lib/facebook_ads/ad_objects/open_graph_object.rb +159 -0
  443. data/lib/facebook_ads/ad_objects/oracle_transaction.rb +12 -2
  444. data/lib/facebook_ads/ad_objects/order_id_attributions.rb +44 -0
  445. data/lib/facebook_ads/ad_objects/outcome_prediction_point.rb +1 -2
  446. data/lib/facebook_ads/ad_objects/owned_domain.rb +12 -0
  447. data/lib/facebook_ads/ad_objects/page.rb +1001 -415
  448. data/lib/facebook_ads/ad_objects/page_admin_settings.rb +37 -0
  449. data/lib/facebook_ads/ad_objects/page_app_with_leads_access.rb +37 -0
  450. data/lib/facebook_ads/ad_objects/page_breaking_news_usage.rb +37 -0
  451. data/lib/facebook_ads/ad_objects/page_broadcast.rb +43 -0
  452. data/lib/facebook_ads/ad_objects/page_budget_recs.rb +43 -0
  453. data/lib/facebook_ads/ad_objects/page_call_to_action.rb +4 -2
  454. data/lib/facebook_ads/ad_objects/page_category.rb +0 -1
  455. data/lib/facebook_ads/ad_objects/page_customer_insights.rb +38 -0
  456. data/lib/facebook_ads/ad_objects/page_direct_integration_crm_with_leads_access.rb +37 -0
  457. data/lib/facebook_ads/ad_objects/page_feature_access_list.rb +36 -0
  458. data/lib/facebook_ads/ad_objects/page_insights_async_export_run.rb +4 -0
  459. data/lib/facebook_ads/ad_objects/page_label.rb +2 -1
  460. data/lib/facebook_ads/ad_objects/page_leads_access_config.rb +36 -0
  461. data/lib/facebook_ads/ad_objects/page_locations_breakdown.rb +44 -0
  462. data/lib/facebook_ads/ad_objects/page_message_responsiveness_metrics.rb +38 -0
  463. data/lib/facebook_ads/ad_objects/page_parking.rb +1 -2
  464. data/lib/facebook_ads/ad_objects/page_partner_with_leads_access.rb +38 -0
  465. data/lib/facebook_ads/ad_objects/page_payment_options.rb +1 -2
  466. data/lib/facebook_ads/ad_objects/page_post.rb +105 -3
  467. data/lib/facebook_ads/ad_objects/page_post_experiment.rb +46 -0
  468. data/lib/facebook_ads/ad_objects/page_publisher.rb +38 -0
  469. data/lib/facebook_ads/ad_objects/page_restaurant_services.rb +1 -2
  470. data/lib/facebook_ads/ad_objects/page_restaurant_specialties.rb +1 -2
  471. data/lib/facebook_ads/ad_objects/page_saved_filter.rb +6 -7
  472. data/lib/facebook_ads/ad_objects/page_settings.rb +1 -2
  473. data/lib/facebook_ads/ad_objects/page_start_info.rb +1 -2
  474. data/lib/facebook_ads/ad_objects/page_status_card.rb +42 -0
  475. data/lib/facebook_ads/ad_objects/page_store_visits_custom_audiences_eligible_countries.rb +38 -0
  476. data/lib/facebook_ads/ad_objects/page_store_visits_demographic_insights.rb +39 -0
  477. data/lib/facebook_ads/ad_objects/page_thread_owner.rb +36 -0
  478. data/lib/facebook_ads/ad_objects/page_user_message_thread_label.rb +44 -0
  479. data/lib/facebook_ads/ad_objects/page_user_with_leads_access.rb +39 -0
  480. data/lib/facebook_ads/ad_objects/page_videos_you_can_use.rb +0 -1
  481. data/lib/facebook_ads/ad_objects/pages_platform_component_flow.rb +38 -0
  482. data/lib/facebook_ads/ad_objects/pages_platform_component_flow_service_config.rb +38 -0
  483. data/lib/facebook_ads/ad_objects/partner_category.rb +0 -1
  484. data/lib/facebook_ads/ad_objects/partner_integration_linked.rb +68 -3
  485. data/lib/facebook_ads/ad_objects/partner_study.rb +60 -0
  486. data/lib/facebook_ads/ad_objects/payment_pricepoints.rb +36 -0
  487. data/lib/facebook_ads/ad_objects/permission.rb +42 -0
  488. data/lib/facebook_ads/ad_objects/persistent_stream_profile.rb +37 -0
  489. data/lib/facebook_ads/ad_objects/persona.rb +36 -0
  490. data/lib/facebook_ads/ad_objects/personal_ads_persona.rb +39 -0
  491. data/lib/facebook_ads/ad_objects/photo.rb +156 -15
  492. data/lib/facebook_ads/ad_objects/place.rb +38 -0
  493. data/lib/facebook_ads/ad_objects/place_tag.rb +37 -0
  494. data/lib/facebook_ads/ad_objects/place_topic.rb +0 -7
  495. data/lib/facebook_ads/ad_objects/platform_image_source.rb +38 -0
  496. data/lib/facebook_ads/ad_objects/platform_session_key.rb +35 -0
  497. data/lib/facebook_ads/ad_objects/playable_content.rb +39 -0
  498. data/lib/facebook_ads/ad_objects/post.rb +270 -0
  499. data/lib/facebook_ads/ad_objects/privacy.rb +41 -0
  500. data/lib/facebook_ads/ad_objects/product_catalog.rb +190 -89
  501. data/lib/facebook_ads/ad_objects/product_catalog_category.rb +42 -0
  502. data/lib/facebook_ads/ad_objects/product_catalog_example_feed.rb +36 -0
  503. data/lib/facebook_ads/ad_objects/product_catalog_facets.rb +37 -0
  504. data/lib/facebook_ads/ad_objects/product_catalog_hotel_rooms_batch.rb +1 -12
  505. data/lib/facebook_ads/ad_objects/product_catalog_image_settings.rb +1 -2
  506. data/lib/facebook_ads/ad_objects/product_catalog_image_settings_operation.rb +1 -2
  507. data/lib/facebook_ads/ad_objects/product_catalog_pricing_variables_batch.rb +1 -12
  508. data/lib/facebook_ads/ad_objects/product_catalog_product_sets_batch.rb +1 -2
  509. data/lib/facebook_ads/ad_objects/product_catalog_user_permissions.rb +45 -0
  510. data/lib/facebook_ads/ad_objects/product_da_event_samples_batch.rb +1 -2
  511. data/lib/facebook_ads/ad_objects/product_event_stat.rb +1 -2
  512. data/lib/facebook_ads/ad_objects/product_feed.rb +41 -3
  513. data/lib/facebook_ads/ad_objects/product_feed_missing_feed_item_replacement.rb +39 -0
  514. data/lib/facebook_ads/ad_objects/product_feed_rule.rb +46 -0
  515. data/lib/facebook_ads/ad_objects/product_feed_rule_preview_sample.rb +37 -0
  516. data/lib/facebook_ads/ad_objects/product_feed_rule_suggestion.rb +38 -0
  517. data/lib/facebook_ads/ad_objects/product_feed_schedule.rb +1 -2
  518. data/lib/facebook_ads/ad_objects/product_feed_upload_error.rb +3 -1
  519. data/lib/facebook_ads/ad_objects/product_feed_upload_error_sample.rb +37 -0
  520. data/lib/facebook_ads/ad_objects/product_feed_upload_progress.rb +40 -0
  521. data/lib/facebook_ads/ad_objects/product_group.rb +43 -25
  522. data/lib/facebook_ads/ad_objects/product_item.rb +32 -15
  523. data/lib/facebook_ads/ad_objects/product_item_commerce_insights.rb +1 -2
  524. data/lib/facebook_ads/ad_objects/product_item_insights.rb +40 -0
  525. data/lib/facebook_ads/ad_objects/product_item_offer.rb +38 -0
  526. data/lib/facebook_ads/ad_objects/product_set.rb +42 -1
  527. data/lib/facebook_ads/ad_objects/product_variant.rb +1 -2
  528. data/lib/facebook_ads/ad_objects/products_quality_issue.rb +1 -2
  529. data/lib/facebook_ads/ad_objects/profile.rb +14 -2
  530. data/lib/facebook_ads/ad_objects/profile_picture_source.rb +3 -5
  531. data/lib/facebook_ads/ad_objects/publisher_block_list.rb +54 -0
  532. data/lib/facebook_ads/ad_objects/rate_card.rb +38 -0
  533. data/lib/facebook_ads/ad_objects/raw_custom_audience.rb +36 -0
  534. data/lib/facebook_ads/ad_objects/reach_estimate.rb +26 -2
  535. data/lib/facebook_ads/ad_objects/reach_frequency_activity.rb +47 -0
  536. data/lib/facebook_ads/ad_objects/reach_frequency_ad_format.rb +37 -0
  537. data/lib/facebook_ads/ad_objects/reach_frequency_curve_lower_confidence_range.rb +41 -0
  538. data/lib/facebook_ads/ad_objects/reach_frequency_curve_upper_confidence_range.rb +41 -0
  539. data/lib/facebook_ads/ad_objects/reach_frequency_day_part.rb +38 -0
  540. data/lib/facebook_ads/ad_objects/reach_frequency_estimates_curve.rb +44 -0
  541. data/lib/facebook_ads/ad_objects/reach_frequency_estimates_demo_breakdown.rb +37 -0
  542. data/lib/facebook_ads/ad_objects/reach_frequency_estimates_placement_breakdown.rb +47 -0
  543. data/lib/facebook_ads/ad_objects/reach_frequency_prediction.rb +82 -10
  544. data/lib/facebook_ads/ad_objects/reach_frequency_spec.rb +3 -2
  545. data/lib/facebook_ads/ad_objects/read_only_analytics_user_property_config.rb +36 -0
  546. data/lib/facebook_ads/ad_objects/{open_graph_rating.rb → recommendation.rb} +3 -3
  547. data/lib/facebook_ads/ad_objects/referral.rb +43 -0
  548. data/lib/facebook_ads/ad_objects/report_stats_metadata.rb +45 -0
  549. data/lib/facebook_ads/ad_objects/request_history.rb +48 -0
  550. data/lib/facebook_ads/ad_objects/research_poll_study.rb +37 -0
  551. data/lib/facebook_ads/ad_objects/rev_share_policy.rb +1 -2
  552. data/lib/facebook_ads/ad_objects/rich_media_element.rb +38 -0
  553. data/lib/facebook_ads/ad_objects/robot.rb +42 -0
  554. data/lib/facebook_ads/ad_objects/rtb_dynamic_post.rb +18 -1
  555. data/lib/facebook_ads/ad_objects/saved_audience.rb +49 -0
  556. data/lib/facebook_ads/ad_objects/saved_message_response.rb +5 -0
  557. data/lib/facebook_ads/ad_objects/saved_message_response_macro.rb +38 -0
  558. data/lib/facebook_ads/ad_objects/scheduled_post.rb +50 -0
  559. data/lib/facebook_ads/ad_objects/scim_company_user_phone_number.rb +38 -0
  560. data/lib/facebook_ads/ad_objects/screen_name.rb +1 -2
  561. data/lib/facebook_ads/ad_objects/search_dialog_data.rb +41 -0
  562. data/lib/facebook_ads/ad_objects/security_settings.rb +36 -0
  563. data/lib/facebook_ads/ad_objects/shadow_ig_media.rb +0 -1
  564. data/lib/facebook_ads/ad_objects/shadow_ig_user.rb +5 -9
  565. data/lib/facebook_ads/ad_objects/signals_iwl_extractor.rb +70 -0
  566. data/lib/facebook_ads/ad_objects/simple_attribution_webhook.rb +38 -0
  567. data/lib/facebook_ads/ad_objects/smart_pixel_insights.rb +37 -0
  568. data/lib/facebook_ads/ad_objects/spaco_ds_data_collection.rb +42 -0
  569. data/lib/facebook_ads/ad_objects/split_test_config.rb +42 -0
  570. data/lib/facebook_ads/ad_objects/split_test_winner.rb +38 -0
  571. data/lib/facebook_ads/ad_objects/status.rb +94 -0
  572. data/lib/facebook_ads/ad_objects/stonehenge_subscription_publisher.rb +45 -0
  573. data/lib/facebook_ads/ad_objects/store_catalog_settings.rb +36 -0
  574. data/lib/facebook_ads/ad_objects/stream_filter.rb +38 -0
  575. data/lib/facebook_ads/ad_objects/streaming_reaction.rb +49 -0
  576. data/lib/facebook_ads/ad_objects/suggested_product_set.rb +38 -0
  577. data/lib/facebook_ads/ad_objects/system_user.rb +21 -0
  578. data/lib/facebook_ads/ad_objects/tab.rb +1 -2
  579. data/lib/facebook_ads/ad_objects/taggable_subject.rb +36 -0
  580. data/lib/facebook_ads/ad_objects/targeting.rb +4 -3
  581. data/lib/facebook_ads/ad_objects/targeting_dynamic_rule.rb +1 -2
  582. data/lib/facebook_ads/ad_objects/targeting_geo_location.rb +9 -2
  583. data/lib/facebook_ads/ad_objects/targeting_geo_location_city.rb +1 -2
  584. data/lib/facebook_ads/ad_objects/targeting_geo_location_custom_location.rb +1 -2
  585. data/lib/facebook_ads/ad_objects/targeting_geo_location_electoral_district.rb +1 -2
  586. data/lib/facebook_ads/ad_objects/targeting_geo_location_geo_entities.rb +40 -0
  587. data/lib/facebook_ads/ad_objects/targeting_geo_location_location_cluster.rb +36 -0
  588. data/lib/facebook_ads/ad_objects/targeting_geo_location_market.rb +1 -2
  589. data/lib/facebook_ads/ad_objects/targeting_geo_location_place.rb +1 -2
  590. data/lib/facebook_ads/ad_objects/targeting_geo_location_political_district.rb +1 -2
  591. data/lib/facebook_ads/ad_objects/targeting_geo_location_region.rb +1 -2
  592. data/lib/facebook_ads/ad_objects/targeting_geo_location_zip.rb +1 -2
  593. data/lib/facebook_ads/ad_objects/targeting_product_audience_spec.rb +1 -2
  594. data/lib/facebook_ads/ad_objects/targeting_product_audience_sub_spec.rb +1 -2
  595. data/lib/facebook_ads/ad_objects/targeting_prospecting_audience.rb +36 -0
  596. data/lib/facebook_ads/ad_objects/targeting_sentence_line.rb +0 -1
  597. data/lib/facebook_ads/ad_objects/tarot_digest.rb +46 -0
  598. data/lib/facebook_ads/ad_objects/text_with_entities.rb +36 -0
  599. data/lib/facebook_ads/ad_objects/thread_setting.rb +37 -0
  600. data/lib/facebook_ads/ad_objects/timezone_offset.rb +40 -0
  601. data/lib/facebook_ads/ad_objects/topic.rb +37 -0
  602. data/lib/facebook_ads/ad_objects/topic_discovery_response.rb +37 -0
  603. data/lib/facebook_ads/ad_objects/tracking_and_conversion_with_defaults.rb +39 -0
  604. data/lib/facebook_ads/ad_objects/transaction.rb +59 -0
  605. data/lib/facebook_ads/ad_objects/transaction_details.rb +36 -0
  606. data/lib/facebook_ads/ad_objects/trust_metrics.rb +38 -0
  607. data/lib/facebook_ads/ad_objects/unified_thread.rb +68 -0
  608. data/lib/facebook_ads/ad_objects/unique_ad_creative.rb +37 -0
  609. data/lib/facebook_ads/ad_objects/url.rb +1 -1
  610. data/lib/facebook_ads/ad_objects/user.rb +1025 -85
  611. data/lib/facebook_ads/ad_objects/user_context.rb +51 -0
  612. data/lib/facebook_ads/ad_objects/user_cover_photo.rb +38 -0
  613. data/lib/facebook_ads/ad_objects/user_device.rb +37 -0
  614. data/lib/facebook_ads/ad_objects/user_id_for_app.rb +36 -0
  615. data/lib/facebook_ads/ad_objects/user_id_for_page.rb +36 -0
  616. data/lib/facebook_ads/ad_objects/user_influence.rb +38 -0
  617. data/lib/facebook_ads/ad_objects/user_invitable_friend.rb +48 -0
  618. data/lib/facebook_ads/ad_objects/user_lead_gen_disclaimer_response.rb +1 -2
  619. data/lib/facebook_ads/ad_objects/user_lead_gen_field_data.rb +1 -2
  620. data/lib/facebook_ads/ad_objects/user_mobile_config.rb +37 -0
  621. data/lib/facebook_ads/ad_objects/user_notification_seen_state_data.rb +36 -0
  622. data/lib/facebook_ads/ad_objects/user_nux_statuses.rb +38 -0
  623. data/lib/facebook_ads/ad_objects/user_payment_methods_info.rb +42 -0
  624. data/lib/facebook_ads/ad_objects/user_payment_mobile_pricepoints.rb +39 -0
  625. data/lib/facebook_ads/ad_objects/user_payment_modules_options.rb +39 -0
  626. data/lib/facebook_ads/ad_objects/user_taggable_friend.rb +48 -0
  627. data/lib/facebook_ads/ad_objects/vault_deleted_image.rb +39 -0
  628. data/lib/facebook_ads/ad_objects/vault_device.rb +43 -0
  629. data/lib/facebook_ads/ad_objects/vault_image.rb +47 -0
  630. data/lib/facebook_ads/ad_objects/vehicle.rb +76 -0
  631. data/lib/facebook_ads/ad_objects/vehicle_offer.rb +57 -0
  632. data/lib/facebook_ads/ad_objects/video_asset.rb +85 -0
  633. data/lib/facebook_ads/ad_objects/video_copyright.rb +2 -2
  634. data/lib/facebook_ads/ad_objects/video_copyright_condition_group.rb +37 -0
  635. data/lib/facebook_ads/ad_objects/video_copyright_geo_gate.rb +37 -0
  636. data/lib/facebook_ads/ad_objects/video_copyright_match.rb +54 -0
  637. data/lib/facebook_ads/ad_objects/video_copyright_rule.rb +1 -1
  638. data/lib/facebook_ads/ad_objects/video_copyright_segment.rb +38 -0
  639. data/lib/facebook_ads/ad_objects/video_game_show.rb +52 -0
  640. data/lib/facebook_ads/ad_objects/video_group.rb +50 -0
  641. data/lib/facebook_ads/ad_objects/video_list.rb +19 -0
  642. data/lib/facebook_ads/ad_objects/video_metrics_report.rb +45 -0
  643. data/lib/facebook_ads/ad_objects/video_poll.rb +52 -0
  644. data/lib/facebook_ads/ad_objects/video_reference_match.rb +53 -0
  645. data/lib/facebook_ads/ad_objects/video_stats.rb +41 -0
  646. data/lib/facebook_ads/ad_objects/video_thumbnail.rb +0 -1
  647. data/lib/facebook_ads/ad_objects/video_upload_limits.rb +37 -0
  648. data/lib/facebook_ads/ad_objects/voip_info.rb +1 -2
  649. data/lib/facebook_ads/ad_objects/web_app_link.rb +1 -2
  650. data/lib/facebook_ads/ad_objects/web_publisher.rb +37 -0
  651. data/lib/facebook_ads/ad_objects/whats_app_business_account.rb +44 -0
  652. data/lib/facebook_ads/ad_objects/wifi_information.rb +40 -0
  653. data/lib/facebook_ads/ad_objects/windows_app_link.rb +1 -2
  654. data/lib/facebook_ads/ad_objects/windows_phone_app_link.rb +1 -2
  655. data/lib/facebook_ads/ad_objects/with_asset3_d.rb +35 -0
  656. data/lib/facebook_ads/ad_objects/work_experience.rb +44 -0
  657. data/lib/facebook_ads/version.rb +1 -1
  658. metadata +426 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 71eaaae5ded7430f6442c094f9be1a4be5d40030078a99e1de9fa70ff3b05e6e
4
- data.tar.gz: ff696aef280fe77e6bbbb5d11b29a392373f319fd5f34019c8d2e442be198b46
3
+ metadata.gz: add2f8aed69610e8ddc864a5ba440642dcf7cfcb8c8b9eb4c92710a564d14d63
4
+ data.tar.gz: 6f4f79123e8a2241e2b76874fa8813e8c4256a81b0ddfcdcf3c0e7e0986744fa
5
5
  SHA512:
6
- metadata.gz: af0888515b719918849ce7765ff731bfd3780c1aa4e5af1ede5e825822571d838016c0da518656f0bb2d88cabe4481c1eba0131ac7cf6bffc345a09951461381
7
- data.tar.gz: 606806c8e1b73c595e49ac733ea59a5f98fa1cdc942cf810af4bc38d3b85863b903b79eeb4c21418df269836646c6819d797f76c91ff789d75e08a7836241649
6
+ metadata.gz: db84c0c38c93e7771e33a5d572dd5c17e49c9e8dd098510c6e6ba0df1135d3c76574beae6d6f9092aa2969af5d411b65a23c76edf55b2736f85a930a58d47440
7
+ data.tar.gz: 205b0b5fbf5dff918d061d4945eb636e068c89fa8af7f6fc2b71bcc320d380415318916ce0f6b629b493fad8a37fb0aeec5aeecac8407410cafcfc7d491c9914
@@ -115,20 +115,36 @@ module FacebookAds
115
115
  field :conversion_specs, { list: 'ConversionActionQuery' }
116
116
  field :created_time, 'datetime'
117
117
  field :creative, 'AdCreative'
118
+ field :demolink_hash, 'string'
119
+ field :display_sequence, 'int'
118
120
  field :effective_status, { enum: -> { EFFECTIVE_STATUS }}
121
+ field :engagement_audience, 'bool'
122
+ field :failed_delivery_checks, { list: 'DeliveryCheck' }
119
123
  field :id, 'string'
124
+ field :impression_control_map, { list: 'string' }
120
125
  field :last_updated_by_app_id, 'string'
126
+ field :locations, { list: 'int' }
121
127
  field :name, 'string'
128
+ field :objective_source, 'string'
129
+ field :priority, 'int'
122
130
  field :recommendations, { list: 'AdRecommendation' }
131
+ field :social_prefs, { list: 'string' }
123
132
  field :source_ad, 'Ad'
124
133
  field :source_ad_id, 'string'
125
134
  field :status, { enum: -> { STATUS }}
135
+ field :targeting, 'Targeting'
136
+ field :tracking_and_conversion_with_defaults, 'TrackingAndConversionWithDefaults'
126
137
  field :tracking_specs, { list: 'ConversionActionQuery' }
127
138
  field :updated_time, 'datetime'
128
- field :adset_spec, 'AdSet'
139
+ field :url_override, 'string'
140
+ field :audience_id, 'string'
129
141
  field :date_format, 'string'
130
- field :display_sequence, 'int'
142
+ field :include_demolink_hashes, 'bool'
143
+ field :social_required, 'bool'
144
+ field :adset_spec, 'AdSet'
145
+ field :draft_adgroup_id, 'string'
131
146
  field :execution_options, { list: { enum: -> { EXECUTION_OPTIONS }} }
147
+ field :redownload, 'bool'
132
148
 
133
149
  has_edge :adcreatives do |edge|
134
150
  edge.get 'AdCreative'
@@ -137,21 +153,22 @@ module FacebookAds
137
153
  has_edge :adlabels do |edge|
138
154
  edge.delete do |api|
139
155
  api.has_param :adlabels, { list: 'object' }
140
- api.has_param :execution_options, { list: { enum: -> { AdLabel::EXECUTION_OPTIONS }} }
156
+ api.has_param :execution_options, { list: { enum: %w{validate_only }} }
141
157
  end
142
- edge.post 'AdLabel' do |api|
158
+ edge.post 'Ad' do |api|
143
159
  api.has_param :adlabels, { list: 'object' }
144
- api.has_param :execution_options, { list: { enum: -> { AdLabel::EXECUTION_OPTIONS }} }
145
- end
146
- end
147
-
148
- has_edge :adrules_governed do |edge|
149
- edge.get 'AdRule' do |api|
150
- api.has_param :pass_evaluation, 'bool'
160
+ api.has_param :execution_options, { list: { enum: %w{validate_only }} }
151
161
  end
152
162
  end
153
163
 
154
164
  has_edge :copies do |edge|
165
+ edge.get 'Ad' do |api|
166
+ api.has_param :include_deleted, 'bool'
167
+ api.has_param :effective_status, { list: 'string' }
168
+ api.has_param :date_preset, { enum: -> { Ad::DATE_PRESET }}
169
+ api.has_param :time_range, 'object'
170
+ api.has_param :updated_since, 'int'
171
+ end
155
172
  edge.post 'Ad' do |api|
156
173
  api.has_param :adset_id, 'string'
157
174
  api.has_param :rename_options, 'object'
@@ -161,21 +178,21 @@ module FacebookAds
161
178
 
162
179
  has_edge :insights do |edge|
163
180
  edge.get 'AdsInsights' do |api|
181
+ api.has_param :default_summary, 'bool'
182
+ api.has_param :fields, { list: 'string' }
183
+ api.has_param :filtering, { list: 'object' }
184
+ api.has_param :summary, { list: 'string' }
185
+ api.has_param :sort, { list: 'string' }
164
186
  api.has_param :action_attribution_windows, { list: { enum: -> { AdsInsights::ACTION_ATTRIBUTION_WINDOWS }} }
165
187
  api.has_param :action_breakdowns, { list: { enum: -> { AdsInsights::ACTION_BREAKDOWNS }} }
166
188
  api.has_param :action_report_time, { enum: -> { AdsInsights::ACTION_REPORT_TIME }}
167
189
  api.has_param :breakdowns, { list: { enum: -> { AdsInsights::BREAKDOWNS }} }
168
190
  api.has_param :date_preset, { enum: -> { AdsInsights::DATE_PRESET }}
169
- api.has_param :default_summary, 'bool'
170
191
  api.has_param :export_columns, { list: 'string' }
171
192
  api.has_param :export_format, 'string'
172
193
  api.has_param :export_name, 'string'
173
- api.has_param :fields, { list: { enum: -> { AdsInsights::SUMMARY }} }
174
- api.has_param :filtering, { list: 'object' }
175
194
  api.has_param :level, { enum: -> { AdsInsights::LEVEL }}
176
195
  api.has_param :product_id_limit, 'int'
177
- api.has_param :sort, { list: 'string' }
178
- api.has_param :summary, { list: { enum: -> { AdsInsights::SUMMARY }} }
179
196
  api.has_param :summary_action_breakdowns, { list: { enum: -> { AdsInsights::SUMMARY_ACTION_BREAKDOWNS }} }
180
197
  api.has_param :time_increment, 'string'
181
198
  api.has_param :time_range, 'object'
@@ -183,21 +200,21 @@ module FacebookAds
183
200
  api.has_param :use_account_attribution_setting, 'bool'
184
201
  end
185
202
  edge.post 'AdReportRun' do |api|
203
+ api.has_param :default_summary, 'bool'
204
+ api.has_param :fields, { list: 'string' }
205
+ api.has_param :filtering, { list: 'object' }
206
+ api.has_param :summary, { list: 'string' }
207
+ api.has_param :sort, { list: 'string' }
186
208
  api.has_param :action_attribution_windows, { list: { enum: -> { AdsInsights::ACTION_ATTRIBUTION_WINDOWS }} }
187
209
  api.has_param :action_breakdowns, { list: { enum: -> { AdsInsights::ACTION_BREAKDOWNS }} }
188
210
  api.has_param :action_report_time, { enum: -> { AdsInsights::ACTION_REPORT_TIME }}
189
211
  api.has_param :breakdowns, { list: { enum: -> { AdsInsights::BREAKDOWNS }} }
190
212
  api.has_param :date_preset, { enum: -> { AdsInsights::DATE_PRESET }}
191
- api.has_param :default_summary, 'bool'
192
213
  api.has_param :export_columns, { list: 'string' }
193
214
  api.has_param :export_format, 'string'
194
215
  api.has_param :export_name, 'string'
195
- api.has_param :fields, { list: { enum: -> { AdsInsights::SUMMARY }} }
196
- api.has_param :filtering, { list: 'object' }
197
216
  api.has_param :level, { enum: -> { AdsInsights::LEVEL }}
198
217
  api.has_param :product_id_limit, 'int'
199
- api.has_param :sort, { list: 'string' }
200
- api.has_param :summary, { list: { enum: -> { AdsInsights::SUMMARY }} }
201
218
  api.has_param :summary_action_breakdowns, { list: { enum: -> { AdsInsights::SUMMARY_ACTION_BREAKDOWNS }} }
202
219
  api.has_param :time_increment, 'string'
203
220
  api.has_param :time_range, 'object'
@@ -214,10 +231,10 @@ module FacebookAds
214
231
 
215
232
  has_edge :leads do |edge|
216
233
  edge.get 'Lead'
217
- edge.post do |api|
234
+ edge.post 'Lead' do |api|
235
+ api.has_param :start_time, 'datetime'
218
236
  api.has_param :end_time, 'datetime'
219
237
  api.has_param :session_id, 'string'
220
- api.has_param :start_time, 'datetime'
221
238
  end
222
239
  end
223
240
 
@@ -225,13 +242,16 @@ module FacebookAds
225
242
  edge.get 'AdPreview' do |api|
226
243
  api.has_param :ad_format, { enum: -> { AdPreview::AD_FORMAT }}
227
244
  api.has_param :dynamic_creative_spec, 'object'
228
- api.has_param :end_date, 'datetime'
245
+ api.has_param :interactive, 'bool'
246
+ api.has_param :post, 'object'
229
247
  api.has_param :height, 'int'
248
+ api.has_param :width, 'int'
230
249
  api.has_param :place_page_id, 'int'
231
- api.has_param :post, 'object'
232
250
  api.has_param :product_item_ids, { list: 'string' }
233
251
  api.has_param :start_date, 'datetime'
234
- api.has_param :width, 'int'
252
+ api.has_param :end_date, 'datetime'
253
+ api.has_param :locale, 'string'
254
+ api.has_param :render_type, { enum: -> { AdPreview::RENDER_TYPE }}
235
255
  end
236
256
  end
237
257
 
@@ -239,5 +259,13 @@ module FacebookAds
239
259
  edge.get 'TargetingSentenceLine'
240
260
  end
241
261
 
262
+ has_edge :trackingtag do |edge|
263
+ edge.delete
264
+ edge.post do |api|
265
+ api.has_param :url, 'string'
266
+ api.has_param :add_template_param, 'bool'
267
+ end
268
+ end
269
+
242
270
  end
243
271
  end
@@ -26,6 +26,64 @@ module FacebookAds
26
26
  # pull request for this class.
27
27
 
28
28
  class AdAccount < AdObject
29
+ CURRENCY = [
30
+ "AED",
31
+ "ARS",
32
+ "AUD",
33
+ "BDT",
34
+ "BOB",
35
+ "BRL",
36
+ "CAD",
37
+ "CHF",
38
+ "CLP",
39
+ "CNY",
40
+ "COP",
41
+ "CRC",
42
+ "CZK",
43
+ "DKK",
44
+ "DZD",
45
+ "EGP",
46
+ "EUR",
47
+ "GBP",
48
+ "GTQ",
49
+ "HKD",
50
+ "HNL",
51
+ "HUF",
52
+ "IDR",
53
+ "ILS",
54
+ "INR",
55
+ "ISK",
56
+ "JPY",
57
+ "KES",
58
+ "KRW",
59
+ "MOP",
60
+ "MXN",
61
+ "MYR",
62
+ "NGN",
63
+ "NIO",
64
+ "NOK",
65
+ "NZD",
66
+ "PEN",
67
+ "PHP",
68
+ "PKR",
69
+ "PLN",
70
+ "PYG",
71
+ "QAR",
72
+ "RON",
73
+ "RUB",
74
+ "SAR",
75
+ "SEK",
76
+ "SGD",
77
+ "THB",
78
+ "TRY",
79
+ "TWD",
80
+ "USD",
81
+ "UYU",
82
+ "VEF",
83
+ "VND",
84
+ "ZAR",
85
+ ]
86
+
29
87
  PERMITTED_TASKS = [
30
88
  "MANAGE",
31
89
  "ADVERTISE",
@@ -38,6 +96,27 @@ module FacebookAds
38
96
  "ANALYZE",
39
97
  ]
40
98
 
99
+ CLAIM_OBJECTIVE = [
100
+ "AUTOMOTIVE_MODEL",
101
+ "HOME_LISTING",
102
+ "PRODUCT",
103
+ "TRAVEL",
104
+ "VEHICLE",
105
+ "VEHICLE_OFFER",
106
+ ]
107
+
108
+ CONTENT_TYPE = [
109
+ "AUTOMOTIVE_MODEL",
110
+ "DESTINATION",
111
+ "FLIGHT",
112
+ "HOME_LISTING",
113
+ "HOTEL",
114
+ "MEDIA_TITLE",
115
+ "PRODUCT",
116
+ "VEHICLE",
117
+ "VEHICLE_OFFER",
118
+ ]
119
+
41
120
  SUBTYPE = [
42
121
  "CUSTOM",
43
122
  "WEBSITE",
@@ -58,6 +137,8 @@ module FacebookAds
58
137
 
59
138
  field :account_id, 'string'
60
139
  field :account_status, 'int'
140
+ field :ad_account_creation_request, 'AdAccountCreationRequest'
141
+ field :ad_account_promotable_objects, 'AdAccountPromotableObjects'
61
142
  field :age, 'double'
62
143
  field :agency_client_declaration, 'AgencyClientDeclaration'
63
144
  field :amount_spent, 'string'
@@ -75,6 +156,8 @@ module FacebookAds
75
156
  field :capabilities, { list: 'string' }
76
157
  field :created_time, 'datetime'
77
158
  field :currency, 'string'
159
+ field :daily_spend_limit, 'string'
160
+ field :direct_deals_tos_accepted, 'bool'
78
161
  field :disable_reason, 'int'
79
162
  field :end_advertiser, 'string'
80
163
  field :end_advertiser_name, 'string'
@@ -88,6 +171,7 @@ module FacebookAds
88
171
  field :io_number, 'string'
89
172
  field :is_attribution_spec_system_default, 'bool'
90
173
  field :is_direct_deals_enabled, 'bool'
174
+ field :is_in_3ds_authorization_enabled_market, 'bool'
91
175
  field :is_in_middle_of_local_entity_migration, 'bool'
92
176
  field :is_notifications_enabled, 'bool'
93
177
  field :is_personal, 'int'
@@ -118,61 +202,111 @@ module FacebookAds
118
202
 
119
203
  has_edge :activities do |edge|
120
204
  edge.get 'AdActivity' do |api|
121
- api.has_param :add_children, 'bool'
122
- api.has_param :business_id, 'string'
123
- api.has_param :category, { enum: -> { AdActivity::CATEGORY }}
124
- api.has_param :extra_oids, { list: 'string' }
125
- api.has_param :oid, 'string'
205
+ api.has_param :after, 'string'
206
+ api.has_param :limit, 'int'
126
207
  api.has_param :since, 'datetime'
127
- api.has_param :uid, 'int'
208
+ api.has_param :category, { enum: -> { AdActivity::CATEGORY }}
128
209
  api.has_param :until, 'datetime'
210
+ api.has_param :uid, 'int'
211
+ api.has_param :business_id, 'string'
212
+ api.has_param :oid, 'string'
213
+ api.has_param :extra_oids, { list: 'string' }
214
+ api.has_param :add_children, 'bool'
129
215
  end
130
216
  end
131
217
 
132
218
  has_edge :ad_place_page_sets do |edge|
133
219
  edge.get 'AdPlacePageSet'
134
220
  edge.post 'AdPlacePageSet' do |api|
135
- api.has_param :location_types, { list: { enum: -> { AdPlacePageSet::LOCATION_TYPES }} }
136
221
  api.has_param :name, 'string'
222
+ api.has_param :location_types, { list: { enum: -> { AdPlacePageSet::LOCATION_TYPES }} }
137
223
  api.has_param :parent_page, 'string'
138
224
  end
139
225
  end
140
226
 
227
+ has_edge :ad_studies do |edge|
228
+ edge.get 'AdStudy'
229
+ end
230
+
141
231
  has_edge :adasset_feeds do |edge|
142
- edge.get
232
+ edge.get 'AdAssetFeed'
233
+ edge.post 'AdAssetFeed' do |api|
234
+ api.has_param :images, { list: 'object' }
235
+ api.has_param :videos, { list: 'object' }
236
+ api.has_param :bodies, { list: 'object' }
237
+ api.has_param :call_to_action_types, { list: { enum: -> { AdAssetFeed::CALL_TO_ACTION_TYPES }} }
238
+ api.has_param :descriptions, { list: 'object' }
239
+ api.has_param :link_urls, { list: 'object' }
240
+ api.has_param :titles, { list: 'object' }
241
+ api.has_param :captions, { list: 'object' }
242
+ api.has_param :ad_formats, { list: { enum: -> { AdAssetFeed::AD_FORMATS }} }
243
+ api.has_param :groups, { list: 'object' }
244
+ api.has_param :target_rules, { list: 'object' }
245
+ api.has_param :asset_customization_rules, { list: 'object' }
246
+ api.has_param :optimization_type, { enum: -> { AdAssetFeed::OPTIMIZATION_TYPE }}
247
+ api.has_param :call_to_actions, { list: 'object' }
248
+ api.has_param :autotranslate, { list: 'string' }
249
+ api.has_param :additional_data, 'hash'
250
+ end
251
+ end
252
+
253
+ has_edge :adcontracts do |edge|
254
+ edge.get 'AdContract'
143
255
  end
144
256
 
145
257
  has_edge :adcreatives do |edge|
146
258
  edge.get 'AdCreative'
147
259
  edge.post 'AdCreative' do |api|
260
+ api.has_param :actor_id, 'int'
148
261
  api.has_param :adlabels, { list: 'object' }
149
262
  api.has_param :applink_treatment, { enum: -> { AdCreative::APPLINK_TREATMENT }}
263
+ api.has_param :asset_feed_id, 'string'
264
+ api.has_param :asset_feed_spec, 'object'
150
265
  api.has_param :authorization_category, { enum: -> { AdCreative::AUTHORIZATION_CATEGORY }}
266
+ api.has_param :is_dco_internal, 'bool'
151
267
  api.has_param :body, 'string'
152
268
  api.has_param :branded_content_sponsor_page_id, 'string'
269
+ api.has_param :bundle_folder_id, 'string'
270
+ api.has_param :categorization_criteria, { enum: -> { AdCreative::CATEGORIZATION_CRITERIA }}
271
+ api.has_param :category_media_source, { enum: -> { AdCreative::CATEGORY_MEDIA_SOURCE }}
272
+ api.has_param :call_to_action, 'object'
153
273
  api.has_param :dynamic_ad_voice, { enum: -> { AdCreative::DYNAMIC_AD_VOICE }}
274
+ api.has_param :destination_set_id, 'object'
275
+ api.has_param :enable_direct_install, 'bool'
276
+ api.has_param :enable_launch_instant_app, 'bool'
154
277
  api.has_param :image_crops, 'hash'
155
278
  api.has_param :image_file, 'string'
156
279
  api.has_param :image_hash, 'string'
157
280
  api.has_param :image_url, 'string'
158
281
  api.has_param :instagram_actor_id, 'string'
159
282
  api.has_param :instagram_permalink_url, 'string'
283
+ api.has_param :instagram_story_id, 'int'
160
284
  api.has_param :link_og_id, 'string'
161
285
  api.has_param :link_url, 'string'
162
286
  api.has_param :name, 'string'
163
287
  api.has_param :object_id, 'int'
164
288
  api.has_param :object_story_id, 'string'
165
- api.has_param :object_story_spec, 'AdCreativeObjectStorySpec'
166
289
  api.has_param :object_type, 'string'
290
+ api.has_param :object_url, 'string'
167
291
  api.has_param :platform_customizations, 'object'
292
+ api.has_param :playable_asset_id, 'string'
168
293
  api.has_param :product_set_id, 'string'
169
294
  api.has_param :recommender_settings, 'hash'
295
+ api.has_param :messenger_sponsored_message, 'string'
170
296
  api.has_param :template_url, 'string'
171
297
  api.has_param :template_url_spec, 'object'
172
298
  api.has_param :thumbnail_url, 'string'
173
299
  api.has_param :title, 'string'
174
300
  api.has_param :url_tags, 'string'
175
301
  api.has_param :use_page_actor_override, 'bool'
302
+ api.has_param :object_story_spec, 'AdCreativeObjectStorySpec'
303
+ end
304
+ end
305
+
306
+ has_edge :adcreatives_from_mockups do |edge|
307
+ edge.post 'AdCreative' do |api|
308
+ api.has_param :mockup_id, 'string'
309
+ api.has_param :page_id, 'string'
176
310
  end
177
311
  end
178
312
 
@@ -188,14 +322,15 @@ module FacebookAds
188
322
  api.has_param :hash, 'string'
189
323
  end
190
324
  edge.get 'AdImage' do |api|
191
- api.has_param :biz_tag_id, 'int'
192
- api.has_param :business_id, 'string'
193
325
  api.has_param :hashes, { list: 'string' }
194
- api.has_param :minheight, 'int'
195
326
  api.has_param :minwidth, 'int'
327
+ api.has_param :minheight, 'int'
196
328
  api.has_param :name, 'string'
329
+ api.has_param :biz_tag_id, 'int'
330
+ api.has_param :business_id, 'string'
197
331
  end
198
332
  edge.post list: 'AdImage' do |api|
333
+ api.has_param :zipbytes, 'object'
199
334
  api.has_param :bytes, 'object'
200
335
  api.has_param :copy_from, 'object'
201
336
  api.accepts_files!
@@ -210,65 +345,147 @@ module FacebookAds
210
345
  end
211
346
 
212
347
  has_edge :adlanguage_assets do |edge|
213
- edge.post do |api|
348
+ edge.get 'AdAssetFeed'
349
+ edge.post 'AdAssetFeed' do |api|
350
+ api.has_param :image, 'object'
351
+ api.has_param :video, 'object'
352
+ api.has_param :call_to_action_type, { enum: -> { AdAssetFeed::CALL_TO_ACTION_TYPE }}
214
353
  api.has_param :bodies, { list: 'object' }
215
- api.has_param :call_to_action_type, { enum: %w{OPEN_LINK LIKE_PAGE SHOP_NOW PLAY_GAME INSTALL_APP USE_APP CALL CALL_ME INSTALL_MOBILE_APP USE_MOBILE_APP MOBILE_DOWNLOAD BOOK_TRAVEL LISTEN_MUSIC WATCH_VIDEO LEARN_MORE SIGN_UP DOWNLOAD WATCH_MORE NO_BUTTON VISIT_PAGES_FEED APPLY_NOW BUY_NOW GET_OFFER GET_OFFER_VIEW BUY_TICKETS UPDATE_APP GET_DIRECTIONS BUY MESSAGE_PAGE DONATE SUBSCRIBE SAY_THANKS SELL_NOW SHARE DONATE_NOW GET_QUOTE CONTACT_US ORDER_NOW ADD_TO_CART VIDEO_ANNOTATION MOMENTS RECORD_NOW GET_SHOWTIMES LISTEN_NOW EVENT_RSVP WHATSAPP_MESSAGE FOLLOW_NEWS_STORYLINE }}
216
- api.has_param :default_language, 'string'
217
354
  api.has_param :descriptions, { list: 'object' }
218
- api.has_param :image, 'object'
219
- api.has_param :link_urls, { list: 'object' }
220
355
  api.has_param :titles, { list: 'object' }
221
- api.has_param :video, 'object'
356
+ api.has_param :link_urls, { list: 'object' }
357
+ api.has_param :default_language, 'string'
358
+ end
359
+ end
360
+
361
+ has_edge :adplayables do |edge|
362
+ edge.get 'PlayableContent'
363
+ edge.post 'PlayableContent' do |api|
364
+ api.has_param :name, 'string'
365
+ api.has_param :source, 'file'
366
+ api.has_param :source_url, 'string'
222
367
  end
223
368
  end
224
369
 
225
370
  has_edge :adreportruns do |edge|
371
+ edge.delete
226
372
  edge.get 'AdReportRun'
227
373
  end
228
374
 
229
375
  has_edge :adreportschedules do |edge|
230
376
  edge.get
377
+ edge.post do |api|
378
+ api.has_param :name, 'string'
379
+ api.has_param :user_columns, { list: 'string' }
380
+ api.has_param :user_attribution_windows, { list: 'string' }
381
+ api.has_param :builtin_column_set, { enum: %w{ APP_ENGAGEMENT AUDIENCE_DIRECT BIDDING_AND_OPTIMIZATION CAROUSEL_ENGAGEMENT CROSS_DEVICE DELIVERY ENGAGEMENT HOUSEHOLD MESSAGING_ENGAGEMENT MESSENGER OFFLINE_CONVERSIONS PERFORMANCE PERFORMANCE_LEGACY TARGETING_AND_CREATIVE VIDEO_ENGAGEMENT VALIDATION_VIEW }}
382
+ api.has_param :normalized_filter, { list: 'object' }
383
+ api.has_param :user_filter, { list: 'object' }
384
+ api.has_param :sort, { list: 'object' }
385
+ api.has_param :breakdowns, { list: 'string' }
386
+ api.has_param :insights_section, 'object'
387
+ api.has_param :level, { enum: %w{politicalad ad adgroup campaign campaign_group account }}
388
+ api.has_param :date_preset, { enum: %w{today yesterday this_month last_month this_quarter lifetime last_3d last_7d last_14d last_28d last_30d last_90d last_week_mon_sun last_week_sun_sat last_quarter last_year this_week_mon_today this_week_sun_today this_year }}
389
+ api.has_param :date_interval, 'object'
390
+ api.has_param :format_version, 'int'
391
+ api.has_param :creation_source, { enum: %w{adsManagerReporting newAdsManager adsExcelAddin }}
392
+ api.has_param :actions_group_by, { list: { enum: %w{action_canvas_component_id action_canvas_component_name action_carousel_card_id action_carousel_card_name action_destination action_device action_event_channel action_target_id action_type action_video_sound action_video_type }} }
393
+ api.has_param :custom_column_set_id, 'string'
394
+ api.has_param :data_columns, { list: 'string' }
395
+ api.has_param :emails, { list: 'string' }
396
+ api.has_param :export_columns, 'object'
397
+ api.has_param :filters, { list: 'object' }
398
+ api.has_param :schedule_frequency, { enum: %w{daily weekly monthly }}
399
+ api.has_param :sort_by, 'string'
400
+ api.has_param :sort_dir, 'string'
401
+ api.has_param :start_date, 'object'
402
+ api.has_param :status, { enum: %w{Active Paused Deleted }}
403
+ api.has_param :subscribers, { list: 'int' }
404
+ api.has_param :time_increment, 'string'
405
+ end
406
+ end
407
+
408
+ has_edge :adreportspecs do |edge|
409
+ edge.post 'AdReportSpec' do |api|
410
+ api.has_param :time_ranges, 'object'
411
+ api.has_param :data_columns, { list: 'string' }
412
+ api.has_param :actions_group_by, { list: { enum: -> { AdReportSpec::ACTIONS_GROUP_BY }} }
413
+ api.has_param :filters, { list: 'object' }
414
+ api.has_param :sort_by, 'string'
415
+ api.has_param :sort_dir, 'string'
416
+ api.has_param :time_increment, 'string'
417
+ api.has_param :time_interval, 'object'
418
+ api.has_param :date_preset, { enum: -> { AdReportSpec::DATE_PRESET }}
419
+ api.has_param :format, { enum: -> { AdReportSpec::FORMAT }}
420
+ api.has_param :export_columns, 'object'
421
+ api.has_param :report_run_id, 'string'
422
+ api.has_param :name, 'string'
423
+ api.has_param :user_report, 'bool'
424
+ api.has_param :business_id, 'string'
425
+ api.has_param :limit, 'int'
426
+ api.has_param :bypass_async, 'bool'
427
+ api.has_param :report_schedule_id, 'string'
428
+ api.has_param :insights_section, 'object'
429
+ api.has_param :creation_source, { enum: -> { AdReportSpec::CREATION_SOURCE }}
430
+ api.has_param :format_version, 'int'
431
+ end
231
432
  end
232
433
 
233
434
  has_edge :adrules_history do |edge|
234
435
  edge.get 'AdAccountAdRulesHistory' do |api|
436
+ api.has_param :object_id, 'string'
235
437
  api.has_param :action, { enum: -> { AdAccountAdRulesHistory::ACTION }}
236
438
  api.has_param :hide_no_changes, 'bool'
237
- api.has_param :object_id, 'string'
238
439
  end
239
440
  end
240
441
 
241
442
  has_edge :adrules_library do |edge|
443
+ edge.get 'AdRule'
242
444
  edge.post 'AdRule' do |api|
243
445
  api.has_param :account_id, 'string'
244
446
  api.has_param :evaluation_spec, 'object'
245
447
  api.has_param :execution_spec, 'object'
246
- api.has_param :name, 'string'
247
448
  api.has_param :schedule_spec, 'object'
449
+ api.has_param :name, 'string'
248
450
  api.has_param :status, { enum: -> { AdRule::STATUS }}
249
451
  end
250
452
  end
251
453
 
252
454
  has_edge :ads do |edge|
455
+ edge.delete do |api|
456
+ api.has_param :delete_strategy, { enum: %w{DELETE_ANY DELETE_OLDEST DELETE_ARCHIVED_BEFORE }}
457
+ api.has_param :object_count, 'int'
458
+ api.has_param :before_date, 'datetime'
459
+ end
253
460
  edge.get 'Ad' do |api|
254
- api.has_param :ad_draft_id, 'string'
255
461
  api.has_param :date_preset, { enum: -> { Ad::DATE_PRESET }}
256
462
  api.has_param :effective_status, { list: 'string' }
463
+ api.has_param :include_deleted, 'bool'
257
464
  api.has_param :time_range, 'object'
258
465
  api.has_param :updated_since, 'int'
466
+ api.has_param :ad_draft_id, 'string'
259
467
  end
260
468
  edge.post 'Ad' do |api|
261
- api.has_param :adlabels, { list: 'object' }
469
+ api.has_param :audience_id, 'string'
262
470
  api.has_param :adset_id, 'int'
263
- api.has_param :adset_spec, 'AdSet'
264
- api.has_param :bid_amount, 'int'
265
- api.has_param :creative, 'AdCreative'
266
471
  api.has_param :date_format, 'string'
267
- api.has_param :display_sequence, 'int'
268
- api.has_param :execution_options, { list: { enum: -> { Ad::EXECUTION_OPTIONS }} }
472
+ api.has_param :include_demolink_hashes, 'bool'
473
+ api.has_param :creative, 'AdCreative'
269
474
  api.has_param :name, 'string'
270
475
  api.has_param :status, { enum: -> { Ad::STATUS }}
476
+ api.has_param :priority, 'int'
271
477
  api.has_param :tracking_specs, 'object'
478
+ api.has_param :social_prefs, { list: 'string' }
479
+ api.has_param :display_sequence, 'int'
480
+ api.has_param :engagement_audience, 'bool'
481
+ api.has_param :social_required, 'bool'
482
+ api.has_param :adset_spec, 'AdSet'
483
+ api.has_param :draft_adgroup_id, 'string'
484
+ api.has_param :execution_options, { list: { enum: -> { Ad::EXECUTION_OPTIONS }} }
485
+ api.has_param :adlabels, { list: 'object' }
486
+ api.has_param :bid_amount, 'int'
487
+ api.has_param :redownload, 'bool'
488
+ api.has_param :source_ad_id, 'string'
272
489
  api.accepts_files!
273
490
  end
274
491
  end
@@ -281,46 +498,70 @@ module FacebookAds
281
498
  end
282
499
 
283
500
  has_edge :adsets do |edge|
501
+ edge.delete do |api|
502
+ api.has_param :delete_strategy, { enum: %w{DELETE_ANY DELETE_OLDEST DELETE_ARCHIVED_BEFORE }}
503
+ api.has_param :object_count, 'int'
504
+ api.has_param :before_date, 'datetime'
505
+ end
284
506
  edge.get 'AdSet' do |api|
285
- api.has_param :ad_draft_id, 'string'
286
- api.has_param :date_preset, { enum: -> { AdSet::DATE_PRESET }}
287
507
  api.has_param :effective_status, { list: { enum: -> { AdSet::EFFECTIVE_STATUS }} }
508
+ api.has_param :date_preset, { enum: -> { AdSet::DATE_PRESET }}
509
+ api.has_param :include_deleted, 'bool'
288
510
  api.has_param :is_completed, 'bool'
289
511
  api.has_param :time_range, 'object'
512
+ api.has_param :ad_draft_id, 'string'
290
513
  end
291
514
  edge.post 'AdSet' do |api|
515
+ api.has_param :ad_keywords, 'hash'
292
516
  api.has_param :adlabels, { list: 'object' }
293
- api.has_param :adset_schedule, { list: 'object' }
294
- api.has_param :attribution_spec, { list: 'hash' }
295
517
  api.has_param :bid_amount, 'int'
518
+ api.has_param :bid_adjustments, 'object'
296
519
  api.has_param :bid_strategy, { enum: -> { AdSet::BID_STRATEGY }}
297
520
  api.has_param :billing_event, { enum: -> { AdSet::BILLING_EVENT }}
298
521
  api.has_param :campaign_id, 'string'
299
522
  api.has_param :campaign_spec, 'object'
523
+ api.has_param :adset_schedule, { list: 'object' }
524
+ api.has_param :status, { enum: -> { AdSet::STATUS }}
300
525
  api.has_param :creative_sequence, { list: 'string' }
301
526
  api.has_param :daily_budget, 'int'
302
527
  api.has_param :daily_imps, 'int'
303
528
  api.has_param :daily_min_spend_target, 'int'
304
529
  api.has_param :daily_spend_cap, 'int'
530
+ api.has_param :date_format, 'string'
305
531
  api.has_param :destination_type, { enum: -> { AdSet::DESTINATION_TYPE }}
306
532
  api.has_param :end_time, 'datetime'
307
533
  api.has_param :execution_options, { list: { enum: -> { AdSet::EXECUTION_OPTIONS }} }
534
+ api.has_param :frequency_cap, 'int'
535
+ api.has_param :frequency_cap_reset_period, 'int'
308
536
  api.has_param :frequency_control_specs, { list: 'object' }
537
+ api.has_param :is_autobid, 'bool'
538
+ api.has_param :is_average_price_pacing, 'bool'
539
+ api.has_param :is_dynamic_creative, 'bool'
309
540
  api.has_param :is_dynamic_creative_optimization, 'bool'
310
541
  api.has_param :lifetime_budget, 'int'
542
+ api.has_param :lifetime_frequency_cap, 'int'
311
543
  api.has_param :lifetime_imps, 'int'
312
544
  api.has_param :lifetime_min_spend_target, 'int'
313
545
  api.has_param :lifetime_spend_cap, 'int'
546
+ api.has_param :line_number, 'int'
314
547
  api.has_param :name, 'string'
315
548
  api.has_param :optimization_goal, { enum: -> { AdSet::OPTIMIZATION_GOAL }}
316
549
  api.has_param :pacing_type, { list: 'string' }
317
550
  api.has_param :promoted_object, 'object'
551
+ api.has_param :rb_prediction_id, 'string'
552
+ api.has_param :redownload, 'bool'
318
553
  api.has_param :rf_prediction_id, 'string'
554
+ api.has_param :source_adset_id, 'string'
319
555
  api.has_param :start_time, 'datetime'
320
- api.has_param :status, { enum: -> { AdSet::STATUS }}
321
556
  api.has_param :targeting, 'Targeting'
322
557
  api.has_param :time_based_ad_rotation_id_blocks, { list: { list: 'int' } }
323
558
  api.has_param :time_based_ad_rotation_intervals, { list: 'int' }
559
+ api.has_param :time_start, 'datetime'
560
+ api.has_param :time_stop, 'datetime'
561
+ api.has_param :topline_id, 'string'
562
+ api.has_param :upstream_events, 'hash'
563
+ api.has_param :full_funnel_exploration_mode, { enum: -> { AdSet::FULL_FUNNEL_EXPLORATION_MODE }}
564
+ api.has_param :attribution_spec, { list: 'hash' }
324
565
  end
325
566
  end
326
567
 
@@ -332,69 +573,127 @@ module FacebookAds
332
573
  end
333
574
 
334
575
  has_edge :adspixels do |edge|
335
- edge.get 'AdsPixel'
576
+ edge.get 'AdsPixel' do |api|
577
+ api.has_param :sort_by, { enum: -> { AdsPixel::SORT_BY }}
578
+ end
336
579
  edge.post 'AdsPixel' do |api|
337
580
  api.has_param :name, 'string'
338
581
  end
339
582
  end
340
583
 
584
+ has_edge :adtoplinedetails do |edge|
585
+ edge.get 'AdToplineDetail'
586
+ end
587
+
588
+ has_edge :adtoplines do |edge|
589
+ edge.get 'AdTopline'
590
+ end
591
+
341
592
  has_edge :advertisable_applications do |edge|
342
- edge.get do |api|
593
+ edge.get 'Application' do |api|
343
594
  api.has_param :app_id, 'string'
344
595
  api.has_param :business_id, 'string'
345
596
  end
346
597
  end
347
598
 
348
599
  has_edge :advideos do |edge|
349
- edge.get do |api|
350
- api.has_param :max_aspect_ratio, 'double'
351
- api.has_param :maxheight, 'int'
600
+ edge.get 'AdVideo' do |api|
601
+ api.has_param :title, 'string'
602
+ api.has_param :minlength, 'int'
352
603
  api.has_param :maxlength, 'int'
353
- api.has_param :maxwidth, 'int'
354
- api.has_param :min_aspect_ratio, 'double'
355
604
  api.has_param :minheight, 'int'
356
- api.has_param :minlength, 'int'
605
+ api.has_param :maxheight, 'int'
357
606
  api.has_param :minwidth, 'int'
358
- api.has_param :title, 'string'
607
+ api.has_param :maxwidth, 'int'
608
+ api.has_param :min_aspect_ratio, 'double'
609
+ api.has_param :max_aspect_ratio, 'double'
359
610
  end
360
- edge.post do |api|
361
- api.has_param :audio_story_wave_animation_handle, 'string'
362
- api.has_param :composer_session_id, 'string'
363
- api.has_param :description, 'string'
364
- api.has_param :end_offset, 'int'
365
- api.has_param :file_size, 'int'
611
+ edge.post 'AdVideo' do |api|
612
+ api.has_param :title, 'string'
613
+ api.has_param :unpublished_content_type, { enum: -> { AdVideo::UNPUBLISHED_CONTENT_TYPE }}
614
+ api.has_param :time_since_original_post, 'int'
366
615
  api.has_param :file_url, 'string'
367
- api.has_param :fisheye_video_cropped, 'bool'
368
- api.has_param :front_z_rotation, 'double'
369
- api.has_param :is_explicit_share, 'bool'
370
- api.has_param :manual_privacy, 'bool'
371
- api.has_param :name, 'string'
616
+ api.has_param :composer_session_id, 'string'
617
+ api.has_param :waterfall_id, 'string'
372
618
  api.has_param :og_action_type_id, 'string'
373
- api.has_param :og_icon_id, 'string'
374
619
  api.has_param :og_object_id, 'string'
375
620
  api.has_param :og_phrase, 'string'
621
+ api.has_param :og_icon_id, 'string'
376
622
  api.has_param :og_suggestion_mechanism, 'string'
623
+ api.has_param :manual_privacy, 'bool'
624
+ api.has_param :is_explicit_share, 'bool'
625
+ api.has_param :thumb, 'file'
626
+ api.has_param :spherical, 'bool'
627
+ api.has_param :original_projection_type, { enum: -> { AdVideo::ORIGINAL_PROJECTION_TYPE }}
628
+ api.has_param :initial_heading, 'int'
629
+ api.has_param :initial_pitch, 'int'
630
+ api.has_param :fov, 'int'
377
631
  api.has_param :original_fov, 'int'
378
- api.has_param :original_projection_type, { enum: %w{equirectangular cubemap equiangular_cubemap half_equirectangular }}
632
+ api.has_param :fisheye_video_cropped, 'bool'
633
+ api.has_param :front_z_rotation, 'double'
634
+ api.has_param :guide_enabled, 'bool'
635
+ api.has_param :guide, { list: { list: 'int' } }
636
+ api.has_param :audio_story_wave_animation_handle, 'string'
637
+ api.has_param :adaptive_type, 'string'
638
+ api.has_param :animated_effect_id, 'int'
639
+ api.has_param :asked_fun_fact_prompt_id, 'int'
640
+ api.has_param :composer_entry_picker, 'string'
641
+ api.has_param :composer_entry_point, 'string'
642
+ api.has_param :composer_entry_time, 'int'
643
+ api.has_param :composer_session_events_log, 'string'
644
+ api.has_param :composer_source_surface, 'string'
645
+ api.has_param :composer_type, 'string'
646
+ api.has_param :formatting, { enum: -> { AdVideo::FORMATTING }}
647
+ api.has_param :fun_fact_prompt_id, 'string'
648
+ api.has_param :fun_fact_toastee_id, 'int'
649
+ api.has_param :is_group_linking_post, 'bool'
650
+ api.has_param :has_nickname, 'bool'
651
+ api.has_param :holiday_card, 'string'
652
+ api.has_param :instant_game_entry_point_data, 'string'
653
+ api.has_param :is_boost_intended, 'bool'
654
+ api.has_param :location_source_id, 'string'
655
+ api.has_param :description, 'string'
656
+ api.has_param :offer_like_post_id, 'string'
657
+ api.has_param :publish_event_id, 'int'
379
658
  api.has_param :react_mode_metadata, 'string'
380
- api.has_param :referenced_sticker_id, 'string'
381
- api.has_param :slideshow_spec, 'hash'
659
+ api.has_param :sales_promo_id, 'int'
660
+ api.has_param :text_format_metadata, 'string'
661
+ api.has_param :throwback_camera_roll_media, 'string'
662
+ api.has_param :video_start_time_ms, 'int'
663
+ api.has_param :application_id, 'string'
664
+ api.has_param :upload_phase, { enum: -> { AdVideo::UPLOAD_PHASE }}
665
+ api.has_param :file_size, 'int'
382
666
  api.has_param :start_offset, 'int'
383
- api.has_param :time_since_original_post, 'int'
384
- api.has_param :title, 'string'
385
- api.has_param :unpublished_content_type, { enum: %w{SCHEDULED DRAFT ADS_POST INLINE_CREATED PUBLISHED }}
386
- api.has_param :upload_phase, { enum: %w{start transfer finish cancel }}
387
- api.has_param :upload_session_id, 'string'
667
+ api.has_param :end_offset, 'int'
388
668
  api.has_param :video_file_chunk, 'string'
389
- api.has_param :xpost_everstore_handle, 'string'
669
+ api.has_param :fbuploader_video_file_chunk, 'string'
670
+ api.has_param :upload_session_id, 'string'
671
+ api.has_param :is_voice_clip, 'bool'
672
+ api.has_param :attribution_app_id, 'string'
673
+ api.has_param :content_category, { enum: -> { AdVideo::CONTENT_CATEGORY }}
674
+ api.has_param :embeddable, 'bool'
675
+ api.has_param :slideshow_spec, 'hash'
676
+ api.has_param :upload_setting_properties, 'string'
677
+ api.has_param :transcode_setting_properties, 'string'
678
+ api.has_param :container_type, { enum: -> { AdVideo::CONTAINER_TYPE }}
679
+ api.has_param :referenced_sticker_id, 'string'
680
+ api.has_param :replace_video_id, 'string'
681
+ api.has_param :swap_mode, { enum: -> { AdVideo::SWAP_MODE }}
682
+ api.has_param :name, 'string'
683
+ api.has_param :chunk_session_id, 'string'
390
684
  api.accepts_files!
391
685
  end
392
686
  end
393
687
 
688
+ has_edge :affectedadsets do |edge|
689
+ edge.get 'AdSet'
690
+ end
691
+
394
692
  has_edge :agencies do |edge|
395
693
  edge.delete do |api|
396
694
  api.has_param :business, 'string'
397
695
  end
696
+ edge.get 'Business'
398
697
  edge.post 'AdAccount' do |api|
399
698
  api.has_param :business, 'string'
400
699
  api.has_param :permitted_tasks, { list: { enum: -> { AdAccount::PERMITTED_TASKS }} }
@@ -402,7 +701,7 @@ module FacebookAds
402
701
  end
403
702
 
404
703
  has_edge :applications do |edge|
405
- edge.get
704
+ edge.get 'Application'
406
705
  end
407
706
 
408
707
  has_edge :assigned_users do |edge|
@@ -413,15 +712,22 @@ module FacebookAds
413
712
  api.has_param :business, 'string'
414
713
  end
415
714
  edge.post 'AdAccount' do |api|
416
- api.has_param :tasks, { list: { enum: -> { AdAccount::TASKS }} }
417
715
  api.has_param :user, 'int'
716
+ api.has_param :tasks, { list: { enum: -> { AdAccount::TASKS }} }
418
717
  end
419
718
  end
420
719
 
421
720
  has_edge :async_batch_requests do |edge|
422
721
  edge.post 'Campaign' do |api|
423
- api.has_param :adbatch, { list: 'object' }
424
722
  api.has_param :name, 'string'
723
+ api.has_param :adbatch, { list: 'object' }
724
+ end
725
+ end
726
+
727
+ has_edge :async_requests do |edge|
728
+ edge.get 'AsyncRequest' do |api|
729
+ api.has_param :status, { enum: -> { AsyncRequest::STATUS }}
730
+ api.has_param :type, { enum: -> { AsyncRequest::TYPE }}
425
731
  end
426
732
  end
427
733
 
@@ -432,49 +738,91 @@ module FacebookAds
432
738
  edge.post 'AdAsyncRequestSet' do |api|
433
739
  api.has_param :ad_specs, { list: 'hash' }
434
740
  api.has_param :name, 'string'
435
- api.has_param :notification_mode, { enum: %w{OFF ON_COMPLETE }}
436
741
  api.has_param :notification_uri, 'string'
742
+ api.has_param :notification_mode, { enum: -> { AdAsyncRequestSet::NOTIFICATION_MODE }}
437
743
  end
438
744
  end
439
745
 
440
746
  has_edge :audiencereplace do |edge|
441
747
  edge.post do |api|
442
- api.has_param :payload, 'object'
443
748
  api.has_param :session, 'object'
749
+ api.has_param :payload, 'object'
444
750
  end
445
751
  end
446
752
 
753
+ has_edge :batchreplace do |edge|
754
+ edge.post do |api|
755
+ api.has_param :payload, { list: 'string' }
756
+ end
757
+ end
758
+
759
+ has_edge :batchupload do |edge|
760
+ edge.post do |api|
761
+ api.has_param :payload, { list: 'string' }
762
+ end
763
+ end
764
+
765
+ has_edge :block_list_drafts do |edge|
766
+ edge.post 'AdAccount' do |api|
767
+ api.has_param :publisher_urls_file, 'file'
768
+ end
769
+ end
770
+
771
+ has_edge :brand_audiences do |edge|
772
+ edge.get 'BrandAudience'
773
+ end
774
+
447
775
  has_edge :broadtargetingcategories do |edge|
448
776
  edge.get 'BroadTargetingCategories' do |api|
449
777
  api.has_param :custom_categories_only, 'bool'
450
778
  end
451
779
  end
452
780
 
781
+ has_edge :business_activities do |edge|
782
+ edge.get 'BusinessActivityLogEvent' do |api|
783
+ api.has_param :business, 'string'
784
+ end
785
+ end
786
+
787
+ has_edge :businessprojects do |edge|
788
+ edge.get 'BusinessProject' do |api|
789
+ api.has_param :business, 'object'
790
+ end
791
+ end
792
+
453
793
  has_edge :campaigns do |edge|
454
794
  edge.delete do |api|
455
- api.has_param :before_date, 'datetime'
456
- api.has_param :delete_strategy, { enum: -> { Campaign::DELETE_STRATEGY }}
795
+ api.has_param :delete_strategy, { enum: %w{DELETE_ANY DELETE_OLDEST DELETE_ARCHIVED_BEFORE }}
457
796
  api.has_param :object_count, 'int'
797
+ api.has_param :before_date, 'datetime'
458
798
  end
459
799
  edge.get 'Campaign' do |api|
460
- api.has_param :date_preset, { enum: -> { Campaign::DATE_PRESET }}
461
800
  api.has_param :effective_status, { list: { enum: -> { Campaign::EFFECTIVE_STATUS }} }
801
+ api.has_param :date_preset, { enum: -> { Campaign::DATE_PRESET }}
462
802
  api.has_param :is_completed, 'bool'
463
803
  end
464
804
  edge.post 'Campaign' do |api|
465
- api.has_param :adlabels, { list: 'object' }
805
+ api.has_param :name, 'string'
806
+ api.has_param :objective, { enum: -> { Campaign::OBJECTIVE }}
807
+ api.has_param :status, { enum: -> { Campaign::STATUS }}
466
808
  api.has_param :bid_strategy, { enum: -> { Campaign::BID_STRATEGY }}
467
809
  api.has_param :budget_rebalance_flag, 'bool'
468
810
  api.has_param :buying_type, 'string'
469
811
  api.has_param :daily_budget, 'int'
470
- api.has_param :execution_options, { list: { enum: -> { Campaign::EXECUTION_OPTIONS }} }
471
- api.has_param :iterative_split_test_configs, { list: 'object' }
472
812
  api.has_param :lifetime_budget, 'int'
473
- api.has_param :name, 'string'
474
- api.has_param :objective, { enum: -> { Campaign::OBJECTIVE }}
813
+ api.has_param :pacing_type, { list: 'string' }
475
814
  api.has_param :promoted_object, 'object'
815
+ api.has_param :topline_id, 'string'
476
816
  api.has_param :spend_cap, 'int'
477
- api.has_param :status, { enum: -> { Campaign::STATUS }}
817
+ api.has_param :execution_options, { list: { enum: -> { Campaign::EXECUTION_OPTIONS }} }
818
+ api.has_param :upstream_events, 'hash'
819
+ api.has_param :adlabels, { list: 'object' }
820
+ api.has_param :source_campaign_id, 'string'
821
+ api.has_param :iterative_split_test_configs, { list: 'object' }
822
+ api.has_param :kpi_custom_conversion_id, 'string'
823
+ api.has_param :kpi_type, 'object'
824
+ api.has_param :is_autobid, 'bool'
825
+ api.has_param :is_average_price_pacing, 'bool'
478
826
  end
479
827
  end
480
828
 
@@ -485,35 +833,74 @@ module FacebookAds
485
833
  end
486
834
  end
487
835
 
836
+ has_edge :contextual_targeting_browse do |edge|
837
+ edge.get 'AdAccountContextualTargeting'
838
+ end
839
+
840
+ has_edge :coupons do |edge|
841
+ edge.post 'AdAccount' do |api|
842
+ api.has_param :coupon_code, 'string'
843
+ end
844
+ end
845
+
846
+ has_edge :custom_audience_limits do |edge|
847
+ edge.get 'AdAccountCustomAudienceLimits'
848
+ end
849
+
488
850
  has_edge :customaudiences do |edge|
489
851
  edge.get 'CustomAudience' do |api|
490
- api.has_param :business_id, 'string'
491
- api.has_param :fields, { list: { enum: -> { CustomAudience::FIELDS }} }
492
- api.has_param :filtering, { list: 'object' }
493
852
  api.has_param :pixel_id, 'string'
853
+ api.has_param :fields, { list: 'string' }
854
+ api.has_param :filtering, { list: 'object' }
855
+ api.has_param :business_id, 'string'
494
856
  end
495
857
  edge.post 'CustomAudience' do |api|
496
- api.has_param :allowed_domains, { list: 'string' }
497
- api.has_param :claim_objective, { enum: -> { CustomAudience::CLAIM_OBJECTIVE }}
498
- api.has_param :content_type, { enum: -> { CustomAudience::CONTENT_TYPE }}
499
- api.has_param :customer_file_source, { enum: -> { CustomAudience::CUSTOMER_FILE_SOURCE }}
500
- api.has_param :dataset_id, 'string'
858
+ api.has_param :creation_params, 'hash'
501
859
  api.has_param :description, 'string'
502
- api.has_param :event_source_group, 'string'
503
- api.has_param :event_sources, { list: 'hash' }
504
- api.has_param :is_value_based, 'bool'
505
- api.has_param :list_of_accounts, { list: 'int' }
506
- api.has_param :lookalike_spec, 'string'
507
860
  api.has_param :name, 'string'
508
861
  api.has_param :opt_out_link, 'string'
509
- api.has_param :origin_audience_id, 'string'
510
- api.has_param :pixel_id, 'string'
511
- api.has_param :prefill, 'bool'
512
- api.has_param :product_set_id, 'string'
862
+ api.has_param :parent_audience_id, 'int'
863
+ api.has_param :subtype, { enum: -> { CustomAudience::SUBTYPE }}
864
+ api.has_param :seed_audience, 'int'
865
+ api.has_param :tags, { list: 'string' }
866
+ api.has_param :associated_audience_id, 'int'
867
+ api.has_param :is_household, 'bool'
868
+ api.has_param :is_household_exclusion, 'bool'
869
+ api.has_param :is_value_based, 'bool'
870
+ api.has_param :allowed_domains, { list: 'string' }
871
+ api.has_param :is_snapshot, 'bool'
872
+ api.has_param :lookalike_spec, 'string'
513
873
  api.has_param :retention_days, 'int'
874
+ api.has_param :customer_file_source, { enum: -> { CustomAudience::CUSTOMER_FILE_SOURCE }}
875
+ api.has_param :rev_share_policy_id, 'int'
876
+ api.has_param :partner_reference_key, 'string'
514
877
  api.has_param :rule, 'string'
878
+ api.has_param :prefill, 'bool'
879
+ api.has_param :pixel_id, 'string'
515
880
  api.has_param :rule_aggregation, 'string'
516
- api.has_param :subtype, { enum: -> { CustomAudience::SUBTYPE }}
881
+ api.has_param :inclusions, { list: 'object' }
882
+ api.has_param :exclusions, { list: 'object' }
883
+ api.has_param :countries, 'string'
884
+ api.has_param :origin_audience_id, 'string'
885
+ api.has_param :details, 'string'
886
+ api.has_param :source, 'string'
887
+ api.has_param :isprivate, 'bool'
888
+ api.has_param :additionalmetadata, 'string'
889
+ api.has_param :minage, 'int'
890
+ api.has_param :maxage, 'int'
891
+ api.has_param :expectedsize, 'int'
892
+ api.has_param :gender, 'string'
893
+ api.has_param :partnerid, 'string'
894
+ api.has_param :accountid, 'string'
895
+ api.has_param :claim_objective, { enum: -> { CustomAudience::CLAIM_OBJECTIVE }}
896
+ api.has_param :content_type, { enum: -> { CustomAudience::CONTENT_TYPE }}
897
+ api.has_param :event_source_group, 'string'
898
+ api.has_param :product_set_id, 'string'
899
+ api.has_param :event_sources, { list: 'hash' }
900
+ api.has_param :video_group_ids, { list: 'string' }
901
+ api.has_param :study_spec, 'object'
902
+ api.has_param :list_of_accounts, { list: 'int' }
903
+ api.has_param :dataset_id, 'string'
517
904
  end
518
905
  end
519
906
 
@@ -522,57 +909,88 @@ module FacebookAds
522
909
  end
523
910
 
524
911
  has_edge :customconversions do |edge|
912
+ edge.get 'CustomConversion'
525
913
  edge.post 'CustomConversion' do |api|
526
- api.has_param :advanced_rule, 'string'
527
- api.has_param :custom_event_type, { enum: -> { CustomConversion::CUSTOM_EVENT_TYPE }}
528
- api.has_param :default_conversion_value, 'double'
914
+ api.has_param :name, 'string'
529
915
  api.has_param :description, 'string'
530
916
  api.has_param :event_source_id, 'string'
531
- api.has_param :name, 'string'
532
917
  api.has_param :rule, 'string'
918
+ api.has_param :default_conversion_value, 'double'
919
+ api.has_param :custom_event_type, { enum: -> { CustomConversion::CUSTOM_EVENT_TYPE }}
920
+ api.has_param :advanced_rule, 'string'
533
921
  end
534
922
  end
535
923
 
924
+ has_edge :deactivate do |edge|
925
+ edge.post 'AdAccount'
926
+ end
927
+
536
928
  has_edge :delivery_estimate do |edge|
537
929
  edge.get 'AdAccountDeliveryEstimate' do |api|
930
+ api.has_param :targeting_spec, 'Targeting'
538
931
  api.has_param :optimization_goal, { enum: -> { AdAccountDeliveryEstimate::OPTIMIZATION_GOAL }}
539
932
  api.has_param :promoted_object, 'object'
540
- api.has_param :targeting_spec, 'Targeting'
933
+ end
934
+ end
935
+
936
+ has_edge :deprecatedtargetingadsets do |edge|
937
+ edge.get 'AdSet' do |api|
938
+ api.has_param :type, 'string'
939
+ end
940
+ end
941
+
942
+ has_edge :direct_deals do |edge|
943
+ edge.get 'DirectDeal' do |api|
944
+ api.has_param :status, { enum: -> { DirectDeal::STATUS }}
945
+ end
946
+ end
947
+
948
+ has_edge :direct_deals_tos do |edge|
949
+ edge.post 'AdAccount'
950
+ end
951
+
952
+ has_edge :emailimport do |edge|
953
+ edge.post 'EmailImport' do |api|
954
+ api.has_param :name, 'string'
955
+ api.has_param :third_party_data, 'string'
541
956
  end
542
957
  end
543
958
 
544
959
  has_edge :generatepreviews do |edge|
545
960
  edge.get 'AdPreview' do |api|
546
961
  api.has_param :ad_format, { enum: -> { AdPreview::AD_FORMAT }}
547
- api.has_param :creative, 'AdCreative'
548
962
  api.has_param :dynamic_creative_spec, 'object'
549
- api.has_param :end_date, 'datetime'
963
+ api.has_param :interactive, 'bool'
964
+ api.has_param :post, 'object'
550
965
  api.has_param :height, 'int'
966
+ api.has_param :width, 'int'
551
967
  api.has_param :place_page_id, 'int'
552
- api.has_param :post, 'object'
553
968
  api.has_param :product_item_ids, { list: 'string' }
554
969
  api.has_param :start_date, 'datetime'
555
- api.has_param :width, 'int'
970
+ api.has_param :end_date, 'datetime'
971
+ api.has_param :locale, 'string'
972
+ api.has_param :render_type, { enum: -> { AdPreview::RENDER_TYPE }}
973
+ api.has_param :creative, 'AdCreative'
556
974
  end
557
975
  end
558
976
 
559
977
  has_edge :insights do |edge|
560
978
  edge.get 'AdsInsights' do |api|
979
+ api.has_param :default_summary, 'bool'
980
+ api.has_param :fields, { list: 'string' }
981
+ api.has_param :filtering, { list: 'object' }
982
+ api.has_param :summary, { list: 'string' }
983
+ api.has_param :sort, { list: 'string' }
561
984
  api.has_param :action_attribution_windows, { list: { enum: -> { AdsInsights::ACTION_ATTRIBUTION_WINDOWS }} }
562
985
  api.has_param :action_breakdowns, { list: { enum: -> { AdsInsights::ACTION_BREAKDOWNS }} }
563
986
  api.has_param :action_report_time, { enum: -> { AdsInsights::ACTION_REPORT_TIME }}
564
987
  api.has_param :breakdowns, { list: { enum: -> { AdsInsights::BREAKDOWNS }} }
565
988
  api.has_param :date_preset, { enum: -> { AdsInsights::DATE_PRESET }}
566
- api.has_param :default_summary, 'bool'
567
989
  api.has_param :export_columns, { list: 'string' }
568
990
  api.has_param :export_format, 'string'
569
991
  api.has_param :export_name, 'string'
570
- api.has_param :fields, { list: { enum: -> { AdsInsights::SUMMARY }} }
571
- api.has_param :filtering, { list: 'object' }
572
992
  api.has_param :level, { enum: -> { AdsInsights::LEVEL }}
573
993
  api.has_param :product_id_limit, 'int'
574
- api.has_param :sort, { list: 'string' }
575
- api.has_param :summary, { list: { enum: -> { AdsInsights::SUMMARY }} }
576
994
  api.has_param :summary_action_breakdowns, { list: { enum: -> { AdsInsights::SUMMARY_ACTION_BREAKDOWNS }} }
577
995
  api.has_param :time_increment, 'string'
578
996
  api.has_param :time_range, 'object'
@@ -580,21 +998,21 @@ module FacebookAds
580
998
  api.has_param :use_account_attribution_setting, 'bool'
581
999
  end
582
1000
  edge.post 'AdReportRun' do |api|
1001
+ api.has_param :default_summary, 'bool'
1002
+ api.has_param :fields, { list: 'string' }
1003
+ api.has_param :filtering, { list: 'object' }
1004
+ api.has_param :summary, { list: 'string' }
1005
+ api.has_param :sort, { list: 'string' }
583
1006
  api.has_param :action_attribution_windows, { list: { enum: -> { AdsInsights::ACTION_ATTRIBUTION_WINDOWS }} }
584
1007
  api.has_param :action_breakdowns, { list: { enum: -> { AdsInsights::ACTION_BREAKDOWNS }} }
585
1008
  api.has_param :action_report_time, { enum: -> { AdsInsights::ACTION_REPORT_TIME }}
586
1009
  api.has_param :breakdowns, { list: { enum: -> { AdsInsights::BREAKDOWNS }} }
587
1010
  api.has_param :date_preset, { enum: -> { AdsInsights::DATE_PRESET }}
588
- api.has_param :default_summary, 'bool'
589
1011
  api.has_param :export_columns, { list: 'string' }
590
1012
  api.has_param :export_format, 'string'
591
1013
  api.has_param :export_name, 'string'
592
- api.has_param :fields, { list: { enum: -> { AdsInsights::SUMMARY }} }
593
- api.has_param :filtering, { list: 'object' }
594
1014
  api.has_param :level, { enum: -> { AdsInsights::LEVEL }}
595
1015
  api.has_param :product_id_limit, 'int'
596
- api.has_param :sort, { list: 'string' }
597
- api.has_param :summary, { list: { enum: -> { AdsInsights::SUMMARY }} }
598
1016
  api.has_param :summary_action_breakdowns, { list: { enum: -> { AdsInsights::SUMMARY_ACTION_BREAKDOWNS }} }
599
1017
  api.has_param :time_increment, 'string'
600
1018
  api.has_param :time_range, 'object'
@@ -603,36 +1021,87 @@ module FacebookAds
603
1021
  end
604
1022
  end
605
1023
 
606
- has_edge :instagram_accounts do |edge|
607
- edge.get
608
- end
609
-
610
1024
  has_edge :leadgen_forms do |edge|
611
1025
  edge.get 'LeadgenForm' do |api|
612
1026
  api.has_param :query, 'string'
613
1027
  end
614
1028
  end
615
1029
 
1030
+ has_edge :locationclusters do |edge|
1031
+ edge.post 'AdAccount' do |api|
1032
+ api.has_param :locations, { list: 'string' }
1033
+ end
1034
+ end
1035
+
1036
+ has_edge :matched_search_applications do |edge|
1037
+ edge.get 'AdAccountMatchedSearchApplicationsEdgeData' do |api|
1038
+ api.has_param :app_store, { enum: -> { AdAccountMatchedSearchApplicationsEdgeData::APP_STORE }}
1039
+ api.has_param :app_store_country, 'string'
1040
+ api.has_param :business_id, 'object'
1041
+ api.has_param :query_term, 'string'
1042
+ api.has_param :allow_incomplete_app, 'bool'
1043
+ end
1044
+ end
1045
+
616
1046
  has_edge :minimum_budgets do |edge|
617
1047
  edge.get 'MinimumBudget' do |api|
618
1048
  api.has_param :bid_amount, 'int'
619
1049
  end
620
1050
  end
621
1051
 
1052
+ has_edge :mockups do |edge|
1053
+ edge.post do |api|
1054
+ api.has_param :mockup_access_token, 'string'
1055
+ api.has_param :source_mockup_id, 'string'
1056
+ api.has_param :page_id, 'string'
1057
+ end
1058
+ end
1059
+
622
1060
  has_edge :offline_conversion_data_sets do |edge|
623
1061
  edge.get 'OfflineConversionDataSet'
624
1062
  end
625
1063
 
626
- has_edge :offsitepixels do |edge|
627
- edge.get 'OffsitePixel'
1064
+ has_edge :partner_integrations do |edge|
1065
+ edge.get 'PartnerIntegrationLinked'
1066
+ edge.post 'PartnerIntegrationLinked' do |api|
1067
+ api.has_param :external_id, 'string'
1068
+ api.has_param :gtm_account_id, 'string'
1069
+ api.has_param :gtm_container_id, 'string'
1070
+ api.has_param :name, 'string'
1071
+ api.has_param :partner, { enum: -> { PartnerIntegrationLinked::PARTNER }}
1072
+ end
628
1073
  end
629
1074
 
630
1075
  has_edge :partnercategories do |edge|
631
1076
  edge.get 'PartnerCategory' do |api|
1077
+ api.has_param :targeting_type, 'string'
1078
+ api.has_param :private_or_public, { enum: -> { PartnerCategory::PRIVATE_OR_PUBLIC }}
632
1079
  api.has_param :hide_pc, 'bool'
1080
+ api.has_param :limit, 'int'
633
1081
  api.has_param :is_exclusion, 'bool'
634
- api.has_param :private_or_public, { enum: -> { PartnerCategory::PRIVATE_OR_PUBLIC }}
635
- api.has_param :targeting_type, 'string'
1082
+ end
1083
+ end
1084
+
1085
+ has_edge :partnerdata do |edge|
1086
+ edge.post 'AdAccount' do |api|
1087
+ api.has_param :upload_id, 'int'
1088
+ api.has_param :type, 'string'
1089
+ api.has_param :start_new_upload, 'bool'
1090
+ api.has_param :total_expected, 'int'
1091
+ api.has_param :upload_metadata, 'string'
1092
+ api.has_param :upload_complete, 'bool'
1093
+ api.has_param :ignore_count_check, 'bool'
1094
+ api.has_param :abandon_upload, 'bool'
1095
+ api.has_param :payload, { list: 'string' }
1096
+ api.has_param :payload_type, 'string'
1097
+ end
1098
+ end
1099
+
1100
+ has_edge :partnerrequests do |edge|
1101
+ edge.post do |api|
1102
+ api.has_param :category_ids, { list: 'string' }
1103
+ api.has_param :account_ids, { list: 'int' }
1104
+ api.has_param :type, { enum: %w{SHARE_PC }}
636
1105
  end
637
1106
  end
638
1107
 
@@ -642,112 +1111,176 @@ module FacebookAds
642
1111
 
643
1112
  has_edge :product_audiences do |edge|
644
1113
  edge.post 'CustomAudience' do |api|
645
- api.has_param :associated_audience_id, 'int'
646
1114
  api.has_param :creation_params, 'hash'
647
1115
  api.has_param :description, 'string'
648
- api.has_param :event_sources, { list: 'hash' }
649
- api.has_param :exclusions, { list: 'object' }
650
- api.has_param :inclusions, { list: 'object' }
651
1116
  api.has_param :name, 'string'
652
1117
  api.has_param :opt_out_link, 'string'
653
1118
  api.has_param :parent_audience_id, 'int'
654
- api.has_param :product_set_id, 'string'
655
1119
  api.has_param :subtype, { enum: -> { AdAccount::SUBTYPE }}
1120
+ api.has_param :seed_audience, 'int'
656
1121
  api.has_param :tags, { list: 'string' }
1122
+ api.has_param :associated_audience_id, 'int'
1123
+ api.has_param :is_household, 'bool'
1124
+ api.has_param :is_household_exclusion, 'bool'
1125
+ api.has_param :is_value_based, 'bool'
1126
+ api.has_param :allowed_domains, { list: 'string' }
1127
+ api.has_param :is_snapshot, 'bool'
1128
+ api.has_param :claim_objective, { enum: -> { AdAccount::CLAIM_OBJECTIVE }}
1129
+ api.has_param :content_type, { enum: -> { AdAccount::CONTENT_TYPE }}
1130
+ api.has_param :event_source_group, 'string'
1131
+ api.has_param :product_set_id, 'string'
1132
+ api.has_param :rev_share_policy_id, 'int'
1133
+ api.has_param :event_sources, { list: 'hash' }
1134
+ api.has_param :inclusions, { list: 'object' }
1135
+ api.has_param :exclusions, { list: 'object' }
657
1136
  end
658
1137
  end
659
1138
 
660
1139
  has_edge :publisher_block_lists do |edge|
661
- edge.get
662
- edge.post do |api|
1140
+ edge.get 'PublisherBlockList'
1141
+ edge.post 'PublisherBlockList' do |api|
663
1142
  api.has_param :name, 'string'
664
1143
  end
665
1144
  end
666
1145
 
1146
+ has_edge :ratecard do |edge|
1147
+ edge.get 'RateCard'
1148
+ end
1149
+
667
1150
  has_edge :reachestimate do |edge|
668
1151
  edge.get 'ReachEstimate' do |api|
669
- api.has_param :object_store_url, 'string'
670
1152
  api.has_param :targeting_spec, 'Targeting'
1153
+ api.has_param :currency, 'string'
1154
+ api.has_param :is_debug, 'bool'
1155
+ api.has_param :optimize_for, { enum: -> { ReachEstimate::OPTIMIZE_FOR }}
1156
+ api.has_param :daily_budget, 'double'
1157
+ api.has_param :creative_action_spec, 'string'
1158
+ api.has_param :adgroup_ids, { list: 'string' }
1159
+ api.has_param :concepts, 'string'
1160
+ api.has_param :caller_id, 'string'
1161
+ api.has_param :object_store_url, 'string'
671
1162
  end
672
1163
  end
673
1164
 
674
1165
  has_edge :reachfrequencypredictions do |edge|
675
1166
  edge.get 'ReachFrequencyPrediction'
676
1167
  edge.post 'ReachFrequencyPrediction' do |api|
1168
+ api.has_param :action, { enum: -> { ReachFrequencyPrediction::ACTION }}
1169
+ api.has_param :ad_formats, { list: 'hash' }
1170
+ api.has_param :target_spec, 'Targeting'
1171
+ api.has_param :start_time, 'int'
1172
+ api.has_param :stop_time, 'int'
1173
+ api.has_param :end_time, 'int'
1174
+ api.has_param :reach, 'int'
1175
+ api.has_param :impression, 'int'
1176
+ api.has_param :frequency_cap, 'int'
677
1177
  api.has_param :budget, 'int'
678
- api.has_param :campaign_group_id, 'string'
679
- api.has_param :day_parting_schedule, { list: 'object' }
1178
+ api.has_param :prediction_mode, 'int'
680
1179
  api.has_param :destination_id, 'int'
681
1180
  api.has_param :destination_ids, { list: 'string' }
682
- api.has_param :end_time, 'int'
683
- api.has_param :frequency_cap, 'int'
684
- api.has_param :instream_packages, { list: { enum: -> { ReachFrequencyPrediction::INSTREAM_PACKAGES }} }
685
- api.has_param :interval_frequency_cap_reset_period, 'int'
686
- api.has_param :num_curve_points, 'int'
1181
+ api.has_param :story_event_type, 'int'
1182
+ api.has_param :day_parting_schedule, { list: 'object' }
1183
+ api.has_param :target_cpm, 'int'
1184
+ api.has_param :buying_type, { enum: -> { ReachFrequencyPrediction::BUYING_TYPE }}
687
1185
  api.has_param :objective, 'string'
688
- api.has_param :prediction_mode, 'int'
689
- api.has_param :reach, 'int'
1186
+ api.has_param :rf_prediction_id, 'string'
1187
+ api.has_param :rf_prediction_id_to_release, 'string'
690
1188
  api.has_param :rf_prediction_id_to_share, 'string'
691
- api.has_param :start_time, 'int'
692
- api.has_param :stop_time, 'int'
693
- api.has_param :story_event_type, 'int'
694
- api.has_param :target_spec, 'Targeting'
1189
+ api.has_param :num_curve_points, 'int'
1190
+ api.has_param :interval_frequency_cap_reset_period, 'int'
1191
+ api.has_param :campaign_group_id, 'string'
1192
+ api.has_param :grp_buying, 'bool'
1193
+ api.has_param :instream_packages, { list: { enum: -> { ReachFrequencyPrediction::INSTREAM_PACKAGES }} }
1194
+ api.has_param :is_bonus_media, 'bool'
1195
+ api.has_param :is_conversion_goal, 'bool'
1196
+ api.has_param :is_full_view, 'bool'
1197
+ api.has_param :is_reach_and_frequency_io_buying, 'bool'
1198
+ api.has_param :is_reserved_buying, 'bool'
1199
+ api.has_param :expiration_time, 'int'
1200
+ api.has_param :existing_campaign_id, 'string'
1201
+ api.has_param :video_view_length_constraint, 'int'
1202
+ api.has_param :auction_entry_option_index, 'int'
1203
+ api.has_param :exceptions, 'bool'
1204
+ end
1205
+ end
1206
+
1207
+ has_edge :referral do |edge|
1208
+ edge.get 'Referral'
1209
+ edge.post 'Referral' do |api|
1210
+ api.has_param :invite_limit, 'int'
1211
+ api.has_param :messenger_cta, 'string'
1212
+ api.has_param :messenger_promotion_text, 'string'
1213
+ api.has_param :namespace, 'int'
1214
+ api.has_param :need_promo_code, 'bool'
1215
+ api.has_param :offer_origin, 'string'
1216
+ api.has_param :promotion_text, 'string'
1217
+ api.has_param :receiver_benefits_text, 'string'
1218
+ api.has_param :referral_link_uri, 'object'
1219
+ api.has_param :sender_benefits_text, 'string'
1220
+ end
1221
+ end
1222
+
1223
+ has_edge :reportstats do |edge|
1224
+ edge.post do |api|
1225
+ api.has_param :time_ranges, 'object'
1226
+ api.has_param :data_columns, { list: 'string' }
1227
+ api.has_param :actions_group_by, { list: { enum: %w{action_canvas_component_id action_canvas_component_name action_carousel_card_id action_carousel_card_name action_destination action_device action_event_channel action_target_id action_type action_video_sound action_video_type }} }
1228
+ api.has_param :filters, { list: 'object' }
1229
+ api.has_param :sort_by, 'string'
1230
+ api.has_param :sort_dir, 'string'
1231
+ api.has_param :time_increment, 'string'
1232
+ api.has_param :time_interval, 'object'
1233
+ api.has_param :date_preset, { enum: %w{today yesterday this_month last_month this_quarter lifetime last_3d last_7d last_14d last_28d last_30d last_90d last_week_mon_sun last_week_sun_sat last_quarter last_year this_week_mon_today this_week_sun_today this_year }}
1234
+ api.has_param :format, { enum: %w{JSON CSV XLS XLSX }}
1235
+ api.has_param :export_columns, 'object'
1236
+ api.has_param :report_run_id, 'string'
1237
+ api.has_param :name, 'string'
1238
+ api.has_param :user_report, 'bool'
1239
+ api.has_param :business_id, 'string'
1240
+ api.has_param :limit, 'int'
1241
+ api.has_param :bypass_async, 'bool'
1242
+ api.has_param :summary, 'bool'
695
1243
  end
696
1244
  end
697
1245
 
698
1246
  has_edge :roas do |edge|
699
1247
  edge.get 'AdAccountRoas' do |api|
700
- api.has_param :fields, { list: { enum: -> { AdAccountRoas::FIELDS }} }
701
- api.has_param :filtering, { list: 'object' }
702
1248
  api.has_param :time_increment, 'string'
703
1249
  api.has_param :time_range, 'object'
1250
+ api.has_param :fields, { list: 'string' }
1251
+ api.has_param :filtering, { list: 'object' }
1252
+ end
1253
+ end
1254
+
1255
+ has_edge :saved_audiences do |edge|
1256
+ edge.get 'SavedAudience' do |api|
1257
+ api.has_param :fields, { list: 'string' }
1258
+ api.has_param :filtering, { list: 'object' }
1259
+ api.has_param :business_id, 'string'
704
1260
  end
705
1261
  end
706
1262
 
707
1263
  has_edge :sponsored_message_ads do |edge|
708
1264
  edge.post do |api|
709
- api.has_param :bid_amount, 'int'
710
- api.has_param :daily_budget, 'int'
711
1265
  api.has_param :message_creative_id, 'string'
1266
+ api.has_param :daily_budget, 'int'
1267
+ api.has_param :bid_amount, 'int'
712
1268
  api.has_param :targeting, 'Targeting'
713
1269
  end
714
1270
  end
715
1271
 
716
- has_edge :targetingbrowse do |edge|
717
- edge.get 'AdAccountTargetingUnified' do |api|
718
- api.has_param :include_nodes, 'bool'
719
- api.has_param :limit_type, { enum: -> { AdAccountTargetingUnified::LIMIT_TYPE }}
720
- end
721
- end
722
-
723
- has_edge :targetingsearch do |edge|
724
- edge.get 'AdAccountTargetingUnified' do |api|
725
- api.has_param :limit_type, { enum: -> { AdAccountTargetingUnified::LIMIT_TYPE }}
726
- api.has_param :q, 'string'
727
- end
728
- end
729
-
730
1272
  has_edge :targetingsentencelines do |edge|
731
1273
  edge.get 'TargetingSentenceLine' do |api|
1274
+ api.has_param :targeting_spec, 'Targeting'
732
1275
  api.has_param :discard_ages, 'bool'
733
1276
  api.has_param :discard_placements, 'bool'
734
- api.has_param :targeting_spec, 'Targeting'
1277
+ api.has_param :hide_targeting_spec_from_return, 'bool'
735
1278
  end
736
1279
  end
737
1280
 
738
- has_edge :targetingsuggestions do |edge|
739
- edge.get 'AdAccountTargetingUnified' do |api|
740
- api.has_param :limit_type, { enum: -> { AdAccountTargetingUnified::LIMIT_TYPE }}
741
- api.has_param :targeting_list, { list: 'object' }
742
- end
743
- end
744
-
745
- has_edge :targetingvalidation do |edge|
746
- edge.get 'AdAccountTargetingUnified' do |api|
747
- api.has_param :id_list, { list: 'int' }
748
- api.has_param :is_exclusion, 'bool'
749
- api.has_param :name_list, { list: 'string' }
750
- api.has_param :targeting_list, { list: 'object' }
1281
+ has_edge :timezoneoffsets do |edge|
1282
+ edge.get 'TimezoneOffset' do |api|
1283
+ api.has_param :start_year, 'int'
751
1284
  end
752
1285
  end
753
1286
 
@@ -755,28 +1288,63 @@ module FacebookAds
755
1288
  edge.delete do |api|
756
1289
  api.has_param :tracking_specs, 'object'
757
1290
  end
758
- edge.post do |api|
1291
+ edge.get 'AdAccountTrackingData'
1292
+ edge.post 'AdAccount' do |api|
759
1293
  api.has_param :tracking_specs, 'object'
760
1294
  end
761
1295
  end
762
1296
 
763
1297
  has_edge :user_match do |edge|
764
1298
  edge.delete do |api|
765
- api.has_param :bidirectional, 'bool'
766
- api.has_param :namespace, 'string'
767
1299
  api.has_param :payload, 'object'
1300
+ api.has_param :namespace, 'string'
1301
+ api.has_param :bidirectional, 'bool'
768
1302
  end
769
1303
  edge.post do |api|
1304
+ api.has_param :payload, 'object'
770
1305
  api.has_param :action, 'string'
771
- api.has_param :bidirectional, 'bool'
772
1306
  api.has_param :namespace, 'string'
773
- api.has_param :payload, 'object'
774
1307
  api.has_param :retention, 'string'
1308
+ api.has_param :bidirectional, 'bool'
1309
+ end
1310
+ end
1311
+
1312
+ has_edge :userpermissions do |edge|
1313
+ edge.delete do |api|
1314
+ api.has_param :user, 'int'
1315
+ api.has_param :email, 'string'
1316
+ api.has_param :business, 'string'
1317
+ end
1318
+ edge.get 'AdAccountUserPermissions' do |api|
1319
+ api.has_param :business, 'object'
1320
+ api.has_param :user, 'object'
1321
+ end
1322
+ edge.post 'AdAccount' do |api|
1323
+ api.has_param :user, 'int'
1324
+ api.has_param :email, 'string'
1325
+ api.has_param :business, 'string'
1326
+ api.has_param :tasks, { list: { enum: -> { AdAccount::TASKS }} }
775
1327
  end
776
1328
  end
777
1329
 
778
1330
  has_edge :users do |edge|
1331
+ edge.delete do |api|
1332
+ api.has_param :uid, 'int'
1333
+ api.has_param :uids, { list: 'string' }
1334
+ end
779
1335
  edge.get 'AdAccountUser'
1336
+ edge.post 'AdAccount' do |api|
1337
+ api.has_param :uid, 'int'
1338
+ api.has_param :tasks, { list: { enum: -> { AdAccount::TASKS }} }
1339
+ end
1340
+ end
1341
+
1342
+ has_edge :usersofanyaudience do |edge|
1343
+ edge.delete do |api|
1344
+ api.has_param :session, 'object'
1345
+ api.has_param :payload, 'object'
1346
+ api.has_param :namespace, 'string'
1347
+ end
780
1348
  end
781
1349
 
782
1350
  end