facebookbusiness 0.6.0.2 → 0.7.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (90) hide show
  1. checksums.yaml +4 -4
  2. data/lib/facebook_ads/ad_objects/ad.rb +0 -1
  3. data/lib/facebook_ads/ad_objects/ad_account.rb +5 -23
  4. data/lib/facebook_ads/ad_objects/ad_account_activity.rb +3 -5
  5. data/lib/facebook_ads/ad_objects/ad_account_creation_request.rb +0 -1
  6. data/lib/facebook_ads/ad_objects/ad_account_targeting_unified.rb +3 -0
  7. data/lib/facebook_ads/ad_objects/ad_activity.rb +1 -0
  8. data/lib/facebook_ads/ad_objects/ad_asset_feed_spec.rb +6 -0
  9. data/lib/facebook_ads/ad_objects/ad_campaign_activity.rb +4 -2
  10. data/lib/facebook_ads/ad_objects/ad_creative.rb +11 -3
  11. data/lib/facebook_ads/ad_objects/{custom_audience_prefill_state.rb → ad_creative_ad_disclaimer.rb} +4 -4
  12. data/lib/facebook_ads/ad_objects/ad_creative_link_data_call_to_action.rb +5 -0
  13. data/lib/facebook_ads/ad_objects/ad_creative_video_data.rb +1 -0
  14. data/lib/facebook_ads/ad_objects/ad_customization_rule_spec.rb +2 -0
  15. data/lib/facebook_ads/ad_objects/ad_network_analytics_sync_query_result.rb +3 -0
  16. data/lib/facebook_ads/ad_objects/ad_place_page_set.rb +1 -0
  17. data/lib/facebook_ads/ad_objects/ad_preview.rb +2 -0
  18. data/lib/facebook_ads/ad_objects/ad_report_run.rb +2 -0
  19. data/lib/facebook_ads/ad_objects/ad_set.rb +9 -2
  20. data/lib/facebook_ads/ad_objects/ad_video.rb +3 -0
  21. data/lib/facebook_ads/ad_objects/adgroup_activity.rb +4 -4
  22. data/lib/facebook_ads/ad_objects/adgroup_placement_specific_review_feedback.rb +2 -0
  23. data/lib/facebook_ads/ad_objects/ads_insights.rb +6 -0
  24. data/lib/facebook_ads/ad_objects/album.rb +7 -0
  25. data/lib/facebook_ads/ad_objects/application.rb +0 -12
  26. data/lib/facebook_ads/ad_objects/automotive_model.rb +1 -0
  27. data/lib/facebook_ads/ad_objects/business.rb +24 -7
  28. data/lib/facebook_ads/ad_objects/{video_game_show.rb → business_agreement.rb} +8 -8
  29. data/lib/facebook_ads/ad_objects/business_asset_group.rb +0 -3
  30. data/lib/facebook_ads/ad_objects/business_creative_folder.rb +0 -3
  31. data/lib/facebook_ads/ad_objects/business_image.rb +1 -0
  32. data/lib/facebook_ads/ad_objects/business_owned_object_on_behalf_of_request.rb +1 -0
  33. data/lib/facebook_ads/ad_objects/business_role_request.rb +1 -0
  34. data/lib/facebook_ads/ad_objects/business_user.rb +1 -0
  35. data/lib/facebook_ads/ad_objects/campaign.rb +11 -5
  36. data/lib/facebook_ads/ad_objects/catalog_item_app_links.rb +44 -0
  37. data/lib/facebook_ads/ad_objects/catalog_item_appeal_status.rb +1 -1
  38. data/lib/facebook_ads/ad_objects/comment.rb +1 -0
  39. data/lib/facebook_ads/ad_objects/commerce_merchant_settings.rb +99 -0
  40. data/lib/facebook_ads/ad_objects/{request_history.rb → commerce_merchant_settings_setup_status.rb} +6 -14
  41. data/lib/facebook_ads/ad_objects/commerce_order.rb +147 -0
  42. data/lib/facebook_ads/ad_objects/commerce_order_transaction_detail.rb +48 -0
  43. data/lib/facebook_ads/ad_objects/commerce_payout.rb +41 -0
  44. data/lib/facebook_ads/ad_objects/content_delivery_report.rb +3 -0
  45. data/lib/facebook_ads/ad_objects/copyright_reference_container.rb +0 -1
  46. data/lib/facebook_ads/ad_objects/cpas_parent_catalog_settings.rb +1 -0
  47. data/lib/facebook_ads/ad_objects/custom_audience.rb +1 -4
  48. data/lib/facebook_ads/ad_objects/custom_conversion.rb +1 -0
  49. data/lib/facebook_ads/ad_objects/destination.rb +1 -0
  50. data/lib/facebook_ads/ad_objects/event.rb +1 -0
  51. data/lib/facebook_ads/ad_objects/flight.rb +1 -0
  52. data/lib/facebook_ads/ad_objects/group.rb +2 -36
  53. data/lib/facebook_ads/ad_objects/home_listing.rb +1 -0
  54. data/lib/facebook_ads/ad_objects/hotel.rb +1 -1
  55. data/lib/facebook_ads/ad_objects/hotel_room.rb +1 -0
  56. data/lib/facebook_ads/ad_objects/ig_user.rb +2 -0
  57. data/lib/facebook_ads/ad_objects/life_event.rb +0 -4
  58. data/lib/facebook_ads/ad_objects/media_fingerprint.rb +0 -6
  59. data/lib/facebook_ads/ad_objects/messenger_profile.rb +0 -1
  60. data/lib/facebook_ads/ad_objects/offline_conversion_data_set.rb +0 -6
  61. data/lib/facebook_ads/ad_objects/open_graph_context.rb +0 -12
  62. data/lib/facebook_ads/ad_objects/page.rb +114 -53
  63. data/lib/facebook_ads/ad_objects/page_call_to_action.rb +10 -0
  64. data/lib/facebook_ads/ad_objects/page_post.rb +13 -49
  65. data/lib/facebook_ads/ad_objects/partner_study.rb +0 -4
  66. data/lib/facebook_ads/ad_objects/post.rb +11 -2
  67. data/lib/facebook_ads/ad_objects/product_catalog.rb +10 -18
  68. data/lib/facebook_ads/ad_objects/product_feed.rb +1 -0
  69. data/lib/facebook_ads/ad_objects/{business_pixel_tos.rb → product_feed_upload_diagnostics_report.rb} +5 -3
  70. data/lib/facebook_ads/ad_objects/product_item.rb +1 -0
  71. data/lib/facebook_ads/ad_objects/profile.rb +1 -0
  72. data/lib/facebook_ads/ad_objects/publisher_block_list.rb +0 -6
  73. data/lib/facebook_ads/ad_objects/reach_frequency_prediction.rb +0 -1
  74. data/lib/facebook_ads/ad_objects/rtb_dynamic_post.rb +0 -4
  75. data/lib/facebook_ads/ad_objects/server_side/event.rb +62 -3
  76. data/lib/facebook_ads/ad_objects/server_side/user_data.rb +6 -0
  77. data/lib/facebook_ads/ad_objects/store_catalog_settings.rb +0 -1
  78. data/lib/facebook_ads/ad_objects/streaming_reaction.rb +1 -0
  79. data/lib/facebook_ads/ad_objects/system_user.rb +1 -0
  80. data/lib/facebook_ads/ad_objects/user.rb +0 -36
  81. data/lib/facebook_ads/ad_objects/vehicle.rb +1 -1
  82. data/lib/facebook_ads/ad_objects/vehicle_offer.rb +1 -0
  83. data/lib/facebook_ads/ad_objects/video_copyright.rb +0 -1
  84. data/lib/facebook_ads/ad_objects/whats_app_business_account.rb +4 -0
  85. data/lib/facebook_ads/version.rb +2 -2
  86. metadata +11 -10
  87. data/lib/facebook_ads/ad_objects/dynamic_item_display_bundle.rb +0 -43
  88. data/lib/facebook_ads/ad_objects/dynamic_item_display_bundle_folder.rb +0 -47
  89. data/lib/facebook_ads/ad_objects/instagram_comment.rb +0 -47
  90. data/lib/facebook_ads/ad_objects/open_graph_object.rb +0 -70
