post-for-me 0.1.0.pre.alpha.8 → 0.1.0.pre.alpha.10

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 (67) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +52 -0
  3. data/README.md +1 -1
  4. data/lib/post_for_me/errors.rb +25 -11
  5. data/lib/post_for_me/file_part.rb +10 -7
  6. data/lib/post_for_me/internal/transport/base_client.rb +18 -8
  7. data/lib/post_for_me/internal/transport/pooled_net_requester.rb +40 -33
  8. data/lib/post_for_me/internal/type/base_page.rb +1 -1
  9. data/lib/post_for_me/internal/type/file_input.rb +7 -4
  10. data/lib/post_for_me/internal/util.rb +8 -7
  11. data/lib/post_for_me/models/bluesky_configuration_dto.rb +87 -1
  12. data/lib/post_for_me/models/create_social_post.rb +221 -2
  13. data/lib/post_for_me/models/facebook_configuration_dto.rb +106 -2
  14. data/lib/post_for_me/models/instagram_configuration_dto.rb +104 -2
  15. data/lib/post_for_me/models/linkedin_configuration_dto.rb +87 -1
  16. data/lib/post_for_me/models/pinterest_configuration_dto.rb +87 -1
  17. data/lib/post_for_me/models/social_account.rb +9 -1
  18. data/lib/post_for_me/models/social_account_create_auth_url_params.rb +43 -1
  19. data/lib/post_for_me/models/social_account_disconnect_response.rb +9 -1
  20. data/lib/post_for_me/models/social_post.rb +221 -2
  21. data/lib/post_for_me/models/threads_configuration_dto.rb +87 -1
  22. data/lib/post_for_me/models/tiktok_configuration.rb +96 -2
  23. data/lib/post_for_me/models/twitter_configuration_dto.rb +180 -2
  24. data/lib/post_for_me/models/youtube_configuration_dto.rb +87 -1
  25. data/lib/post_for_me/version.rb +1 -1
  26. data/lib/post_for_me.rb +1 -0
  27. data/manifest.yaml +1 -0
  28. data/rbi/post_for_me/errors.rbi +29 -2
  29. data/rbi/post_for_me/file_part.rbi +1 -1
  30. data/rbi/post_for_me/internal/transport/base_client.rbi +9 -5
  31. data/rbi/post_for_me/internal/transport/pooled_net_requester.rbi +6 -2
  32. data/rbi/post_for_me/internal/type/base_model.rbi +8 -4
  33. data/rbi/post_for_me/internal/type/base_page.rbi +1 -1
  34. data/rbi/post_for_me/internal/util.rbi +1 -1
  35. data/rbi/post_for_me/models/bluesky_configuration_dto.rbi +180 -0
  36. data/rbi/post_for_me/models/create_social_post.rbi +424 -0
  37. data/rbi/post_for_me/models/facebook_configuration_dto.rbi +198 -0
  38. data/rbi/post_for_me/models/instagram_configuration_dto.rbi +205 -3
  39. data/rbi/post_for_me/models/linkedin_configuration_dto.rbi +182 -0
  40. data/rbi/post_for_me/models/pinterest_configuration_dto.rbi +184 -0
  41. data/rbi/post_for_me/models/social_account.rbi +8 -0
  42. data/rbi/post_for_me/models/social_account_create_auth_url_params.rbi +104 -0
  43. data/rbi/post_for_me/models/social_account_disconnect_response.rbi +8 -0
  44. data/rbi/post_for_me/models/social_post.rbi +414 -0
  45. data/rbi/post_for_me/models/threads_configuration_dto.rbi +180 -0
  46. data/rbi/post_for_me/models/tiktok_configuration.rbi +180 -0
  47. data/rbi/post_for_me/models/twitter_configuration_dto.rbi +390 -2
  48. data/rbi/post_for_me/models/youtube_configuration_dto.rbi +180 -0
  49. data/sig/post_for_me/errors.rbs +7 -0
  50. data/sig/post_for_me/file_part.rbs +1 -1
  51. data/sig/post_for_me/internal/transport/base_client.rbs +2 -0
  52. data/sig/post_for_me/internal/transport/pooled_net_requester.rbs +4 -1
  53. data/sig/post_for_me/models/bluesky_configuration_dto.rbs +73 -1
  54. data/sig/post_for_me/models/create_social_post.rbs +180 -1
  55. data/sig/post_for_me/models/facebook_configuration_dto.rbs +83 -1
  56. data/sig/post_for_me/models/instagram_configuration_dto.rbs +86 -4
  57. data/sig/post_for_me/models/linkedin_configuration_dto.rbs +73 -1
  58. data/sig/post_for_me/models/pinterest_configuration_dto.rbs +73 -1
  59. data/sig/post_for_me/models/social_account.rbs +5 -0
  60. data/sig/post_for_me/models/social_account_create_auth_url_params.rbs +37 -0
  61. data/sig/post_for_me/models/social_account_disconnect_response.rbs +5 -0
  62. data/sig/post_for_me/models/social_post.rbs +180 -1
  63. data/sig/post_for_me/models/threads_configuration_dto.rbs +73 -1
  64. data/sig/post_for_me/models/tiktok_configuration.rbs +78 -1
  65. data/sig/post_for_me/models/twitter_configuration_dto.rbs +163 -4
  66. data/sig/post_for_me/models/youtube_configuration_dto.rbs +73 -1
  67. metadata +2 -2
