facebookbusiness 0.3.3.3 → 0.3.3.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (43) hide show
  1. checksums.yaml +4 -4
  2. data/lib/facebook_ads/ad_objects/ad.rb +2 -0
  3. data/lib/facebook_ads/ad_objects/ad_account.rb +12 -33
  4. data/lib/facebook_ads/ad_objects/{reach_estimate.rb → ad_account_reach_estimate.rb} +1 -2
  5. data/lib/facebook_ads/ad_objects/ad_account_targeting_unified.rb +1 -0
  6. data/lib/facebook_ads/ad_objects/ad_activity.rb +1 -0
  7. data/lib/facebook_ads/ad_objects/ad_preview.rb +1 -0
  8. data/lib/facebook_ads/ad_objects/ad_report_run.rb +0 -4
  9. data/lib/facebook_ads/ad_objects/ad_set.rb +17 -12
  10. data/lib/facebook_ads/ad_objects/ad_study_objective.rb +4 -0
  11. data/lib/facebook_ads/ad_objects/ad_video.rb +2 -0
  12. data/lib/facebook_ads/ad_objects/adgroup_placement_specific_review_feedback.rb +1 -0
  13. data/lib/facebook_ads/ad_objects/ads_insights.rb +100 -0
  14. data/lib/facebook_ads/ad_objects/ads_pixel.rb +1 -2
  15. data/lib/facebook_ads/ad_objects/application.rb +5 -0
  16. data/lib/facebook_ads/ad_objects/business.rb +103 -4
  17. data/lib/facebook_ads/ad_objects/business_creative.rb +46 -0
  18. data/lib/facebook_ads/ad_objects/business_creative_folder.rb +76 -0
  19. data/lib/facebook_ads/ad_objects/business_image.rb +46 -0
  20. data/lib/facebook_ads/ad_objects/{ad_creative_optimization_spec.rb → collaborative_ads_share_settings.rb} +7 -7
  21. data/lib/facebook_ads/ad_objects/event.rb +6 -16
  22. data/lib/facebook_ads/ad_objects/event_source_group.rb +0 -18
  23. data/lib/facebook_ads/ad_objects/extended_credit_invoice_group.rb +3 -0
  24. data/lib/facebook_ads/ad_objects/group.rb +1 -1
  25. data/lib/facebook_ads/ad_objects/lead.rb +2 -0
  26. data/lib/facebook_ads/ad_objects/lead_gen_question.rb +1 -0
  27. data/lib/facebook_ads/ad_objects/leadgen_form.rb +1 -0
  28. data/lib/facebook_ads/ad_objects/live_encoder.rb +14 -0
  29. data/lib/facebook_ads/ad_objects/offline_conversion_data_set.rb +1 -3
  30. data/lib/facebook_ads/ad_objects/oracle_transaction.rb +1 -0
  31. data/lib/facebook_ads/ad_objects/page.rb +6 -15
  32. data/lib/facebook_ads/ad_objects/partner_study.rb +56 -0
  33. data/lib/facebook_ads/ad_objects/post.rb +5 -1
  34. data/lib/facebook_ads/ad_objects/product_catalog.rb +7 -2
  35. data/lib/facebook_ads/ad_objects/reach_frequency_prediction.rb +0 -1
  36. data/lib/facebook_ads/ad_objects/targeting.rb +1 -0
  37. data/lib/facebook_ads/ad_objects/targeting_geo_location.rb +1 -0
  38. data/lib/facebook_ads/ad_objects/{null_node.rb → targeting_geo_location_location_expansion.rb} +2 -1
  39. data/lib/facebook_ads/ad_objects/user.rb +35 -53
  40. data/lib/facebook_ads/ad_objects/video_poll.rb +7 -1
  41. data/lib/facebook_ads/ad_objects/whats_app_business_account.rb +3 -1
  42. data/lib/facebook_ads/version.rb +1 -1
  43. metadata +67 -63
@@ -39,6 +39,9 @@ module FacebookAds
39
39
  api.has_param :ad_account_id, 'string'
40
40
  end
41
41
  edge.get 'AdAccount'
42
+ edge.post 'AdAccount' do |api|
43
+ api.has_param :ad_account_id, 'string'
44
+ end
42
45
  end
43
46
 
44
47
  end
@@ -394,7 +394,7 @@ module FacebookAds
394
394
  end
395
395
  end
396
396
 
397
- has_edge :opengraphactionfeed do |edge|
397
+ has_edge :open_graph_action_feed do |edge|
398
398
  edge.post do |api|
399
399
  api.has_param :added, 'string'
400
400
  api.has_param :alias, 'string'
