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
@@ -70,6 +70,7 @@ module FacebookAds
70
70
  field :first_party_cookie_status, 'string'
71
71
  field :id, 'string'
72
72
  field :is_created_by_business, 'bool'
73
+ field :is_unavailable, 'bool'
73
74
  field :last_fired_time, 'datetime'
74
75
  field :name, 'string'
75
76
  field :owner_ad_account, 'AdAccount'
@@ -78,14 +79,12 @@ module FacebookAds
78
79
 
79
80
  has_edge :assigned_users do |edge|
80
81
  edge.delete do |api|
81
- api.has_param :business, 'string'
82
82
  api.has_param :user, 'int'
83
83
  end
84
84
  edge.get 'AssignedUser' do |api|
85
85
  api.has_param :business, 'string'
86
86
  end
87
87
  edge.post 'AdsPixel' do |api|
88
- api.has_param :business, 'string'
89
88
  api.has_param :tasks, { list: { enum: -> { AdsPixel::TASKS }} }
90
89
  api.has_param :user, 'int'
91
90
  end
@@ -170,6 +170,7 @@ module FacebookAds
170
170
  field :property_id, 'string'
171
171
  field :real_time_mode_devices, { list: 'string' }
172
172
  field :restrictions, 'object'
173
+ field :restrictive_data_filter_params, 'string'
173
174
  field :restrictive_data_filter_rules, 'string'
174
175
  field :sdk_update_message, 'string'
175
176
  field :seamless_login, 'int'
@@ -277,6 +278,10 @@ module FacebookAds
277
278
  end
278
279
  end
279
280
 
281
+ has_edge :agencies do |edge|
282
+ edge.get 'Business'
283
+ end
284
+
280
285
  has_edge :app_event_types do |edge|
281
286
  edge.get
282
287
  end
@@ -60,6 +60,8 @@ module FacebookAds
60
60
  PERMITTED_TASKS = [
61
61
  "ADVERTISE",
62
62
  "ANALYZE",
63
+ "CREATIVE",
64
+ "FB_EMPLOYEE_DSO_ADVERTISE",
63
65
  "MANAGE",
64
66
  ]
65
67
 
@@ -317,6 +319,19 @@ module FacebookAds
317
319
  edge.get 'Business'
318
320
  end
319
321
 
322
+ has_edge :creative_folders do |edge|
323
+ edge.get 'BusinessCreativeFolder'
324
+ edge.post 'BusinessCreativeFolder' do |api|
325
+ api.has_param :name, 'string'
326
+ end
327
+ end
328
+
329
+ has_edge :creatives do |edge|
330
+ edge.get 'BusinessCreative' do |api|
331
+ api.has_param :creative_folder_id, 'string'
332
+ end
333
+ end
334
+
320
335
  has_edge :customconversions do |edge|
321
336
  edge.get 'CustomConversion' do |api|
322
337
  api.has_param :include_archived, 'bool'
@@ -354,6 +369,14 @@ module FacebookAds
354
369
  edge.get 'ExtendedCredit'
355
370
  end
356
371
 
372
+ has_edge :images do |edge|
373
+ edge.post do |api|
374
+ api.has_param :bytes, 'object'
375
+ api.has_param :creative_folder_id, 'string'
376
+ api.has_param :name, 'string'
377
+ end
378
+ end
379
+
357
380
  has_edge :initiated_sharing_agreements do |edge|
358
381
  edge.get 'BusinessAgreement' do |api|
359
382
  api.has_param :receiving_business_id, 'string'
@@ -469,10 +492,6 @@ module FacebookAds
469
492
  end
470
493
  end
471
494
 
472
- has_edge :partners do |edge|
473
- edge.get 'Business'
474
- end
475
-
476
495
  has_edge :pending_client_ad_accounts do |edge|
477
496
  edge.get 'BusinessAdAccountRequest'
478
497
  end
@@ -497,6 +516,10 @@ module FacebookAds
497
516
  edge.get 'BusinessPageRequest'
