facebookbusiness 0.3.3.3 → 0.3.3.4

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 (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