@@ -116,6 +116,12 @@ module PostForMe
116
116
  # @return [Boolean, nil]
117
117
  optional :allow_stitch, PostForMe::Internal::Type::Boolean, nil?: true
118
118
 
119
+ # @!attribute auto_add_music
120
+ # Will automatically add music to photo posts on TikTok
121
+ #
122
+ # @return [Boolean, nil]
123
+ optional :auto_add_music, PostForMe::Internal::Type::Boolean, nil?: true
124
+
119
125
  # @!attribute board_ids
120
126
  # Pinterest board IDs
121
127
  #
@@ -128,6 +134,21 @@ module PostForMe
128
134
  # @return [Object, nil]
129
135
  optional :caption, PostForMe::Internal::Type::Unknown, nil?: true
130
136
 
137
+ # @!attribute collaborators
138
+ # List of page ids or users to invite as collaborators for a Video Reel (Instagram
139
+ # and Facebook)
140
+ #
141
+ # @return [Array<Array<Object>>, nil]
142
+ optional :collaborators,
143
+ PostForMe::Internal::Type::ArrayOf[PostForMe::Internal::Type::ArrayOf[PostForMe::Internal::Type::Unknown]],
144
+ nil?: true
145
+
146
+ # @!attribute community_id
147
+ # Id of the twitter community to post to
148
+ #
149
+ # @return [String, nil]
150
+ optional :community_id, String
151
+
131
152
  # @!attribute disclose_branded_content
132
153
  # Disclose branded content on TikTok
133
154
  #
@@ -159,6 +180,13 @@ module PostForMe
159
180
  # @return [String, nil]
160
181
  optional :link, String, nil?: true
161
182
 
183
+ # @!attribute location
184
+ # Page id with a location that you want to tag the image or video with (Instagram
185
+ # and Facebook)
186
+ #
187
+ # @return [String, nil]
188
+ optional :location, String, nil?: true
189
+
162
190
  # @!attribute media
163
191
  # Overrides the `media` from the post
164
192
  #
@@ -173,19 +201,47 @@ module PostForMe
173
201
  enum: -> { PostForMe::CreateSocialPost::AccountConfiguration::Configuration::Placement },
174
202
  nil?: true
175
203
 
204
+ # @!attribute poll
205
+ # Poll options for the twitter
206
+ #
207
+ # @return [PostForMe::Models::CreateSocialPost::AccountConfiguration::Configuration::Poll, nil]
208
+ optional :poll, -> { PostForMe::CreateSocialPost::AccountConfiguration::Configuration::Poll }
209
+
176
210
  # @!attribute privacy_status
177
211
  # Sets the privacy status for TikTok (private, public)
178
212
  #
179
213
  # @return [String, nil]
180
214
  optional :privacy_status, String, nil?: true
181
215
 