498
517
  end
499
518
 
519
+ has_edge :pending_shared_creative_folders do |edge|
520
+ edge.get 'BusinessCreativeFolder'
521
+ end
522
+
500
523
  has_edge :pending_shared_pixels do |edge|
501
524
  edge.get 'AdsPixel'
502
525
  end
@@ -578,5 +601,81 @@ module FacebookAds
578
601
  end
579
602
  end
580
603
 
604
+ has_edge :videos do |edge|
605
+ edge.post 'AdVideo' do |api|
606
+ api.has_param :adaptive_type, 'string'
607
+ api.has_param :animated_effect_id, 'int'
608
+ api.has_param :application_id, 'string'
609
+ api.has_param :asked_fun_fact_prompt_id, 'int'
610
+ api.has_param :attribution_app_id, 'string'
611
+ api.has_param :audio_story_wave_animation_handle, 'string'
612
+ api.has_param :chunk_session_id, 'string'
613
+ api.has_param :composer_entry_picker, 'string'
614
+ api.has_param :composer_entry_point, 'string'
615
+ api.has_param :composer_entry_time, 'int'
616
+ api.has_param :composer_session_events_log, 'string'
617
+ api.has_param :composer_session_id, 'string'
618
+ api.has_param :composer_source_surface, 'string'
619
+ api.has_param :composer_type, 'string'
620
+ api.has_param :container_type, { enum: -> { AdVideo::CONTAINER_TYPE }}
621
+ api.has_param :content_category, { enum: -> { AdVideo::CONTENT_CATEGORY }}
622
+ api.has_param :creative_folder_id, 'string'
623
+ api.has_param :description, 'string'
624
+ api.has_param :embeddable, 'bool'
625
+ api.has_param :end_offset, 'int'
626
+ api.has_param :fbuploader_video_file_chunk, 'string'
627
+ api.has_param :file_size, 'int'
628
+ api.has_param :file_url, 'string'
629
+ api.has_param :fisheye_video_cropped, 'bool'
630
+ api.has_param :formatting, { enum: -> { AdVideo::FORMATTING }}
631
+ api.has_param :fov, 'int'
632
+ api.has_param :front_z_rotation, 'double'
633
+ api.has_param :fun_fact_prompt_id, 'int'
634
+ api.has_param :fun_fact_toastee_id, 'int'
635
+ api.has_param :guide, { list: { list: 'int' } }
636
+ api.has_param :guide_enabled, 'bool'
637
+ api.has_param :has_nickname, 'bool'
638
+ api.has_param :holiday_card, 'string'
639
+ api.has_param :initial_heading, 'int'
640
+ api.has_param :initial_pitch, 'int'
641
+ api.has_param :instant_game_entry_point_data, 'string'
642
+ api.has_param :is_boost_intended, 'bool'
643
+ api.has_param :is_group_linking_post, 'bool'
644
+ api.has_param :is_voice_clip, 'bool'
645
+ api.has_param :location_source_id, 'string'
646
+ api.has_param :offer_like_post_id, 'int'
647
+ api.has_param :og_action_type_id, 'string'
648
+ api.has_param :og_icon_id, 'string'
649
+ api.has_param :og_object_id, 'string'
650
+ api.has_param :og_phrase, 'string'
651
+ api.has_param :og_suggestion_mechanism, 'string'
652
+ api.has_param :original_fov, 'int'
653
+ api.has_param :original_projection_type, { enum: -> { AdVideo::ORIGINAL_PROJECTION_TYPE }}
654
+ api.has_param :publish_event_id, 'int'
655
+ api.has_param :react_mode_metadata, 'string'
656
+ api.has_param :referenced_sticker_id, 'string'
657
+ api.has_param :replace_video_id, 'string'
658
+ api.has_param :sales_promo_id, 'int'
659
+ api.has_param :slideshow_spec, 'hash'
660
+ api.has_param :source, 'string'
661
+ api.has_param :spherical, 'bool'
662
+ api.has_param :start_offset, 'int'
663
+ api.has_param :swap_mode, { enum: -> { AdVideo::SWAP_MODE }}
664
+ api.has_param :text_format_metadata, 'string'
665
+ api.has_param :throwback_camera_roll_media, 'string'
666
+ api.has_param :thumb, 'file'
667
+ api.has_param :time_since_original_post, 'int'
668
+ api.has_param :title, 'string'
669
+ api.has_param :transcode_setting_properties, 'string'
670
+ api.has_param :unpublished_content_type, { enum: -> { AdVideo::UNPUBLISHED_CONTENT_TYPE }}
671
+ api.has_param :upload_phase, { enum: -> { AdVideo::UPLOAD_PHASE }}
672
+ api.has_param :upload_session_id, 'string'
673
+ api.has_param :upload_setting_properties, 'string'
674
+ api.has_param :video_file_chunk, 'string'
675
+ api.has_param :video_start_time_ms, 'int'
676
+ api.has_param :waterfall_id, 'string'
677
+ end
678
+ end
679
+
581
680
  end