@@ -26,6 +26,10 @@ module FacebookAds
26
26
  # pull request for this class.
27
27
 
28
28
  class PagePost < AdObject
29
+ WITH = [
30
+ "LOCATION",
31
+ ]
32
+
29
33
  BACKDATED_TIME_GRANULARITY = [
30
34
  "day",
31
35
  "hour",
@@ -35,55 +39,6 @@ module FacebookAds
35
39
  "year",
36
40
  ]
37
41
 
38
- CHECKIN_ENTRY_POINT = [
39
- "BRANDING_CHECKIN",
40
- "BRANDING_OTHER",
41
- "BRANDING_PHOTO",
42
- "BRANDING_STATUS",
43
- ]
44
-
45
- FORMATTING = [
46
- "MARKDOWN",
47
- "PLAINTEXT",
48
- ]
49
-
50
- PLACE_ATTACHMENT_SETTING = [
51
- "1",
52
- "2",
53
- ]
54
-
55
- POST_SURFACES_BLACKLIST = [
56
- "1",
57
- "2",
58
- "3",
59
- "4",
60
- "5",
61
- ]
62
-
63
- POSTING_TO_REDSPACE = [
64
- "disabled",
65
- "enabled",
66
- ]
67
-
68
- TARGET_SURFACE = [
69
- "STORY",
70
- "TIMELINE",
71
- ]
72
-
73
- UNPUBLISHED_CONTENT_TYPE = [
74
- "ADS_POST",
75
- "DRAFT",
76
- "INLINE_CREATED",
77
- "PUBLISHED",
78
- "REVIEWABLE_BRANDED_CONTENT",
79
- "SCHEDULED",
80
- "SCHEDULED_RECURRING",
81
- ]
82
-
83
- WITH = [
84
- "LOCATION",
85
- ]
86
-
87
42
  FEED_STORY_VISIBILITY = [
88
43
  "hidden",
89
44
  "visible",
@@ -107,24 +62,30 @@ module FacebookAds
107
62
  field :comments_mirroring_domain, 'string'
108
63
  field :coordinates, 'object'
109
64
  field :created_time, 'datetime'
65
+ field :delivery_growth_optimizations, { list: 'string' }
66
+ field :entities, 'object'
110
67
  field :event, 'Event'
111
68
  field :expanded_height, 'int'
112
69
  field :expanded_width, 'int'
113
70
  field :feed_targeting, 'object'
71
+ field :formatting, 'string'
114
72
  field :from, 'object'
115
73
  field :full_picture, 'string'
116
74
  field :height, 'int'
117
75
  field :icon, 'string'
118
76
  field :id, 'string'
77
+ field :implicit_place, 'Place'
119
78
  field :instagram_eligibility, 'string'
120
79
  field :is_app_share, 'bool'
121
80
  field :is_eligible_for_promotion, 'bool'
122
81
  field :is_expired, 'bool'
123
82
  field :is_hidden, 'bool'
83
+ field :is_inline_created, 'bool'
124
84
  field :is_instagram_eligible, 'bool'
125
85
  field :is_popular, 'bool'
126
86
  field :is_published, 'bool'
127
87
  field :is_spherical, 'bool'
88
+ field :live_video_eligibility, { list: 'string' }
128
89
  field :message, 'string'
129
90
  field :message_tags, { list: 'string' }
130
91
  field :multi_share_end_card, 'bool'
@@ -137,6 +98,7 @@ module FacebookAds
137
98
  field :promotable_id, 'string'
138
99
  field :promotion_status, 'string'
139
100
  field :properties, { list: 'string' }
101
+ field :publishing_stats, 'int'
140
102
  field :scheduled_publish_time, 'double'
141
103
  field :shares, 'object'
142
104
  field :status_type, 'string'
@@ -146,10 +108,12 @@ module FacebookAds
146
108
  field :target, 'Profile'
147
109
  field :targeting, 'object'
148
110
  field :timeline_visibility, 'string'
111
+ field :translations, 'hash'
149
112
  field :updated_time, 'datetime'
150
113
  field :via, 'object'
151
114
  field :video_buying_eligibility, { list: 'string' }
152
115
  field :width, 'int'
116
+ field :will_be_autocropped_when_deliver_to_instagram, 'bool'
153
117
 
154
118
  has_edge :attachments do |edge|
155
119
  edge.get
@@ -48,9 +48,5 @@ module FacebookAds
48
48
  has_no_post
49
49
  has_no_delete
50
50
 
51
- has_edge :submitters do |edge|
52
- edge.get 'User'
53
- end
54
-
55
51
  end
56
52
  end
@@ -59,26 +59,32 @@ module FacebookAds
59
59
  field :comments_mirroring_domain, 'string'
60
60
  field :coordinates, 'object'
61
61
  field :created_time, 'datetime'
62
+ field :delivery_growth_optimizations, { list: 'string' }
62
63
  field :description, 'string'
64
+ field :entities, 'object'
63
65
  field :event, 'Event'
64
66
  field :expanded_height, 'int'
65
67
  field :expanded_width, 'int'
66
68
  field :feed_targeting, 'object'
69
+ field :formatting, 'string'
67
70
  field :from, 'object'
68
71
  field :full_picture, 'string'
69
72
  field :height, 'int'
70
73
  field :icon, 'string'
71
74
  field :id, 'string'
75
+ field :implicit_place, 'Place'
72
76
  field :instagram_eligibility, 'string'
73
77
  field :is_app_share, 'bool'
74
78
  field :is_eligible_for_promotion, 'bool'
75
79
  field :is_expired, 'bool'
76
80
  field :is_hidden, 'bool'
81
+ field :is_inline_created, 'bool'
77
82
  field :is_instagram_eligible, 'bool'
78
83
  field :is_popular, 'bool'
79
84
  field :is_published, 'bool'
80
85
  field :is_spherical, 'bool'
81
86
  field :link, 'string'
87
+ field :live_video_eligibility, { list: 'string' }
82
88
  field :message, 'string'
83
89
  field :message_tags, { list: 'string' }
84
90
  field :multi_share_end_card, 'bool'
@@ -93,6 +99,7 @@ module FacebookAds
93
99
  field :promotable_id, 'string'
94
100
  field :promotion_status, 'string'
95
101
  field :properties, { list: 'string' }
102
+ field :publishing_stats, 'int'
96
103
  field :scheduled_publish_time, 'double'
97
104
  field :shares, 'object'
98
105
  field :source, 'string'
@@ -103,11 +110,13 @@ module FacebookAds
103
110
  field :target, 'Profile'
104
111
  field :targeting, 'object'
105
112
  field :timeline_visibility, 'string'
113
+ field :translations, 'hash'
106
114
  field :type, 'string'
107
115
  field :updated_time, 'datetime'
108
116
  field :via, 'object'
109
117
  field :video_buying_eligibility, { list: 'string' }
110
118
  field :width, 'int'
119
+ field :will_be_autocropped_when_deliver_to_instagram, 'bool'
111
120
 
112
121
  has_edge :attachments do |edge|
113
122
  edge.get
@@ -165,11 +174,11 @@ module FacebookAds
165
174
  edge.post do |api|
166
175
  api.has_param :ad_account_id, 'string'
167
176
  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 HEC_AUDIENCE IG_PROMOTED_POST_AUTO LOCAL LOOKALIKE MULT_CUSTOM_AUDIENCES NCPP SAVED_AUDIENCE SMART_AUDIENCE }}
