bonio-facebookbusiness 0.13.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (477) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE.txt +17 -0
  3. data/README.md +262 -0
  4. data/lib/bonio-facebookbusiness.rb +19 -0
  5. data/lib/facebook_ads/ad_object.rb +177 -0
  6. data/lib/facebook_ads/ad_objects/ad.rb +255 -0
  7. data/lib/facebook_ads/ad_objects/ad_account.rb +1118 -0
  8. data/lib/facebook_ads/ad_objects/ad_account_activity.rb +63 -0
  9. data/lib/facebook_ads/ad_objects/ad_account_ad_rules_history.rb +64 -0
  10. data/lib/facebook_ads/ad_objects/ad_account_ad_volume.rb +69 -0
  11. data/lib/facebook_ads/ad_objects/ad_account_default_destination.rb +38 -0
  12. data/lib/facebook_ads/ad_objects/ad_account_default_objective.rb +80 -0
  13. data/lib/facebook_ads/ad_objects/ad_account_delivery_estimate.rb +67 -0
  14. data/lib/facebook_ads/ad_objects/ad_account_ios_fourteen_campaign_limits.rb +39 -0
  15. data/lib/facebook_ads/ad_objects/ad_account_matched_search_applications_edge_data.rb +70 -0
  16. data/lib/facebook_ads/ad_objects/ad_account_max_bid.rb +37 -0
  17. data/lib/facebook_ads/ad_objects/ad_account_promotable_objects.rb +39 -0
  18. data/lib/facebook_ads/ad_objects/ad_account_reach_estimate.rb +39 -0
  19. data/lib/facebook_ads/ad_objects/ad_account_recommended_camapaign_budget.rb +39 -0
  20. data/lib/facebook_ads/ad_objects/ad_account_subscribed_apps.rb +38 -0
  21. data/lib/facebook_ads/ad_objects/ad_account_targeting_unified.rb +271 -0
  22. data/lib/facebook_ads/ad_objects/ad_account_tracking_data.rb +37 -0
  23. data/lib/facebook_ads/ad_objects/ad_account_user.rb +38 -0
  24. data/lib/facebook_ads/ad_objects/ad_activity.rb +148 -0
  25. data/lib/facebook_ads/ad_objects/ad_asset_feed_spec.rb +124 -0
  26. data/lib/facebook_ads/ad_objects/ad_asset_feed_spec_asset_label.rb +37 -0
  27. data/lib/facebook_ads/ad_objects/ad_asset_feed_spec_body.rb +39 -0
  28. data/lib/facebook_ads/ad_objects/ad_asset_feed_spec_caption.rb +39 -0
  29. data/lib/facebook_ads/ad_objects/ad_asset_feed_spec_description.rb +39 -0
  30. data/lib/facebook_ads/ad_objects/ad_asset_feed_spec_group_rule.rb +43 -0
  31. data/lib/facebook_ads/ad_objects/ad_asset_feed_spec_image.rb +41 -0
  32. data/lib/facebook_ads/ad_objects/ad_asset_feed_spec_link_url.rb +42 -0
  33. data/lib/facebook_ads/ad_objects/ad_asset_feed_spec_title.rb +39 -0
  34. data/lib/facebook_ads/ad_objects/ad_asset_feed_spec_video.rb +42 -0
  35. data/lib/facebook_ads/ad_objects/ad_async_request.rb +58 -0
  36. data/lib/facebook_ads/ad_objects/ad_async_request_set.rb +60 -0
  37. data/lib/facebook_ads/ad_objects/ad_async_request_set_notification_result.rb +38 -0
  38. data/lib/facebook_ads/ad_objects/ad_bid_adjustments.rb +39 -0
  39. data/lib/facebook_ads/ad_objects/ad_campaign_activity.rb +182 -0
  40. data/lib/facebook_ads/ad_objects/ad_campaign_bid_constraint.rb +37 -0
  41. data/lib/facebook_ads/ad_objects/ad_campaign_delivery_estimate.rb +67 -0
  42. data/lib/facebook_ads/ad_objects/ad_campaign_delivery_stats_unsupported_reasons.rb +38 -0
  43. data/lib/facebook_ads/ad_objects/ad_campaign_frequency_control_specs.rb +39 -0
  44. data/lib/facebook_ads/ad_objects/ad_campaign_group_activity.rb +99 -0
  45. data/lib/facebook_ads/ad_objects/ad_campaign_issues_info.rb +41 -0
  46. data/lib/facebook_ads/ad_objects/ad_campaign_learning_stage_info.rb +40 -0
  47. data/lib/facebook_ads/ad_objects/ad_campaign_optimization_event.rb +39 -0
  48. data/lib/facebook_ads/ad_objects/ad_campaign_paced_bid_info.rb +37 -0
  49. data/lib/facebook_ads/ad_objects/ad_creative.rb +257 -0
  50. data/lib/facebook_ads/ad_objects/ad_creative_ad_disclaimer.rb +39 -0
  51. data/lib/facebook_ads/ad_objects/ad_creative_collection_thumbnail_info.rb +39 -0
  52. data/lib/facebook_ads/ad_objects/ad_creative_insights.rb +37 -0
  53. data/lib/facebook_ads/ad_objects/ad_creative_interactive_components_spec.rb +38 -0
  54. data/lib/facebook_ads/ad_objects/ad_creative_link_data.rb +82 -0
  55. data/lib/facebook_ads/ad_objects/ad_creative_link_data_app_link_spec.rb +40 -0
  56. data/lib/facebook_ads/ad_objects/ad_creative_link_data_call_to_action.rb +108 -0
  57. data/lib/facebook_ads/ad_objects/ad_creative_link_data_call_to_action_value.rb +47 -0
  58. data/lib/facebook_ads/ad_objects/ad_creative_link_data_child_attachment.rb +47 -0
  59. data/lib/facebook_ads/ad_objects/ad_creative_link_data_image_layer_spec.rb +101 -0
  60. data/lib/facebook_ads/ad_objects/ad_creative_link_data_image_overlay_spec.rb +106 -0
  61. data/lib/facebook_ads/ad_objects/ad_creative_link_data_sponsorship_info_spec.rb +38 -0
  62. data/lib/facebook_ads/ad_objects/ad_creative_link_data_template_video_spec.rb +39 -0
  63. data/lib/facebook_ads/ad_objects/ad_creative_object_story_spec.rb +43 -0
  64. data/lib/facebook_ads/ad_objects/ad_creative_omnichannel_link_spec.rb +38 -0
  65. data/lib/facebook_ads/ad_objects/ad_creative_photo_data.rb +42 -0
  66. data/lib/facebook_ads/ad_objects/ad_creative_photo_data_media_elements.rb +40 -0
  67. data/lib/facebook_ads/ad_objects/ad_creative_place_data.rb +42 -0
  68. data/lib/facebook_ads/ad_objects/ad_creative_platform_customization.rb +37 -0
  69. data/lib/facebook_ads/ad_objects/ad_creative_portrait_customizations.rb +38 -0
  70. data/lib/facebook_ads/ad_objects/ad_creative_post_click_configuration.rb +38 -0
  71. data/lib/facebook_ads/ad_objects/ad_creative_recommender_settings.rb +38 -0
  72. data/lib/facebook_ads/ad_objects/ad_creative_static_fallback_spec.rb +42 -0
  73. data/lib/facebook_ads/ad_objects/ad_creative_template_url_spec.rb +43 -0
  74. data/lib/facebook_ads/ad_objects/ad_creative_text_data.rb +37 -0
  75. data/lib/facebook_ads/ad_objects/ad_creative_video_data.rb +53 -0
  76. data/lib/facebook_ads/ad_objects/ad_customization_rule_spec.rb +46 -0
  77. data/lib/facebook_ads/ad_objects/ad_dynamic_creative.rb +37 -0
  78. data/lib/facebook_ads/ad_objects/ad_entity_target_spend.rb +41 -0
  79. data/lib/facebook_ads/ad_objects/ad_image.rb +58 -0
  80. data/lib/facebook_ads/ad_objects/ad_keywords.rb +40 -0
  81. data/lib/facebook_ads/ad_objects/ad_label.rb +53 -0
  82. data/lib/facebook_ads/ad_objects/ad_monetization_property.rb +66 -0
  83. data/lib/facebook_ads/ad_objects/ad_network_analytics_async_query_result.rb +41 -0
  84. data/lib/facebook_ads/ad_objects/ad_network_analytics_sync_query_result.rb +102 -0
  85. data/lib/facebook_ads/ad_objects/ad_place_page_set.rb +52 -0
  86. data/lib/facebook_ads/ad_objects/ad_place_page_set_metadata.rb +40 -0
  87. data/lib/facebook_ads/ad_objects/ad_placement.rb +42 -0
  88. data/lib/facebook_ads/ad_objects/ad_preview.rb +88 -0
  89. data/lib/facebook_ads/ad_objects/ad_promoted_object.rb +86 -0
  90. data/lib/facebook_ads/ad_objects/ad_recommendation.rb +55 -0
  91. data/lib/facebook_ads/ad_objects/ad_recommendation_data.rb +37 -0
  92. data/lib/facebook_ads/ad_objects/ad_report_run.rb +72 -0
  93. data/lib/facebook_ads/ad_objects/ad_rule.rb +92 -0
  94. data/lib/facebook_ads/ad_objects/ad_rule_evaluation_spec.rb +43 -0
  95. data/lib/facebook_ads/ad_objects/ad_rule_execution_options.rb +44 -0
  96. data/lib/facebook_ads/ad_objects/ad_rule_execution_spec.rb +56 -0
  97. data/lib/facebook_ads/ad_objects/ad_rule_filters.rb +55 -0
  98. data/lib/facebook_ads/ad_objects/ad_rule_history.rb +58 -0
  99. data/lib/facebook_ads/ad_objects/ad_rule_history_result.rb +45 -0
  100. data/lib/facebook_ads/ad_objects/ad_rule_history_result_action.rb +40 -0
  101. data/lib/facebook_ads/ad_objects/ad_rule_schedule.rb +39 -0
  102. data/lib/facebook_ads/ad_objects/ad_rule_schedule_spec.rb +38 -0
  103. data/lib/facebook_ads/ad_objects/ad_rule_trigger.rb +64 -0
  104. data/lib/facebook_ads/ad_objects/ad_set.rb +380 -0
  105. data/lib/facebook_ads/ad_objects/ad_study.rb +74 -0
  106. data/lib/facebook_ads/ad_objects/ad_study_cell.rb +70 -0
  107. data/lib/facebook_ads/ad_objects/ad_study_objective.rb +73 -0
  108. data/lib/facebook_ads/ad_objects/ad_study_objective_id.rb +38 -0
  109. data/lib/facebook_ads/ad_objects/ad_study_objective_offsite_datasets.rb +37 -0
  110. data/lib/facebook_ads/ad_objects/ad_video.rb +467 -0
  111. data/lib/facebook_ads/ad_objects/adgroup_activity.rb +128 -0
  112. data/lib/facebook_ads/ad_objects/adgroup_issues_info.rb +41 -0
  113. data/lib/facebook_ads/ad_objects/adgroup_placement_specific_review_feedback.rb +71 -0
  114. data/lib/facebook_ads/ad_objects/adgroup_review_feedback.rb +38 -0
  115. data/lib/facebook_ads/ad_objects/adoptable_pet.rb +85 -0
  116. data/lib/facebook_ads/ad_objects/ads_action_stats.rb +67 -0
  117. data/lib/facebook_ads/ad_objects/ads_image_crops.rb +43 -0
  118. data/lib/facebook_ads/ad_objects/ads_insights.rb +268 -0
  119. data/lib/facebook_ads/ad_objects/ads_optimal_delivery_growth_opportunity.rb +39 -0
  120. data/lib/facebook_ads/ad_objects/ads_pixel.rb +154 -0
  121. data/lib/facebook_ads/ad_objects/ads_pixel_stats.rb +40 -0
  122. data/lib/facebook_ads/ad_objects/ads_pixel_stats_result.rb +58 -0
  123. data/lib/facebook_ads/ad_objects/age_range.rb +38 -0
  124. data/lib/facebook_ads/ad_objects/agency_client_declaration.rb +48 -0
  125. data/lib/facebook_ads/ad_objects/album.rb +155 -0
  126. data/lib/facebook_ads/ad_objects/android_app_link.rb +40 -0
  127. data/lib/facebook_ads/ad_objects/app_request.rb +42 -0
  128. data/lib/facebook_ads/ad_objects/app_request_former_recipient.rb +37 -0
  129. data/lib/facebook_ads/ad_objects/application.rb +617 -0
  130. data/lib/facebook_ads/ad_objects/ar_effects_batch_status.rb +39 -0
  131. data/lib/facebook_ads/ad_objects/assigned_user.rb +39 -0
  132. data/lib/facebook_ads/ad_objects/async_request.rb +52 -0
  133. data/lib/facebook_ads/ad_objects/async_session.rb +49 -0
  134. data/lib/facebook_ads/ad_objects/attribution_spec.rb +38 -0
  135. data/lib/facebook_ads/ad_objects/audience_permission_for_actions.rb +41 -0
  136. data/lib/facebook_ads/ad_objects/audio_copyright.rb +47 -0
  137. data/lib/facebook_ads/ad_objects/automotive_model.rb +110 -0
  138. data/lib/facebook_ads/ad_objects/brand_safety_block_list_usage.rb +41 -0
  139. data/lib/facebook_ads/ad_objects/broad_targeting_categories.rb +47 -0
  140. data/lib/facebook_ads/ad_objects/business.rb +667 -0
  141. data/lib/facebook_ads/ad_objects/business_ad_account_request.rb +37 -0
  142. data/lib/facebook_ads/ad_objects/business_application_request.rb +37 -0
  143. data/lib/facebook_ads/ad_objects/business_asset_group.rb +181 -0
  144. data/lib/facebook_ads/ad_objects/business_asset_sharing_agreement.rb +47 -0
  145. data/lib/facebook_ads/ad_objects/business_image.rb +44 -0
  146. data/lib/facebook_ads/ad_objects/business_managed_partner_eligibility.rb +39 -0
  147. data/lib/facebook_ads/ad_objects/business_owned_object_on_behalf_of_request.rb +47 -0
  148. data/lib/facebook_ads/ad_objects/business_page_request.rb +37 -0
  149. data/lib/facebook_ads/ad_objects/business_role_request.rb +64 -0
  150. data/lib/facebook_ads/ad_objects/business_user.rb +81 -0
  151. data/lib/facebook_ads/ad_objects/campaign.rb +548 -0
  152. data/lib/facebook_ads/ad_objects/campaign_group_brand_configuration.rb +39 -0
  153. data/lib/facebook_ads/ad_objects/campaign_group_collaborative_ads_partner_info.rb +36 -0
  154. data/lib/facebook_ads/ad_objects/canvas.rb +65 -0
  155. data/lib/facebook_ads/ad_objects/canvas_ad_settings.rb +43 -0
  156. data/lib/facebook_ads/ad_objects/canvas_body_element.rb +37 -0
  157. data/lib/facebook_ads/ad_objects/canvas_collection_thumbnail.rb +39 -0
  158. data/lib/facebook_ads/ad_objects/canvas_template.rb +48 -0
  159. data/lib/facebook_ads/ad_objects/catalog_based_targeting.rb +37 -0
  160. data/lib/facebook_ads/ad_objects/catalog_item_app_links.rb +44 -0
  161. data/lib/facebook_ads/ad_objects/catalog_item_appeal_status.rb +40 -0
  162. data/lib/facebook_ads/ad_objects/catalog_item_channels_to_integrity_status.rb +38 -0
  163. data/lib/facebook_ads/ad_objects/catalog_sub_vertical_list.rb +90 -0
  164. data/lib/facebook_ads/ad_objects/chat_plugin.rb +48 -0
  165. data/lib/facebook_ads/ad_objects/check_batch_request_status.rb +43 -0
  166. data/lib/facebook_ads/ad_objects/child_event.rb +39 -0
  167. data/lib/facebook_ads/ad_objects/cloud_game.rb +43 -0
  168. data/lib/facebook_ads/ad_objects/collaborative_ads_partner_info_list_item.rb +36 -0
  169. data/lib/facebook_ads/ad_objects/collaborative_ads_share_settings.rb +39 -0
  170. data/lib/facebook_ads/ad_objects/comment.rb +128 -0
  171. data/lib/facebook_ads/ad_objects/commerce_merchant_settings.rb +142 -0
  172. data/lib/facebook_ads/ad_objects/commerce_merchant_settings_setup_status.rb +42 -0
  173. data/lib/facebook_ads/ad_objects/commerce_order.rb +162 -0
  174. data/lib/facebook_ads/ad_objects/commerce_order_transaction_detail.rb +52 -0
  175. data/lib/facebook_ads/ad_objects/commerce_payout.rb +41 -0
  176. data/lib/facebook_ads/ad_objects/commerce_settings.rb +38 -0
  177. data/lib/facebook_ads/ad_objects/connections_targeting.rb +37 -0
  178. data/lib/facebook_ads/ad_objects/content_delivery_report.rb +92 -0
  179. data/lib/facebook_ads/ad_objects/contextual_bundling_spec.rb +37 -0
  180. data/lib/facebook_ads/ad_objects/conversion_action_query.rb +62 -0
  181. data/lib/facebook_ads/ad_objects/copyright_audio_asset.rb +38 -0
  182. data/lib/facebook_ads/ad_objects/copyright_reference_container.rb +47 -0
  183. data/lib/facebook_ads/ad_objects/cover_photo.rb +40 -0
  184. data/lib/facebook_ads/ad_objects/cpas_advertiser_partnership_recommendation.rb +43 -0
  185. data/lib/facebook_ads/ad_objects/cpas_business_setup_config.rb +43 -0
  186. data/lib/facebook_ads/ad_objects/cpas_collaboration_request.rb +50 -0
  187. data/lib/facebook_ads/ad_objects/cpas_merchant_config.rb +41 -0
  188. data/lib/facebook_ads/ad_objects/creative_history.rb +38 -0
  189. data/lib/facebook_ads/ad_objects/credit_partition_action_options.rb +39 -0
  190. data/lib/facebook_ads/ad_objects/currency.rb +40 -0
  191. data/lib/facebook_ads/ad_objects/currency_amount.rb +40 -0
  192. data/lib/facebook_ads/ad_objects/custom_audience.rb +199 -0
  193. data/lib/facebook_ads/ad_objects/custom_audience_ad_account.rb +36 -0
  194. data/lib/facebook_ads/ad_objects/custom_audience_data_source.rb +108 -0
  195. data/lib/facebook_ads/ad_objects/custom_audience_session.rb +44 -0
  196. data/lib/facebook_ads/ad_objects/custom_audience_sharing_status.rb +38 -0
  197. data/lib/facebook_ads/ad_objects/custom_audience_status.rb +38 -0
  198. data/lib/facebook_ads/ad_objects/custom_audiences_tos.rb +38 -0
  199. data/lib/facebook_ads/ad_objects/custom_audienceshared_account_info.rb +41 -0
  200. data/lib/facebook_ads/ad_objects/custom_conversion.rb +85 -0
  201. data/lib/facebook_ads/ad_objects/custom_conversion_stats_result.rb +50 -0
  202. data/lib/facebook_ads/ad_objects/custom_user_settings.rb +38 -0
  203. data/lib/facebook_ads/ad_objects/da_check.rb +49 -0
  204. data/lib/facebook_ads/ad_objects/day_part.rb +40 -0
  205. data/lib/facebook_ads/ad_objects/delivery_check.rb +40 -0
  206. data/lib/facebook_ads/ad_objects/delivery_check_extra_info.rb +39 -0
  207. data/lib/facebook_ads/ad_objects/delivery_window.rb +287 -0
  208. data/lib/facebook_ads/ad_objects/destination.rb +71 -0
  209. data/lib/facebook_ads/ad_objects/destination_catalog_settings.rb +36 -0
  210. data/lib/facebook_ads/ad_objects/dynamic_content_set.rb +37 -0
  211. data/lib/facebook_ads/ad_objects/dynamic_post_child_attachment.rb +42 -0
  212. data/lib/facebook_ads/ad_objects/dynamic_price_config_by_date.rb +38 -0
  213. data/lib/facebook_ads/ad_objects/engagement.rb +43 -0
  214. data/lib/facebook_ads/ad_objects/entity_at_text_range.rb +49 -0
  215. data/lib/facebook_ads/ad_objects/event.rb +187 -0
  216. data/lib/facebook_ads/ad_objects/event_source_group.rb +44 -0
  217. data/lib/facebook_ads/ad_objects/experience.rb +40 -0
  218. data/lib/facebook_ads/ad_objects/extended_credit.rb +78 -0
  219. data/lib/facebook_ads/ad_objects/extended_credit_allocation_config.rb +60 -0
  220. data/lib/facebook_ads/ad_objects/extended_credit_invoice_group.rb +48 -0
  221. data/lib/facebook_ads/ad_objects/external_event_source.rb +38 -0
  222. data/lib/facebook_ads/ad_objects/fame_export_config.rb +40 -0
  223. data/lib/facebook_ads/ad_objects/flexible_targeting.rb +64 -0
  224. data/lib/facebook_ads/ad_objects/flight.rb +72 -0
  225. data/lib/facebook_ads/ad_objects/funding_source_details.rb +39 -0
  226. data/lib/facebook_ads/ad_objects/funding_source_details_coupon.rb +40 -0
  227. data/lib/facebook_ads/ad_objects/fundraiser_person_to_charity.rb +74 -0
  228. data/lib/facebook_ads/ad_objects/group.rb +572 -0
  229. data/lib/facebook_ads/ad_objects/helpers/custom_audience_helpers.rb +170 -0
  230. data/lib/facebook_ads/ad_objects/home_listing.rb +95 -0
  231. data/lib/facebook_ads/ad_objects/hotel.rb +80 -0
  232. data/lib/facebook_ads/ad_objects/hotel_room.rb +48 -0
  233. data/lib/facebook_ads/ad_objects/id_name.rb +37 -0
  234. data/lib/facebook_ads/ad_objects/ig_comment.rb +49 -0
  235. data/lib/facebook_ads/ad_objects/ig_media.rb +66 -0
  236. data/lib/facebook_ads/ad_objects/ig_user.rb +114 -0
  237. data/lib/facebook_ads/ad_objects/image_copyright.rb +302 -0
  238. data/lib/facebook_ads/ad_objects/insights_result.rb +73 -0
  239. data/lib/facebook_ads/ad_objects/instagram_insights_result.rb +70 -0
  240. data/lib/facebook_ads/ad_objects/instagram_insights_value.rb +38 -0
  241. data/lib/facebook_ads/ad_objects/instagram_user.rb +58 -0
  242. data/lib/facebook_ads/ad_objects/instant_article.rb +52 -0
  243. data/lib/facebook_ads/ad_objects/instant_article_insights_query_result.rb +60 -0
  244. data/lib/facebook_ads/ad_objects/instant_articles_stats.rb +41 -0
  245. data/lib/facebook_ads/ad_objects/ios_app_link.rb +39 -0
  246. data/lib/facebook_ads/ad_objects/jobs_job.rb +72 -0
  247. data/lib/facebook_ads/ad_objects/key_value.rb +38 -0
  248. data/lib/facebook_ads/ad_objects/lead.rb +50 -0
  249. data/lib/facebook_ads/ad_objects/lead_gen_appointment_booking_info.rb +39 -0
  250. data/lib/facebook_ads/ad_objects/lead_gen_conditional_questions_group_choices.rb +39 -0
  251. data/lib/facebook_ads/ad_objects/lead_gen_conditional_questions_group_questions.rb +39 -0
  252. data/lib/facebook_ads/ad_objects/lead_gen_draft_question.rb +44 -0
  253. data/lib/facebook_ads/ad_objects/lead_gen_post_submission_check_result.rb +39 -0
  254. data/lib/facebook_ads/ad_objects/lead_gen_question.rb +44 -0
  255. data/lib/facebook_ads/ad_objects/lead_gen_question_option.rb +38 -0
  256. data/lib/facebook_ads/ad_objects/leadgen_form.rb +108 -0
  257. data/lib/facebook_ads/ad_objects/life_event.rb +46 -0
  258. data/lib/facebook_ads/ad_objects/link.rb +68 -0
  259. data/lib/facebook_ads/ad_objects/live_video.rb +174 -0
  260. data/lib/facebook_ads/ad_objects/live_video_ad_break_config.rb +46 -0
  261. data/lib/facebook_ads/ad_objects/live_video_error.rb +39 -0
  262. data/lib/facebook_ads/ad_objects/live_video_input_stream.rb +42 -0
  263. data/lib/facebook_ads/ad_objects/live_video_recommended_encoder_settings.rb +39 -0
  264. data/lib/facebook_ads/ad_objects/live_video_targeting.rb +40 -0
  265. data/lib/facebook_ads/ad_objects/local_service_business.rb +98 -0
  266. data/lib/facebook_ads/ad_objects/location.rb +49 -0
  267. data/lib/facebook_ads/ad_objects/lookalike_spec.rb +48 -0
  268. data/lib/facebook_ads/ad_objects/mailing_address.rb +42 -0
  269. data/lib/facebook_ads/ad_objects/managed_partner_business.rb +43 -0
  270. data/lib/facebook_ads/ad_objects/media_fingerprint.rb +48 -0
  271. data/lib/facebook_ads/ad_objects/messaging_feature_review.rb +38 -0
  272. data/lib/facebook_ads/ad_objects/messaging_feature_status.rb +37 -0
  273. data/lib/facebook_ads/ad_objects/messenger_destination_page_welcome_message.rb +41 -0
  274. data/lib/facebook_ads/ad_objects/messenger_profile.rb +45 -0
  275. data/lib/facebook_ads/ad_objects/minimum_budget.rb +41 -0
  276. data/lib/facebook_ads/ad_objects/music_video_copyright.rb +48 -0
  277. data/lib/facebook_ads/ad_objects/native_offer.rb +122 -0
  278. data/lib/facebook_ads/ad_objects/native_offer_discount.rb +42 -0
  279. data/lib/facebook_ads/ad_objects/native_offer_view.rb +53 -0
  280. data/lib/facebook_ads/ad_objects/null_node.rb +36 -0
  281. data/lib/facebook_ads/ad_objects/offline_conversion_data_set.rb +143 -0
  282. data/lib/facebook_ads/ad_objects/offline_conversion_data_set_permissions.rb +40 -0
  283. data/lib/facebook_ads/ad_objects/offline_conversion_data_set_upload.rb +71 -0
  284. data/lib/facebook_ads/ad_objects/offline_conversion_data_set_usage.rb +37 -0
  285. data/lib/facebook_ads/ad_objects/offsite_pixel.rb +40 -0
  286. data/lib/facebook_ads/ad_objects/omega_customer_trx.rb +64 -0
  287. data/lib/facebook_ads/ad_objects/open_graph_context.rb +35 -0
  288. data/lib/facebook_ads/ad_objects/outcome_prediction_point.rb +40 -0
  289. data/lib/facebook_ads/ad_objects/page.rb +1523 -0
  290. data/lib/facebook_ads/ad_objects/page_admin_note.rb +39 -0
  291. data/lib/facebook_ads/ad_objects/page_call_to_action.rb +134 -0
  292. data/lib/facebook_ads/ad_objects/page_category.rb +39 -0
  293. data/lib/facebook_ads/ad_objects/page_change_proposal.rb +41 -0
  294. data/lib/facebook_ads/ad_objects/page_commerce_eligibility.rb +38 -0
  295. data/lib/facebook_ads/ad_objects/page_parking.rb +39 -0
  296. data/lib/facebook_ads/ad_objects/page_payment_options.rb +41 -0
  297. data/lib/facebook_ads/ad_objects/page_post.rb +182 -0
  298. data/lib/facebook_ads/ad_objects/page_restaurant_services.rb +46 -0
  299. data/lib/facebook_ads/ad_objects/page_restaurant_specialties.rb +41 -0
  300. data/lib/facebook_ads/ad_objects/page_saved_filter.rb +41 -0
  301. data/lib/facebook_ads/ad_objects/page_settings.rb +38 -0
  302. data/lib/facebook_ads/ad_objects/page_start_info.rb +38 -0
  303. data/lib/facebook_ads/ad_objects/page_thread_owner.rb +37 -0
  304. data/lib/facebook_ads/ad_objects/page_upcoming_change.rb +39 -0
  305. data/lib/facebook_ads/ad_objects/page_user_message_thread_label.rb +44 -0
  306. data/lib/facebook_ads/ad_objects/partner_study.rb +52 -0
  307. data/lib/facebook_ads/ad_objects/payment_engine_payment.rb +74 -0
  308. data/lib/facebook_ads/ad_objects/payment_pricepoints.rb +37 -0
  309. data/lib/facebook_ads/ad_objects/payment_subscription.rb +58 -0
  310. data/lib/facebook_ads/ad_objects/permission.rb +44 -0
  311. data/lib/facebook_ads/ad_objects/persona.rb +36 -0
  312. data/lib/facebook_ads/ad_objects/photo.rb +133 -0
  313. data/lib/facebook_ads/ad_objects/place.rb +38 -0
  314. data/lib/facebook_ads/ad_objects/place_topic.rb +42 -0
  315. data/lib/facebook_ads/ad_objects/platform_image_source.rb +39 -0
  316. data/lib/facebook_ads/ad_objects/playable_content.rb +42 -0
  317. data/lib/facebook_ads/ad_objects/post.rb +229 -0
  318. data/lib/facebook_ads/ad_objects/privacy.rb +42 -0
  319. data/lib/facebook_ads/ad_objects/private_lift_study_instance.rb +48 -0
  320. data/lib/facebook_ads/ad_objects/product_catalog.rb +553 -0
  321. data/lib/facebook_ads/ad_objects/product_catalog_category.rb +50 -0
  322. data/lib/facebook_ads/ad_objects/product_catalog_diagnostic_group.rb +90 -0
  323. data/lib/facebook_ads/ad_objects/product_catalog_hotel_rooms_batch.rb +40 -0
  324. data/lib/facebook_ads/ad_objects/product_catalog_image_settings.rb +38 -0
  325. data/lib/facebook_ads/ad_objects/product_catalog_image_settings_operation.rb +37 -0
  326. data/lib/facebook_ads/ad_objects/product_catalog_pricing_variables_batch.rb +40 -0
  327. data/lib/facebook_ads/ad_objects/product_catalog_product_sets_batch.rb +40 -0
  328. data/lib/facebook_ads/ad_objects/product_event_stat.rb +75 -0
  329. data/lib/facebook_ads/ad_objects/product_feed.rb +232 -0
  330. data/lib/facebook_ads/ad_objects/product_feed_missing_feed_item_replacement.rb +40 -0
  331. data/lib/facebook_ads/ad_objects/product_feed_rule.rb +36 -0
  332. data/lib/facebook_ads/ad_objects/product_feed_rule_suggestion.rb +39 -0
  333. data/lib/facebook_ads/ad_objects/product_feed_schedule.rb +61 -0
  334. data/lib/facebook_ads/ad_objects/product_feed_upload.rb +63 -0
  335. data/lib/facebook_ads/ad_objects/product_feed_upload_error.rb +60 -0
  336. data/lib/facebook_ads/ad_objects/product_feed_upload_error_report.rb +38 -0
  337. data/lib/facebook_ads/ad_objects/product_feed_upload_error_sample.rb +37 -0
  338. data/lib/facebook_ads/ad_objects/product_group.rb +110 -0
  339. data/lib/facebook_ads/ad_objects/product_image.rb +36 -0
  340. data/lib/facebook_ads/ad_objects/product_item.rb +673 -0
  341. data/lib/facebook_ads/ad_objects/product_item_ar_data.rb +59 -0
  342. data/lib/facebook_ads/ad_objects/product_item_commerce_insights.rb +39 -0
  343. data/lib/facebook_ads/ad_objects/product_item_importer_address.rb +42 -0
  344. data/lib/facebook_ads/ad_objects/product_set.rb +100 -0
  345. data/lib/facebook_ads/ad_objects/product_set_metadata.rb +40 -0
  346. data/lib/facebook_ads/ad_objects/product_variant.rb +39 -0
  347. data/lib/facebook_ads/ad_objects/profile.rb +78 -0
  348. data/lib/facebook_ads/ad_objects/profile_picture_source.rb +55 -0
  349. data/lib/facebook_ads/ad_objects/publisher_block_list.rb +54 -0
  350. data/lib/facebook_ads/ad_objects/raw_custom_audience.rb +37 -0
  351. data/lib/facebook_ads/ad_objects/reach_frequency_activity.rb +42 -0
  352. data/lib/facebook_ads/ad_objects/reach_frequency_ad_format.rb +38 -0
  353. data/lib/facebook_ads/ad_objects/reach_frequency_curve_lower_confidence_range.rb +42 -0
  354. data/lib/facebook_ads/ad_objects/reach_frequency_curve_upper_confidence_range.rb +42 -0
  355. data/lib/facebook_ads/ad_objects/reach_frequency_day_part.rb +39 -0
  356. data/lib/facebook_ads/ad_objects/reach_frequency_estimates_curve.rb +44 -0
  357. data/lib/facebook_ads/ad_objects/reach_frequency_estimates_placement_breakdown.rb +48 -0
  358. data/lib/facebook_ads/ad_objects/reach_frequency_prediction.rb +165 -0
  359. data/lib/facebook_ads/ad_objects/reach_frequency_spec.rb +44 -0
  360. data/lib/facebook_ads/ad_objects/recommendation.rb +44 -0
  361. data/lib/facebook_ads/ad_objects/rev_share_policy.rb +38 -0
  362. data/lib/facebook_ads/ad_objects/rich_media_element.rb +39 -0
  363. data/lib/facebook_ads/ad_objects/rtb_dynamic_post.rb +58 -0
  364. data/lib/facebook_ads/ad_objects/saved_audience.rb +50 -0
  365. data/lib/facebook_ads/ad_objects/saved_message_response.rb +40 -0
  366. data/lib/facebook_ads/ad_objects/security_settings.rb +36 -0
  367. data/lib/facebook_ads/ad_objects/server_side/action_source.rb +48 -0
  368. data/lib/facebook_ads/ad_objects/server_side/batch_processor.rb +73 -0
  369. data/lib/facebook_ads/ad_objects/server_side/content.rb +209 -0
  370. data/lib/facebook_ads/ad_objects/server_side/custom_data.rb +395 -0
  371. data/lib/facebook_ads/ad_objects/server_side/delivery_category.rb +33 -0
  372. data/lib/facebook_ads/ad_objects/server_side/event.rb +324 -0
  373. data/lib/facebook_ads/ad_objects/server_side/event_request.rb +296 -0
  374. data/lib/facebook_ads/ad_objects/server_side/event_request_async.rb +43 -0
  375. data/lib/facebook_ads/ad_objects/server_side/event_response.rb +106 -0
  376. data/lib/facebook_ads/ad_objects/server_side/http_method.rb +28 -0
  377. data/lib/facebook_ads/ad_objects/server_side/http_service_interface.rb +33 -0
  378. data/lib/facebook_ads/ad_objects/server_side/http_util.rb +31 -0
  379. data/lib/facebook_ads/ad_objects/server_side/user_data.rb +724 -0
  380. data/lib/facebook_ads/ad_objects/server_side/util.rb +323 -0
  381. data/lib/facebook_ads/ad_objects/shop.rb +37 -0
  382. data/lib/facebook_ads/ad_objects/split_test_winner.rb +39 -0
  383. data/lib/facebook_ads/ad_objects/store_catalog_settings.rb +34 -0
  384. data/lib/facebook_ads/ad_objects/system_user.rb +78 -0
  385. data/lib/facebook_ads/ad_objects/tab.rb +45 -0
  386. data/lib/facebook_ads/ad_objects/targeting.rb +135 -0
  387. data/lib/facebook_ads/ad_objects/targeting_dynamic_rule.rb +44 -0
  388. data/lib/facebook_ads/ad_objects/targeting_geo_location.rb +56 -0
  389. data/lib/facebook_ads/ad_objects/targeting_geo_location_city.rb +43 -0
  390. data/lib/facebook_ads/ad_objects/targeting_geo_location_custom_location.rb +50 -0
  391. data/lib/facebook_ads/ad_objects/targeting_geo_location_electoral_district.rb +40 -0
  392. data/lib/facebook_ads/ad_objects/targeting_geo_location_geo_entities.rb +41 -0
  393. data/lib/facebook_ads/ad_objects/targeting_geo_location_location_cluster.rb +37 -0
  394. data/lib/facebook_ads/ad_objects/targeting_geo_location_location_expansion.rb +37 -0
  395. data/lib/facebook_ads/ad_objects/targeting_geo_location_market.rb +40 -0
  396. data/lib/facebook_ads/ad_objects/targeting_geo_location_place.rb +45 -0
  397. data/lib/facebook_ads/ad_objects/targeting_geo_location_political_district.rb +40 -0
  398. data/lib/facebook_ads/ad_objects/targeting_geo_location_region.rb +39 -0
  399. data/lib/facebook_ads/ad_objects/targeting_geo_location_zip.rb +41 -0
  400. data/lib/facebook_ads/ad_objects/targeting_product_audience_spec.rb +39 -0
  401. data/lib/facebook_ads/ad_objects/targeting_product_audience_sub_spec.rb +38 -0
  402. data/lib/facebook_ads/ad_objects/targeting_prospecting_audience.rb +37 -0
  403. data/lib/facebook_ads/ad_objects/targeting_relaxation.rb +37 -0
  404. data/lib/facebook_ads/ad_objects/targeting_sentence_line.rb +38 -0
  405. data/lib/facebook_ads/ad_objects/text_with_entities.rb +37 -0
  406. data/lib/facebook_ads/ad_objects/third_party_measurement_report_dataset.rb +38 -0
  407. data/lib/facebook_ads/ad_objects/tracking_and_conversion_with_defaults.rb +40 -0
  408. data/lib/facebook_ads/ad_objects/unified_thread.rb +60 -0
  409. data/lib/facebook_ads/ad_objects/url.rb +45 -0
  410. data/lib/facebook_ads/ad_objects/user.rb +671 -0
  411. data/lib/facebook_ads/ad_objects/user_cover_photo.rb +39 -0
  412. data/lib/facebook_ads/ad_objects/user_device.rb +38 -0
  413. data/lib/facebook_ads/ad_objects/user_id_for_app.rb +37 -0
  414. data/lib/facebook_ads/ad_objects/user_id_for_page.rb +37 -0
  415. data/lib/facebook_ads/ad_objects/user_lead_gen_disclaimer_response.rb +38 -0
  416. data/lib/facebook_ads/ad_objects/user_lead_gen_field_data.rb +38 -0
  417. data/lib/facebook_ads/ad_objects/user_payment_mobile_pricepoints.rb +40 -0
  418. data/lib/facebook_ads/ad_objects/value_based_eligible_source.rb +38 -0
  419. data/lib/facebook_ads/ad_objects/vehicle.rb +189 -0
  420. data/lib/facebook_ads/ad_objects/vehicle_offer.rb +91 -0
  421. data/lib/facebook_ads/ad_objects/video_copyright.rb +61 -0
  422. data/lib/facebook_ads/ad_objects/video_copyright_condition_group.rb +39 -0
  423. data/lib/facebook_ads/ad_objects/video_copyright_geo_gate.rb +38 -0
  424. data/lib/facebook_ads/ad_objects/video_copyright_rule.rb +47 -0
  425. data/lib/facebook_ads/ad_objects/video_copyright_segment.rb +39 -0
  426. data/lib/facebook_ads/ad_objects/video_list.rb +47 -0
  427. data/lib/facebook_ads/ad_objects/video_poll.rb +58 -0
  428. data/lib/facebook_ads/ad_objects/video_thumbnail.rb +42 -0
  429. data/lib/facebook_ads/ad_objects/video_upload_limits.rb +38 -0
  430. data/lib/facebook_ads/ad_objects/voip_info.rb +43 -0
  431. data/lib/facebook_ads/ad_objects/web_app_link.rb +38 -0
  432. data/lib/facebook_ads/ad_objects/whats_app_business_account.rb +143 -0
  433. data/lib/facebook_ads/ad_objects/whats_app_business_profile.rb +36 -0
  434. data/lib/facebook_ads/ad_objects/windows_app_link.rb +40 -0
  435. data/lib/facebook_ads/ad_objects/windows_phone_app_link.rb +39 -0
  436. data/lib/facebook_ads/ad_objects/woodhenge_purchased_payg_receipt.rb +38 -0
  437. data/lib/facebook_ads/ad_objects/work_user_frontline.rb +38 -0
  438. data/lib/facebook_ads/api_request.rb +123 -0
  439. data/lib/facebook_ads/api_response.rb +51 -0
  440. data/lib/facebook_ads/batch_api/batch.rb +88 -0
  441. data/lib/facebook_ads/batch_api/batch_proxy.rb +67 -0
  442. data/lib/facebook_ads/config.rb +43 -0
  443. data/lib/facebook_ads/crash_logger.rb +133 -0
  444. data/lib/facebook_ads/edge.rb +185 -0
  445. data/lib/facebook_ads/errors.rb +60 -0
  446. data/lib/facebook_ads/field_types/ad_object.rb +37 -0
  447. data/lib/facebook_ads/field_types/base.rb +33 -0
  448. data/lib/facebook_ads/field_types/boolean.rb +25 -0
  449. data/lib/facebook_ads/field_types/datetime.rb +47 -0
  450. data/lib/facebook_ads/field_types/double.rb +29 -0
  451. data/lib/facebook_ads/field_types/enum.rb +31 -0
  452. data/lib/facebook_ads/field_types/integer.rb +33 -0
  453. data/lib/facebook_ads/field_types/list.rb +57 -0
  454. data/lib/facebook_ads/field_types/object.rb +40 -0
  455. data/lib/facebook_ads/field_types/string_type.rb +39 -0
  456. data/lib/facebook_ads/field_types/upload_file.rb +121 -0
  457. data/lib/facebook_ads/field_types.rb +65 -0
  458. data/lib/facebook_ads/fields.rb +66 -0
  459. data/lib/facebook_ads/helpers/edge_helpers.rb +57 -0
  460. data/lib/facebook_ads/helpers/node_helpers.rb +80 -0
  461. data/lib/facebook_ads/helpers/shortcuts.rb +34 -0
  462. data/lib/facebook_ads/param_set.rb +74 -0
  463. data/lib/facebook_ads/ruby2patch.rb +27 -0
  464. data/lib/facebook_ads/session.rb +102 -0
  465. data/lib/facebook_ads/test/base.rb +98 -0
  466. data/lib/facebook_ads/test/config.rb +55 -0
  467. data/lib/facebook_ads/test/errors.rb +23 -0
  468. data/lib/facebook_ads/test/exit_codes.rb +29 -0
  469. data/lib/facebook_ads/test/exit_hook.rb +35 -0
  470. data/lib/facebook_ads/test/fixtures.rb +107 -0
  471. data/lib/facebook_ads/test.rb +23 -0
  472. data/lib/facebook_ads/utils/utils.rb +29 -0
  473. data/lib/facebook_ads/version.rb +24 -0
  474. data/lib/facebook_ads/videos/video_io.rb +25 -0
  475. data/lib/facebook_ads/videos/video_request.rb +42 -0
  476. data/lib/facebook_ads.rb +82 -0
  477. metadata +743 -0