582
681
  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-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 BusinessCreative < AdObject
29
+
30
+ field :creation_time, 'datetime'
31
+ field :duration, 'int'
32
+ field :hash, 'string'
33
+ field :height, 'int'
34
+ field :id, 'string'
35
+ field :name, 'string'
36
+ field :thumbnail, 'string'
37
+ field :type, 'string'
38
+ field :url, 'string'
39
+ field :video_id, 'string'
40
+ field :width, 'int'
41
+ has_no_get
42
+ has_no_post
43
+ has_no_delete
44
+
45
+ end
46
+ end
@@ -0,0 +1,76 @@
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 BusinessCreativeFolder < AdObject
29
+ PERMITTED_TASKS = [
30
+ "CREATE_CONTENT",
31
+ "MANAGE_CONTENT",
32
+ "MANAGE_PERMISSIONS",
33
+ "VIEW_CONTENT",
34
+ "VIEW_INSIGHTS",
35
+ ]
36
+
37
+ TASKS = [
38
+ "CREATE_CONTENT",
39
+ "MANAGE_CONTENT",
40
+ "MANAGE_PERMISSIONS",
41
+ "VIEW_CONTENT",
42
+ "VIEW_INSIGHTS",
43
+ ]
44
+
45
+
46
+ field :business, 'Business'
47
+ field :creation_time, 'datetime'
48
+ field :id, 'string'
49
+ field :name, 'string'
50
+
51
+ has_edge :agencies do |edge|
52
+ edge.delete do |api|
53
+ api.has_param :business, 'string'
54
+ end
55
+ edge.get 'Business'
56
+ edge.post 'BusinessCreativeFolder' do |api|
57
+ api.has_param :business, 'string'
58
+ api.has_param :permitted_tasks, { list: { enum: -> { BusinessCreativeFolder::PERMITTED_TASKS }} }
59
+ end
60
+ end
61
+
62
+ has_edge :assigned_users do |edge|
63
+ edge.delete do |api|
64
+ api.has_param :user, 'int'
65
+ end
66
+ edge.get 'AssignedUser' do |api|
67
+ api.has_param :business, 'string'
68
+ end
69
+ edge.post 'BusinessCreativeFolder' do |api|
70
+ api.has_param :tasks, { list: { enum: -> { BusinessCreativeFolder::TASKS }} }
71
+ api.has_param :user, 'int'
72
+ end
73
+ end
74
+
75
+ end
76
+ 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-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 BusinessImage < AdObject
29
+
30
+ field :business, 'Business'
31
+ field :creation_time, 'datetime'
32
+ field :hash, 'string'
33
+ field :height, 'int'
34
+ field :id, 'string'
35
+ field :name, 'string'
36
+ field :url, 'string'
37
+ field :url_128, 'string'
38
+ field :width, 'int'
39
+ has_no_post
40
+
41
+ has_edge :insights do |edge|
42
+ edge.get
43
+ end
44
+
45
+ end
46
+ end
@@ -25,14 +25,14 @@ 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 AdCreativeOptimizationSpec < AdObject
28
+ class CollaborativeAdsShareSettings < AdObject
29
29
 
