facebookbusiness 0.8.0.4 → 0.10.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (73) hide show
  1. checksums.yaml +4 -4
  2. data/lib/facebook_ads/ad_objects/ad.rb +4 -1
  3. data/lib/facebook_ads/ad_objects/ad_account.rb +17 -30
  4. data/lib/facebook_ads/ad_objects/ad_account_delivery_estimate.rb +1 -0
  5. data/lib/facebook_ads/ad_objects/ad_account_matched_search_applications_edge_data.rb +1 -0
  6. data/lib/facebook_ads/ad_objects/ad_account_targeting_unified.rb +1 -0
  7. data/lib/facebook_ads/ad_objects/ad_asset_feed_spec.rb +4 -0
  8. data/lib/facebook_ads/ad_objects/ad_campaign_activity.rb +8 -2
  9. data/lib/facebook_ads/ad_objects/ad_campaign_delivery_estimate.rb +1 -0
  10. data/lib/facebook_ads/ad_objects/ad_creative.rb +5 -0
  11. data/lib/facebook_ads/ad_objects/ad_creative_link_data_call_to_action.rb +3 -0
  12. data/lib/facebook_ads/ad_objects/{offline_terms_of_service.rb → ad_creative_omnichannel_link_spec.rb} +5 -4
  13. data/lib/facebook_ads/ad_objects/ad_preview.rb +3 -0
  14. data/lib/facebook_ads/ad_objects/ad_report_run.rb +1 -0
  15. data/lib/facebook_ads/ad_objects/ad_rule_evaluation_spec.rb +1 -2
  16. data/lib/facebook_ads/ad_objects/ad_set.rb +6 -2
  17. data/lib/facebook_ads/ad_objects/ad_study.rb +0 -11
  18. data/lib/facebook_ads/ad_objects/ad_study_objective.rb +1 -0
  19. data/lib/facebook_ads/ad_objects/ad_video.rb +4 -12
  20. data/lib/facebook_ads/ad_objects/adgroup_activity.rb +2 -0
  21. data/lib/facebook_ads/ad_objects/adgroup_placement_specific_review_feedback.rb +1 -0
  22. data/lib/facebook_ads/ad_objects/ads_action_stats.rb +2 -0
  23. data/lib/facebook_ads/ad_objects/ads_insights.rb +2 -1
  24. data/lib/facebook_ads/ad_objects/ads_pixel.rb +4 -0
  25. data/lib/facebook_ads/ad_objects/album.rb +0 -10
  26. data/lib/facebook_ads/ad_objects/application.rb +1 -10
  27. data/lib/facebook_ads/ad_objects/automotive_model.rb +25 -0
  28. data/lib/facebook_ads/ad_objects/business.rb +19 -0
  29. data/lib/facebook_ads/ad_objects/business_asset_group.rb +1 -0
  30. data/lib/facebook_ads/ad_objects/business_unit.rb +0 -1
  31. data/lib/facebook_ads/ad_objects/campaign.rb +10 -2
  32. data/lib/facebook_ads/ad_objects/{user_payment_modules_options.rb → catalog_item_channels_to_integrity_status.rb} +3 -5
  33. data/lib/facebook_ads/ad_objects/catalog_sub_vertical_list.rb +3 -0
  34. data/lib/facebook_ads/ad_objects/comment.rb +1 -0
  35. data/lib/facebook_ads/ad_objects/commerce_merchant_settings.rb +1 -0
  36. data/lib/facebook_ads/ad_objects/{friend_list.rb → contextual_bundling_spec.rb} +4 -5
  37. data/lib/facebook_ads/ad_objects/custom_audience.rb +8 -10
  38. data/lib/facebook_ads/ad_objects/extended_credit.rb +0 -1
  39. data/lib/facebook_ads/ad_objects/group.rb +22 -22
  40. data/lib/facebook_ads/ad_objects/ig_media.rb +0 -1
  41. data/lib/facebook_ads/ad_objects/ig_user.rb +6 -1
  42. data/lib/facebook_ads/ad_objects/image_copyright.rb +302 -0
  43. data/lib/facebook_ads/ad_objects/insights_result.rb +1 -1
  44. data/lib/facebook_ads/ad_objects/instagram_user.rb +0 -3
  45. data/lib/facebook_ads/ad_objects/link.rb +0 -10
  46. data/lib/facebook_ads/ad_objects/live_video.rb +12 -12
  47. data/lib/facebook_ads/ad_objects/messenger_profile.rb +1 -0
  48. data/lib/facebook_ads/ad_objects/page.rb +33 -6
  49. data/lib/facebook_ads/ad_objects/page_call_to_action.rb +3 -0
  50. data/lib/facebook_ads/ad_objects/page_commerce_eligibility.rb +38 -0
  51. data/lib/facebook_ads/ad_objects/page_post.rb +0 -10
  52. data/lib/facebook_ads/ad_objects/{event_tour.rb → payment_engine_payment.rb} +35 -18
  53. data/lib/facebook_ads/ad_objects/payment_subscription.rb +3 -3
  54. data/lib/facebook_ads/ad_objects/photo.rb +0 -10
  55. data/lib/facebook_ads/ad_objects/post.rb +12 -40
  56. data/lib/facebook_ads/ad_objects/product_catalog.rb +15 -2
  57. data/lib/facebook_ads/ad_objects/product_feed.rb +1 -1
  58. data/lib/facebook_ads/ad_objects/product_feed_schedule.rb +2 -0
  59. data/lib/facebook_ads/ad_objects/product_item.rb +8 -1
  60. data/lib/facebook_ads/ad_objects/{user_payment_methods_info.rb → product_item_ar_data.rb} +23 -8
  61. data/lib/facebook_ads/ad_objects/server_side/action_source.rb +48 -0
  62. data/lib/facebook_ads/ad_objects/server_side/content.rb +23 -4
  63. data/lib/facebook_ads/ad_objects/server_side/event.rb +32 -6
  64. data/lib/facebook_ads/ad_objects/server_side/util.rb +14 -1
  65. data/lib/facebook_ads/ad_objects/targeting.rb +0 -2
  66. data/lib/facebook_ads/ad_objects/unified_thread.rb +0 -1
  67. data/lib/facebook_ads/ad_objects/user.rb +14 -13
  68. data/lib/facebook_ads/ad_objects/{read_only_analytics_user_property_config.rb → whats_app_business_profile.rb} +2 -3
  69. data/lib/facebook_ads/edge.rb +2 -1
  70. data/lib/facebook_ads/version.rb +2 -2
  71. metadata +19 -18
  72. data/lib/facebook_ads/ad_objects/ad_account_creation_request.rb +0 -71
  73. data/lib/facebook_ads/ad_objects/ad_account_roas.rb +0 -65
