facebookads 0.0.1 → 0.2.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (174) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE.txt +17 -0
  3. data/README.md +222 -0
  4. data/lib/facebook_ads/ad_object.rb +177 -0
  5. data/lib/facebook_ads/ad_objects/ad.rb +215 -0
  6. data/lib/facebook_ads/ad_objects/ad_account.rb +665 -0
  7. data/lib/facebook_ads/ad_objects/ad_account_roas.rb +97 -0
  8. data/lib/facebook_ads/ad_objects/ad_account_targeting_unified.rb +136 -0
  9. data/lib/facebook_ads/ad_objects/ad_account_user.rb +39 -0
  10. data/lib/facebook_ads/ad_objects/ad_activity.rb +123 -0
  11. data/lib/facebook_ads/ad_objects/ad_async_request.rb +66 -0
  12. data/lib/facebook_ads/ad_objects/ad_async_request_set.rb +68 -0
  13. data/lib/facebook_ads/ad_objects/ad_async_request_set_notification_result.rb +38 -0
  14. data/lib/facebook_ads/ad_objects/ad_creative.rb +163 -0
  15. data/lib/facebook_ads/ad_objects/ad_creative_link_data.rb +62 -0
  16. data/lib/facebook_ads/ad_objects/ad_creative_link_data_app_link_spec.rb +40 -0
  17. data/lib/facebook_ads/ad_objects/ad_creative_link_data_call_to_action.rb +75 -0
  18. data/lib/facebook_ads/ad_objects/ad_creative_link_data_call_to_action_value.rb +46 -0
  19. data/lib/facebook_ads/ad_objects/ad_creative_link_data_child_attachment.rb +47 -0
  20. data/lib/facebook_ads/ad_objects/ad_creative_object_story_spec.rb +43 -0
  21. data/lib/facebook_ads/ad_objects/ad_creative_offer_data.rb +44 -0
  22. data/lib/facebook_ads/ad_objects/ad_creative_photo_data.rb +42 -0
  23. data/lib/facebook_ads/ad_objects/ad_creative_place_data.rb +41 -0
  24. data/lib/facebook_ads/ad_objects/ad_creative_text_data.rb +37 -0
  25. data/lib/facebook_ads/ad_objects/ad_creative_video_data.rb +48 -0
  26. data/lib/facebook_ads/ad_objects/ad_image.rb +58 -0
  27. data/lib/facebook_ads/ad_objects/ad_keyword_stats.rb +55 -0
  28. data/lib/facebook_ads/ad_objects/ad_label.rb +57 -0
  29. data/lib/facebook_ads/ad_objects/ad_place_page_set.rb +44 -0
  30. data/lib/facebook_ads/ad_objects/ad_preview.rb +54 -0
  31. data/lib/facebook_ads/ad_objects/ad_promoted_object.rb +64 -0
  32. data/lib/facebook_ads/ad_objects/ad_recommendation.rb +55 -0
  33. data/lib/facebook_ads/ad_objects/ad_recommendation_data.rb +37 -0
  34. data/lib/facebook_ads/ad_objects/ad_report_run.rb +70 -0
  35. data/lib/facebook_ads/ad_objects/ad_set.rb +267 -0
  36. data/lib/facebook_ads/ad_objects/ad_study.rb +69 -0
  37. data/lib/facebook_ads/ad_objects/ad_study_cell.rb +39 -0
  38. data/lib/facebook_ads/ad_objects/ad_study_objective.rb +59 -0
  39. data/lib/facebook_ads/ad_objects/ad_video.rb +25 -0
  40. data/lib/facebook_ads/ad_objects/adgroup_placement_specific_review_feedback.rb +43 -0
  41. data/lib/facebook_ads/ad_objects/adgroup_relevance_score.rb +40 -0
  42. data/lib/facebook_ads/ad_objects/adgroup_review_feedback.rb +38 -0
  43. data/lib/facebook_ads/ad_objects/ads_action_stats.rb +53 -0
  44. data/lib/facebook_ads/ad_objects/ads_data_partner.rb +37 -0
  45. data/lib/facebook_ads/ad_objects/ads_image_crops.rb +42 -0
  46. data/lib/facebook_ads/ad_objects/ads_insights.rb +225 -0
  47. data/lib/facebook_ads/ad_objects/ads_pixel.rb +64 -0
  48. data/lib/facebook_ads/ad_objects/ads_pixel_stats.rb +39 -0
  49. data/lib/facebook_ads/ad_objects/ads_pixel_stats_result.rb +50 -0
  50. data/lib/facebook_ads/ad_objects/agency_client_declaration.rb +48 -0
  51. data/lib/facebook_ads/ad_objects/android_app_link.rb +40 -0
  52. data/lib/facebook_ads/ad_objects/app_links.rb +43 -0
  53. data/lib/facebook_ads/ad_objects/broad_targeting_categories.rb +46 -0
  54. data/lib/facebook_ads/ad_objects/business.rb +242 -0
  55. data/lib/facebook_ads/ad_objects/business_ad_account_request.rb +37 -0
  56. data/lib/facebook_ads/ad_objects/business_page_request.rb +37 -0
  57. data/lib/facebook_ads/ad_objects/campaign.rb +211 -0
  58. data/lib/facebook_ads/ad_objects/conversion_action_query.rb +63 -0
  59. data/lib/facebook_ads/ad_objects/custom_audience.rb +166 -0
  60. data/lib/facebook_ads/ad_objects/custom_audience_ad_account.rb +36 -0
  61. data/lib/facebook_ads/ad_objects/custom_audience_data_source.rb +94 -0
  62. data/lib/facebook_ads/ad_objects/custom_audience_permission.rb +41 -0
  63. data/lib/facebook_ads/ad_objects/custom_audience_prefill_state.rb +39 -0
  64. data/lib/facebook_ads/ad_objects/custom_audience_session.rb +44 -0
  65. data/lib/facebook_ads/ad_objects/custom_audience_status.rb +38 -0
  66. data/lib/facebook_ads/ad_objects/custom_audiences_tos.rb +38 -0
  67. data/lib/facebook_ads/ad_objects/custom_conversion.rb +78 -0
  68. data/lib/facebook_ads/ad_objects/custom_conversion_stats_result.rb +50 -0
  69. data/lib/facebook_ads/ad_objects/day_part.rb +40 -0
  70. data/lib/facebook_ads/ad_objects/delivery_check.rb +40 -0
  71. data/lib/facebook_ads/ad_objects/delivery_check_extra_info.rb +39 -0
  72. data/lib/facebook_ads/ad_objects/delivery_estimate.rb +41 -0
  73. data/lib/facebook_ads/ad_objects/domain.rb +37 -0
  74. data/lib/facebook_ads/ad_objects/event.rb +74 -0
  75. data/lib/facebook_ads/ad_objects/event_source_group.rb +43 -0
  76. data/lib/facebook_ads/ad_objects/external_event_source.rb +38 -0
  77. data/lib/facebook_ads/ad_objects/flexible_targeting.rb +64 -0
  78. data/lib/facebook_ads/ad_objects/funding_source_details.rb +39 -0
  79. data/lib/facebook_ads/ad_objects/funding_source_details_coupon.rb +40 -0
  80. data/lib/facebook_ads/ad_objects/helpers/custom_audience_helpers.rb +170 -0
  81. data/lib/facebook_ads/ad_objects/hotel.rb +61 -0
  82. data/lib/facebook_ads/ad_objects/hotel_room.rb +44 -0
  83. data/lib/facebook_ads/ad_objects/id_name.rb +37 -0
  84. data/lib/facebook_ads/ad_objects/ios_app_link.rb +39 -0
  85. data/lib/facebook_ads/ad_objects/lead.rb +47 -0
  86. data/lib/facebook_ads/ad_objects/lead_gen_qualifier.rb +40 -0
  87. data/lib/facebook_ads/ad_objects/lead_gen_question.rb +40 -0
  88. data/lib/facebook_ads/ad_objects/lead_gen_question_option.rb +38 -0
  89. data/lib/facebook_ads/ad_objects/leadgen_form.rb +70 -0
  90. data/lib/facebook_ads/ad_objects/legacy_business_ad_account_request.rb +38 -0
  91. data/lib/facebook_ads/ad_objects/lookalike_spec.rb +43 -0
  92. data/lib/facebook_ads/ad_objects/minimum_budget.rb +41 -0
  93. data/lib/facebook_ads/ad_objects/offsite_pixel.rb +57 -0
  94. data/lib/facebook_ads/ad_objects/outcome_prediction_point.rb +40 -0
  95. data/lib/facebook_ads/ad_objects/partner_category.rb +51 -0
  96. data/lib/facebook_ads/ad_objects/product_catalog.rb +257 -0
  97. data/lib/facebook_ads/ad_objects/product_catalog_hotel_rooms_batch.rb +50 -0
  98. data/lib/facebook_ads/ad_objects/product_catalog_image_settings.rb +38 -0
  99. data/lib/facebook_ads/ad_objects/product_catalog_image_settings_operation.rb +37 -0
  100. data/lib/facebook_ads/ad_objects/product_catalog_pricing_variables_batch.rb +50 -0
  101. data/lib/facebook_ads/ad_objects/product_feed.rb +88 -0
  102. data/lib/facebook_ads/ad_objects/product_feed_schedule.rb +61 -0
  103. data/lib/facebook_ads/ad_objects/product_feed_upload.rb +48 -0
  104. data/lib/facebook_ads/ad_objects/product_feed_upload_error.rb +49 -0
  105. data/lib/facebook_ads/ad_objects/product_feed_upload_error_sample.rb +37 -0
  106. data/lib/facebook_ads/ad_objects/product_group.rb +98 -0
  107. data/lib/facebook_ads/ad_objects/product_item.rb +147 -0
  108. data/lib/facebook_ads/ad_objects/product_item_commerce_insights.rb +39 -0
  109. data/lib/facebook_ads/ad_objects/product_set.rb +49 -0
  110. data/lib/facebook_ads/ad_objects/product_variant.rb +39 -0
  111. data/lib/facebook_ads/ad_objects/profile_picture_source.rb +52 -0
  112. data/lib/facebook_ads/ad_objects/rate_card.rb +39 -0
  113. data/lib/facebook_ads/ad_objects/reach_estimate.rb +60 -0
  114. data/lib/facebook_ads/ad_objects/reach_frequency_prediction.rb +89 -0
  115. data/lib/facebook_ads/ad_objects/reach_frequency_spec.rb +42 -0
  116. data/lib/facebook_ads/ad_objects/rev_share_policy.rb +38 -0
  117. data/lib/facebook_ads/ad_objects/roas_cohorts_data.rb +41 -0
  118. data/lib/facebook_ads/ad_objects/roas_cohorts_per_cohort_interval_unit.rb +38 -0
  119. data/lib/facebook_ads/ad_objects/targeting.rb +133 -0
  120. data/lib/facebook_ads/ad_objects/targeting_dynamic_rule.rb +44 -0
  121. data/lib/facebook_ads/ad_objects/targeting_geo_location.rb +47 -0
  122. data/lib/facebook_ads/ad_objects/targeting_geo_location_city.rb +43 -0
  123. data/lib/facebook_ads/ad_objects/targeting_geo_location_custom_location.rb +50 -0
  124. data/lib/facebook_ads/ad_objects/targeting_geo_location_electoral_district.rb +40 -0
  125. data/lib/facebook_ads/ad_objects/targeting_geo_location_market.rb +40 -0
  126. data/lib/facebook_ads/ad_objects/targeting_geo_location_place.rb +45 -0
  127. data/lib/facebook_ads/ad_objects/targeting_geo_location_political_district.rb +40 -0
  128. data/lib/facebook_ads/ad_objects/targeting_geo_location_region.rb +39 -0
  129. data/lib/facebook_ads/ad_objects/targeting_geo_location_zip.rb +41 -0
  130. data/lib/facebook_ads/ad_objects/targeting_product_audience_spec.rb +39 -0
  131. data/lib/facebook_ads/ad_objects/targeting_product_audience_sub_spec.rb +38 -0
  132. data/lib/facebook_ads/ad_objects/targeting_sentence_line.rb +38 -0
  133. data/lib/facebook_ads/ad_objects/transaction.rb +56 -0
  134. data/lib/facebook_ads/ad_objects/transaction_currency_amount.rb +39 -0
  135. data/lib/facebook_ads/ad_objects/user.rb +127 -0
  136. data/lib/facebook_ads/ad_objects/user_lead_gen_disclaimer_response.rb +38 -0
  137. data/lib/facebook_ads/ad_objects/user_lead_gen_field_data.rb +38 -0
  138. data/lib/facebook_ads/ad_objects/video_thumbnail.rb +42 -0
  139. data/lib/facebook_ads/ad_objects/web_app_link.rb +38 -0
  140. data/lib/facebook_ads/ad_objects/windows_app_link.rb +40 -0
  141. data/lib/facebook_ads/ad_objects/windows_phone_app_link.rb +39 -0
  142. data/lib/facebook_ads/api_request.rb +123 -0
  143. data/lib/facebook_ads/api_response.rb +47 -0
  144. data/lib/facebook_ads/batch_api/batch.rb +86 -0
  145. data/lib/facebook_ads/batch_api/batch_proxy.rb +67 -0
  146. data/lib/facebook_ads/config.rb +43 -0
  147. data/lib/facebook_ads/edge.rb +184 -0
  148. data/lib/facebook_ads/errors.rb +55 -0
  149. data/lib/facebook_ads/field_types/ad_object.rb +37 -0
  150. data/lib/facebook_ads/field_types/base.rb +33 -0
  151. data/lib/facebook_ads/field_types/boolean.rb +25 -0
  152. data/lib/facebook_ads/field_types/datetime.rb +47 -0
  153. data/lib/facebook_ads/field_types/double.rb +29 -0
  154. data/lib/facebook_ads/field_types/enum.rb +31 -0
  155. data/lib/facebook_ads/field_types/integer.rb +33 -0
  156. data/lib/facebook_ads/field_types/list.rb +57 -0
  157. data/lib/facebook_ads/field_types/object.rb +33 -0
  158. data/lib/facebook_ads/field_types/string_type.rb +34 -0
  159. data/lib/facebook_ads/field_types/upload_file.rb +121 -0
  160. data/lib/facebook_ads/field_types.rb +65 -0
  161. data/lib/facebook_ads/fields.rb +66 -0
  162. data/lib/facebook_ads/helpers/edge_helpers.rb +57 -0
  163. data/lib/facebook_ads/helpers/node_helpers.rb +80 -0
  164. data/lib/facebook_ads/helpers/shortcuts.rb +34 -0
  165. data/lib/facebook_ads/param_set.rb +74 -0
  166. data/lib/facebook_ads/ruby2patch.rb +27 -0
  167. data/lib/facebook_ads/session.rb +99 -0
  168. data/lib/facebook_ads/utils/utils.rb +29 -0
  169. data/lib/facebook_ads/version.rb +24 -0
  170. data/lib/facebook_ads/videos/video_io.rb +25 -0
  171. data/lib/facebook_ads/videos/video_request.rb +42 -0
  172. data/lib/facebook_ads.rb +72 -0
  173. metadata +337 -13
  174. data/lib/facebookads.rb +0 -5