177
+ api.has_param :audience, { enum: %w{AUTO_LOOKALIKE AUTO_PAGE_LOOKALIKE AUTO_TARGETING COUNTRY_AND_INTEREST CREATE_NEW CUSTOM_AUDIENCE DISTRICT EVENT_CUSTOM_AUDIENCES EVENT_ENGAGEMENT FANS GROUPER HEC_AUDIENCE IG_PROMOTED_POST_AUTO LOCAL LOOKALIKE MARKETPLACE_DEFAULT MULT_CUSTOM_AUDIENCES NCPP SAVED_AUDIENCE SMART_AUDIENCE }}
169
178
  api.has_param :audience_id, 'string'
170
179
  api.has_param :bid_amount, 'int'
171
180
  api.has_param :budget, 'int'
172
- api.has_param :cta_type, { enum: %w{ADD_TO_CART APPLY_NOW BOOK_TRAVEL BUY BUY_NOW BUY_TICKETS CALL CALL_ME CONTACT CONTACT_US DONATE DONATE_NOW DOWNLOAD EVENT_RSVP FIND_A_GROUP FIND_YOUR_GROUPS FOLLOW_NEWS_STORYLINE GET_DIRECTIONS GET_OFFER GET_OFFER_VIEW GET_QUOTE GET_SHOWTIMES INSTALL_APP INSTALL_MOBILE_APP LEARN_MORE LIKE_PAGE LISTEN_MUSIC LISTEN_NOW MESSAGE_PAGE MOBILE_DOWNLOAD MOMENTS NO_BUTTON OPEN_LINK ORDER_NOW PLAY_GAME RECORD_NOW SAY_THANKS SEE_MORE SELL_NOW SHARE SHOP_NOW SIGN_UP SOTTO_SUBSCRIBE SUBSCRIBE UPDATE_APP USE_APP USE_MOBILE_APP VIDEO_ANNOTATION VISIT_PAGES_FEED WATCH_MORE WATCH_VIDEO WHATSAPP_MESSAGE WOODHENGE_SUPPORT }}
181
+ api.has_param :cta_type, { enum: %w{ADD_TO_CART APPLY_NOW BOOK_TRAVEL BUY BUY_NOW BUY_TICKETS CALL CALL_ME CONTACT CONTACT_US DONATE DONATE_NOW DOWNLOAD EVENT_RSVP FIND_A_GROUP FIND_YOUR_GROUPS FOLLOW_NEWS_STORYLINE FOLLOW_PAGE FOLLOW_USER GET_DIRECTIONS GET_OFFER GET_OFFER_VIEW GET_QUOTE GET_SHOWTIMES INSTALL_APP INSTALL_MOBILE_APP LEARN_MORE LIKE_PAGE LISTEN_MUSIC LISTEN_NOW MESSAGE_PAGE MOBILE_DOWNLOAD MOMENTS NO_BUTTON OPEN_LINK ORDER_NOW PAY_TO_ACCESS PLAY_GAME PURCHASE_GIFT_CARDS RECORD_NOW REQUEST_TIME SAY_THANKS SEE_MORE SELL_NOW SHARE SHOP_NOW SIGN_UP SOTTO_SUBSCRIBE SUBSCRIBE UPDATE_APP USE_APP USE_MOBILE_APP VIDEO_ANNOTATION VISIT_PAGES_FEED WATCH_MORE WATCH_VIDEO WHATSAPP_MESSAGE WOODHENGE_SUPPORT }}
173
182
  api.has_param :currency, 'string'