@@ -37,12 +37,14 @@ module FacebookAds
37
37
  field :custom_disclaimer_responses, { list: 'UserLeadGenDisclaimerResponse' }
38
38
  field :field_data, { list: 'UserLeadGenFieldData' }
39
39
  field :form_id, 'string'
40
+ field :home_listing, 'HomeListing'
40
41
  field :id, 'string'
41
42
  field :is_organic, 'bool'
42
43
  field :partner_name, 'string'
43
44
  field :platform, 'string'
44
45
  field :post, 'Link'
45
46
  field :retailer_item_id, 'string'
47
+ field :vehicle, 'Vehicle'
46
48
  has_no_post
47
49
  has_no_delete
48
50
 
@@ -36,6 +36,7 @@ module FacebookAds
36
36
  field :label, 'string'
37
37
  field :options, { list: 'LeadGenQuestionOption' }
38
38
  field :type, 'string'
39
+ has_no_get
39
40
  has_no_post
40
41
  has_no_delete
41
42
 
@@ -82,6 +82,7 @@ module FacebookAds
82
82
  field :is_optimized_for_quality, 'bool'
83
83
  field :leadgen_export_csv_url, 'string'
84
84
  field :leads_count, 'int'
85
+ field :legal_content, 'object'
85
86
  field :locale, 'string'
86
87
  field :messenger_welcome_message, 'string'
87
88
  field :name, 'string'
@@ -26,6 +26,20 @@ module FacebookAds
26
26
  # pull request for this class.
27
27
 
28
28
  class LiveEncoder < AdObject
29
+ CAP_AUDIO_CODECS = [
30
+ "AAC",
31
+ ]
32
+
33
+ CAP_STREAMING_PROTOCOLS = [
34
+ "HTTPS_DASH",
35
+ "RTMPS",
36
+ "WEBRTC",
37
+ ]
38
+
39
+ CAP_VIDEO_CODECS = [
40
+ "H264",
41
+ ]
42
+
29
43
  STATUS = [
30
44
  "CAPTURE",
31
45
  "LIVE",
@@ -52,6 +52,7 @@ module FacebookAds
52
52
  field :id, 'string'
53
53
  field :is_mta_use, 'bool'
54
54
  field :is_restricted_use, 'bool'
55
+ field :is_unavailable, 'bool'
55
56
  field :last_upload_app, 'string'
56
57
  field :last_upload_app_changed_time, 'int'
57
58
  field :match_rate_approx, 'int'
@@ -73,9 +74,6 @@ module FacebookAds
73
74
  end
74
75
 
75
76
  has_edge :agencies do |edge|
76
- edge.delete do |api|
77
- api.has_param :business, 'string'
78
- end
79
77
  edge.get 'Business'
80
78
  edge.post 'OfflineConversionDataSet' do |api|
81
79
  api.has_param :business, 'string'
@@ -32,6 +32,7 @@ module FacebookAds
32
32
  field :amount_due, 'CurrencyAmount'
33
33
  field :billed_amount_details, 'BilledAmountDetails'
34
34
  field :billing_period, 'string'
35
+ field :cdn_download_uri, 'string'
35
36
  field :currency, 'string'
36
37
  field :download_uri, 'string'
37
38
  field :due_date, 'datetime'
@@ -191,6 +191,7 @@ module FacebookAds
191
191
  "branded_camera",
192
192
  "category",
193
193
  "checkins",
194
+ "commerce_order",
194
195
  "company_overview",
195
196
  "conversations",
196
197
  "culinary_team",
@@ -427,18 +428,6 @@ module FacebookAds
427
428
  end
428
429
  end
429
430
 
430
- has_edge :admins do |edge|
431
- edge.delete do |api|
432
- api.has_param :admin_id, 'int'
433
- api.has_param :trusted, 'bool'
434
- end
435
- edge.post 'User' do |api|
436
- api.has_param :admin_id, 'int'
437
- api.has_param :tasks, { list: { enum: -> { User::TASKS }} }
438
- api.has_param :trusted, 'bool'
439
- end
440
- end
441
-
442
431
  has_edge :ads_posts do |edge|
443
432
  edge.get 'PagePost' do |api|
444
433
  api.has_param :exclude_dynamic_ads, 'bool'
@@ -495,9 +484,10 @@ module FacebookAds
495
484
 
496
485
  has_edge :blocked do |edge|
497
486
  edge.delete do |api|
498
- api.has_param :asid, 'int'
499
- api.has_param :uid, 'int'
500
- api.has_param :user, 'int'
487
+ api.has_param :asid, 'object'
488
+ api.has_param :psid, 'object'
489
+ api.has_param :uid, 'object'
490
+ api.has_param :user, 'object'
501
491
  end
502
492
  edge.get 'Profile' do |api|
503
493
  api.has_param :uid, 'int'
@@ -505,6 +495,7 @@ module FacebookAds
505
495
  end
506
496
  edge.post do |api|
507
497
  api.has_param :asid, { list: 'string' }
498
+ api.has_param :psid, { list: 'object' }
508
499
  api.has_param :uid, { list: 'string' }
509
500
  api.has_param :user, { list: 'string' }
510
501
  end
@@ -0,0 +1,56 @@
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 PartnerStudy < AdObject
29
+
30
+ field :additional_info, 'string'
31
+ field :brand, 'string'
32
+ field :client_name, 'string'
33
+ field :emails, 'string'
34
+ field :id, 'string'
35
+ field :input_ids, { list: 'string' }
36
+ field :is_export, 'bool'
37
+ field :lift_study, 'AdStudy'
38
+ field :location, 'string'
39
+ field :match_file_ds, 'string'
40
+ field :name, 'string'
41
+ field :partner_defined_id, 'string'
42
+ field :partner_household_graph_dataset_id, 'string'
43
+ field :status, 'string'
44
+ field :study_end_date, 'datetime'
45
+ field :study_start_date, 'datetime'
46
+ field :study_type, 'string'
47
+ field :submit_date, 'datetime'
48
+ has_no_post
49
+ has_no_delete
50
+
51
+ has_edge :submitters do |edge|
52
+ edge.get 'User'
53
+ end
54
+
55
+ end
56
+ end
@@ -46,6 +46,10 @@ module FacebookAds
46
46
  "normal",
47
47
  ]