216
+ # @!attribute quote_tweet_id
217
+ # Id of the tweet you want to quote
218
+ #
219
+ # @return [String, nil]
220
+ optional :quote_tweet_id, String
221
+
222
+ # @!attribute reply_settings
223
+ # Who can reply to the tweet
224
+ #
225
+ # @return [Symbol, PostForMe::Models::CreateSocialPost::AccountConfiguration::Configuration::ReplySettings, nil]
226
+ optional :reply_settings,
227
+ enum: -> {
228
+ PostForMe::CreateSocialPost::AccountConfiguration::Configuration::ReplySettings
229
+ },
230
+ nil?: true
231
+
232
+ # @!attribute share_to_feed
233
+ # If false Instagram video posts will only be shown in the Reels tab
234
+ #
235
+ # @return [Boolean, nil]
236
+ optional :share_to_feed, PostForMe::Internal::Type::Boolean, nil?: true
237
+
182
238
  # @!attribute title
183
239
  # Overrides the `title` from the post
184
240
  #
185
241
  # @return [String, nil]
186
242
  optional :title, String, nil?: true
187
243
 
188
- # @!method initialize(allow_comment: nil, allow_duet: nil, allow_stitch: nil, board_ids: nil, caption: nil, disclose_branded_content: nil, disclose_your_brand: nil, is_ai_generated: nil, is_draft: nil, link: nil, media: nil, placement: nil, privacy_status: nil, title: nil)
244
+ # @!method initialize(allow_comment: nil, allow_duet: nil, allow_stitch: nil, auto_add_music: nil, board_ids: nil, caption: nil, collaborators: nil, community_id: nil, disclose_branded_content: nil, disclose_your_brand: nil, is_ai_generated: nil, is_draft: nil, link: nil, location: nil, media: nil, placement: nil, poll: nil, privacy_status: nil, quote_tweet_id: nil, reply_settings: nil, share_to_feed: nil, title: nil)
189
245
  # Some parameter documentations has been truncated, see
190
246
  # {PostForMe::Models::CreateSocialPost::AccountConfiguration::Configuration} for
191
247
  # more details.
@@ -198,10 +254,16 @@ module PostForMe
198
254
  #
199
255
  # @param allow_stitch [Boolean, nil] Allow stitch on TikTok
200
256
  #
257
+ # @param auto_add_music [Boolean, nil] Will automatically add music to photo posts on TikTok
258
+ #
201
259
  # @param board_ids [Array<String>, nil] Pinterest board IDs
202
260
  #
203
261
  # @param caption [Object, nil] Overrides the `caption` from the post
204
262
  #
263
+ # @param collaborators [Array<Array<Object>>, nil] List of page ids or users to invite as collaborators for a Video Reel (Instagram
264
+ #
265
+ # @param community_id [String] Id of the twitter community to post to
266
+ #
205
267
  # @param disclose_branded_content [Boolean, nil] Disclose branded content on TikTok
206
268
  #
207
269
  # @param disclose_your_brand [Boolean, nil] Disclose your brand on TikTok
@@ -212,12 +274,22 @@ module PostForMe
212
274
  #
213
275
  # @param link [String, nil] Pinterest post link
214
276
  #
277
+ # @param location [String, nil] Page id with a location that you want to tag the image or video with (Instagram
278
+ #
215
279
  # @param media [Array<String>, nil] Overrides the `media` from the post
216
280
  #
217
281
  # @param placement [Symbol, PostForMe::Models::CreateSocialPost::AccountConfiguration::Configuration::Placement, nil] Post placement for Facebook/Instagram/Threads
218
282
  #
283
+ # @param poll [PostForMe::Models::CreateSocialPost::AccountConfiguration::Configuration::Poll] Poll options for the twitter
284
+ #
219
285
  # @param privacy_status [String, nil] Sets the privacy status for TikTok (private, public)
220
286
  #
287
+ # @param quote_tweet_id [String] Id of the tweet you want to quote
288
+ #
289
+ # @param reply_settings [Symbol, PostForMe::Models::CreateSocialPost::AccountConfiguration::Configuration::ReplySettings, nil] Who can reply to the tweet
290
+ #
291
+ # @param share_to_feed [Boolean, nil] If false Instagram video posts will only be shown in the Reels tab
292
+ #
221
293
  # @param title [String, nil] Overrides the `title` from the post
222
294
 
223
295
  # Post placement for Facebook/Instagram/Threads
@@ -233,6 +305,67 @@ module PostForMe
233
305
  # @!method self.values
234
306
  # @return [Array<Symbol>]
235
307
  end