174
183
  api.has_param :flow_id, 'string'
175
184
  api.has_param :placement, 'string'
@@ -33,6 +33,8 @@ module FacebookAds
33
33
  "flights",
34
34
  "home_listings",
35
35
  "hotels",
36
+ "jobs",
37
+ "local_service_businesses",
36
38
  "offer_items",
37
39
  "offline_commerce",
38
40
  "ticketed_experiences",
@@ -61,7 +63,7 @@ module FacebookAds
61
63
 
62
64
 
63
65
  field :business, 'Business'
64
- field :cpas_parent_catalog_settings, 'CpasParentCatalogSettings'
66
+ field :commerce_merchant_settings, 'CommerceMerchantSettings'
65
67
  field :da_display_settings, 'ProductCatalogImageSettings'
66
68
  field :default_image_url, 'string'
67
69
  field :fallback_image_url, { list: 'string' }
@@ -74,6 +76,7 @@ module FacebookAds
74
76
  field :vertical, 'string'
75
77
  field :destination_catalog_settings, 'hash'
76
78
  field :flight_catalog_settings, 'hash'
79
+ field :onsite_commerce_merchant, 'object'
77
80
 
78
81
  has_edge :agencies do |edge|
79
82
  edge.delete do |api|
@@ -115,23 +118,6 @@ module FacebookAds
115
118
  end
