facebookbusiness 0.3.1.1 → 0.3.1.5

Sign up to get free protection for your applications and to get access to all the features.
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