@@ -32,6 +32,7 @@ module FacebookAds
32
32
  "FRIENDS_ONLY",
33
33
  "GRAPHQL_MULTIPLE_VALUE_HACK_DO_NOT_USE",
34
34
  "OWNER_OR_COMMENTER",
35
+ "PENDING_APPROVAL",
35
36
  "SIDE_CONVERSATION",
36
37
  "SIDE_CONVERSATION_AND_POST_OWNER",
37
38
  ]
@@ -36,6 +36,7 @@ module FacebookAds
36
36
  field :external_merchant_id, 'string'
37
37
  field :facebook_channel, 'object'
38
38
  field :has_discount_code, 'bool'
39
+ field :has_onsite_intent, 'bool'
39
40
  field :id, 'string'
40
41
  field :instagram_channel, 'object'
41
42
  field :merchant_alert_email, 'string'
@@ -25,12 +25,11 @@ 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 FriendList < AdObject
28
+ class ContextualBundlingSpec < AdObject
29
29
 
30
- field :id, 'string'
31
- field :list_type, 'string'
32
- field :name, 'string'
33
- field :owner, 'string'
30
+ field :status, 'string'
31
+ has_no_id
32
+ has_no_get
34
33
  has_no_post
35
34
  has_no_delete
36
35
 
@@ -113,8 +113,6 @@ module FacebookAds
113
113
  field :time_content_updated, 'int'
114
114
  field :time_created, 'int'
115
115
  field :time_updated, 'int'
116
- field :accountid, 'string'
117
- field :additionalmetadata, 'string'
118
116
  field :allowed_domains, { list: 'string' }
119
117
  field :associated_audience_id, 'int'
120
118
  field :claim_objective, { enum: -> { CLAIM_OBJECTIVE }}
@@ -122,26 +120,18 @@ module FacebookAds
122
120
  field :countries, 'string'