48
48
 
49
+ WITH = [
50
+ "LOCATION",
51
+ ]
52
+
49
53
 
50
54
  field :actions, { list: 'string' }
51
55
  field :admin_creator, 'object'
@@ -165,7 +169,7 @@ module FacebookAds
165
169
  edge.post do |api|
166
170
  api.has_param :ad_account_id, 'string'
167
171
  api.has_param :ad_conversion_pixel_id, 'int'
168
- api.has_param :audience, { enum: %w{AUTO_LOOKALIKE AUTO_PAGE_LOOKALIKE AUTO_TARGETING CREATE_NEW CUSTOM_AUDIENCE DISTRICT EVENT_CUSTOM_AUDIENCES EVENT_ENGAGEMENT FANS GROUPER IG_PROMOTED_POST_AUTO LOCAL LOOKALIKE MULT_CUSTOM_AUDIENCES NCPP SAVED_AUDIENCE SMART_AUDIENCE }}
172
+ api.has_param :audience, { enum: %w{AUTO_LOOKALIKE AUTO_PAGE_LOOKALIKE AUTO_TARGETING CREATE_NEW CUSTOM_AUDIENCE DISTRICT EVENT_CUSTOM_AUDIENCES EVENT_ENGAGEMENT FANS GROUPER HEC_AUDIENCE IG_PROMOTED_POST_AUTO LOCAL LOOKALIKE MULT_CUSTOM_AUDIENCES NCPP SAVED_AUDIENCE SMART_AUDIENCE }}
169
173
  api.has_param :audience_id, 'string'
170
174
  api.has_param :bid_amount, 'int'
171
175
  api.has_param :budget, 'int'
@@ -27,11 +27,14 @@ module FacebookAds
27
27
 
28
28
  class ProductCatalog < AdObject
29
29
  VERTICAL = [
30
+ "bookable",
30
31
  "commerce",
31
32
  "destinations",
32
33
  "flights",
33
34
  "home_listings",
34
35
  "hotels",
36
+ "ticketed_experiences",
37
+ "transactable_items",
35
38
  "vehicles",
36
39
  ]
37
40
 
@@ -83,14 +86,12 @@ module FacebookAds
83
86
 
84
87
  has_edge :assigned_users do |edge|
85
88
  edge.delete do |api|
86
- api.has_param :business, 'string'
87
89
  api.has_param :user, 'int'
88
90
  end
89
91
  edge.get 'AssignedUser' do |api|
90
92
  api.has_param :business, 'string'
91
93
  end
92
94
  edge.post 'ProductCatalog' do |api|
93
- api.has_param :business, 'string'
94
95
  api.has_param :tasks, { list: { enum: -> { ProductCatalog::TASKS }} }
95
96
  api.has_param :user, 'int'
96
97
  end
@@ -144,6 +145,10 @@ module FacebookAds
144
145
  end
145
146
  end
146
147
 