308
+
309
+ # @see PostForMe::Models::CreateSocialPost::AccountConfiguration::Configuration#poll
310
+ class Poll < PostForMe::Internal::Type::BaseModel
311
+ # @!attribute duration_minutes
312
+ # Duration of the poll in minutes
313
+ #
314
+ # @return [Float]
315
+ required :duration_minutes, Float
316
+
317
+ # @!attribute options
318
+ # The choices of the poll, requiring 2-4 options
319
+ #
320
+ # @return [Array<String>]
321
+ required :options, PostForMe::Internal::Type::ArrayOf[String]
322
+
323
+ # @!attribute reply_settings
324
+ # Who can reply to the tweet
325
+ #
326
+ # @return [Symbol, PostForMe::Models::CreateSocialPost::AccountConfiguration::Configuration::Poll::ReplySettings, nil]
327
+ optional :reply_settings,
328
+ enum: -> { PostForMe::CreateSocialPost::AccountConfiguration::Configuration::Poll::ReplySettings }
329
+
330
+ # @!method initialize(duration_minutes:, options:, reply_settings: nil)
331
+ # Poll options for the twitter
332
+ #
333
+ # @param duration_minutes [Float] Duration of the poll in minutes
334
+ #
335
+ # @param options [Array<String>] The choices of the poll, requiring 2-4 options
336
+ #
337
+ # @param reply_settings [Symbol, PostForMe::Models::CreateSocialPost::AccountConfiguration::Configuration::Poll::ReplySettings] Who can reply to the tweet
338
+
339
+ # Who can reply to the tweet
340
+ #
341
+ # @see PostForMe::Models::CreateSocialPost::AccountConfiguration::Configuration::Poll#reply_settings
342
+ module ReplySettings
343
+ extend PostForMe::Internal::Type::Enum
344
+
345
+ FOLLOWING = :following
346
+ MENTIONED_USERS = :mentionedUsers
347
+ SUBSCRIBERS = :subscribers
348
+ VERIFIED = :verified
349
+
350
+ # @!method self.values
351
+ # @return [Array<Symbol>]
352
+ end
353
+ end
354
+
355
+ # Who can reply to the tweet
356
+ #
357
+ # @see PostForMe::Models::CreateSocialPost::AccountConfiguration::Configuration#reply_settings
358
+ module ReplySettings
359
+ extend PostForMe::Internal::Type::Enum
360
+
361
+ FOLLOWING = :following
362
+ MENTIONED_USERS = :mentionedUsers
363
+ SUBSCRIBERS = :subscribers
364
+ VERIFIED = :verified
365
+
366
+ # @!method self.values
367
+ # @return [Array<Symbol>]
368
+ end
236
369
  end
237
370
  end
238
371
 
@@ -243,6 +376,14 @@ module PostForMe
243
376
  # @return [String]
244
377
  required :url, String
245
378
 
379
+ # @!attribute tags
380
+ # List of tags to attach to the media
381
+ #
382
+ # @return [Array<PostForMe::Models::CreateSocialPost::Media::Tag>, nil]
383
+ optional :tags,
384
+ -> { PostForMe::Internal::Type::ArrayOf[PostForMe::CreateSocialPost::Media::Tag] },
385
+ nil?: true
386
+
246
387
  # @!attribute thumbnail_timestamp_ms
247
388
  # Timestamp in milliseconds of frame to use as thumbnail for the media
248
389
  #
@@ -255,12 +396,90 @@ module PostForMe
255
396
  # @return [Object, nil]
256
397
  optional :thumbnail_url, PostForMe::Internal::Type::Unknown, nil?: true
257
398
 
258
- # @!method initialize(url:, thumbnail_timestamp_ms: nil, thumbnail_url: nil)
399
+ # @!method initialize(url:, tags: nil, thumbnail_timestamp_ms: nil, thumbnail_url: nil)
259
400
  # @param url [String] Public URL of the media
260
401
  #
402
+ # @param tags [Array<PostForMe::Models::CreateSocialPost::Media::Tag>, nil] List of tags to attach to the media
403
+ #
261
404
  # @param thumbnail_timestamp_ms [Object, nil] Timestamp in milliseconds of frame to use as thumbnail for the media
262
405
  #
263
406
  # @param thumbnail_url [Object, nil] Public URL of the thumbnail for the media