@@ -0,0 +1,1523 @@
1
+ # Copyright (c) 2017-present, Facebook, Inc. All rights reserved.
2
+ #
3
+ # You are hereby granted a non-exclusive, worldwide, royalty-free license to use,
4
+ # copy, modify, and distribute this software in source code or binary form for use
5
+ # in connection with the web services and APIs provided by Facebook.
6
+ #
7
+ # As with any software that integrates with the Facebook platform, your use of
8
+ # this software is subject to the Facebook Platform Policy
9
+ # [http://developers.facebook.com/policy/]. This copyright notice shall be
10
+ # included in all copies or substantial portions of the software.
11
+ #
12
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
13
+ # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
14
+ # FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
15
+ # COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
16
+ # IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
17
+ # CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
18
+
19
+ # FB:AUTOGEN
20
+
21
+ module FacebookAds
22
+ # This class is auto-generated.
23
+
24
+ # For any issues or feature requests related to this class, please let us know
25
+ # on github and we'll fix in our codegen framework. We'll not be able to accept
26
+ # pull request for this class.
27
+
28
+ class Page < AdObject
29
+ ATTIRE = [
30
+ "Casual",
31
+ "Dressy",
32
+ "Unspecified",
33
+ ]
34
+
35
+ FOOD_STYLES = [
36
+ "Afghani",
37
+ "American (New)",
38
+ "American (Traditional)",
39
+ "Asian Fusion",
40
+ "Barbeque",
41
+ "Brazilian",
42
+ "Breakfast",
43
+ "British",
44
+ "Brunch",
45
+ "Buffets",
46
+ "Burgers",
47
+ "Burmese",
48
+ "Cajun&#x2F;Creole",
49
+ "Caribbean",
50
+ "Chinese",
51
+ "Creperies",
52
+ "Cuban",
53
+ "Delis",
54
+ "Diners",
55
+ "Ethiopian",
56
+ "Fast Food",
57
+ "Filipino",
58
+ "Fondue",
59
+ "Food Stands",
60
+ "French",
61
+ "German",
62
+ "Greek and Mediterranean",
63
+ "Hawaiian",
64
+ "Himalayan&#x2F;Nepalese",
65
+ "Hot Dogs",
66
+ "Indian&#x2F;Pakistani",
67
+ "Irish",
68
+ "Italian",
69
+ "Japanese",
70
+ "Korean",
71
+ "Latin American",
72
+ "Mexican",
73
+ "Middle Eastern",
74
+ "Moroccan",
75
+ "Pizza",
76
+ "Russian",
77
+ "Sandwiches",
78
+ "Seafood",
79
+ "Singaporean",
80
+ "Soul Food",
81
+ "Southern",
82
+ "Spanish&#x2F;Basque",
83
+ "Steakhouses",
84
+ "Sushi Bars",
85
+ "Taiwanese",
86
+ "Tapas Bars",
87
+ "Tex-Mex",
88
+ "Thai",
89
+ "Turkish",
90
+ "Vegan",
91
+ "Vegetarian",
92
+ "Vietnamese",
93
+ ]
94
+
95
+ PICKUP_OPTIONS = [
96
+ "CURBSIDE",
97
+ "IN_STORE",
98
+ "OTHER",
99
+ ]
100
+
101
+ TEMPORARY_STATUS = [
102
+ "DIFFERENTLY_OPEN",
103
+ "NO_DATA",
104
+ "OPERATING_AS_USUAL",
105
+ "TEMPORARILY_CLOSED",
106
+ ]
107
+
108
+ PERMITTED_TASKS = [
109
+ "ADVERTISE",
110
+ "ANALYZE",
111
+ "CASHIER_ROLE",
112
+ "CREATE_CONTENT",
113
+ "MANAGE",
114
+ "MANAGE_JOBS",
115
+ "MANAGE_LEADS",
116
+ "MESSAGING",
117
+ "MODERATE",
118
+ "MODERATE_COMMUNITY",
119
+ "PAGES_MESSAGING",
120
+ "PAGES_MESSAGING_SUBSCRIPTIONS",
121
+ "PROFILE_PLUS_ADVERTISE",
122
+ "PROFILE_PLUS_ANALYZE",
123
+ "PROFILE_PLUS_CREATE_CONTENT",
124
+ "PROFILE_PLUS_FACEBOOK_ACCESS",
125
+ "PROFILE_PLUS_FULL_CONTROL",
126
+ "PROFILE_PLUS_MANAGE",
127
+ "PROFILE_PLUS_MESSAGING",
128
+ "PROFILE_PLUS_MODERATE",
129
+ "PROFILE_PLUS_REVENUE",
130
+ "READ_PAGE_MAILBOXES",
131
+ "VIEW_MONETIZATION_INSIGHTS",
132
+ ]
133
+
134
+ TASKS = [
135
+ "ADVERTISE",
136
+ "ANALYZE",
137
+ "CASHIER_ROLE",
138
+ "CREATE_CONTENT",
139
+ "MANAGE",
140
+ "MANAGE_JOBS",
141
+ "MANAGE_LEADS",
142
+ "MESSAGING",
143
+ "MODERATE",
144
+ "MODERATE_COMMUNITY",
145
+ "PAGES_MESSAGING",
146
+ "PAGES_MESSAGING_SUBSCRIPTIONS",
147
+ "PROFILE_PLUS_ADVERTISE",
148
+ "PROFILE_PLUS_ANALYZE",
149
+ "PROFILE_PLUS_CREATE_CONTENT",
150
+ "PROFILE_PLUS_FACEBOOK_ACCESS",
151
+ "PROFILE_PLUS_FULL_CONTROL",
152
+ "PROFILE_PLUS_MANAGE",
153
+ "PROFILE_PLUS_MESSAGING",
154
+ "PROFILE_PLUS_MODERATE",
155
+ "PROFILE_PLUS_REVENUE",
156
+ "READ_PAGE_MAILBOXES",
157
+ "VIEW_MONETIZATION_INSIGHTS",
158
+ ]
159
+
160
+ ALIGNMENT = [
161
+ "LEFT",
162
+ "RIGHT",
163
+ ]
164
+
165
+ ENTRY_POINT_ICON = [
166
+ "CHAT_ANGULAR_ICON",
167
+ "CHAT_ROUND_ICON",
168
+ "MESSENGER_ICON",
169
+ "NONE",
170
+ ]
171
+
172
+ ENTRY_POINT_LABEL = [
173
+ "ASK_US",
174
+ "CHAT",
175
+ "HELP",
176
+ "NONE",
177
+ ]
178
+
179
+ GREETING_DIALOG_DISPLAY = [
180
+ "HIDE",
181
+ "SHOW",
182
+ "WELCOME_MESSAGE",
183
+ ]
184
+
185
+ GUEST_CHAT_MODE = [
186
+ "DISABLED",
187
+ "ENABLED",
188
+ ]
189
+
190
+ MOBILE_CHAT_DISPLAY = [
191
+ "APP_SWITCH",
192
+ "CHAT_TAB",
193
+ ]
194
+
195
+ PUBLISH_STATUS = [
196
+ "DRAFT",
197
+ "LIVE",
198
+ ]
199
+
200
+ MESSAGING_TYPE = [
201
+ "MESSAGE_TAG",
202
+ "RESPONSE",
203
+ "UPDATE",
204
+ ]
205
+
206
+ NOTIFICATION_TYPE = [
207
+ "NO_PUSH",
208
+ "REGULAR",
209
+ "SILENT_PUSH",
210
+ ]
211
+
212
+ SENDER_ACTION = [
213
+ "MARK_SEEN",
214
+ "REACT",
215
+ "TYPING_OFF",
216
+ "TYPING_ON",
217
+ "UNREACT",
218
+ ]
219
+
220
+ PLATFORM = [
221
+ "INSTAGRAM",
222
+ "MESSENGER",
223
+ ]
224
+
225
+ MODEL = [
226
+ "ARABIC",
227
+ "CHINESE",
228
+ "CROATIAN",
229
+ "CUSTOM",
230
+ "DANISH",
231
+ "DUTCH",
232
+ "ENGLISH",
233
+ "FRENCH_STANDARD",
234
+ "GEORGIAN",
235
+ "GERMAN_STANDARD",
236
+ "GREEK",
237
+ "HEBREW",
238
+ "HUNGARIAN",
239
+ "IRISH",
240
+ "ITALIAN_STANDARD",
241
+ "KOREAN",
242
+ "NORWEGIAN_BOKMAL",
243
+ "POLISH",
244
+ "PORTUGUESE",
245
+ "ROMANIAN",
246
+ "SPANISH",
247
+ "SWEDISH",
248
+ "VIETNAMESE",
249
+ ]
250
+
251
+ DEVELOPER_ACTION = [
252
+ "ENABLE_FOLLOWUP_MESSAGE",
253
+ "SEND_RE_OPTIN",
254
+ ]
255
+
256
+ SUBSCRIBED_FIELDS = [
257
+ "affiliation",
258
+ "attire",
259
+ "awards",
260
+ "bio",
261
+ "birthday",
262
+ "branded_camera",
263
+ "category",
264
+ "checkins",
265
+ "company_overview",
266
+ "conversations",
267
+ "culinary_team",
268
+ "current_location",
269
+ "description",
270
+ "email",
271
+ "feature_access_list",
272
+ "feed",
273
+ "founded",
274
+ "general_info",
275
+ "general_manager",
276
+ "hometown",
277
+ "hours",
278
+ "inbox_labels",
279
+ "invoice_access_invoice_change",
280
+ "invoice_access_onboarding_status_active",
281
+ "leadgen",
282
+ "leadgen_fat",
283
+ "live_videos",
284
+ "local_delivery",
285
+ "location",
286
+ "mcom_invoice_change",
287
+ "members",
288
+ "mention",
289
+ "merchant_review",
290
+ "message_deliveries",
291
+ "message_echoes",
292
+ "message_mention",
293
+ "message_reactions",
294
+ "message_reads",
295
+ "messages",
296
+ "messaging_account_linking",
297
+ "messaging_appointments",
298
+ "messaging_checkout_updates",
299
+ "messaging_customer_information",
300
+ "messaging_direct_sends",
301
+ "messaging_fblogin_account_linking",
302
+ "messaging_feedback",
303
+ "messaging_game_plays",
304
+ "messaging_handovers",
305
+ "messaging_optins",
306
+ "messaging_optouts",
307
+ "messaging_page_feedback",
308
+ "messaging_payments",
309
+ "messaging_policy_enforcement",
310
+ "messaging_postbacks",
311
+ "messaging_pre_checkouts",
312
+ "messaging_referrals",
313
+ "mission",
314
+ "name",
315
+ "page_about_story",
316
+ "page_change_proposal",
317
+ "page_upcoming_change",
318
+ "parking",
319
+ "payment_options",
320
+ "personal_info",
321
+ "personal_interests",
322
+ "phone",
323
+ "picture",
324
+ "price_range",
325
+ "product_review",
326
+ "products",
327
+ "public_transit",
328
+ "publisher_subscriptions",
329
+ "ratings",
330
+ "registration",
331
+ "standby",
332
+ "user_action",
333
+ "video_text_question_responses",
334
+ "videos",
335
+ "website",
336
+ ]
337
+
338
+
339
+ field :about, 'string'
340
+ field :access_token, 'string'
341
+ field :ad_campaign, 'AdSet'
342
+ field :affiliation, 'string'
343
+ field :app_id, 'string'
344
+ field :artists_we_like, 'string'
345
+ field :attire, 'string'
346
+ field :awards, 'string'
347
+ field :band_interests, 'string'
348
+ field :band_members, 'string'
349
+ field :best_page, 'Page'
350
+ field :bio, 'string'
351
+ field :birthday, 'string'
352
+ field :booking_agent, 'string'
353
+ field :built, 'string'
354
+ field :business, 'object'
355
+ field :can_checkin, 'bool'
356
+ field :can_post, 'bool'
357
+ field :category, 'string'
358
+ field :category_list, { list: 'PageCategory' }
359
+ field :checkins, 'int'
360
+ field :company_overview, 'string'
361
+ field :connected_instagram_account, 'IgUser'
362
+ field :connected_page_backed_instagram_account, 'IgUser'
363
+ field :contact_address, 'MailingAddress'
364
+ field :copyright_whitelisted_ig_partners, { list: 'string' }
365
+ field :country_page_likes, 'int'
366
+ field :cover, 'CoverPhoto'
367
+ field :culinary_team, 'string'
368
+ field :current_location, 'string'
369
+ field :delivery_and_pickup_option_info, { list: 'string' }
370
+ field :description, 'string'
371
+ field :description_html, 'string'
372
+ field :differently_open_offerings, 'hash'
373
+ field :directed_by, 'string'
374
+ field :display_subtext, 'string'
375
+ field :displayed_message_response_time, 'string'
376
+ field :emails, { list: 'string' }
377
+ field :engagement, 'Engagement'
378
+ field :fan_count, 'int'
379
+ field :featured_video, 'AdVideo'
380
+ field :features, 'string'
381
+ field :followers_count, 'int'
382
+ field :food_styles, { list: 'string' }
383
+ field :founded, 'string'
384
+ field :general_info, 'string'
385
+ field :general_manager, 'string'
386
+ field :genre, 'string'
387
+ field :global_brand_page_name, 'string'
388
+ field :global_brand_root_id, 'string'
389
+ field :has_added_app, 'bool'
390
+ field :has_transitioned_to_new_page_experience, 'bool'
391
+ field :has_whatsapp_business_number, 'bool'
392
+ field :has_whatsapp_number, 'bool'
393
+ field :hometown, 'string'
394
+ field :hours, 'hash'
395
+ field :id, 'string'
396
+ field :impressum, 'string'
397
+ field :influences, 'string'
398
+ field :instagram_business_account, 'IgUser'
399
+ field :instant_articles_review_status, 'string'
400
+ field :is_always_open, 'bool'
401
+ field :is_chain, 'bool'
402
+ field :is_community_page, 'bool'
403
+ field :is_eligible_for_branded_content, 'bool'
404
+ field :is_messenger_bot_get_started_enabled, 'bool'
405
+ field :is_messenger_platform_bot, 'bool'
406
+ field :is_owned, 'bool'
407
+ field :is_permanently_closed, 'bool'
408
+ field :is_published, 'bool'
409
+ field :is_unclaimed, 'bool'
410
+ field :is_verified, 'bool'
411
+ field :is_webhooks_subscribed, 'bool'
412
+ field :keywords, 'object'
413
+ field :leadgen_tos_acceptance_time, 'datetime'
414
+ field :leadgen_tos_accepted, 'bool'
415
+ field :leadgen_tos_accepting_user, 'User'
416
+ field :link, 'string'
417
+ field :location, 'Location'
418
+ field :members, 'string'
419
+ field :merchant_id, 'string'
420
+ field :merchant_review_status, 'string'
421
+ field :messaging_feature_status, 'MessagingFeatureStatus'
422
+ field :messenger_ads_default_icebreakers, { list: 'string' }
423
+ field :messenger_ads_default_page_welcome_message, 'MessengerDestinationPageWelcomeMessage'
424
+ field :messenger_ads_default_quick_replies, { list: 'string' }
425
+ field :messenger_ads_quick_replies_type, 'string'
426
+ field :mini_shop_storefront, 'Shop'
427
+ field :mission, 'string'
428
+ field :mpg, 'string'
429
+ field :name, 'string'
430
+ field :name_with_location_descriptor, 'string'
431
+ field :network, 'string'
432
+ field :new_like_count, 'int'
433
+ field :offer_eligible, 'bool'
434
+ field :overall_star_rating, 'double'
435
+ field :page_token, 'string'
436
+ field :parent_page, 'Page'
437
+ field :parking, 'PageParking'
438
+ field :payment_options, 'PagePaymentOptions'
439
+ field :personal_info, 'string'
440
+ field :personal_interests, 'string'
441
+ field :pharma_safety_info, 'string'
442
+ field :phone, 'string'
443
+ field :pickup_options, { list: 'string' }
444
+ field :place_type, 'string'
445
+ field :plot_outline, 'string'
446
+ field :preferred_audience, 'Targeting'
447
+ field :press_contact, 'string'
448
+ field :price_range, 'string'
449
+ field :privacy_info_url, 'string'
450
+ field :produced_by, 'string'
451
+ field :products, 'string'
452
+ field :promotion_eligible, 'bool'
453
+ field :promotion_ineligible_reason, 'string'
454
+ field :public_transit, 'string'
455
+ field :rating_count, 'int'
456
+ field :recipient, 'string'
457
+ field :record_label, 'string'
458
+ field :release_date, 'string'
459
+ field :restaurant_services, 'PageRestaurantServices'
460
+ field :restaurant_specialties, 'PageRestaurantSpecialties'
461
+ field :schedule, 'string'
462
+ field :screenplay_by, 'string'
463
+ field :season, 'string'
464
+ field :single_line_address, 'string'
465
+ field :starring, 'string'
466
+ field :start_info, 'PageStartInfo'
467
+ field :store_code, 'string'
468
+ field :store_location_descriptor, 'string'
469
+ field :store_number, 'int'
470
+ field :studio, 'string'
471
+ field :supports_donate_button_in_live_video, 'bool'
472
+ field :supports_instant_articles, 'bool'
473
+ field :talking_about_count, 'int'
474
+ field :temporary_status, 'string'
475
+ field :unread_message_count, 'int'
476
+ field :unread_notif_count, 'int'
477
+ field :unseen_message_count, 'int'
478
+ field :username, 'string'
479
+ field :verification_status, 'string'
480
+ field :voip_info, 'VoipInfo'
481
+ field :website, 'string'
482
+ field :were_here_count, 'int'
483
+ field :whatsapp_number, 'string'
484
+ field :written_by, 'string'
485
+ has_no_delete
486
+
487
+ has_edge :acknowledge_orders do |edge|
488
+ edge.post 'Page' do |api|
489
+ api.has_param :idempotency_key, 'string'
490
+ api.has_param :orders, { list: 'hash' }
491
+ end
492
+ end
493
+
494
+ has_edge :ads_posts do |edge|
495
+ edge.get 'PagePost' do |api|
496
+ api.has_param :exclude_dynamic_ads, 'bool'
497
+ api.has_param :include_inline_create, 'bool'
498
+ api.has_param :since, 'datetime'
499
+ api.has_param :until, 'datetime'
500
+ end
501
+ end
502
+
503
+ has_edge :agencies do |edge|
504
+ edge.delete do |api|
505
+ api.has_param :business, 'string'
506
+ end
507
+ edge.get 'Business'
508
+ edge.post 'Page' do |api|
509
+ api.has_param :business, 'string'
510
+ api.has_param :permitted_tasks, { list: { enum: -> { Page::PERMITTED_TASKS }} }
511
+ end
512
+ end
513
+
514
+ has_edge :albums do |edge|
515
+ edge.get 'Album'
516
+ end
517
+
518
+ has_edge :assigned_users do |edge|
519
+ edge.delete do |api|
520
+ api.has_param :user, 'int'
521
+ end
522
+ edge.get 'AssignedUser' do |api|
523
+ api.has_param :business, 'string'
524
+ end
525
+ edge.post 'Page' do |api|
526
+ api.has_param :tasks, { list: { enum: -> { Page::TASKS }} }
527
+ api.has_param :user, 'int'
528
+ end
529
+ end
530
+
531
+ has_edge :blocked do |edge|
532
+ edge.delete do |api|
533
+ api.has_param :asid, 'string'
534
+ api.has_param :psid, 'int'
535
+ api.has_param :uid, 'int'
536
+ api.has_param :user, 'int'
537
+ end
538
+ edge.get 'Profile' do |api|
539
+ api.has_param :uid, 'int'
540
+ api.has_param :user, 'int'
541
+ end
542
+ edge.post do |api|
543
+ api.has_param :asid, { list: 'string' }
544
+ api.has_param :psid, { list: 'int' }
545
+ api.has_param :uid, { list: 'string' }
546
+ api.has_param :user, { list: 'string' }
547
+ end
548
+ end
549
+
550
+ has_edge :business_data do |edge|
551
+ edge.post do |api|
552
+ api.has_param :data, { list: 'string' }
553
+ api.has_param :partner_agent, 'string'
554
+ api.has_param :processing_type, 'string'
555
+ end
556
+ end
557
+
558
+ has_edge :call_to_actions do |edge|
559
+ edge.get 'PageCallToAction'
560
+ end
561
+
562
+ has_edge :canvas_elements do |edge|
563
+ edge.get 'CanvasBodyElement'
564
+ edge.post 'CanvasBodyElement' do |api|
565
+ api.has_param :canvas_button, 'object'
566
+ api.has_param :canvas_carousel, 'object'
567
+ api.has_param :canvas_footer, 'object'
568
+ api.has_param :canvas_header, 'object'
569
+ api.has_param :canvas_lead_form, 'object'
570
+ api.has_param :canvas_photo, 'object'
571
+ api.has_param :canvas_product_list, 'object'
572
+ api.has_param :canvas_product_set, 'object'
573
+ api.has_param :canvas_store_locator, 'object'
574
+ api.has_param :canvas_text, 'object'
575
+ api.has_param :canvas_video, 'object'
576
+ end
577
+ end
578
+
579
+ has_edge :canvases do |edge|
580
+ edge.get 'Canvas' do |api|
581
+ api.has_param :is_hidden, 'bool'
582
+ api.has_param :is_published, 'bool'
583
+ end
584
+ edge.post 'Canvas' do |api|
585
+ api.has_param :background_color, 'string'
586
+ api.has_param :body_element_ids, { list: 'string' }
587
+ api.has_param :enable_swipe_to_open, 'bool'
588
+ api.has_param :is_hidden, 'bool'
589
+ api.has_param :is_published, 'bool'
590
+ api.has_param :name, 'string'
591
+ api.has_param :source_template_id, 'string'
592
+ end
593
+ end
594
+
595
+ has_edge :chat_plugin do |edge|
596
+ edge.get 'ChatPlugin'
597
+ edge.post 'Page' do |api|
598
+ api.has_param :alignment, { enum: -> { Page::ALIGNMENT }}
599
+ api.has_param :desktop_bottom_spacing, 'int'
600
+ api.has_param :desktop_side_spacing, 'int'
601
+ api.has_param :entry_point_icon, { enum: -> { Page::ENTRY_POINT_ICON }}
602
+ api.has_param :entry_point_label, { enum: -> { Page::ENTRY_POINT_LABEL }}
603
+ api.has_param :greeting_dialog_display, { enum: -> { Page::GREETING_DIALOG_DISPLAY }}
604
+ api.has_param :guest_chat_mode, { enum: -> { Page::GUEST_CHAT_MODE }}
605
+ api.has_param :mobile_bottom_spacing, 'int'
606
+ api.has_param :mobile_chat_display, { enum: -> { Page::MOBILE_CHAT_DISPLAY }}
607
+ api.has_param :mobile_side_spacing, 'int'
608
+ api.has_param :theme_color, 'string'
609
+ api.has_param :welcome_screen_greeting, 'string'
610
+ end
611
+ end
612
+
613
+ has_edge :claimed_urls do |edge|
614
+ edge.get 'Url'
615
+ end
616
+
617
+ has_edge :commerce_eligibility do |edge|
618
+ edge.get 'PageCommerceEligibility'
619
+ end
620
+
621
+ has_edge :commerce_merchant_settings do |edge|
622
+ edge.get 'CommerceMerchantSettings'
623
+ end
624
+
625
+ has_edge :commerce_orders do |edge|
626
+ edge.get 'CommerceOrder' do |api|
627
+ api.has_param :filters, { list: { enum: -> { CommerceOrder::FILTERS }} }
628
+ api.has_param :state, { list: { enum: -> { CommerceOrder::STATE }} }
629
+ api.has_param :updated_after, 'datetime'
630
+ api.has_param :updated_before, 'datetime'
631
+ end
632
+ end
633
+
634
+ has_edge :commerce_payouts do |edge|
635
+ edge.get 'CommercePayout' do |api|
636
+ api.has_param :end_time, 'datetime'
637
+ api.has_param :start_time, 'datetime'
638
+ end
639
+ end
640
+
641
+ has_edge :commerce_transactions do |edge|
642
+ edge.get 'CommerceOrderTransactionDetail' do |api|
643
+ api.has_param :end_time, 'datetime'
644
+ api.has_param :payout_reference_id, 'string'
645
+ api.has_param :start_time, 'datetime'
646
+ end
647
+ end
648
+
649
+ has_edge :conversations do |edge|
650
+ edge.get 'UnifiedThread' do |api|
651
+ api.has_param :folder, 'string'
652
+ api.has_param :platform, { enum: -> { UnifiedThread::PLATFORM }}
653
+ api.has_param :tags, { list: 'string' }
654
+ api.has_param :user_id, 'string'
655
+ end
656
+ end
657
+
658
+ has_edge :copyright_manual_claims do |edge|
659
+ edge.post do |api|
660
+ api.has_param :action, { enum: %w{BLOCK CLAIM_AD_EARNINGS MANUAL_REVIEW MONITOR REQUEST_TAKEDOWN }}
661
+ api.has_param :action_reason, { enum: %w{ARTICLE_17_PREFLAGGING ARTIST_OBJECTION OBJECTIONABLE_CONTENT PREMIUM_MUSIC_VIDEO PRERELEASE_CONTENT PRODUCT_PARAMETERS RESTRICTED_CONTENT UNAUTHORIZED_COMMERCIAL_USE }}
662
+ api.has_param :countries, 'object'
663
+ api.has_param :match_content_type, { enum: %w{AUDIO_ONLY VIDEO_AND_AUDIO VIDEO_ONLY }}
664
+ api.has_param :matched_asset_id, 'string'
665
+ api.has_param :reference_asset_id, 'string'
666
+ end
667
+ end
668
+
669
+ has_edge :copyright_whitelisted_partners do |edge|
670
+ edge.get 'Profile'
671
+ end
672
+
673
+ has_edge :crosspost_whitelisted_pages do |edge|
674
+ edge.get 'Page'
675
+ end
676
+
677
+ has_edge :custom_labels do |edge|
678
+ edge.get 'PageUserMessageThreadLabel'
679
+ edge.post 'PageUserMessageThreadLabel' do |api|
680
+ api.has_param :name, 'string'
681
+ api.has_param :page_label_name, 'string'
682
+ end
683
+ end
684
+
685
+ has_edge :custom_user_settings do |edge|
686
+ edge.delete do |api|
687
+ api.has_param :params, { list: { enum: %w{PERSISTENT_MENU }} }
688
+ api.has_param :psid, 'string'
689
+ end
690
+ edge.get 'CustomUserSettings' do |api|
691
+ api.has_param :psid, 'string'
692
+ end
693
+ edge.post 'Page' do |api|
694
+ api.has_param :persistent_menu, { list: 'object' }
695
+ api.has_param :psid, 'string'
696
+ end
697
+ end
698
+
699
+ has_edge :events do |edge|
700
+ edge.get 'Event' do |api|
701
+ api.has_param :event_state_filter, { list: { enum: -> { Event::EVENT_STATE_FILTER }} }
702
+ api.has_param :include_canceled, 'bool'
703
+ api.has_param :time_filter, { enum: -> { Event::TIME_FILTER }}
704
+ api.has_param :type, { enum: -> { Event::TYPE }}
705
+ end
706
+ end
707
+
708
+ has_edge :extend_thread_control do |edge|
709
+ edge.post 'Page' do |api|
710
+ api.has_param :duration, 'int'
711
+ api.has_param :recipient, 'object'
712
+ end
713
+ end
714
+
715
+ has_edge :feed do |edge|
716
+ edge.get 'PagePost' do |api|
717
+ api.has_param :include_hidden, 'bool'
718
+ api.has_param :limit, 'int'
719
+ api.has_param :show_expired, 'bool'
720
+ api.has_param :with, { enum: -> { PagePost::WITH }}
721
+ end
722
+ edge.post do |api|
723
+ api.has_param :actions, 'object'
724
+ api.has_param :adaptive_type, 'string'
725
+ api.has_param :album_id, 'string'
726
+ api.has_param :android_key_hash, 'string'
727
+ api.has_param :animated_effect_id, 'int'
728
+ api.has_param :application_id, 'string'
729
+ api.has_param :asked_fun_fact_prompt_id, 'int'
730
+ api.has_param :asset3d_id, 'int'
731
+ api.has_param :associated_id, 'string'
732
+ api.has_param :attach_place_suggestion, 'bool'
733
+ api.has_param :attached_media, { list: 'object' }
734
+ api.has_param :audience_exp, 'bool'
735
+ api.has_param :backdated_time, 'datetime'
736
+ api.has_param :backdated_time_granularity, { enum: %w{day hour min month none year }}
737
+ api.has_param :call_to_action, 'object'
738
+ api.has_param :caption, 'string'
739
+ api.has_param :checkin_entry_point, { enum: %w{BRANDING_CHECKIN BRANDING_OTHER BRANDING_PHOTO BRANDING_STATUS }}
740
+ api.has_param :child_attachments, { list: 'object' }
741
+ api.has_param :client_mutation_id, 'string'
742
+ api.has_param :composer_entry_picker, 'string'
743
+ api.has_param :composer_entry_point, 'string'
744
+ api.has_param :composer_entry_time, 'int'
745
+ api.has_param :composer_session_events_log, 'string'
746
+ api.has_param :composer_session_id, 'string'
747
+ api.has_param :composer_source_surface, 'string'
748
+ api.has_param :composer_type, 'string'
749
+ api.has_param :connection_class, 'string'
750
+ api.has_param :content_attachment, 'string'
751
+ api.has_param :coordinates, 'object'
752
+ api.has_param :cta_link, 'string'
753
+ api.has_param :cta_type, 'string'
754
+ api.has_param :description, 'string'
755
+ api.has_param :direct_share_status, 'int'
756
+ api.has_param :enforce_link_ownership, 'bool'
757
+ api.has_param :expanded_height, 'int'
758
+ api.has_param :expanded_width, 'int'
759
+ api.has_param :feed_targeting, 'object'
760
+ api.has_param :formatting, { enum: %w{MARKDOWN PLAINTEXT }}
761
+ api.has_param :fun_fact_prompt_id, 'int'
762
+ api.has_param :fun_fact_toastee_id, 'int'
763
+ api.has_param :has_nickname, 'bool'
764
+ api.has_param :height, 'int'
765
+ api.has_param :holiday_card, 'string'
766
+ api.has_param :home_checkin_city_id, 'object'
767
+ api.has_param :image_crops, 'hash'
768
+ api.has_param :implicit_with_tags, { list: 'int' }
769
+ api.has_param :instant_game_entry_point_data, 'string'
770
+ api.has_param :ios_bundle_id, 'string'
771
+ api.has_param :is_backout_draft, 'bool'
772
+ api.has_param :is_boost_intended, 'bool'
773
+ api.has_param :is_explicit_location, 'bool'
774
+ api.has_param :is_explicit_share, 'bool'
775
+ api.has_param :is_group_linking_post, 'bool'
776
+ api.has_param :is_photo_container, 'bool'
777
+ api.has_param :link, 'string'
778
+ api.has_param :location_source_id, 'string'
779
+ api.has_param :manual_privacy, 'bool'
780
+ api.has_param :message, 'string'
781
+ api.has_param :multi_share_end_card, 'bool'
782
+ api.has_param :multi_share_optimized, 'bool'
783
+ api.has_param :name, 'string'
784
+ api.has_param :nectar_module, 'string'
785
+ api.has_param :object_attachment, 'string'
786
+ api.has_param :offer_like_post_id, 'int'
787
+ api.has_param :og_action_type_id, 'string'
788
+ api.has_param :og_hide_object_attachment, 'bool'
789
+ api.has_param :og_icon_id, 'string'
790
+ api.has_param :og_object_id, 'string'
791
+ api.has_param :og_phrase, 'string'
792
+ api.has_param :og_set_profile_badge, 'bool'
793
+ api.has_param :og_suggestion_mechanism, 'string'
794
+ api.has_param :page_recommendation, 'string'
795
+ api.has_param :picture, 'string'
796
+ api.has_param :place, 'object'
797
+ api.has_param :place_attachment_setting, { enum: %w{1 2 }}
798
+ api.has_param :place_list, 'string'
799
+ api.has_param :place_list_data, { list: 'string' }
800
+ api.has_param :post_surfaces_blacklist, { list: { enum: %w{1 2 3 4 5 }} }
801
+ api.has_param :posting_to_redspace, { enum: %w{disabled enabled }}
802
+ api.has_param :privacy, 'string'
803
+ api.has_param :prompt_id, 'string'
804
+ api.has_param :prompt_tracking_string, 'string'
805
+ api.has_param :properties, 'object'
806
+ api.has_param :proxied_app_id, 'string'
807
+ api.has_param :publish_event_id, 'int'
808
+ api.has_param :published, 'bool'
809
+ api.has_param :quote, 'string'
810
+ api.has_param :react_mode_metadata, 'string'
811
+ api.has_param :ref, { list: 'string' }
812
+ api.has_param :referenceable_image_ids, { list: 'string' }
813
+ api.has_param :referral_id, 'string'
814
+ api.has_param :scheduled_publish_time, 'datetime'
815
+ api.has_param :source, 'string'
816
+ api.has_param :sponsor_id, 'string'
817
+ api.has_param :sponsor_relationship, 'int'
818
+ api.has_param :suggested_place_id, 'object'
819
+ api.has_param :tags, { list: 'int' }
820
+ api.has_param :target_surface, { enum: %w{STORY TIMELINE }}
821
+ api.has_param :targeting, 'object'
822
+ api.has_param :text_format_metadata, 'string'
823
+ api.has_param :text_format_preset_id, 'string'
824
+ api.has_param :text_only_place, 'string'
825
+ api.has_param :throwback_camera_roll_media, 'string'
826
+ api.has_param :thumbnail, 'file'
827
+ api.has_param :time_since_original_post, 'int'
828
+ api.has_param :title, 'string'
829
+ api.has_param :tracking_info, 'string'
830
+ api.has_param :unpublished_content_type, { enum: %w{ADS_POST DRAFT INLINE_CREATED PUBLISHED REVIEWABLE_BRANDED_CONTENT SCHEDULED SCHEDULED_RECURRING }}
831
+ api.has_param :user_selected_tags, 'bool'
832
+ api.has_param :video_start_time_ms, 'int'
833
+ api.has_param :viewer_coordinates, 'object'
834
+ api.has_param :width, 'int'
835
+ end
836
+ end
837
+
838
+ has_edge :global_brand_children do |edge|
839
+ edge.get 'Page'
840
+ end
841
+
842
+ has_edge :groups do |edge|
843
+ edge.get 'Group' do |api|
844
+ api.has_param :admin_only, 'bool'
845
+ api.has_param :parent, 'string'
846
+ end
847
+ end
848
+
849
+ has_edge :image_copyrights do |edge|
850
+ edge.get 'ImageCopyright'
851
+ edge.post 'ImageCopyright' do |api|
852
+ api.has_param :artist, 'string'
853
+ api.has_param :creator, 'string'
854
+ api.has_param :custom_id, 'string'
855
+ api.has_param :description, 'string'
856
+ api.has_param :filename, 'string'
857
+ api.has_param :geo_ownership, { list: { enum: -> { ImageCopyright::GEO_OWNERSHIP }} }
858
+ api.has_param :original_content_creation_date, 'int'
859
+ api.has_param :reference_photo, 'string'
860
+ api.has_param :title, 'string'
861
+ end
862
+ end
863
+
864
+ has_edge :indexed_videos do |edge|
865
+ edge.get 'AdVideo'
866
+ end
867
+
868
+ has_edge :insights do |edge|
869
+ edge.get 'InsightsResult' do |api|
870
+ api.has_param :date_preset, { enum: -> { InsightsResult::DATE_PRESET }}
871
+ api.has_param :metric, { list: 'object' }
872
+ api.has_param :period, { enum: -> { InsightsResult::PERIOD }}
873
+ api.has_param :show_description_from_api_doc, 'bool'
874
+ api.has_param :since, 'datetime'
875
+ api.has_param :until, 'datetime'
876
+ end
877
+ end
878
+
879
+ has_edge :instagram_accounts do |edge|
880
+ edge.get 'InstagramUser'
881
+ end
882
+
883
+ has_edge :instant_articles do |edge|
884
+ edge.get 'InstantArticle' do |api|
885
+ api.has_param :development_mode, 'bool'
886
+ end
887
+ edge.post 'InstantArticle' do |api|
888
+ api.has_param :development_mode, 'bool'
889
+ api.has_param :html_source, 'string'
890
+ api.has_param :published, 'bool'
891
+ api.has_param :take_live, 'bool'
892
+ end
893
+ end
894
+
895
+ has_edge :instant_articles_insights do |edge|
896
+ edge.get 'InstantArticleInsightsQueryResult' do |api|
897
+ api.has_param :breakdown, { enum: -> { InstantArticleInsightsQueryResult::BREAKDOWN }}
898
+ api.has_param :metric, { list: 'object' }
899
+ api.has_param :period, { enum: -> { InstantArticleInsightsQueryResult::PERIOD }}
900
+ api.has_param :since, 'datetime'
901
+ api.has_param :until, 'datetime'
902
+ end
903
+ end
904
+
905
+ has_edge :instant_articles_publish do |edge|
906
+ edge.post 'Page' do |api|
907
+ api.has_param :canonical_url, 'string'
908
+ api.has_param :publish_status, { enum: -> { Page::PUBLISH_STATUS }}
909
+ end
910
+ end
911
+
912
+ has_edge :instant_articles_stats do |edge|
913
+ edge.get 'InstantArticlesStats' do |api|
914
+ api.has_param :metrics_list, { list: 'hash' }
915
+ api.has_param :page_list, { list: 'string' }
916
+ api.has_param :since, 'datetime'
917
+ api.has_param :until, 'datetime'
918
+ end
919
+ end
920
+
921
+ has_edge :leadgen_forms do |edge|
922
+ edge.get 'LeadgenForm'
923
+ edge.post 'LeadgenForm' do |api|
924
+ api.has_param :allow_organic_lead_retrieval, 'bool'
925
+ api.has_param :block_display_for_non_targeted_viewer, 'bool'
926
+ api.has_param :context_card, 'object'
927
+ api.has_param :cover_photo, 'file'
928
+ api.has_param :custom_disclaimer, 'object'
929
+ api.has_param :follow_up_action_url, 'string'
930
+ api.has_param :is_for_canvas, 'bool'
931
+ api.has_param :is_optimized_for_quality, 'bool'
932
+ api.has_param :locale, { enum: -> { LeadgenForm::LOCALE }}
933
+ api.has_param :name, 'string'
934
+ api.has_param :privacy_policy, 'object'
935
+ api.has_param :question_page_custom_headline, 'string'
936
+ api.has_param :questions, { list: 'object' }
937
+ api.has_param :thank_you_page, 'object'
938
+ api.has_param :tracking_parameters, 'hash'
939
+ end
940
+ end
941
+
942
+ has_edge :likes do |edge|
943
+ edge.get 'Page' do |api|
944
+ api.has_param :target_id, 'string'
945
+ end
946
+ end
947
+
948
+ has_edge :live_videos do |edge|
949
+ edge.get 'LiveVideo' do |api|
950
+ api.has_param :broadcast_status, { list: { enum: -> { LiveVideo::BROADCAST_STATUS }} }
951
+ api.has_param :source, { enum: -> { LiveVideo::SOURCE }}
952
+ end
953
+ edge.post 'LiveVideo' do |api|
954
+ api.has_param :content_tags, { list: 'string' }
955
+ api.has_param :crossposting_actions, { list: 'hash' }
956
+ api.has_param :custom_labels, { list: 'string' }
957
+ api.has_param :description, 'string'
958
+ api.has_param :enable_backup_ingest, 'bool'
959
+ api.has_param :encoding_settings, 'string'
960
+ api.has_param :fisheye_video_cropped, 'bool'
961
+ api.has_param :front_z_rotation, 'double'
962
+ api.has_param :game_show, 'hash'
963
+ api.has_param :is_audio_only, 'bool'
964
+ api.has_param :is_spherical, 'bool'
965
+ api.has_param :original_fov, 'int'
966
+ api.has_param :planned_start_time, 'int'
967
+ api.has_param :privacy, 'string'
968
+ api.has_param :projection, { enum: -> { LiveVideo::PROJECTION }}
969
+ api.has_param :published, 'bool'
970
+ api.has_param :schedule_custom_profile_image, 'file'
971
+ api.has_param :spatial_audio_format, { enum: -> { LiveVideo::SPATIAL_AUDIO_FORMAT }}
972
+ api.has_param :status, { enum: -> { LiveVideo::STATUS }}
973
+ api.has_param :stereoscopic_mode, { enum: -> { LiveVideo::STEREOSCOPIC_MODE }}
974
+ api.has_param :stop_on_delete_stream, 'bool'
975
+ api.has_param :stream_type, { enum: -> { LiveVideo::STREAM_TYPE }}
976
+ api.has_param :targeting, 'object'
977
+ api.has_param :title, 'string'
978
+ end
979
+ end
980
+
981
+ has_edge :locations do |edge|
982
+ edge.delete do |api|
983
+ api.has_param :location_page_id, 'string'
984
+ api.has_param :store_number, 'int'
985
+ end
986
+ edge.get 'Page'
987
+ edge.post 'Page' do |api|
988
+ api.has_param :always_open, 'bool'
989
+ api.has_param :delivery_and_pickup_option_info, { list: 'string' }
990
+ api.has_param :differently_open_offerings, 'hash'
991
+ api.has_param :hours, 'hash'
992
+ api.has_param :ignore_warnings, 'bool'
993
+ api.has_param :location, 'object'
994
+ api.has_param :location_page_id, 'string'
995
+ api.has_param :old_store_number, 'int'
996
+ api.has_param :page_username, 'string'
997
+ api.has_param :permanently_closed, 'bool'
998
+ api.has_param :phone, 'string'
999
+ api.has_param :pickup_options, { list: { enum: -> { Page::PICKUP_OPTIONS }} }
1000
+ api.has_param :place_topics, { list: 'string' }
1001
+ api.has_param :price_range, 'string'
1002
+ api.has_param :store_code, 'string'
1003
+ api.has_param :store_location_descriptor, 'string'
1004
+ api.has_param :store_name, 'string'
1005
+ api.has_param :store_number, 'int'
1006
+ api.has_param :temporary_status, { enum: -> { Page::TEMPORARY_STATUS }}
1007
+ api.has_param :website, 'string'
1008
+ end
1009
+ end
1010
+
1011
+ has_edge :media_fingerprints do |edge|
1012
+ edge.get 'MediaFingerprint' do |api|
1013
+ api.has_param :universal_content_id, 'string'
1014
+ end
1015
+ edge.post 'MediaFingerprint' do |api|
1016
+ api.has_param :fingerprint_content_type, { enum: -> { MediaFingerprint::FINGERPRINT_CONTENT_TYPE }}
1017
+ api.has_param :metadata, { list: 'string' }
1018
+ api.has_param :source, 'string'
1019
+ api.has_param :title, 'string'
1020
+ api.has_param :universal_content_id, 'string'
1021
+ end
1022
+ end
1023
+
1024
+ has_edge :message_attachments do |edge|
1025
+ edge.post do |api|
1026
+ api.has_param :message, 'object'
1027
+ end
1028
+ end
1029
+
1030
+ has_edge :messages do |edge|
1031
+ edge.post 'Page' do |api|
1032
+ api.has_param :message, 'object'
1033
+ api.has_param :messaging_type, { enum: -> { Page::MESSAGING_TYPE }}
1034
+ api.has_param :notification_type, { enum: -> { Page::NOTIFICATION_TYPE }}
1035
+ api.has_param :payload, 'string'
1036
+ api.has_param :persona_id, 'string'
1037
+ api.has_param :recipient, 'object'
1038
+ api.has_param :sender_action, { enum: -> { Page::SENDER_ACTION }}
1039
+ api.has_param :tag, 'object'
1040
+ end
1041
+ end
1042
+
1043
+ has_edge :messaging_feature_review do |edge|
1044
+ edge.get 'MessagingFeatureReview'
1045
+ end
1046
+
1047
+ has_edge :messenger_profile do |edge|
1048
+ edge.delete do |api|
1049
+ api.has_param :fields, { list: { enum: %w{ACCOUNT_LINKING_URL GET_STARTED GREETING HOME_URL ICE_BREAKERS PAYMENT_SETTINGS PERSISTENT_MENU PLATFORM SUBJECT_TO_NEW_EU_PRIVACY_RULES TARGET_AUDIENCE WHITELISTED_DOMAINS }} }
1050
+ api.has_param :platform, { enum: -> { Page::PLATFORM }}
1051
+ end
1052
+ edge.get 'MessengerProfile' do |api|
1053
+ api.has_param :platform, { enum: -> { Page::PLATFORM }}
1054
+ end
1055
+ edge.post 'Page' do |api|
1056
+ api.has_param :account_linking_url, 'string'
1057
+ api.has_param :get_started, 'object'
1058
+ api.has_param :greeting, { list: 'object' }
1059
+ api.has_param :ice_breakers, { list: 'hash' }
1060
+ api.has_param :payment_settings, 'object'
1061
+ api.has_param :persistent_menu, { list: 'object' }
1062
+ api.has_param :platform, { enum: -> { Page::PLATFORM }}
1063
+ api.has_param :target_audience, 'object'
1064
+ api.has_param :whitelisted_domains, { list: 'string' }
1065
+ end
1066
+ end
1067
+
1068
+ has_edge :nativeoffers do |edge|
1069
+ edge.get 'NativeOffer'
1070
+ edge.post 'NativeOffer' do |api|
1071
+ api.has_param :barcode_photo, 'int'
1072
+ api.has_param :barcode_type, { enum: -> { NativeOffer::BARCODE_TYPE }}
1073
+ api.has_param :barcode_value, 'string'
1074
+ api.has_param :block_reshares, 'bool'
1075
+ api.has_param :commerce_product_item, 'string'
1076
+ api.has_param :commerce_store, 'string'
1077
+ api.has_param :commerce_store_collection, 'string'
1078
+ api.has_param :details, 'string'
1079
+ api.has_param :disable_location, 'bool'
1080
+ api.has_param :discounts, { list: 'object' }
1081
+ api.has_param :expiration_time, 'datetime'
1082
+ api.has_param :instore_code, 'string'
1083
+ api.has_param :location_type, { enum: -> { NativeOffer::LOCATION_TYPE }}
1084
+ api.has_param :max_save_count, 'int'
1085
+ api.has_param :online_code, 'string'
1086
+ api.has_param :page_set_id, 'string'
1087
+ api.has_param :redemption_code, 'string'
1088
+ api.has_param :redemption_link, 'string'
1089
+ api.has_param :terms, 'string'
1090
+ api.has_param :unique_barcodes, 'int'
1091
+ api.has_param :unique_codes, 'int'
1092
+ end
1093
+ end
1094
+
1095
+ has_edge :nlp_configs do |edge|
1096
+ edge.post 'Page' do |api|
1097
+ api.has_param :api_version, 'object'
1098
+ api.has_param :custom_token, 'string'
1099
+ api.has_param :model, { enum: -> { Page::MODEL }}
1100
+ api.has_param :n_best, 'int'
1101
+ api.has_param :nlp_enabled, 'bool'
1102
+ api.has_param :other_language_support, 'hash'
1103
+ api.has_param :verbose, 'bool'
1104
+ end
1105
+ end
1106
+
1107
+ has_edge :notification_messages_dev_support do |edge|
1108
+ edge.post 'Page' do |api|
1109
+ api.has_param :developer_action, { enum: -> { Page::DEVELOPER_ACTION }}
1110
+ api.has_param :recipient, 'object'
1111
+ end
1112
+ end
1113
+
1114
+ has_edge :page_backed_instagram_accounts do |edge|
1115
+ edge.get 'InstagramUser'
1116
+ edge.post 'InstagramUser'
1117
+ end
1118
+
1119
+ has_edge :page_whatsapp_number_verification do |edge|
1120
+ edge.post 'Page' do |api|
1121
+ api.has_param :verification_code, 'string'
1122
+ api.has_param :whatsapp_number, 'string'
1123
+ end
1124
+ end
1125
+
1126
+ has_edge :pass_thread_control do |edge|
1127
+ edge.post 'Page' do |api|
1128
+ api.has_param :metadata, 'string'
1129
+ api.has_param :recipient, 'object'
1130
+ api.has_param :target_app_id, 'int'
1131
+ end
1132
+ end
1133
+
1134
+ has_edge :pass_thread_metadata do |edge|
1135
+ edge.post 'Page' do |api|
1136
+ api.has_param :metadata, 'string'
1137
+ api.has_param :recipient, 'object'
1138
+ api.has_param :target_app_id, 'int'
1139
+ end
1140
+ end
1141
+
1142
+ has_edge :personas do |edge|
1143
+ edge.get 'Persona'
1144
+ edge.post 'Persona' do |api|
1145
+ api.has_param :name, 'string'
1146
+ api.has_param :profile_picture_url, 'string'
1147
+ end
1148
+ end
1149
+
1150
+ has_edge :photos do |edge|
1151
+ edge.get 'Photo' do |api|
1152
+ api.has_param :biz_tag_id, 'int'
1153
+ api.has_param :business_id, 'string'
1154
+ api.has_param :type, { enum: -> { Photo::TYPE }}
1155
+ end
1156
+ edge.post 'Photo' do |api|
1157
+ api.has_param :aid, 'string'
1158
+ api.has_param :allow_spherical_photo, 'bool'
1159
+ api.has_param :alt_text_custom, 'string'
1160
+ api.has_param :android_key_hash, 'string'
1161
+ api.has_param :application_id, 'string'
1162
+ api.has_param :attempt, 'int'
1163
+ api.has_param :audience_exp, 'bool'
1164
+ api.has_param :backdated_time, 'datetime'
1165
+ api.has_param :backdated_time_granularity, { enum: -> { Photo::BACKDATED_TIME_GRANULARITY }}
1166
+ api.has_param :caption, 'string'
1167
+ api.has_param :composer_session_id, 'string'
1168
+ api.has_param :direct_share_status, 'int'
1169
+ api.has_param :feed_targeting, 'object'
1170
+ api.has_param :filter_type, 'int'
1171
+ api.has_param :full_res_is_coming_later, 'bool'
1172
+ api.has_param :initial_view_heading_override_degrees, 'int'
1173
+ api.has_param :initial_view_pitch_override_degrees, 'int'
1174
+ api.has_param :initial_view_vertical_fov_override_degrees, 'int'
1175
+ api.has_param :ios_bundle_id, 'string'
1176
+ api.has_param :is_explicit_location, 'bool'
1177
+ api.has_param :is_explicit_place, 'bool'
1178
+ api.has_param :location_source_id, 'string'
1179
+ api.has_param :manual_privacy, 'bool'
1180
+ api.has_param :message, 'string'
1181
+ api.has_param :name, 'string'
1182
+ api.has_param :nectar_module, 'string'
1183
+ api.has_param :no_story, 'bool'
1184
+ api.has_param :offline_id, 'int'
1185
+ api.has_param :og_action_type_id, 'string'
1186
+ api.has_param :og_icon_id, 'string'
1187
+ api.has_param :og_object_id, 'string'
1188
+ api.has_param :og_phrase, 'string'
1189
+ api.has_param :og_set_profile_badge, 'bool'
1190
+ api.has_param :og_suggestion_mechanism, 'string'
1191
+ api.has_param :parent_media_id, 'int'
1192
+ api.has_param :place, 'object'
1193
+ api.has_param :privacy, 'string'
1194
+ api.has_param :profile_id, 'int'
1195
+ api.has_param :proxied_app_id, 'string'
1196
+ api.has_param :published, 'bool'
1197
+ api.has_param :qn, 'string'
1198
+ api.has_param :scheduled_publish_time, 'int'
1199
+ api.has_param :spherical_metadata, 'hash'
1200
+ api.has_param :sponsor_id, 'string'
1201
+ api.has_param :sponsor_relationship, 'int'
1202
+ api.has_param :tags, { list: 'object' }
1203
+ api.has_param :target_id, 'int'
1204
+ api.has_param :targeting, 'object'
1205
+ api.has_param :temporary, 'bool'
1206
+ api.has_param :time_since_original_post, 'int'
1207
+ api.has_param :uid, 'int'
1208
+ api.has_param :unpublished_content_type, { enum: -> { Photo::UNPUBLISHED_CONTENT_TYPE }}
1209
+ api.has_param :url, 'string'
1210
+ api.has_param :user_selected_tags, 'bool'
1211
+ api.has_param :vault_image_id, 'string'
1212
+ end
1213
+ end
1214
+
1215
+ has_edge :picture do |edge|
1216
+ edge.get 'ProfilePictureSource' do |api|
1217
+ api.has_param :breaking_change, { enum: -> { ProfilePictureSource::BREAKING_CHANGE }}
1218
+ api.has_param :height, 'int'
1219
+ api.has_param :redirect, 'bool'
1220
+ api.has_param :type, { enum: -> { ProfilePictureSource::TYPE }}
1221
+ api.has_param :width, 'int'
1222
+ end
1223
+ edge.post 'ProfilePictureSource' do |api|
1224
+ api.has_param :android_key_hash, 'string'
1225
+ api.has_param :burn_media_effect, 'bool'
1226
+ api.has_param :caption, 'string'
1227
+ api.has_param :composer_session_id, 'string'
1228
+ api.has_param :frame_entrypoint, 'string'
1229
+ api.has_param :has_umg, 'bool'
1230
+ api.has_param :height, 'int'
1231
+ api.has_param :ios_bundle_id, 'string'
1232
+ api.has_param :media_effect_ids, { list: 'int' }
1233
+ api.has_param :media_effect_source_object_id, 'int'
1234
+ api.has_param :msqrd_mask_id, 'string'
1235
+ api.has_param :photo, 'string'
1236
+ api.has_param :picture, 'string'
1237
+ api.has_param :profile_pic_method, 'string'
1238
+ api.has_param :profile_pic_source, 'string'
1239
+ api.has_param :proxied_app_id, 'int'
1240
+ api.has_param :qn, 'string'
1241
+ api.has_param :reuse, 'bool'
1242
+ api.has_param :scaled_crop_rect, 'object'
1243
+ api.has_param :set_profile_photo_shield, 'string'
1244
+ api.has_param :sticker_id, 'int'
1245
+ api.has_param :sticker_source_object_id, 'int'
1246
+ api.has_param :suppress_stories, 'bool'
1247
+ api.has_param :width, 'int'
1248
+ api.has_param :x, 'int'
1249
+ api.has_param :y, 'int'
1250
+ end
1251
+ end
1252
+
1253
+ has_edge :posts do |edge|
1254
+ edge.get 'PagePost' do |api|
1255
+ api.has_param :include_hidden, 'bool'
1256
+ api.has_param :limit, 'int'
1257
+ api.has_param :q, 'string'
1258
+ api.has_param :show_expired, 'bool'
1259
+ api.has_param :with, { enum: -> { PagePost::WITH }}
1260
+ end
1261
+ end
1262
+
1263
+ has_edge :product_catalogs do |edge|
1264
+ edge.get 'ProductCatalog'
1265
+ end
1266
+
1267
+ has_edge :published_posts do |edge|
1268
+ edge.get 'PagePost' do |api|
1269
+ api.has_param :include_hidden, 'bool'
1270
+ api.has_param :limit, 'int'
1271
+ api.has_param :show_expired, 'bool'
1272
+ api.has_param :with, { enum: -> { PagePost::WITH }}
1273
+ end
1274
+ end
1275
+
1276
+ has_edge :ratings do |edge|
1277
+ edge.get 'Recommendation'
1278
+ end
1279
+
1280
+ has_edge :release_thread_control do |edge|
1281
+ edge.post 'Page' do |api|
1282
+ api.has_param :recipient, 'object'
1283
+ end
1284
+ end
1285
+
1286
+ has_edge :request_thread_control do |edge|
1287
+ edge.post 'Page' do |api|
1288
+ api.has_param :metadata, 'string'
1289
+ api.has_param :recipient, 'object'
1290
+ end
1291
+ end
1292
+
1293
+ has_edge :roles do |edge|
1294
+ edge.get 'User' do |api|
1295
+ api.has_param :include_deactivated, 'bool'
1296
+ api.has_param :uid, 'int'
1297
+ end
1298
+ end
1299
+
1300
+ has_edge :rtb_dynamic_posts do |edge|
1301
+ edge.get 'RtbDynamicPost'
1302
+ end
1303
+
1304
+ has_edge :scheduled_posts do |edge|
1305
+ edge.get 'PagePost'
1306
+ end
1307
+
1308
+ has_edge :secondary_receivers do |edge|
1309
+ edge.get 'Application' do |api|
1310
+ api.has_param :platform, { enum: -> { Application::PLATFORM }}
1311
+ end
1312
+ end
1313
+
1314
+ has_edge :settings do |edge|
1315
+ edge.get 'PageSettings'
1316
+ edge.post 'Page' do |api|
1317
+ api.has_param :option, 'object'
1318
+ end
1319
+ end
1320
+
1321
+ has_edge :shop_setup_status do |edge|
1322
+ edge.get 'CommerceMerchantSettingsSetupStatus'
1323
+ end
1324
+
1325
+ has_edge :subscribed_apps do |edge|
1326
+ edge.delete
1327
+ edge.get 'Application'
1328
+ edge.post 'Page' do |api|
1329
+ api.has_param :subscribed_fields, { list: { enum: -> { Page::SUBSCRIBED_FIELDS }} }
1330
+ end
1331
+ end
1332
+
1333
+ has_edge :tabs do |edge|
1334
+ edge.delete do |api|
1335
+ api.has_param :tab, 'string'
1336
+ end
1337
+ edge.get 'Tab' do |api|
1338
+ api.has_param :tab, { list: 'string' }
1339
+ end
1340
+ edge.post 'Page' do |api|
1341
+ api.has_param :app_id, 'int'
1342
+ api.has_param :custom_image_url, 'string'
1343
+ api.has_param :custom_name, 'string'
1344
+ api.has_param :is_non_connection_landing_tab, 'bool'
1345
+ api.has_param :position, 'int'
1346
+ api.has_param :tab, 'string'
1347
+ end
1348
+ end
1349
+
1350
+ has_edge :tagged do |edge|
1351
+ edge.get 'PagePost'
1352
+ end
1353
+
1354
+ has_edge :take_thread_control do |edge|
1355
+ edge.post 'Page' do |api|
1356
+ api.has_param :metadata, 'string'
1357
+ api.has_param :recipient, 'object'
1358
+ end
1359
+ end
1360
+
1361
+ has_edge :thread_owner do |edge|
1362
+ edge.get 'PageThreadOwner' do |api|
1363
+ api.has_param :recipient, 'string'
1364
+ end
1365
+ end
1366
+
1367
+ has_edge :threads do |edge|
1368
+ edge.get 'UnifiedThread' do |api|
1369
+ api.has_param :folder, 'string'
1370
+ api.has_param :tags, { list: 'string' }
1371
+ api.has_param :user_id, 'string'
1372
+ end
1373
+ end
1374
+
1375
+ has_edge :unlink_accounts do |edge|
1376
+ edge.post 'Page' do |api|
1377
+ api.has_param :psid, 'string'
1378
+ end
1379
+ end
1380
+
1381
+ has_edge :video_copyright_rules do |edge|
1382
+ edge.get 'VideoCopyrightRule' do |api|
1383
+ api.has_param :selected_rule_id, 'string'
1384
+ api.has_param :source, { enum: -> { VideoCopyrightRule::SOURCE }}
1385
+ end
1386
+ edge.post do |api|
1387
+ api.has_param :condition_groups, { list: 'object' }
1388
+ api.has_param :name, 'string'
1389
+ end
1390
+ end
1391
+
1392
+ has_edge :video_copyrights do |edge|
1393
+ edge.post do |api|
1394
+ api.has_param :attribution_id, 'string'
1395
+ api.has_param :content_category, { enum: %w{episode movie web }}
1396
+ api.has_param :copyright_content_id, 'string'
1397
+ api.has_param :excluded_ownership_countries, { list: 'string' }
1398
+ api.has_param :excluded_ownership_segments, { list: 'object' }
1399
+ api.has_param :is_reference_disabled, 'bool'
1400
+ api.has_param :is_reference_video, 'bool'
1401
+ api.has_param :monitoring_type, { enum: %w{AUDIO_ONLY VIDEO_AND_AUDIO VIDEO_ONLY }}
1402
+ api.has_param :ownership_countries, { list: 'string' }
1403
+ api.has_param :rule_id, 'string'
1404
+ api.has_param :tags, { list: 'string' }
1405
+ api.has_param :whitelisted_ids, { list: 'string' }
1406
+ api.has_param :whitelisted_ig_user_ids, { list: 'string' }
1407
+ end
1408
+ end
1409
+
1410
+ has_edge :video_lists do |edge|
1411
+ edge.get 'VideoList'
1412
+ end
1413
+
1414
+ has_edge :videos do |edge|
1415
+ edge.get 'AdVideo' do |api|
1416
+ api.has_param :type, { enum: -> { AdVideo::TYPE }}
1417
+ end
1418
+ edge.post 'AdVideo' do |api|
1419
+ api.has_param :ad_breaks, { list: 'string' }
1420
+ api.has_param :adaptive_type, 'string'
1421
+ api.has_param :animated_effect_id, 'int'
1422
+ api.has_param :application_id, 'string'
1423
+ api.has_param :asked_fun_fact_prompt_id, 'int'
1424
+ api.has_param :audio_story_wave_animation_handle, 'string'
1425
+ api.has_param :backdated_post, { list: 'string' }
1426
+ api.has_param :call_to_action, 'object'
1427
+ api.has_param :composer_entry_picker, 'string'
1428
+ api.has_param :composer_entry_point, 'string'
1429
+ api.has_param :composer_entry_time, 'int'
1430
+ api.has_param :composer_session_events_log, 'string'
1431
+ api.has_param :composer_session_id, 'string'
1432
+ api.has_param :composer_source_surface, 'string'
1433
+ api.has_param :composer_type, 'string'
1434
+ api.has_param :container_type, { enum: -> { AdVideo::CONTAINER_TYPE }}
1435
+ api.has_param :content_category, { enum: -> { AdVideo::CONTENT_CATEGORY }}
1436
+ api.has_param :content_tags, { list: 'string' }
1437
+ api.has_param :creative_tools, 'string'
1438
+ api.has_param :crossposted_video_id, 'string'
1439
+ api.has_param :custom_labels, { list: 'string' }
1440
+ api.has_param :description, 'string'
1441
+ api.has_param :direct_share_status, 'int'
1442
+ api.has_param :embeddable, 'bool'
1443
+ api.has_param :end_offset, 'int'
1444
+ api.has_param :expiration, 'object'
1445
+ api.has_param :fbuploader_video_file_chunk, 'string'
1446
+ api.has_param :feed_targeting, 'object'
1447
+ api.has_param :file_size, 'int'
1448
+ api.has_param :file_url, 'string'
1449
+ api.has_param :fisheye_video_cropped, 'bool'
1450
+ api.has_param :formatting, { enum: -> { AdVideo::FORMATTING }}
1451
+ api.has_param :fov, 'int'
1452
+ api.has_param :front_z_rotation, 'double'
1453
+ api.has_param :fun_fact_prompt_id, 'int'
1454
+ api.has_param :fun_fact_toastee_id, 'int'
1455
+ api.has_param :guide, { list: { list: 'int' } }
1456
+ api.has_param :guide_enabled, 'bool'
1457
+ api.has_param :has_nickname, 'bool'
1458
+ api.has_param :holiday_card, 'string'
1459
+ api.has_param :initial_heading, 'int'
1460
+ api.has_param :initial_pitch, 'int'
1461
+ api.has_param :instant_game_entry_point_data, 'string'
1462
+ api.has_param :is_boost_intended, 'bool'
1463
+ api.has_param :is_explicit_share, 'bool'
1464
+ api.has_param :is_group_linking_post, 'bool'
1465
+ api.has_param :is_voice_clip, 'bool'
1466
+ api.has_param :location_source_id, 'string'
1467
+ api.has_param :manual_privacy, 'bool'
1468
+ api.has_param :multilingual_data, { list: 'object' }
1469
+ api.has_param :no_story, 'bool'
1470
+ api.has_param :offer_like_post_id, 'int'
1471
+ api.has_param :og_action_type_id, 'string'
1472
+ api.has_param :og_icon_id, 'string'
1473
+ api.has_param :og_object_id, 'string'
1474
+ api.has_param :og_phrase, 'string'
1475
+ api.has_param :og_suggestion_mechanism, 'string'
1476
+ api.has_param :original_fov, 'int'
1477
+ api.has_param :original_projection_type, { enum: -> { AdVideo::ORIGINAL_PROJECTION_TYPE }}
1478
+ api.has_param :publish_event_id, 'int'
1479
+ api.has_param :published, 'bool'
1480
+ api.has_param :react_mode_metadata, 'string'
1481
+ api.has_param :reference_only, 'bool'
1482
+ api.has_param :referenced_sticker_id, 'string'
1483
+ api.has_param :replace_video_id, 'string'
1484
+ api.has_param :scheduled_publish_time, 'int'
1485
+ api.has_param :secret, 'bool'
1486
+ api.has_param :slideshow_spec, 'hash'
1487
+ api.has_param :social_actions, 'bool'
1488
+ api.has_param :source, 'string'
1489
+ api.has_param :source_instagram_media_id, 'string'
1490
+ api.has_param :specified_dialect, 'string'
1491
+ api.has_param :spherical, 'bool'
1492
+ api.has_param :sponsor_id, 'string'
1493
+ api.has_param :sponsor_relationship, 'int'
1494
+ api.has_param :start_offset, 'int'
1495
+ api.has_param :swap_mode, { enum: -> { AdVideo::SWAP_MODE }}
1496
+ api.has_param :targeting, 'object'
1497
+ api.has_param :text_format_metadata, 'string'
1498
+ api.has_param :throwback_camera_roll_media, 'string'
1499
+ api.has_param :thumb, 'file'
1500
+ api.has_param :time_since_original_post, 'int'
1501
+ api.has_param :title, 'string'
1502
+ api.has_param :transcode_setting_properties, 'string'
1503
+ api.has_param :universal_video_id, 'string'
1504
+ api.has_param :unpublished_content_type, { enum: -> { AdVideo::UNPUBLISHED_CONTENT_TYPE }}
1505
+ api.has_param :upload_phase, { enum: -> { AdVideo::UPLOAD_PHASE }}
1506
+ api.has_param :upload_session_id, 'string'
1507
+ api.has_param :upload_setting_properties, 'string'
1508
+ api.has_param :video_asset_id, 'string'
1509
+ api.has_param :video_file_chunk, 'string'
1510
+ api.has_param :video_id_original, 'string'
1511
+ api.has_param :video_start_time_ms, 'int'
1512
+ api.has_param :waterfall_id, 'string'
1513
+ end
1514
+ end
1515
+
1516
+ has_edge :visitor_posts do |edge|
1517
+ edge.get 'PagePost' do |api|
1518
+ api.has_param :include_hidden, 'bool'
1519
+ end
1520
+ end
1521
+
1522
+ end
1523
+ end