30
- field :bodies, { list: 'string' }
31
- field :descriptions, { list: 'string' }
32
- field :titles, { list: 'string' }
33
- has_no_id
34
- has_no_get
35
- has_no_post
30
+ field :agency_business, 'Business'
31
+ field :id, 'string'
32
+ field :product_catalog_proxy_id, 'string'
33
+ field :utm_campaign, 'string'
34
+ field :utm_medium, 'string'
35
+ field :utm_source, 'string'
36
36
  has_no_delete
37
37
 
38
38
  end
@@ -89,12 +89,7 @@ module FacebookAds
89
89
  edge.get 'Profile'
90
90
  end
91
91
 
92
- has_edge :comments do |edge|
93
- edge.get 'NullNode'
94
- end
95
-
96
92
  has_edge :feed do |edge|
97
- edge.get 'NullNode'
98
93
  edge.post do |api|
99
94
  api.has_param :actions, 'object'
100
95
  api.has_param :adaptive_type, 'string'
@@ -212,7 +207,6 @@ module FacebookAds
212
207
  end
213
208
 
214
209
  has_edge :live_videos do |edge|
215
- edge.get 'NullNode'
216
210
  edge.post 'LiveVideo' do |api|
217
211
  api.has_param :attribution_app_id, 'string'
218
212
  api.has_param :content_tags, { list: 'string' }
@@ -240,7 +234,6 @@ module FacebookAds
240
234
  end
241
235
 
242
236
  has_edge :photos do |edge|
243
- edge.get 'NullNode'
244
237
  edge.post 'Photo' do |api|
245
238
  api.has_param :aid, 'string'
246
239
  api.has_param :allow_spherical_photo, 'bool'
@@ -297,20 +290,17 @@ module FacebookAds
297
290
  end
298
291
 
299
292
  has_edge :picture do |edge|
300
- edge.get 'NullNode'
301
- end
302
-
303
- has_edge :posts do |edge|
304
- edge.get 'NullNode'
293
+ edge.get 'ProfilePictureSource' do |api|
294
+ api.has_param :height, 'int'
295
+ api.has_param :redirect, 'bool'
296
+ api.has_param :type, { enum: -> { ProfilePictureSource::TYPE }}
297
+ api.has_param :width, 'int'
298
+ end
305
299
  end
306
300
 
307
301
  has_edge :roles do |edge|
308
302
  edge.get 'Profile'
309
303
  end
310
304
 
311
- has_edge :videos do |edge|
312
- edge.get 'NullNode'
313
- end
314
-
315
305
  end
316
306
  end
@@ -26,11 +26,6 @@ module FacebookAds
26
26
  # pull request for this class.
27
27
 
28
28
  class EventSourceGroup < AdObject
29
- TASKS = [
30
- "ANALYZE",
31
- "ANALYZE_WITH_LIMITATIONS",
32
- ]
33
-
34
29
 
35
30
  field :business, 'Business'
36
31
  field :event_sources, { list: 'ExternalEventSource' }
@@ -45,18 +40,5 @@ module FacebookAds
45
40
  end
46
41
  end
47
42
 
48
- has_edge :userpermissions do |edge|
49
- edge.delete do |api|
50
- api.has_param :user, 'int'
51
- end
52
- edge.get do |api|
53
- api.has_param :user, 'int'
54
- end
55
- edge.post 'EventSourceGroup' do |api|
56
- api.has_param :tasks, { list: { enum: -> { EventSourceGroup::TASKS }} }
57
- api.has_param :user, 'int'
58
- end
59
- end
60
-
61
43
  end
62
44
  end