407
+
408
+ class Tag < PostForMe::Internal::Type::BaseModel
409
+ # @!attribute id
410
+ # Facebook User ID, Instagram Username or Instagram product id to tag
411
+ #
412
+ # @return [String]
413
+ required :id, String
414
+
415
+ # @!attribute platform
416
+ # The platform for the tags
417
+ #
418
+ # @return [Symbol, PostForMe::Models::CreateSocialPost::Media::Tag::Platform]
419
+ required :platform, enum: -> { PostForMe::CreateSocialPost::Media::Tag::Platform }
420
+
421
+ # @!attribute type
422
+ # The type of tag, user to tag accounts, product to tag products (only supported
423
+ # for instagram)
424
+ #
425
+ # @return [Symbol, PostForMe::Models::CreateSocialPost::Media::Tag::Type]
426
+ required :type, enum: -> { PostForMe::CreateSocialPost::Media::Tag::Type }
427
+
428
+ # @!attribute x
429
+ # Percentage distance from left edge of the image, Not required for videos or
430
+ # stories
431
+ #
432
+ # @return [Float, nil]
433
+ optional :x, Float
434
+
435
+ # @!attribute y_
436
+ # Percentage distance from top edge of the image, Not required for videos or
437
+ # stories
438
+ #
439
+ # @return [Float, nil]
440
+ optional :y_, Float, api_name: :y
441
+
442
+ # @!method initialize(id:, platform:, type:, x: nil, y_: nil)
443
+ # Some parameter documentations has been truncated, see
444
+ # {PostForMe::Models::CreateSocialPost::Media::Tag} for more details.
445
+ #
446
+ # @param id [String] Facebook User ID, Instagram Username or Instagram product id to tag
447
+ #
448
+ # @param platform [Symbol, PostForMe::Models::CreateSocialPost::Media::Tag::Platform] The platform for the tags
449
+ #
450
+ # @param type [Symbol, PostForMe::Models::CreateSocialPost::Media::Tag::Type] The type of tag, user to tag accounts, product to tag products (only supported f
451
+ #
452
+ # @param x [Float] Percentage distance from left edge of the image, Not required for videos or stor
453
+ #
454
+ # @param y_ [Float] Percentage distance from top edge of the image, Not required for videos or stori
455
+
456
+ # The platform for the tags
457
+ #
458
+ # @see PostForMe::Models::CreateSocialPost::Media::Tag#platform
459
+ module Platform
460
+ extend PostForMe::Internal::Type::Enum
461
+
462
+ FACEBOOK = :facebook
463
+ INSTAGRAM = :instagram
464
+
465
+ # @!method self.values
466
+ # @return [Array<Symbol>]
467
+ end
468
+
469
+ # The type of tag, user to tag accounts, product to tag products (only supported
470
+ # for instagram)
471
+ #
472
+ # @see PostForMe::Models::CreateSocialPost::Media::Tag#type
473
+ module Type
474
+ extend PostForMe::Internal::Type::Enum
475
+
476
+ USER = :user
477
+ PRODUCT = :product
478
+
479
+ # @!method self.values
480
+ # @return [Array<Symbol>]
481
+ end
482
+ end
264
483
  end
265
484
  end
266
485
  end
@@ -9,6 +9,20 @@ module PostForMe
9
9
  # @return [Object, nil]
10
10
  optional :caption, PostForMe::Internal::Type::Unknown, nil?: true
11
11
 
12
+ # @!attribute collaborators
13
+ # List of page ids to invite as collaborators for a Video Reel
14
+ #
15
+ # @return [Array<Array<Object>>, nil]
16
+ optional :collaborators,
17
+ PostForMe::Internal::Type::ArrayOf[PostForMe::Internal::Type::ArrayOf[PostForMe::Internal::Type::Unknown]],
18
+ nil?: true
19
+
20
+ # @!attribute location
21
+ # Page id with a location that you want to tag the image or video with
22
+ #
23
+ # @return [String, nil]
24
+ optional :location, String, nil?: true
25
+
12
26
  # @!attribute media
13
27
  # Overrides the `media` from the post
14
28
  #
@@ -23,9 +37,13 @@ module PostForMe
23
37
  # @return [Symbol, PostForMe::Models::FacebookConfigurationDto::Placement, nil]