@@ -0,0 +1,43 @@
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-genereated.
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 AppLinks < AdObject
29
+
30
+ field :android, { list: 'AndroidAppLink' }
31
+ field :id, 'string'
32
+ field :ios, { list: 'IosAppLink' }
33
+ field :ipad, { list: 'IosAppLink' }
34
+ field :iphone, { list: 'IosAppLink' }
35
+ field :web, 'WebAppLink'
36
+ field :windows, { list: 'WindowsAppLink' }
37
+ field :windows_phone, { list: 'WindowsPhoneAppLink' }
38
+ field :windows_universal, { list: 'WindowsAppLink' }
39
+ has_no_post
40
+ has_no_delete
41
+
42
+ end
43
+ end
@@ -0,0 +1,46 @@
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-genereated.
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 BroadTargetingCategories < AdObject
29
+
30
+ field :category_description, 'string'
31
+ field :id, 'string'
32
+ field :name, 'string'
33
+ field :parent_category, 'string'
34
+ field :path, { list: 'string' }
35
+ field :size, 'int'
36
+ field :source, 'string'
37
+ field :type, 'int'
38
+ field :type_name, 'string'
39
+ field :untranslated_name, 'string'
40
+ field :untranslated_parent_name, 'string'
41
+ has_no_get
42
+ has_no_post
43
+ has_no_delete
44
+
45
+ end
46
+ end
@@ -0,0 +1,242 @@
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-genereated.
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 Business < AdObject
29
+
30
+ field :created_by, 'User'
31
+ field :created_time, 'datetime'
32
+ field :id, 'string'
33
+ field :link, 'string'
34
+ field :name, 'string'
35
+ field :payment_account_id, 'string'
36
+ field :primary_page, 'object'
37
+ field :timezone_id, 'int'
38
+ field :two_factor_type, 'string'
39
+ field :updated_by, 'User'
40
+ field :updated_time, 'datetime'
41
+ has_no_post
42
+ has_no_delete
43
+
44
+ has_edge :ad_studies do |edge|
45
+ edge.post 'AdStudy' do |api|
46
+ api.has_param :cells, { list: 'object' }
47
+ api.has_param :confidence_level, 'double'
48
+ api.has_param :cooldown_start_time, 'int'
49
+ api.has_param :description, 'string'
50
+ api.has_param :end_time, 'int'
51
+ api.has_param :name, 'string'
52
+ api.has_param :objectives, { list: 'object' }
53
+ api.has_param :observation_end_time, 'int'
54
+ api.has_param :start_time, 'int'
55
+ api.has_param :type, { enum: -> { AdStudy::TYPE }}
56
+ api.has_param :viewers, { list: 'int' }
57
+ end
58
+ end
59
+
60
+ has_edge :adaccount do |edge|
61
+ edge.post 'AdAccount' do |api|
62
+ api.has_param :currency, 'string'
63
+ api.has_param :end_advertiser, 'object'
64
+ api.has_param :funding_id, 'string'
65
+ api.has_param :invoice, 'bool'
66
+ api.has_param :io, 'bool'
67
+ api.has_param :media_agency, 'string'
68
+ api.has_param :name, 'string'
69
+ api.has_param :partner, 'string'
70
+ api.has_param :po_number, 'string'
71
+ api.has_param :timezone_id, 'int'
72
+ end
73
+ end
74
+
75
+ has_edge :adaccounts do |edge|
76
+ edge.post 'AdAccount' do |api|
77
+ api.has_param :access_type, { enum: -> { AdAccount::ACCESS_TYPE }}
78
+ api.has_param :adaccount_id, 'string'
79
+ api.has_param :permitted_roles, { list: { enum: -> { AdAccount::PERMITTED_ROLES }} }
80
+ end
81
+ end
82
+
83
+ has_edge :adspixels do |edge|
84
+ edge.get 'AdsPixel' do |api|
85
+ api.has_param :id_filter, 'string'
86
+ api.has_param :name_filter, 'string'
87
+ end
88
+ edge.post 'AdsPixel' do |api|
89
+ api.has_param :name, 'string'
90
+ end
91
+ end
92
+
93
+ has_edge :apps do |edge|
94
+ edge.delete do |api|
95
+ api.has_param :app_id, 'int'
96
+ end
97
+ end
98
+
99
+ has_edge :assigned_ad_accounts do |edge|
100
+ edge.get 'AdAccount' do |api|
101
+ api.has_param :email, 'string'
102
+ api.has_param :user_id, 'int'
103
+ end
104
+ end
105
+
106
+ has_edge :assigned_pages do |edge|
107
+ edge.get do |api|
108
+ api.has_param :email, 'string'
109
+ api.has_param :user_id, 'int'
110
+ end
111
+ end
112
+
113
+ has_edge :assigned_product_catalogs do |edge|
114
+ edge.get 'ProductCatalog' do |api|
115
+ api.has_param :email, 'string'
116
+ api.has_param :user_id, 'int'
117
+ end
118
+ end
119
+
120
+ has_edge :client_ad_account_requests do |edge|
121
+ edge.get 'BusinessAdAccountRequest'
122
+ end
123
+
124
+ has_edge :client_ad_accounts do |edge|
125
+ edge.get 'AdAccount'
126
+ end
127
+
128
+ has_edge :client_page_requests do |edge|
129
+ edge.get 'BusinessPageRequest'
130
+ end
131
+
132
+ has_edge :client_pages do |edge|
133
+ edge.get
134
+ end
135
+
136
+ has_edge :event_source_groups do |edge|
137
+ edge.get 'EventSourceGroup'
138
+ edge.post 'EventSourceGroup' do |api|
139
+ api.has_param :event_sources, { list: 'string' }
140
+ api.has_param :name, 'string'
141
+ end
142
+ end
143
+
144
+ has_edge :grp_plans do |edge|
145
+ edge.get 'ReachFrequencyPrediction' do |api|
146
+ api.has_param :status, { enum: -> { ReachFrequencyPrediction::STATUS }}
147
+ end
148
+ end
149
+
150
+ has_edge :instagram_accounts do |edge|
151
+ edge.get
152
+ end
153
+
154
+ has_edge :measurement_reports do |edge|
155
+ edge.get do |api|
156
+ api.has_param :filters, { list: 'object' }
157
+ api.has_param :report_type, { enum: %w{multi_channel_report video_metrics_report fruit_rollup_report third_party_mta_report }}
158
+ end
159
+ edge.post do |api|
160
+ api.has_param :metadata, 'string'
161
+ api.has_param :report_type, { enum: %w{multi_channel_report video_metrics_report fruit_rollup_report third_party_mta_report }}
162
+ end
163
+ end
164
+
165
+ has_edge :offline_conversion_data_sets do |edge|
166
+ edge.get
167
+ edge.post do |api|
168
+ api.has_param :auto_assign_to_new_accounts_only, 'bool'
169
+ api.has_param :description, 'string'
170
+ api.has_param :enable_auto_assign_to_accounts, 'bool'
171
+ api.has_param :name, 'string'
172
+ end
173
+ end
174
+
175
+ has_edge :owned_ad_account_requests do |edge|
176
+ edge.get 'LegacyBusinessAdAccountRequest'
177
+ end
178
+
179
+ has_edge :owned_ad_accounts do |edge|
180
+ edge.get 'AdAccount'
181
+ end
182
+
183
+ has_edge :owned_instagram_accounts do |edge|
184
+ edge.get
185
+ end
186
+
187
+ has_edge :owned_page_requests do |edge|
188
+ edge.get 'BusinessPageRequest'
189
+ end
190
+
191
+ has_edge :owned_pages do |edge|
192
+ edge.get
193
+ end
194
+
195
+ has_edge :owned_pixels do |edge|
196
+ edge.get 'AdsPixel'
197
+ end
198
+
199
+ has_edge :picture do |edge|
200
+ edge.get 'ProfilePictureSource' do |api|
201
+ api.has_param :height, 'int'
202
+ api.has_param :redirect, 'bool'
203
+ api.has_param :type, { enum: -> { ProfilePictureSource::TYPE }}
204
+ api.has_param :width, 'int'
205
+ end
206
+ end
207
+
208
+ has_edge :product_catalogs do |edge|
209
+ edge.get 'ProductCatalog'
210
+ edge.post 'ProductCatalog' do |api|
211
+ api.has_param :da_display_settings, 'object'
212
+ api.has_param :name, 'string'
213
+ api.has_param :vertical, { enum: -> { ProductCatalog::VERTICAL }}
214
+ end
215
+ end
216
+
217
+ has_edge :received_audience_permissions do |edge|
218
+ edge.get do |api|
219
+ api.has_param :partner_id, 'string'
220
+ end
221
+ end
222
+
223
+ has_edge :shared_audience_permissions do |edge|
224
+ edge.get do |api|
225
+ api.has_param :partner_id, 'string'
226
+ end
227
+ end
228
+
229
+ has_edge :system_users do |edge|
230
+ edge.get
231
+ end
232
+
233
+ has_edge :userpermissions do |edge|
234
+ edge.post do |api|
235
+ api.has_param :email, 'string'
236
+ api.has_param :role, { enum: %w{ADMIN EMPLOYEE SYSTEM_USER ADMIN_SYSTEM_USER INSTAGRAM_ADMIN INSTAGRAM_EMPLOYEE FB_EMPLOYEE_ACCOUNT_MANAGER FB_EMPLOYEE_SALES_REP }}
237
+ api.has_param :user, 'int'
238
+ end
239
+ end
240
+
241
+ end
242
+ end
@@ -0,0 +1,37 @@
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-genereated.
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 BusinessAdAccountRequest < AdObject
29
+
30
+ field :ad_account, 'AdAccount'
31
+ field :id, 'string'
32
+ has_no_get
33
+ has_no_post
34
+ has_no_delete
35
+
36
+ end
37
+ end
@@ -0,0 +1,37 @@
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-genereated.
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 BusinessPageRequest < AdObject
29
+
30
+ field :id, 'string'
31
+ field :page, 'object'
32
+ has_no_get
33
+ has_no_post
34
+ has_no_delete
35
+
36
+ end
37
+ end
@@ -0,0 +1,211 @@
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-genereated.
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 Campaign < AdObject
29
+ CONFIGURED_STATUS = [
30
+ "ACTIVE",
31
+ "PAUSED",
32
+ "DELETED",
33
+ "ARCHIVED",
34
+ ]
35
+
36
+ EFFECTIVE_STATUS = [
37
+ "ACTIVE",
38
+ "PAUSED",
39
+ "DELETED",
40
+ "PENDING_REVIEW",
41
+ "DISAPPROVED",
42
+ "PREAPPROVED",
43
+ "PENDING_BILLING_INFO",
44
+ "CAMPAIGN_PAUSED",
45
+ "ARCHIVED",
46
+ "ADSET_PAUSED",
47
+ ]
48
+
49
+ STATUS = [
50
+ "ACTIVE",
51
+ "PAUSED",
52
+ "DELETED",
53
+ "ARCHIVED",
54
+ ]
55
+
56
+ DATE_PRESET = [
57
+ "today",
58
+ "yesterday",
59
+ "this_month",
60
+ "last_month",
61
+ "this_quarter",
62
+ "lifetime",
63
+ "last_3d",
64
+ "last_7d",
65
+ "last_14d",
66
+ "last_28d",
67
+ "last_30d",
68
+ "last_90d",
69
+ "last_week_mon_sun",
70
+ "last_week_sun_sat",
71
+ "last_quarter",
72
+ "last_year",
73
+ "this_week_mon_today",
74
+ "this_week_sun_today",
75
+ "this_year",
76
+ ]
77
+
78
+ DELETE_STRATEGY = [
79
+ "DELETE_ANY",
80
+ "DELETE_OLDEST",
81
+ "DELETE_ARCHIVED_BEFORE",
82
+ ]
83
+
84
+ EXECUTION_OPTIONS = [
85
+ "validate_only",
86
+ "include_recommendations",
87
+ ]
88
+
89
+ OBJECTIVE = [
90
+ "APP_INSTALLS",
91
+ "BRAND_AWARENESS",
92
+ "CONVERSIONS",
93
+ "EVENT_RESPONSES",
94
+ "LEAD_GENERATION",
95
+ "LINK_CLICKS",
96
+ "LOCAL_AWARENESS",
97
+ "OFFER_CLAIMS",
98
+ "PAGE_LIKES",
99
+ "POST_ENGAGEMENT",
100
+ "PRODUCT_CATALOG_SALES",
101
+ "REACH",
102
+ "VIDEO_VIEWS",
103
+ ]
104
+
105
+ OPERATOR = [
106
+ "ALL",
107
+ "ANY",
108
+ ]
109
+
110
+
111
+ field :account_id, 'string'
112
+ field :adlabels, { list: 'AdLabel' }
113
+ field :brand_lift_studies, { list: 'AdStudy' }
114
+ field :budget_rebalance_flag, 'bool'
115
+ field :buying_type, 'string'
116
+ field :can_create_brand_lift_study, 'bool'
117
+ field :can_use_spend_cap, 'bool'
118
+ field :configured_status, { enum: -> { CONFIGURED_STATUS }}
119
+ field :created_time, 'datetime'
120
+ field :effective_status, { enum: -> { EFFECTIVE_STATUS }}
121
+ field :id, 'string'
122
+ field :name, 'string'
123
+ field :objective, 'string'
124
+ field :recommendations, { list: 'AdRecommendation' }
125
+ field :spend_cap, 'string'
126
+ field :start_time, 'datetime'
127
+ field :status, { enum: -> { STATUS }}
128
+ field :stop_time, 'datetime'
129
+ field :updated_time, 'datetime'
130
+ field :execution_options, { list: { enum: -> { EXECUTION_OPTIONS }} }
131
+ field :promoted_object, 'object'
132
+
133
+ has_edge :adlabels do |edge|
134
+ edge.delete do |api|
135
+ api.has_param :adlabels, { list: 'object' }
136
+ api.has_param :execution_options, { list: { enum: -> { AdLabel::EXECUTION_OPTIONS }} }
137
+ end
138
+ edge.post 'AdLabel' do |api|
139
+ api.has_param :adlabels, { list: 'object' }
140
+ api.has_param :execution_options, { list: { enum: -> { AdLabel::EXECUTION_OPTIONS }} }
141
+ end
142
+ end
143
+
144
+ has_edge :ads do |edge|
145
+ edge.get 'Ad' do |api|
146
+ api.has_param :ad_draft_id, 'string'
147
+ api.has_param :date_preset, { enum: -> { Ad::DATE_PRESET }}
148
+ api.has_param :effective_status, { list: 'string' }
149
+ api.has_param :include_deleted, 'bool'
150
+ api.has_param :time_range, 'object'
151
+ api.has_param :updated_since, 'int'
152
+ end
153
+ end
154
+
155
+ has_edge :adsets do |edge|
156
+ edge.get 'AdSet' do |api|
157
+ api.has_param :ad_draft_id, 'string'
158
+ api.has_param :date_preset, { enum: -> { AdSet::DATE_PRESET }}
159
+ api.has_param :effective_status, { list: { enum: -> { AdSet::EFFECTIVE_STATUS }} }
160
+ api.has_param :is_completed, 'bool'
161
+ api.has_param :time_range, 'object'
162
+ end
163
+ end
164
+
165
+ has_edge :insights do |edge|
166
+ edge.get 'AdsInsights' do |api|
167
+ api.has_param :action_attribution_windows, { list: { enum: -> { AdsInsights::ACTION_ATTRIBUTION_WINDOWS }} }
168
+ api.has_param :action_breakdowns, { list: { enum: -> { AdsInsights::ACTION_BREAKDOWNS }} }
169
+ api.has_param :action_report_time, { enum: -> { AdsInsights::ACTION_REPORT_TIME }}
170
+ api.has_param :breakdowns, { list: { enum: -> { AdsInsights::BREAKDOWNS }} }
171
+ api.has_param :date_preset, { enum: -> { AdsInsights::DATE_PRESET }}
172
+ api.has_param :default_summary, 'bool'
173
+ api.has_param :export_columns, { list: 'string' }
174
+ api.has_param :export_format, 'string'
175
+ api.has_param :export_name, 'string'
176
+ api.has_param :fields, { list: { enum: -> { AdsInsights::SUMMARY }} }
177
+ api.has_param :filtering, { list: 'object' }
178
+ api.has_param :level, { enum: -> { AdsInsights::LEVEL }}
179
+ api.has_param :product_id_limit, 'int'
180
+ api.has_param :sort, { list: 'string' }
181
+ api.has_param :summary, { list: { enum: -> { AdsInsights::SUMMARY }} }
182
+ api.has_param :summary_action_breakdowns, { list: { enum: -> { AdsInsights::SUMMARY_ACTION_BREAKDOWNS }} }
183
+ api.has_param :time_increment, 'string'
184
+ api.has_param :time_range, 'object'
185
+ api.has_param :time_ranges, { list: 'object' }
186
+ end
187
+ edge.post 'AdReportRun' do |api|
188
+ api.has_param :action_attribution_windows, { list: { enum: -> { AdsInsights::ACTION_ATTRIBUTION_WINDOWS }} }
189
+ api.has_param :action_breakdowns, { list: { enum: -> { AdsInsights::ACTION_BREAKDOWNS }} }
190
+ api.has_param :action_report_time, { enum: -> { AdsInsights::ACTION_REPORT_TIME }}
191
+ api.has_param :breakdowns, { list: { enum: -> { AdsInsights::BREAKDOWNS }} }
192
+ api.has_param :date_preset, { enum: -> { AdsInsights::DATE_PRESET }}
193
+ api.has_param :default_summary, 'bool'
194
+ api.has_param :export_columns, { list: 'string' }
195
+ api.has_param :export_format, 'string'
196
+ api.has_param :export_name, 'string'
197
+ api.has_param :fields, { list: { enum: -> { AdsInsights::SUMMARY }} }
198
+ api.has_param :filtering, { list: 'object' }
199
+ api.has_param :level, { enum: -> { AdsInsights::LEVEL }}
200
+ api.has_param :product_id_limit, 'int'
201
+ api.has_param :sort, { list: 'string' }
202
+ api.has_param :summary, { list: { enum: -> { AdsInsights::SUMMARY }} }
203
+ api.has_param :summary_action_breakdowns, { list: { enum: -> { AdsInsights::SUMMARY_ACTION_BREAKDOWNS }} }
204
+ api.has_param :time_increment, 'string'
205
+ api.has_param :time_range, 'object'
206
+ api.has_param :time_ranges, { list: 'object' }
207
+ end
208
+ end
209
+
210
+ end
211
+ end