123
121
  field :creation_params, 'hash'
124
122
  field :dataset_id, 'string'
125
- field :details, 'string'
126
123
  field :enable_fetch_or_create, 'bool'
127
124
  field :event_source_group, 'string'
128
125
  field :event_sources, { list: 'hash' }
129
126
  field :exclusions, { list: 'object' }
130
- field :expectedsize, 'int'
131
- field :gender, 'string'
132
127
  field :inclusions, { list: 'object' }
133
- field :isprivate, 'bool'
134
128
  field :is_household_exclusion, 'bool'
135
129
  field :list_of_accounts, { list: 'int' }
136
- field :maxage, 'int'
137
- field :minage, 'int'
138
130
  field :origin_audience_id, 'string'
139
131
  field :parent_audience_id, 'int'
140
- field :partnerid, 'string'
141
132
  field :partner_reference_key, 'string'
142
133
  field :prefill, 'bool'
143
134
  field :product_set_id, 'string'
144
- field :source, 'string'
145
135
  field :tags, { list: 'string' }
146
136
  field :video_group_ids, { list: 'string' }
147
137
 
@@ -190,5 +180,13 @@ module FacebookAds
190
180
  end
191
181
  end
192
182
 
183
+ has_edge :usersreplace do |edge|
184
+ edge.post 'CustomAudience' do |api|
185
+ api.has_param :namespace, 'string'
186
+ api.has_param :payload, 'object'
187
+ api.has_param :session, 'object'
188
+ end
189
+ end
190
+
193
191
  end
194
192
  end
@@ -34,7 +34,6 @@ module FacebookAds
34
34
  field :id, 'string'
35
35
  field :is_access_revoked, 'bool'
36
36
  field :is_automated_experience, 'bool'
37
- field :last_payment_time, 'datetime'
38
37
  field :legal_entity_name, 'string'
39
38
  field :liable_biz_name, 'string'
40
39
  field :max_balance, 'CurrencyAmount'
@@ -150,15 +150,6 @@ module FacebookAds
150
150
  "WORK_VC_CALL",
151
151
  ]
152
152
 
153
- SUGGESTION_CATEGORY = [
154
- "EVENT",
155
- "MESSENGER",
156
- "WORK",
157
- "WORKPLACE",
158
- "WORKPLACE_1_1",
159
- "WORKPLACE_MANAGER",
160
- ]
161
-
162
153
 
163
154
  field :archived, 'bool'
164
155
  field :cover, 'CoverPhoto'
@@ -171,7 +162,6 @@ module FacebookAds
171
162
  field :member_count, 'int'
172
163
  field :member_request_count, 'int'
173
164
  field :name, 'string'
174
- field :owner, 'object'
175
165
  field :parent, 'object'
176
166
  field :permissions, { list: 'string' }
177
167
  field :privacy, 'string'
@@ -216,7 +206,15 @@ module FacebookAds
216
206
  end
217
207
 
218
208
  has_edge :feed do |edge|
219
- edge.post do |api|
209
+ edge.get 'Post' do |api|
210
+ api.has_param :include_hidden, 'bool'
211
+ api.has_param :q, 'string'
212
+ api.has_param :show_expired, 'bool'
213
+ api.has_param :since, 'datetime'
214
+ api.has_param :until, 'datetime'
215
+ api.has_param :with, 'string'
216
+ end
217
+ edge.post 'Post' do |api|
220
218
  api.has_param :actions, 'object'
221
219
  api.has_param :adaptive_type, 'string'
222
220
  api.has_param :album_id, 'string'
@@ -230,10 +228,10 @@ module FacebookAds
230
228
  api.has_param :attached_media, { list: 'object' }
231
229
  api.has_param :audience_exp, 'bool'
232
230
  api.has_param :backdated_time, 'datetime'
233
- api.has_param :backdated_time_granularity, { enum: %w{day hour min month none year }}
231
+ api.has_param :backdated_time_granularity, { enum: -> { Post::BACKDATED_TIME_GRANULARITY }}
234
232
  api.has_param :call_to_action, 'object'
235
233
  api.has_param :caption, 'string'
236
- api.has_param :checkin_entry_point, { enum: %w{BRANDING_CHECKIN BRANDING_OTHER BRANDING_PHOTO BRANDING_STATUS }}
234
+ api.has_param :checkin_entry_point, { enum: -> { Post::CHECKIN_ENTRY_POINT }}
237
235
  api.has_param :child_attachments, { list: 'object' }