24
38
  optional :placement, enum: -> { PostForMe::FacebookConfigurationDto::Placement }, nil?: true
25
39
 
26
- # @!method initialize(caption: nil, media: nil, placement: nil)
40
+ # @!method initialize(caption: nil, collaborators: nil, location: nil, media: nil, placement: nil)
27
41
  # @param caption [Object, nil] Overrides the `caption` from the post
28
42
  #
43
+ # @param collaborators [Array<Array<Object>>, nil] List of page ids to invite as collaborators for a Video Reel
44
+ #
45
+ # @param location [String, nil] Page id with a location that you want to tag the image or video with
46
+ #
29
47
  # @param media [Array<PostForMe::Models::FacebookConfigurationDto::Media>, nil] Overrides the `media` from the post
30
48
  #
31
49
  # @param placement [Symbol, PostForMe::Models::FacebookConfigurationDto::Placement, nil] Facebook post placement
@@ -37,6 +55,14 @@ module PostForMe
37
55
  # @return [String]
38
56
  required :url, String
39
57
 
58
+ # @!attribute tags
59
+ # List of tags to attach to the media
60
+ #
61
+ # @return [Array<PostForMe::Models::FacebookConfigurationDto::Media::Tag>, nil]
62
+ optional :tags,
63
+ -> { PostForMe::Internal::Type::ArrayOf[PostForMe::FacebookConfigurationDto::Media::Tag] },
64
+ nil?: true
65
+
40
66
  # @!attribute thumbnail_timestamp_ms
41
67
  # Timestamp in milliseconds of frame to use as thumbnail for the media
42
68
  #
@@ -49,12 +75,90 @@ module PostForMe
49
75
  # @return [Object, nil]
50
76
  optional :thumbnail_url, PostForMe::Internal::Type::Unknown, nil?: true
51
77
 
52
- # @!method initialize(url:, thumbnail_timestamp_ms: nil, thumbnail_url: nil)
78
+ # @!method initialize(url:, tags: nil, thumbnail_timestamp_ms: nil, thumbnail_url: nil)
53
79
  # @param url [String] Public URL of the media
54
80
  #
81
+ # @param tags [Array<PostForMe::Models::FacebookConfigurationDto::Media::Tag>, nil] List of tags to attach to the media
82
+ #
55
83
  # @param thumbnail_timestamp_ms [Object, nil] Timestamp in milliseconds of frame to use as thumbnail for the media
56
84
  #
57
85
  # @param thumbnail_url [Object, nil] Public URL of the thumbnail for the media
86
+
87
+ class Tag < PostForMe::Internal::Type::BaseModel
88
+ # @!attribute id
89
+ # Facebook User ID, Instagram Username or Instagram product id to tag
90
+ #
91
+ # @return [String]
92
+ required :id, String
93
+
94
+ # @!attribute platform
95
+ # The platform for the tags
96
+ #
97
+ # @return [Symbol, PostForMe::Models::FacebookConfigurationDto::Media::Tag::Platform]
98
+ required :platform, enum: -> { PostForMe::FacebookConfigurationDto::Media::Tag::Platform }
99
+
100
+ # @!attribute type
101
+ # The type of tag, user to tag accounts, product to tag products (only supported
102
+ # for instagram)
103
+ #
104
+ # @return [Symbol, PostForMe::Models::FacebookConfigurationDto::Media::Tag::Type]
105
+ required :type, enum: -> { PostForMe::FacebookConfigurationDto::Media::Tag::Type }
106
+
107
+ # @!attribute x
108
+ # Percentage distance from left edge of the image, Not required for videos or
109
+ # stories
110
+ #
111
+ # @return [Float, nil]
112
+ optional :x, Float
113
+
114
+ # @!attribute y_
115
+ # Percentage distance from top edge of the image, Not required for videos or
116
+ # stories
117
+ #
118
+ # @return [Float, nil]
119
+ optional :y_, Float, api_name: :y
120
+
121
+ # @!method initialize(id:, platform:, type:, x: nil, y_: nil)
122
+ # Some parameter documentations has been truncated, see
123
+ # {PostForMe::Models::FacebookConfigurationDto::Media::Tag} for more details.
124
+ #
125
+ # @param id [String] Facebook User ID, Instagram Username or Instagram product id to tag
126
+ #
127
+ # @param platform [Symbol, PostForMe::Models::FacebookConfigurationDto::Media::Tag::Platform] The platform for the tags
128
+ #
129
+ # @param type [Symbol, PostForMe::Models::FacebookConfigurationDto::Media::Tag::Type] The type of tag, user to tag accounts, product to tag products (only supported f
130
+ #
131
+ # @param x [Float] Percentage distance from left edge of the image, Not required for videos or stor
132
+ #
133
+ # @param y_ [Float] Percentage distance from top edge of the image, Not required for videos or stori
134
+
135
+ # The platform for the tags
136
+ #
137
+ # @see PostForMe::Models::FacebookConfigurationDto::Media::Tag#platform
138
+ module Platform
139
+ extend PostForMe::Internal::Type::Enum
140
+
141
+ FACEBOOK = :facebook
142
+ INSTAGRAM = :instagram
143
+
144
+ # @!method self.values
145
+ # @return [Array<Symbol>]
146
+ end
147
+
148
+ # The type of tag, user to tag accounts, product to tag products (only supported
149
+ # for instagram)
150
+ #
151
+ # @see PostForMe::Models::FacebookConfigurationDto::Media::Tag#type
152
+ module Type
153
+ extend PostForMe::Internal::Type::Enum
154
+
155
+ USER = :user
156
+ PRODUCT = :product
157
+
158
+ # @!method self.values
159
+ # @return [Array<Symbol>]
160
+ end
161
+ end
58
162
  end