116
119
  end
117
120
 
118
- has_edge :bundle_folders do |edge|
119
- edge.post 'DynamicItemDisplayBundleFolder' do |api|
120
- api.has_param :name, 'string'
121
- end
122
- end
123
-
124
- has_edge :bundles do |edge|
125
- edge.post 'DynamicItemDisplayBundle' do |api|
126
- api.has_param :additional_urls, 'hash'
127
- api.has_param :description, 'string'
128
- api.has_param :name, 'string'
129
- api.has_param :product_set, 'string'
130
- api.has_param :text_tokens, 'hash'
131
- api.has_param :url, 'string'
132
- end
133
- end
134
-
135
121
  has_edge :categories do |edge|
136
122
  edge.get 'ProductCatalogCategory' do |api|
137
123
  api.has_param :categorization_criteria, { enum: -> { ProductCatalogCategory::CATEGORIZATION_CRITERIA }}
@@ -251,6 +237,12 @@ module FacebookAds
251
237
  end
252
238
  end
253
239
 
240
+ has_edge :onsite_commerce_merchant do |edge|
241
+ edge.post 'ProductCatalog' do |api|
242
+ api.has_param :onsite_commerce_merchant, 'object'
243
+ end
244
+ end
245
+
254
246
  has_edge :pricing_variables_batch do |edge|