148
+ has_edge :collaborative_ads_share_settings do |edge|
149
+ edge.get 'CollaborativeAdsShareSettings'
150
+ end
151
+
147
152
  has_edge :destinations do |edge|
148
153
  edge.get 'Destination' do |api|
149
154
  api.has_param :bulk_pagination, 'bool'
@@ -142,7 +142,6 @@ module FacebookAds
142
142
  field :timezone_name, 'string'
143
143
  field :topline_id, 'int'
144
144
  field :tv_viewer_cluster_map, 'map<unsigned int, Object>'
145
- field :video_view_benchmark_map, 'hash'
146
145
  field :video_view_length_constraint, 'int'
147
146
  field :viewtag, 'string'
148
147
  field :action, { enum: -> { ACTION }}
@@ -71,6 +71,7 @@ module FacebookAds
71
71
  field :engagement_specs, { list: 'TargetingDynamicRule' }
72
72
  field :ethnic_affinity, { list: 'IdName' }
73
73
  field :exclude_reached_since, { list: 'string' }
74
+ field :excluded_brand_safety_content_types, { list: 'string' }
74
75
  field :excluded_connections, { list: 'IdName' }
75
76
  field :excluded_custom_audiences, { list: 'IdName' }
76
77
  field :excluded_dynamic_audience_ids, { list: 'string' }
@@ -35,6 +35,7 @@ module FacebookAds
35
35
  field :geo_markets, { list: 'TargetingGeoLocationMarket' }
36
36
  field :large_geo_areas, { list: 'TargetingGeoLocationGeoEntities' }
37
37
  field :location_cluster_ids, { list: 'TargetingGeoLocationLocationCluster' }
38
+ field :location_expansion, 'TargetingGeoLocationLocationExpansion'
38
39
  field :location_set_ids, { list: 'string' }
39
40
  field :location_types, { list: 'string' }
40
41
  field :medium_geo_areas, { list: 'TargetingGeoLocationGeoEntities' }
@@ -25,8 +25,9 @@ module FacebookAds
25
25
  # on github and we'll fix in our codegen framework. We'll not be able to accept
26
26
  # pull request for this class.
27
27
 
28
- class NullNode < AdObject
28
+ class TargetingGeoLocationLocationExpansion < AdObject
29
29
 
30
+ field :allowed, 'bool'
30
31
  has_no_id
31
32
  has_no_get
32
33
  has_no_post
@@ -26,21 +26,6 @@ module FacebookAds
26
26
  # pull request for this class.
27
27
 
28
28
  class User < AdObject