59
163
 
60
164
  # Facebook post placement
@@ -15,6 +15,12 @@ module PostForMe
15
15
  # @return [Array<String>, nil]
16
16
  optional :collaborators, PostForMe::Internal::Type::ArrayOf[String], nil?: true
17
17
 
18
+ # @!attribute location
19
+ # Page id with a location that you want to tag the image or video with
20
+ #
21
+ # @return [String, nil]
22
+ optional :location, String, nil?: true
23
+
18
24
  # @!attribute media
19
25
  # Overrides the `media` from the post
20
26
  #
@@ -29,14 +35,24 @@ module PostForMe
29
35
  # @return [Symbol, PostForMe::Models::InstagramConfigurationDto::Placement, nil]
30
36
  optional :placement, enum: -> { PostForMe::InstagramConfigurationDto::Placement }, nil?: true
31
37
 
32
- # @!method initialize(caption: nil, collaborators: nil, media: nil, placement: nil)
38
+ # @!attribute share_to_feed
39
+ # If false video posts will only be shown in the Reels tab
40
+ #
41
+ # @return [Boolean, nil]
42
+ optional :share_to_feed, PostForMe::Internal::Type::Boolean, nil?: true
43
+
44
+ # @!method initialize(caption: nil, collaborators: nil, location: nil, media: nil, placement: nil, share_to_feed: nil)
33
45
  # @param caption [Object, nil] Overrides the `caption` from the post
34
46
  #
35
47
  # @param collaborators [Array<String>, nil] Instagram usernames to be tagged as a collaborator
36
48
  #
49
+ # @param location [String, nil] Page id with a location that you want to tag the image or video with
50
+ #
37
51
  # @param media [Array<PostForMe::Models::InstagramConfigurationDto::Media>, nil] Overrides the `media` from the post
38
52
  #
39
53
  # @param placement [Symbol, PostForMe::Models::InstagramConfigurationDto::Placement, nil] Instagram post placement
54
+ #
55
+ # @param share_to_feed [Boolean, nil] If false video posts will only be shown in the Reels tab
40
56
 
41
57
  class Media < PostForMe::Internal::Type::BaseModel
42
58
  # @!attribute url
@@ -45,6 +61,14 @@ module PostForMe
45
61
  # @return [String]
46
62
  required :url, String
47
63
 
64
+ # @!attribute tags
65
+ # List of tags to attach to the media
66
+ #
67
+ # @return [Array<PostForMe::Models::InstagramConfigurationDto::Media::Tag>, nil]
68
+ optional :tags,
69
+ -> { PostForMe::Internal::Type::ArrayOf[PostForMe::InstagramConfigurationDto::Media::Tag] },
70
+ nil?: true
71
+
48
72
  # @!attribute thumbnail_timestamp_ms