238
236
  api.has_param :client_mutation_id, 'string'
239
237
  api.has_param :composer_entry_picker, 'string'
@@ -253,7 +251,7 @@ module FacebookAds
253
251
  api.has_param :expanded_height, 'int'
254
252
  api.has_param :expanded_width, 'int'
255
253
  api.has_param :feed_targeting, 'object'
256
- api.has_param :formatting, { enum: %w{MARKDOWN PLAINTEXT }}
254
+ api.has_param :formatting, { enum: -> { Post::FORMATTING }}
257
255
  api.has_param :fun_fact_prompt_id, 'int'
258
256
  api.has_param :fun_fact_toastee_id, 'int'
259
257
  api.has_param :has_nickname, 'bool'
@@ -290,11 +288,11 @@ module FacebookAds
290
288
  api.has_param :page_recommendation, 'string'
291
289
  api.has_param :picture, 'string'
292
290
  api.has_param :place, 'object'
293
- api.has_param :place_attachment_setting, { enum: %w{1 2 }}
291
+ api.has_param :place_attachment_setting, { enum: -> { Post::PLACE_ATTACHMENT_SETTING }}
294
292
  api.has_param :place_list, 'string'
295
293
  api.has_param :place_list_data, { list: 'string' }
296
- api.has_param :post_surfaces_blacklist, { list: { enum: %w{1 2 3 4 5 }} }
297
- api.has_param :posting_to_redspace, { enum: %w{disabled enabled }}
294
+ api.has_param :post_surfaces_blacklist, { list: { enum: -> { Post::POST_SURFACES_BLACKLIST }} }
295
+ api.has_param :posting_to_redspace, { enum: -> { Post::POSTING_TO_REDSPACE }}
298
296
  api.has_param :privacy, 'string'
299
297
  api.has_param :prompt_id, 'string'
300
298
  api.has_param :prompt_tracking_string, 'string'
@@ -314,7 +312,7 @@ module FacebookAds
314
312
  api.has_param :sponsor_relationship, 'int'
315
313
  api.has_param :suggested_place_id, 'object'
316
314
  api.has_param :tags, { list: 'int' }
317
- api.has_param :target_surface, { enum: %w{STORY TIMELINE }}
315
+ api.has_param :target_surface, { enum: -> { Post::TARGET_SURFACE }}
318
316
  api.has_param :targeting, 'object'
319
317
  api.has_param :text_format_metadata, 'string'
320
318
  api.has_param :text_format_preset_id, 'string'
@@ -324,7 +322,7 @@ module FacebookAds
324
322
  api.has_param :time_since_original_post, 'int'
325
323
  api.has_param :title, 'string'
326
324
  api.has_param :tracking_info, 'string'
327
- api.has_param :unpublished_content_type, { enum: %w{ADS_POST DRAFT INLINE_CREATED PUBLISHED REVIEWABLE_BRANDED_CONTENT SCHEDULED SCHEDULED_RECURRING }}
325
+ api.has_param :unpublished_content_type, { enum: -> { Post::UNPUBLISHED_CONTENT_TYPE }}
328
326
  api.has_param :user_selected_tags, 'bool'
329
327
  api.has_param :video_start_time_ms, 'int'
330
328
  api.has_param :viewer_coordinates, 'object'
@@ -332,6 +330,10 @@ module FacebookAds
332
330
  end
333
331
  end
334
332
 
333
+ has_edge :files do |edge|
334
+ edge.get
335
+ end
336
+
335
337
  has_edge :groups do |edge|
336
338
  edge.get 'Group'
337
339
  edge.post 'Group' do |api|
@@ -346,8 +348,6 @@ module FacebookAds
346
348
  api.has_param :post_requires_admin_approval, 'bool'
347
349
  api.has_param :privacy, 'string'
348
350
  api.has_param :ref, 'string'
349
- api.has_param :suggestion_category, { enum: -> { Group::SUGGESTION_CATEGORY }}
350
- api.has_param :suggestion_identifier, 'string'
351
351
  end
352
352
  end
353
353
 
@@ -475,7 +475,6 @@ module FacebookAds
475
475
  api.has_param :animated_effect_id, 'int'
476
476
  api.has_param :application_id, 'string'