255
247
  edge.get 'ProductCatalogPricingVariablesBatch' do |api|
256
248
  api.has_param :handle, 'string'
@@ -61,6 +61,7 @@ module FacebookAds
61
61
  "LOCAL_INVENTORY",
62
62
  "MARKET",
63
63
  "MEDIA_TITLE",
64
+ "OFFER",
64
65
  "PRODUCTS",
65
66
  "VEHICLES",
66
67
  "VEHICLE_OFFER",
@@ -25,10 +25,12 @@ 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 BusinessPixelTos < AdObject
28
+ class ProductFeedUploadDiagnosticsReport < AdObject
29
29
 
30
- field :accept_time, 'int'
31
- field :id, 'string'
30
+ field :last_updated_time, 'string'
31
+ field :report_url, 'string'
32
+ has_no_id
33
+ has_no_get
32
34
  has_no_post
33
35
  has_no_delete
34
36
 
@@ -292,6 +292,7 @@ module FacebookAds
292
292
  field :additional_image_urls, { list: 'string' }
293
293
  field :additional_variant_attributes, 'hash'
294
294
  field :age_group, { enum: -> { AGE_GROUP }}
295
+ field :applinks, 'CatalogItemAppLinks'
295
296
  field :availability, { enum: -> { AVAILABILITY }}
296
297
  field :brand, 'string'
297
298
  field :capability_to_review_status, 'hash'
@@ -36,6 +36,7 @@ module FacebookAds
36
36
 
37
37
  TYPE = [
38
38
  "ANGRY",
39
+ "CARE",
39
40
  "HAHA",
40
41
  "LIKE",
41
42
  "LOVE",
@@ -38,12 +38,6 @@ module FacebookAds
38
38
  field :owner_ad_account_id, 'string'
39
39
  field :web_publishers, { list: 'object' }
40
40
 
41
- has_edge :paged_app_publishers do |edge|
42
- edge.get do |api|
43
- api.has_param :draft_id, 'string'
44
- end
45
- end
46
-
47
41
  has_edge :paged_web_publishers do |edge|
48
42
  edge.get do |api|
49
43
  api.has_param :draft_id, 'string'
@@ -139,7 +139,6 @@ module FacebookAds
139
139
  field :timezone_id, 'int'
140
140
  field :timezone_name, 'string'
141
141
  field :topline_id, 'int'
142
- field :tv_viewer_cluster_map, 'map<unsigned int, Object>'
143
142
  field :video_view_length_constraint, 'int'
144
143
  field :viewtag, 'string'
145
144
  field :action, { enum: -> { ACTION }}
@@ -50,10 +50,6 @@ module FacebookAds
50
50
  end
51
51
  end
52
52
 
53
- has_edge :instagram_comments do |edge|
54
- edge.get 'InstagramComment'
55
- end
56
-
57
53
  has_edge :likes do |edge|
58
54
  edge.get 'Profile'
59
55
  end
@@ -52,6 +52,17 @@ module FacebookAds
52
52
  # An Object that includes additional business data about the event.
53
53
  attr_accessor :custom_data
54
54
 
55
+ # Processing options you would like to enable for a specific event.
56
+ # For more details see https://developers.facebook.com/docs/marketing-apis/data-processing-options
57
+ attr_accessor :data_processing_options
58
+
59
+ # A country that you want to associate to this data processing option
60
+ # For more details see https://developers.facebook.com/docs/marketing-apis/data-processing-options
61
+ attr_accessor :data_processing_options_country
62
+
63
+ # A state that you want to associate with this data processing option.
64
+ # For more details see https://developers.facebook.com/docs/marketing-apis/data-processing-options
65
+ attr_accessor :data_processing_options_state
55
66
 
56
67
  # @param [String] event_name
57
68
  # @param [int] event_time
@@ -60,13 +71,19 @@ module FacebookAds
60
71
  # @param [String] event_id
61
72
  # @param [FacebookAds::ServerSide::UserData] user_data
62
73
  # @param [FacebookAds::ServerSide::CustomData] custom_data
74
+ # @param [Array<String>] data_processing_options
75
+ # @param [int] data_processing_options_country
76
+ # @param [int] data_processing_options_state
63
77
  def initialize(event_name: nil,
64
78
  event_time: nil,
65
79
  event_source_url: nil,
66
80
  opt_out: nil,
67
81
  event_id: nil,
68
82
  user_data: nil,
69
- custom_data: nil)
83
+ custom_data: nil,
84
+ data_processing_options: nil,
85
+ data_processing_options_country: nil,
86
+ data_processing_options_state: nil)
70
87
 