49
73
  # Timestamp in milliseconds of frame to use as thumbnail for the media
50
74
  #
@@ -57,12 +81,90 @@ module PostForMe
57
81
  # @return [Object, nil]
58
82
  optional :thumbnail_url, PostForMe::Internal::Type::Unknown, nil?: true
59
83
 
60
- # @!method initialize(url:, thumbnail_timestamp_ms: nil, thumbnail_url: nil)
84
+ # @!method initialize(url:, tags: nil, thumbnail_timestamp_ms: nil, thumbnail_url: nil)
61
85
  # @param url [String] Public URL of the media
62
86
  #
87
+ # @param tags [Array<PostForMe::Models::InstagramConfigurationDto::Media::Tag>, nil] List of tags to attach to the media
88
+ #
63
89
  # @param thumbnail_timestamp_ms [Object, nil] Timestamp in milliseconds of frame to use as thumbnail for the media
64
90
  #
65
91
  # @param thumbnail_url [Object, nil] Public URL of the thumbnail for the media
92
+
93
+ class Tag < PostForMe::Internal::Type::BaseModel
94
+ # @!attribute id
95
+ # Facebook User ID, Instagram Username or Instagram product id to tag
96
+ #
97
+ # @return [String]
98
+ required :id, String
99
+
100
+ # @!attribute platform
101
+ # The platform for the tags
102
+ #
103
+ # @return [Symbol, PostForMe::Models::InstagramConfigurationDto::Media::Tag::Platform]
104
+ required :platform, enum: -> { PostForMe::InstagramConfigurationDto::Media::Tag::Platform }
105
+
106
+ # @!attribute type
107
+ # The type of tag, user to tag accounts, product to tag products (only supported
108
+ # for instagram)
109
+ #
110
+ # @return [Symbol, PostForMe::Models::InstagramConfigurationDto::Media::Tag::Type]
111
+ required :type, enum: -> { PostForMe::InstagramConfigurationDto::Media::Tag::Type }
112
+
113
+ # @!attribute x
114
+ # Percentage distance from left edge of the image, Not required for videos or
115
+ # stories
116
+ #
117
+ # @return [Float, nil]
118
+ optional :x, Float
119
+
120
+ # @!attribute y_
121
+ # Percentage distance from top edge of the image, Not required for videos or
122
+ # stories
123
+ #
124
+ # @return [Float, nil]
125
+ optional :y_, Float, api_name: :y
126
+
127
+ # @!method initialize(id:, platform:, type:, x: nil, y_: nil)
128
+ # Some parameter documentations has been truncated, see
129
+ # {PostForMe::Models::InstagramConfigurationDto::Media::Tag} for more details.
130
+ #
131
+ # @param id [String] Facebook User ID, Instagram Username or Instagram product id to tag
132
+ #
133
+ # @param platform [Symbol, PostForMe::Models::InstagramConfigurationDto::Media::Tag::Platform] The platform for the tags
134
+ #
135
+ # @param type [Symbol, PostForMe::Models::InstagramConfigurationDto::Media::Tag::Type] The type of tag, user to tag accounts, product to tag products (only supported f
136
+ #
137
+ # @param x [Float] Percentage distance from left edge of the image, Not required for videos or stor
138
+ #
139
+ # @param y_ [Float] Percentage distance from top edge of the image, Not required for videos or stori
140
+
141
+ # The platform for the tags
142
+ #
143
+ # @see PostForMe::Models::InstagramConfigurationDto::Media::Tag#platform
144
+ module Platform
145
+ extend PostForMe::Internal::Type::Enum
146
+
147
+ FACEBOOK = :facebook
148
+ INSTAGRAM = :instagram
149
+
150
+ # @!method self.values
151
+ # @return [Array<Symbol>]
152
+ end
153
+
154
+ # The type of tag, user to tag accounts, product to tag products (only supported
155
+ # for instagram)
156
+ #
157
+ # @see PostForMe::Models::InstagramConfigurationDto::Media::Tag#type
158
+ module Type
159
+ extend PostForMe::Internal::Type::Enum
160
+
161
+ USER = :user
162
+ PRODUCT = :product
163
+
164
+ # @!method self.values
165
+ # @return [Array<Symbol>]
166
+ end
167
+ end
66
168
  end
67
169
 
68
170
  # Instagram post placement