477
477
  api.has_param :asked_fun_fact_prompt_id, 'int'
478
- api.has_param :attribution_app_id, 'string'
479
478
  api.has_param :audio_story_wave_animation_handle, 'string'
480
479
  api.has_param :composer_entry_picker, 'string'
481
480
  api.has_param :composer_entry_point, 'string'
@@ -528,6 +527,7 @@ module FacebookAds
528
527
  api.has_param :scheduled_publish_time, 'int'
529
528
  api.has_param :slideshow_spec, 'hash'
530
529
  api.has_param :source, 'string'
530
+ api.has_param :source_instagram_media_id, 'string'
531
531
  api.has_param :spherical, 'bool'
532
532
  api.has_param :start_offset, 'int'
533
533
  api.has_param :swap_mode, { enum: -> { AdVideo::SWAP_MODE }}
@@ -27,7 +27,6 @@ module FacebookAds
27
27
 
28
28
  class IgMedia < AdObject
29
29
 
30
- field :alt_text, 'string'
31
30
  field :caption, 'string'
32
31
  field :comments_count, 'int'
33
32
  field :id, 'string'
@@ -33,7 +33,6 @@ module FacebookAds
33
33
  field :follows_count, 'int'
34
34
  field :id, 'string'
35
35
  field :ig_id, 'int'
36
- field :is_ig_shopping_seller_policy_enabled, 'bool'
37
36
  field :media_count, 'int'
38
37
  field :mentioned_comment, 'IgComment'
39
38
  field :mentioned_media, 'IgMedia'
@@ -45,6 +44,12 @@ module FacebookAds
45
44
  has_no_post
46
45
  has_no_delete
47
46
 
47
+ has_edge :content_publishing_limit do |edge|
48
+ edge.get do |api|
49
+ api.has_param :since, 'datetime'
50
+ end
51
+ end
52
+
48
53
  has_edge :insights do |edge|
49
54
  edge.get 'InstagramInsightsResult' do |api|
50
55
  api.has_param :metric, { list: { enum: -> { InstagramInsightsResult::METRIC }} }