71
88
  unless event_name.nil?
72
89
  self.event_name = event_name
@@ -89,6 +106,15 @@ module FacebookAds
89
106
  unless custom_data.nil?
90
107
  self.custom_data = custom_data
91
108
  end
109
+ unless data_processing_options.nil?
110
+ self.data_processing_options = data_processing_options
111
+ end
112
+ unless data_processing_options_country.nil?
113
+ self.data_processing_options_country = data_processing_options_country
114
+ end
115
+ unless data_processing_options_state.nil?
116
+ self.data_processing_options_state = data_processing_options_state
117
+ end
92
118
  end
93
119
 
94
120
  # build the object using the input hash
@@ -126,6 +152,18 @@ module FacebookAds
126
152
  if attributes.has_key?(:'custom_data')
127
153
  self.custom_data = attributes[:'custom_data']
128
154
  end
155
+
156
+ if attributes.has_key?(:'data_processing_options')
157
+ self.custom_data = attributes[:'data_processing_options']
158
+ end
159
+
160
+ if attributes.has_key?(:'data_processing_options_country')
161
+ self.custom_data = attributes[:'data_processing_options_country']
162
+ end
163
+
164
+ if attributes.has_key?(:'data_processing_options_state')
165
+ self.custom_data = attributes[:'data_processing_options_state']
166
+ end
129
167
  end
130
168
 
131
169
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -166,7 +204,10 @@ module FacebookAds
166
204
  opt_out == o.opt_out &&
167
205
  event_id == o.event_id &&
168
206
  user_data == o.user_data &&
169
- custom_data == o.custom_data
207
+ custom_data == o.custom_data &&
208
+ data_processing_options == o.data_processing_options &&
209
+ data_processing_options_country == o.data_processing_options_country &&
210
+ data_processing_options_state == o.data_processing_options_state
170
211
  end
171
212
 
172
213
  # @see the `==` method
@@ -177,7 +218,7 @@ module FacebookAds
177
218
  # Calculates hash code according to all attributes.
178
219
  # @return [Fixnum] Hash code
179
220
  def hash
180
- [event_name, event_time, event_source_url, opt_out, event_id, user_data, custom_data].hash
221
+ [event_name, event_time, event_source_url, opt_out, event_id, user_data, custom_data, data_processing_options, data_processing_options_country, data_processing_options_state].hash
181
222
  end
182
223
 
183
224
  def to_s
@@ -203,6 +244,15 @@ module FacebookAds
203
244
  unless custom_data.nil?
204
245
  hash['custom_data'] = custom_data.to_s
205
246
  end
247
+ unless data_processing_options.nil?
248
+ hash['data_processing_options'] = data_processing_options.to_s
249
+ end
250
+ unless data_processing_options_country.nil?
251
+ hash['data_processing_options_country'] = data_processing_options_country.to_s
252
+ end
253
+ unless data_processing_options_state.nil?
254
+ hash['data_processing_options_state'] = data_processing_options_state.to_s
255
+ end
206
256
  hash.to_s
207
257
  end
208
258
 
@@ -231,6 +281,15 @@ module FacebookAds
231
281
  unless custom_data.nil?
232
282
  hash['custom_data'] = custom_data.normalize
233
283
  end
284
+ unless data_processing_options.nil?
285
+ hash['data_processing_options'] = data_processing_options
286
+ end
287
+ unless data_processing_options_country.nil?
288
+ hash['data_processing_options_country'] = data_processing_options_country
289
+ end
290
+ unless data_processing_options_state.nil?
291
+ hash['data_processing_options_state'] = data_processing_options_state
292
+ end
234
293
  hash
235
294
  end
236
295