29
- TASKS = [
30
- "ADVERTISE",
31
- "ANALYZE",
32
- "CREATE_CONTENT",
33
- "MANAGE",
34
- "MANAGE_JOBS",
35
- "MANAGE_LEADS",
36
- "MODERATE",
37
- "MODERATE_COMMUNITY",
38
- "PAGES_MESSAGING",
39
- "PAGES_MESSAGING_SUBSCRIPTIONS",
40
- "READ_PAGE_MAILBOXES",
41
- "VIEW_MONETIZATION_INSIGHTS",
42
- ]
43
-
44
29
  LOCAL_NEWS_MEGAPHONE_DISMISS_STATUS = [
45
30
  "NO",
46
31
  "YES",
@@ -122,6 +107,7 @@ module FacebookAds
122
107
  field :address, 'Location'
123
108
  field :admin_notes, { list: 'PageAdminNote' }
124
109
  field :age_range, 'AgeRange'
110
+ field :auth_method, 'string'
125
111
  field :birthday, 'string'
126
112
  field :can_review_measurement_request, 'bool'
127
113
  field :cover, 'UserCoverPhoto'
@@ -129,7 +115,6 @@ module FacebookAds
129
115
  field :devices, { list: 'UserDevice' }
130
116
  field :education, { list: 'object' }
131
117
  field :email, 'string'
132
- field :employee_number, 'string'
133
118
  field :favorite_athletes, { list: 'Experience' }
134
119
  field :favorite_teams, { list: 'Experience' }
135
120
  field :first_name, 'string'
@@ -179,6 +164,7 @@ module FacebookAds
179
164
  field :work, { list: 'object' }
180
165
 
181
166
  has_edge :access_tokens do |edge|
167
+ edge.delete
182
168
  edge.post 'User' do |api|
183
169
  api.has_param :business_app, 'int'
184
170
  api.has_param :page_id, 'string'
@@ -186,14 +172,8 @@ module FacebookAds
186
172
  end
187
173
  end
188
174
 
189
- has_edge :accesstokens do |edge|
190
- edge.delete
191
- end
192
-
193
175
  has_edge :accounts do |edge|
194
176
  edge.get 'Page' do |api|
195
- api.has_param :business_id, 'string'
196
- api.has_param :is_business, 'bool'
197
177
  api.has_param :is_place, 'bool'
198
178
  api.has_param :is_promotable, 'bool'
199
179
  end
@@ -308,6 +288,10 @@ module FacebookAds
308
288
  edge.get 'Business'
309
289
  end
310
290
 
291
+ has_edge :custom_labels do |edge|
292
+ edge.get 'PageUserMessageThreadLabel'
293
+ end
294
+
311
295
  has_edge :events do |edge|
312
296
  edge.get 'Event' do |api|
313
297
  api.has_param :include_canceled, 'bool'
@@ -469,7 +453,7 @@ module FacebookAds
469
453
  end
470
454
  end
471
455
 
472
- has_edge :games.achieves do |edge|
456
+ has_edge :games_achieves do |edge|
473
457
  edge.post do |api|
474
458
  api.has_param :added, 'string'
475
459
  api.has_param :alias, 'string'
@@ -505,15 +489,7 @@ module FacebookAds
505
489
  end
506
490
  end
507
491
 
508
- has_edge :games_stats do |edge|
509
- edge.post do |api|
510
- api.has_param :inc, 'int'
511
- api.has_param :set, 'int'
512
- api.has_param :stat_name, 'string'
513
- end
514
- end
515
-
516
- has_edge :gamesplays do |edge|
492
+ has_edge :games_plays do |edge|
517
493
  edge.post do |api|
518
494
  api.has_param :added, 'string'
519
495
  api.has_param :alias, 'string'
@@ -549,6 +525,14 @@ module FacebookAds
549
525
  end
550
526
  end
551
527
 
528
+ has_edge :games_stats do |edge|
529
+ edge.post do |api|
530
+ api.has_param :inc, 'int'
531
+ api.has_param :set, 'int'
532
+ api.has_param :stat_name, 'string'
533
+ end
534
+ end
535
+
552
536
  has_edge :groups do |edge|
553
537
  edge.get 'Group' do |api|
554
538
  api.has_param :admin_only, 'bool'
@@ -574,6 +558,17 @@ module FacebookAds
574
558
  end
575
559
  end
576
560
 
561
+ has_edge :insights do |edge|
562
+ edge.get 'InsightsResult' do |api|
563
+ api.has_param :date_preset, { enum: -> { InsightsResult::DATE_PRESET }}
564
+ api.has_param :metric, { list: 'object' }
565
+ api.has_param :period, { enum: -> { InsightsResult::PERIOD }}
566
+ api.has_param :show_description_from_api_doc, 'bool'
567
+ api.has_param :since, 'datetime'
568
+ api.has_param :until, 'datetime'
569
+ end
570
+ end
571
+
577
572
  has_edge :likes do |edge|
578
573
  edge.get 'Page' do |api|
579
574
  api.has_param :target_id, 'string'
@@ -632,21 +627,6 @@ module FacebookAds
632
627
  end
633
628
  end
634
629
 
635
- has_edge :moments_link_invite_convert do |edge|
636
- edge.post 'User' do |api|
637
- api.has_param :encoded_invite_id, 'string'
638
- api.has_param :funnel_id, 'string'
639
- api.has_param :invite_nonce, 'string'
640
- api.has_param :invite_source, 'string'
641
- end
642
- end
643
-
644
- has_edge :moments_universal_link_invite do |edge|
645
- edge.post 'User' do |api|
646
- api.has_param :invite_url, 'string'
647
- end
648
- end
649
-
650
630
  has_edge :movies do |edge|
651
631
  edge.get 'Page' do |api|
652
632
  api.has_param :target_id, 'string'
@@ -672,12 +652,6 @@ module FacebookAds
672
652
  end
673
653
  end
674
654
 
675
- has_edge :payment_currencies do |edge|
676
- edge.post 'User' do |api|
677
- api.has_param :currency, 'string'
678
- end
679
- end
680
-
681
655
  has_edge :permissions do |edge|
682
656
  edge.delete do |api|
683
657
  api.has_param :permission, 'string'
@@ -781,6 +755,14 @@ module FacebookAds
781
755
  end
782
756
  end
783
757
 
758
+ has_edge :posts do |edge|
759
+ edge.get 'Post' do |api|
760
+ api.has_param :include_hidden, 'bool'
761
+ api.has_param :show_expired, 'bool'
762
+ api.has_param :with, { enum: -> { Post::WITH }}
763
+ end
764
+ end
765
+
784
766
  has_edge :promotable_domains do |edge|
785
767
  edge.get 'Domain'
786
768
  end