@@ -0,0 +1,302 @@
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 ImageCopyright < AdObject
29
+ GEO_OWNERSHIP = [
30
+ "AD",
31
+ "AE",
32
+ "AF",
33
+ "AG",
34
+ "AI",
35
+ "AL",
36
+ "AM",
37
+ "AN",
38
+ "AO",
39
+ "AQ",
40
+ "AR",
41
+ "AS",
42
+ "AT",
43
+ "AU",
44
+ "AW",
45
+ "AX",
46
+ "AZ",
47
+ "BA",
48
+ "BB",
49
+ "BD",
50
+ "BE",
51
+ "BF",
52
+ "BG",
53
+ "BH",
54
+ "BI",
55
+ "BJ",
56
+ "BL",
57
+ "BM",
58
+ "BN",
59
+ "BO",
60
+ "BQ",
61
+ "BR",
62
+ "BS",
63
+ "BT",
64
+ "BV",
65
+ "BW",
66
+ "BY",
67
+ "BZ",
68
+ "CA",
69
+ "CC",
70
+ "CD",
71
+ "CF",
72
+ "CG",
73
+ "CH",
74
+ "CI",
75
+ "CK",
76
+ "CL",
77
+ "CM",
78
+ "CN",
79
+ "CO",
80
+ "CR",
81
+ "CU",
82
+ "CV",
83
+ "CW",
84
+ "CX",
85
+ "CY",
86
+ "CZ",
87
+ "DE",
88
+ "DJ",
89
+ "DK",
90
+ "DM",
91
+ "DO",
92
+ "DZ",
93
+ "EC",
94
+ "EE",
95
+ "EG",
96
+ "EH",
97
+ "ER",
98
+ "ES",
99
+ "ET",
100
+ "FI",
101
+ "FJ",
102
+ "FK",
103
+ "FM",
104
+ "FO",
105
+ "FR",
106
+ "GA",
107
+ "GB",
108
+ "GD",
109
+ "GE",
110
+ "GF",
111
+ "GG",
112
+ "GH",
113
+ "GI",
114
+ "GL",
115
+ "GM",
116
+ "GN",
117
+ "GP",
118
+ "GQ",
119
+ "GR",
120
+ "GS",
121
+ "GT",
122
+ "GU",
123
+ "GW",
124
+ "GY",
125
+ "HK",
126
+ "HM",
127
+ "HN",
128
+ "HR",
129
+ "HT",
130
+ "HU",
131
+ "ID",
132
+ "IE",
133
+ "IL",
134
+ "IM",
135
+ "IN",
136
+ "IO",
137
+ "IQ",
138
+ "IR",
139
+ "IS",
140
+ "IT",
141
+ "JE",
142
+ "JM",
143
+ "JO",
144
+ "JP",
145
+ "KE",
146
+ "KG",
147
+ "KH",
148
+ "KI",
149
+ "KM",
150
+ "KN",
151
+ "KP",
152
+ "KR",
153
+ "KW",
154
+ "KY",
155
+ "KZ",
156
+ "LA",
157
+ "LB",
158
+ "LC",
159
+ "LI",
160
+ "LK",
161
+ "LR",
162
+ "LS",
163
+ "LT",
164
+ "LU",
165
+ "LV",
166
+ "LY",
167
+ "MA",
168
+ "MC",
169
+ "MD",
170
+ "ME",
171
+ "MF",
172
+ "MG",
173
+ "MH",
174
+ "MK",
175
+ "ML",
176
+ "MM",
177
+ "MN",
178
+ "MO",
179
+ "MP",
180
+ "MQ",
181
+ "MR",
182
+ "MS",
183
+ "MT",
184
+ "MU",
185
+ "MV",
186
+ "MW",
187
+ "MX",
188
+ "MY",
189
+ "MZ",
190
+ "NA",
191
+ "NC",
192
+ "NE",
193
+ "NF",
194
+ "NG",
195
+ "NI",
196
+ "NL",
197
+ "NO",
198
+ "NP",
199
+ "NR",
200
+ "NU",
201
+ "NZ",
202
+ "OM",
203
+ "PA",
204
+ "PE",
205
+ "PF",
206
+ "PG",
207
+ "PH",
208
+ "PK",
209
+ "PL",
210
+ "PM",
211
+ "PN",
212
+ "PR",
213
+ "PS",
214
+ "PT",
215
+ "PW",
216
+ "PY",
217
+ "QA",
218
+ "RE",
219
+ "RO",
220
+ "RS",
221
+ "RU",
222
+ "RW",
223
+ "SA",
224
+ "SB",
225
+ "SC",
226
+ "SD",
227
+ "SE",
228
+ "SG",
229
+ "SH",
230
+ "SI",
231
+ "SJ",
232
+ "SK",
233
+ "SL",
234
+ "SM",
235
+ "SN",
236
+ "SO",
237
+ "SR",
238
+ "SS",
239
+ "ST",
240
+ "SV",
241
+ "SX",
242
+ "SY",
243
+ "SZ",
244
+ "TC",
245
+ "TD",
246
+ "TF",
247
+ "TG",
248
+ "TH",
249
+ "TJ",
250
+ "TK",
251
+ "TL",
252
+ "TM",
253
+ "TN",
254
+ "TO",
255
+ "TP",
256
+ "TR",
257
+ "TT",
258
+ "TV",
259
+ "TW",
260
+ "TZ",
261
+ "UA",
262
+ "UG",
263
+ "UM",
264
+ "US",
265
+ "UY",
266
+ "UZ",
267
+ "VA",
268
+ "VC",
269
+ "VE",
270
+ "VG",
271
+ "VI",
272
+ "VN",
273
+ "VU",
274
+ "WF",
275
+ "WS",
276
+ "XK",
277
+ "YE",
278
+ "YT",
279
+ "ZA",
280
+ "ZM",
281
+ "ZW",
282
+ ]
283
+
284
+
285
+ field :artist, 'string'
286
+ field :copyright_monitoring_status, 'string'
287
+ field :creation_time, 'datetime'
288
+ field :creator, 'string'
289
+ field :custom_id, 'string'
290
+ field :description, 'string'
291
+ field :filename, 'string'
292
+ field :id, 'string'
293
+ field :image, 'Photo'
294
+ field :matches_count, 'int'
295
+ field :original_content_creation_date, 'datetime'
296
+ field :ownership_countries, 'VideoCopyrightGeoGate'
297
+ field :tags, { list: 'string' }
298
+ field :title, 'string'
299
+ field :update_time, 'datetime'
300
+
301
+ end
302
+ end