late-sdk 0.0.913 → 0.0.915

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.
@@ -11,5 +11,5 @@ Generator version: 7.19.0
11
11
  =end
12
12
 
13
13
  module Zernio
14
- VERSION = '0.0.913'
14
+ VERSION = '0.0.915'
15
15
  end
data/lib/zernio-sdk.rb CHANGED
@@ -1281,6 +1281,8 @@ require 'zernio-sdk/models/pause_workflow200_response'
1281
1281
  require 'zernio-sdk/models/pending'
1282
1282
  require 'zernio-sdk/models/phone_number_stock_watch'
1283
1283
  require 'zernio-sdk/models/pin_discord_message200_response'
1284
+ require 'zernio-sdk/models/pin_inbox_comment200_response'
1285
+ require 'zernio-sdk/models/pin_inbox_comment_request'
1284
1286
  require 'zernio-sdk/models/pinterest_platform_data'
1285
1287
  require 'zernio-sdk/models/platform_analytics'
1286
1288
  require 'zernio-sdk/models/platform_target'
data/openapi.yaml CHANGED
@@ -3144,7 +3144,7 @@ components:
3144
3144
  description: 'UTC time at which Zernio generated this event (set once when the event payload is built, before delivery is queued).'
3145
3145
  WebhookPayloadComment:
3146
3146
  type: object
3147
- description: Webhook payload for comment received events (Instagram, Facebook, X, YouTube, LinkedIn, Bluesky, Reddit)
3147
+ description: 'Webhook payload for comment received events (Instagram, Facebook, X, YouTube, LinkedIn, Bluesky, Reddit, TikTok). TikTok events carry only the author id: the comment.update webhook has no username, picture or owner flag.'
3148
3148
  required: [id, event, comment, post, account, timestamp]
3149
3149
  properties:
3150
3150
  id:
@@ -3168,7 +3168,7 @@ components:
3168
3168
  description: Platform's post ID
3169
3169
  platform:
3170
3170
  type: string
3171
- enum: [instagram, facebook, twitter, youtube, linkedin, bluesky, reddit]
3171
+ enum: [instagram, facebook, twitter, youtube, linkedin, bluesky, reddit, tiktok]
3172
3172
  text:
3173
3173
  type: string
3174
3174
  description: Comment text content
@@ -6764,7 +6764,7 @@ components:
6764
6764
  Note: publish_type is not a supported field. Use this field instead.
6765
6765
  privacyLevel:
6766
6766
  type: string
6767
- description: One of the values returned by the TikTok creator info API for the account
6767
+ description: 'One of the values returned by the TikTok creator info API for the account. Accounts connected through the TikTok for Business app publish videos as public only: a non-public value on a video post is rejected at creation unless draft is true (photo posts keep every level).'
6768
6768
  allowComment:
6769
6769
  type: boolean
6770
6770
  description: Allow comments on the post
@@ -16789,6 +16789,7 @@ paths:
16789
16789
  x-resource-group: "publishing"
16790
16790
  operationId: syncExternalPosts
16791
16791
  tags: [Analytics]
16792
+ x-platforms: [instagram, facebook, tiktok, youtube, twitter, threads, pinterest, reddit, bluesky, googlebusiness, linkedin]
16792
16793
  summary: Sync an external post
16793
16794
  description: |
16794
16795
  Fetch an account's latest external posts (published directly on the platform, not through Zernio) on demand, so a newly published post is retrievable within seconds instead of waiting for the background sync (which refreshes each account at most every ~90 minutes).
@@ -16796,8 +16797,9 @@ paths:
16796
16797
  Primary use case: verifying a submitted post. When a user publishes on the platform and immediately pastes the post URL into your app, call this with `accountId` plus `url` (or `postId`) to confirm the post exists and return its metadata.
16797
16798
 
16798
16799
  Behavior:
16799
- - We check our stored copy first and return immediately if the post is already known (no platform call).
16800
- - Otherwise we fetch the account's latest posts live from the platform, then match and return the submitted post.
16800
+ - Account access and connection state are checked before any platform call, including requests inside the debounce window.
16801
+ - Inactive accounts or accounts marked `needsReconnection` return `409` with code `ads_connection_required`. Stop scheduled retries for that account until it is reconnected, then read `GET /v1/accounts` for its current account ID.
16802
+ - For connected accounts, we fetch the latest posts live from the platform, then match and return the submitted post.
16801
16803
  - Requests are debounced per account (~15s): if the account was synced inside that window, the live fetch is skipped.
16802
16804
 
16803
16805
  `accountId` is required, because a post URL or id alone cannot be resolved to an account, and the account must be connected to Zernio (we use its token to read the platform). Supported for every platform with a listing API (Instagram, Facebook, TikTok, YouTube, X, Threads, Pinterest, Reddit, Bluesky, Google Business Profile, and LinkedIn organization accounts).
@@ -16838,7 +16840,7 @@ paths:
16838
16840
  properties:
16839
16841
  postsFound: { type: integer, description: Posts returned by the platform listing during the on-demand sync }
16840
16842
  postsSynced: { type: integer, description: Posts inserted or updated in Zernio }
16841
- skipped: { type: boolean, description: "True when no live fetch ran: the post was already stored, or the account was synced within the debounce window" }
16843
+ skipped: { type: boolean, description: "True when the account was synced within the debounce window and no live fetch ran." }
16842
16844
  found:
16843
16845
  type: boolean
16844
16846
  description: "Present only when a locator (`url`/`postId`) was provided: whether the post was found."
@@ -16867,7 +16869,18 @@ paths:
16867
16869
  '503': { $ref: '#/components/responses/TemporarilyUnavailable' }
16868
16870
  '502': { $ref: '#/components/responses/UpstreamFailure' }
16869
16871
  '401': { description: 'The platform authorization has expired. Reconnect the account.' }
16870
- '403': { description: 'The account is inactive or the platform denied access.' }
16872
+ '403': { description: 'The API key lacks access to this account or the platform denied access.' }
16873
+ '409':
16874
+ description: 'The account is inactive or needs reconnection. Stop scheduled retries until it is reconnected.'
16875
+ content:
16876
+ application/json:
16877
+ schema:
16878
+ $ref: '#/components/schemas/ErrorResponse'
16879
+ example:
16880
+ error: 'This account needs reconnection. Reconnect the account, then read GET /v1/accounts for its current account ID before retrying.'
16881
+ type: invalid_request_error
16882
+ code: ads_connection_required
16883
+ param: accountId
16871
16884
 
16872
16885
  /v1/posts/{postId}:
16873
16886
  get:
@@ -31015,6 +31028,11 @@ paths:
31015
31028
  window. Do not poll this endpoint for real-time updates: subscribe to the
31016
31029
  `comment.received` webhook, which delivers new comments as they arrive. Your own
31017
31030
  writes (creating, replying to, or deleting a comment) refresh the cache immediately.
31031
+
31032
+ TikTok is served for accounts connected through the TikTok for Business app: `postId`
31033
+ is the TikTok video id, each top-level comment carries up to three inline replies, and
31034
+ `commentId` pages the full reply list of one comment. Developer-app TikTok accounts
31035
+ return 400 with code `PLATFORM_LIMITATION`.
31018
31036
  tags: [Comments]
31019
31037
  security: [{ bearerAuth: [] }]
31020
31038
  parameters:
@@ -31042,7 +31060,7 @@ paths:
31042
31060
  - name: commentId
31043
31061
  in: query
31044
31062
  schema: { type: string }
31045
- description: (Reddit only) Get replies to a specific comment
31063
+ description: (Reddit and TikTok only) Get replies to a specific comment
31046
31064
  responses:
31047
31065
  '200':
31048
31066
  description: Comments for the post
@@ -31411,7 +31429,8 @@ paths:
31411
31429
  operationId: hideInboxComment
31412
31430
  summary: Hide comment
31413
31431
  description: |
31414
- Hide a comment on a post. Supported by Facebook, Instagram, Threads, and X.
31432
+ Hide a comment on a post. Supported by Facebook, Instagram, Threads, X, and TikTok
31433
+ (accounts connected through the TikTok for Business app).
31415
31434
  Hidden comments are only visible to the commenter and page admin.
31416
31435
  For X, the reply must belong to a conversation started by the authenticated user.
31417
31436
  tags: [Comments]
@@ -31456,7 +31475,8 @@ paths:
31456
31475
  operationId: unhideInboxComment
31457
31476
  summary: Unhide comment
31458
31477
  description: |
31459
- Unhide a previously hidden comment. Supported by Facebook, Instagram, Threads, and X.
31478
+ Unhide a previously hidden comment. Supported by Facebook, Instagram, Threads, X, and
31479
+ TikTok (accounts connected through the TikTok for Business app).
31460
31480
  tags: [Comments]
31461
31481
  security: [{ bearerAuth: [] }]
31462
31482
  parameters:
@@ -31490,6 +31510,89 @@ paths:
31490
31510
  '403':
31491
31511
  description: Inbox addon required
31492
31512
 
31513
+ /v1/inbox/comments/{postId}/{commentId}/pin:
31514
+ post:
31515
+ x-resource-group: "engagement"
31516
+ operationId: pinInboxComment
31517
+ summary: Pin comment
31518
+ description: |
31519
+ Pin a top-level comment to the top of a post's comment section. TikTok accounts
31520
+ connected through the TikTok for Business app only; every other platform returns 400.
31521
+ tags: [Comments]
31522
+ security: [{ bearerAuth: [] }]
31523
+ parameters:
31524
+ - name: postId
31525
+ in: path
31526
+ required: true
31527
+ schema: { type: string }
31528
+ - name: commentId
31529
+ in: path
31530
+ required: true
31531
+ schema: { type: string }
31532
+ requestBody:
31533
+ required: true
31534
+ content:
31535
+ application/json:
31536
+ schema:
31537
+ type: object
31538
+ required: [accountId]
31539
+ properties:
31540
+ accountId: { type: string, description: The social account ID }
31541
+ responses:
31542
+ '200':
31543
+ description: Comment pinned
31544
+ content:
31545
+ application/json:
31546
+ schema:
31547
+ type: object
31548
+ properties:
31549
+ status: { type: string }
31550
+ commentId: { type: string }
31551
+ pinned: { type: boolean }
31552
+ platform: { type: string }
31553
+ '400': { $ref: '#/components/responses/BadRequest' }
31554
+ '401': { $ref: '#/components/responses/Unauthorized' }
31555
+ '403':
31556
+ description: Inbox addon required
31557
+ delete:
31558
+ x-resource-group: "engagement"
31559
+ operationId: unpinInboxComment
31560
+ summary: Unpin comment
31561
+ description: |
31562
+ Unpin a previously pinned comment. TikTok accounts connected through the TikTok for
31563
+ Business app only.
31564
+ tags: [Comments]
31565
+ security: [{ bearerAuth: [] }]
31566
+ parameters:
31567
+ - name: postId
31568
+ in: path
31569
+ required: true
31570
+ schema: { type: string }
31571
+ - name: commentId
31572
+ in: path
31573
+ required: true
31574
+ schema: { type: string }
31575
+ - name: accountId
31576
+ in: query
31577
+ required: true
31578
+ schema: { type: string }
31579
+ responses:
31580
+ '200':
31581
+ description: Comment unpinned
31582
+ content:
31583
+ application/json:
31584
+ schema:
31585
+ type: object
31586
+ properties:
31587
+ status: { type: string }
31588
+ commentId: { type: string }
31589
+ pinned: { type: boolean }
31590
+ platform: { type: string }
31591
+ '400': { $ref: '#/components/responses/BadRequest' }
31592
+ '401': { $ref: '#/components/responses/Unauthorized' }
31593
+ '403':
31594
+ description: Inbox addon required
31595
+
31493
31596
  /v1/inbox/comments/{postId}/{commentId}/like:
31494
31597
  post:
31495
31598
  x-resource-group: "engagement"
@@ -43546,7 +43649,8 @@ paths:
43546
43649
  buyingType:
43547
43650
  type: string
43548
43651
  enum: [AUCTION, RESERVED]
43549
- description: 'Meta only. SKAdNetwork app promotion requires AUCTION.'
43652
+ default: AUCTION
43653
+ description: 'Meta only. Defaults to AUCTION and is explicitly sent on new campaigns, including validateOnly. SKAdNetwork app promotion requires AUCTION.'
43550
43654
  validateOnly:
43551
43655
  type: boolean
43552
43656
  description: 'Meta only. Runs campaign validation without creating or persisting a campaign; Idempotency-Key storage is bypassed. Returns HTTP 200 with validateOnly true and status VALIDATED.'
@@ -50802,7 +50906,7 @@ paths:
50802
50906
  - Only `traffic`, `awareness`, and `conversions` are supported (other goals return 400). Maps to OpenAI's `bidding_type` (clicks, impressions, conversions respectively). `conversions` requires an active conversion event setting on the account; create a tracking tag with `defaultEventType` via the tracking-tags API (`POST /v1/accounts/{accountId}/tracking-tags`), or configure a conversion event in OpenAI Ads Manager, or the request returns 422.
50803
50907
  optimizationGoal: { type: string, description: "Meta only. Explicit ad-set `optimization_goal` (e.g. `LANDING_PAGE_VIEWS`, `LINK_CLICKS`, `REACH`, `IMPRESSIONS`, `OFFSITE_CONVERSIONS`, `THRUPLAY`, `LEAD_GENERATION`). Overrides the default derived from `goal` (e.g. `traffic` defaults to `LINK_CLICKS`). Forwarded verbatim to Meta, which validates compatibility with the campaign objective and rejects incompatible combinations." }
50804
50908
  billingEvent: { type: string, description: "Meta only. Explicit ad-set `billing_event`. Defaults to `IMPRESSIONS`. Forwarded verbatim to Meta, which validates compatibility with the optimization goal." }
50805
- buyingType: { type: string, enum: [AUCTION, RESERVED], description: "Meta only. RESERVED = Reach & Frequency: requires `rfPredictionId` (a RESERVED prediction from /v1/ads/rf-predictions + /reserve). Budget, schedule and pricing come from the reservation, so budgetAmount/budgetType are not required and bid fields are ignored. Only the plain single-ad shape (no creatives[], adSetId, existingCampaignId or dynamicCreative)." }
50909
+ buyingType: { type: string, enum: [AUCTION, RESERVED], default: AUCTION, description: "Meta only. Defaults to AUCTION and is explicitly sent on new campaigns, including validateOnly. Reusing existingCampaignId does not change the campaign. RESERVED = Reach & Frequency: requires `rfPredictionId` (a RESERVED prediction from /v1/ads/rf-predictions + /reserve). Budget, schedule and pricing come from the reservation, so budgetAmount/budgetType are not required and bid fields are ignored. Only the plain single-ad shape (no creatives[], adSetId, existingCampaignId or dynamicCreative)." }
50806
50910
  rfPredictionId: { type: string, description: "Meta only. The RESERVED prediction id the R&F ad set runs on (reserving mints a new id, so pass that one). Requires buyingType RESERVED." }
50807
50911
  promotion: { $ref: '#/components/schemas/MetaPromotion' }
50808
50912
  creativeFeatures:
@@ -422,7 +422,7 @@ describe 'AnalyticsApi' do
422
422
 
423
423
  # unit tests for sync_external_posts
424
424
  # Sync an external post
425
- # Fetch an account's latest external posts (published directly on the platform, not through Zernio) on demand, so a newly published post is retrievable within seconds instead of waiting for the background sync (which refreshes each account at most every ~90 minutes). Primary use case: verifying a submitted post. When a user publishes on the platform and immediately pastes the post URL into your app, call this with `accountId` plus `url` (or `postId`) to confirm the post exists and return its metadata. Behavior: - We check our stored copy first and return immediately if the post is already known (no platform call). - Otherwise we fetch the account's latest posts live from the platform, then match and return the submitted post. - Requests are debounced per account (~15s): if the account was synced inside that window, the live fetch is skipped. `accountId` is required, because a post URL or id alone cannot be resolved to an account, and the account must be connected to Zernio (we use its token to read the platform). Supported for every platform with a listing API (Instagram, Facebook, TikTok, YouTube, X, Threads, Pinterest, Reddit, Bluesky, Google Business Profile, and LinkedIn organization accounts). LinkedIn personal profiles: LinkedIn has no listing API for personal profiles, so a `url` is REQUIRED and imports that single post. Pass any LinkedIn post URL (`linkedin.com/posts/…`, `linkedin.com/feed/update/urn:li:activity:…`) or a `urn:li:share:…` / `urn:li:ugcPost:…` URN. Works for posts published outside Zernio and before the account was connected, any age; the post must be authored by the connected member. Imported posts return full analytics (impressions, reach, reactions, comments, reshares, saves) and keep refreshing on the background analytics cycle, but carry no content/media (LinkedIn does not expose them for personal profiles). `url` accepts any format the platform uses (e.g. `instagram.com/p/…`, `instagram.com/reel/…`, `youtu.be/…`, `youtube.com/shorts/…`, `tiktok.com/@user/video/…`, `vm.tiktok.com` short links, `pinterest.com/pin/…` on any regional domain, and `pin.it` short links). Pass `postId` (the platform media/video/pin id) as an alternative locator. Note: post-level analytics (reach, impressions) still carry the platform's own delay (e.g. ~24h on Instagram). This endpoint confirms the post exists and returns its metadata plus basic engagement (likes, comments), not delayed insights.
425
+ # Fetch an account's latest external posts (published directly on the platform, not through Zernio) on demand, so a newly published post is retrievable within seconds instead of waiting for the background sync (which refreshes each account at most every ~90 minutes). Primary use case: verifying a submitted post. When a user publishes on the platform and immediately pastes the post URL into your app, call this with `accountId` plus `url` (or `postId`) to confirm the post exists and return its metadata. Behavior: - Account access and connection state are checked before any platform call, including requests inside the debounce window. - Inactive accounts or accounts marked `needsReconnection` return `409` with code `ads_connection_required`. Stop scheduled retries for that account until it is reconnected, then read `GET /v1/accounts` for its current account ID. - For connected accounts, we fetch the latest posts live from the platform, then match and return the submitted post. - Requests are debounced per account (~15s): if the account was synced inside that window, the live fetch is skipped. `accountId` is required, because a post URL or id alone cannot be resolved to an account, and the account must be connected to Zernio (we use its token to read the platform). Supported for every platform with a listing API (Instagram, Facebook, TikTok, YouTube, X, Threads, Pinterest, Reddit, Bluesky, Google Business Profile, and LinkedIn organization accounts). LinkedIn personal profiles: LinkedIn has no listing API for personal profiles, so a `url` is REQUIRED and imports that single post. Pass any LinkedIn post URL (`linkedin.com/posts/…`, `linkedin.com/feed/update/urn:li:activity:…`) or a `urn:li:share:…` / `urn:li:ugcPost:…` URN. Works for posts published outside Zernio and before the account was connected, any age; the post must be authored by the connected member. Imported posts return full analytics (impressions, reach, reactions, comments, reshares, saves) and keep refreshing on the background analytics cycle, but carry no content/media (LinkedIn does not expose them for personal profiles). `url` accepts any format the platform uses (e.g. `instagram.com/p/…`, `instagram.com/reel/…`, `youtu.be/…`, `youtube.com/shorts/…`, `tiktok.com/@user/video/…`, `vm.tiktok.com` short links, `pinterest.com/pin/…` on any regional domain, and `pin.it` short links). Pass `postId` (the platform media/video/pin id) as an alternative locator. Note: post-level analytics (reach, impressions) still carry the platform's own delay (e.g. ~24h on Instagram). This endpoint confirms the post exists and returns its metadata plus basic engagement (likes, comments), not delayed insights.
426
426
  # @param sync_external_posts_request
427
427
  # @param [Hash] opts the optional parameters
428
428
  # @return [SyncExternalPosts200Response]
@@ -62,14 +62,14 @@ describe 'CommentsApi' do
62
62
 
63
63
  # unit tests for get_inbox_post_comments
64
64
  # Get post comments
65
- # Fetch comments for a specific post. Requires accountId query parameter. On Facebook and Instagram, passing a COMMENT id as `postId` is also supported and returns that comment's replies instead of the post's top-level comments. This is not available on YouTube, where `postId` must be a video id. Responses are cached for up to 10 minutes, so a page may lag new comments by that window. Do not poll this endpoint for real-time updates: subscribe to the `comment.received` webhook, which delivers new comments as they arrive. Your own writes (creating, replying to, or deleting a comment) refresh the cache immediately.
65
+ # Fetch comments for a specific post. Requires accountId query parameter. On Facebook and Instagram, passing a COMMENT id as `postId` is also supported and returns that comment's replies instead of the post's top-level comments. This is not available on YouTube, where `postId` must be a video id. Responses are cached for up to 10 minutes, so a page may lag new comments by that window. Do not poll this endpoint for real-time updates: subscribe to the `comment.received` webhook, which delivers new comments as they arrive. Your own writes (creating, replying to, or deleting a comment) refresh the cache immediately. TikTok is served for accounts connected through the TikTok for Business app: `postId` is the TikTok video id, each top-level comment carries up to three inline replies, and `commentId` pages the full reply list of one comment. Developer-app TikTok accounts return 400 with code `PLATFORM_LIMITATION`.
66
66
  # @param post_id Zernio post ID or platform-specific post ID. Zernio IDs are auto-resolved. LinkedIn third-party posts accept full activity URN or numeric ID. On Facebook and Instagram, a comment ID is also accepted here and returns that comment's replies.
67
67
  # @param account_id
68
68
  # @param [Hash] opts the optional parameters
69
69
  # @option opts [String] :subreddit (Reddit only) Subreddit name
70
70
  # @option opts [Integer] :limit Maximum number of comments to return
71
71
  # @option opts [String] :cursor Pagination cursor, returned by a previous call as `pagination.cursor`. This is the platform's own opaque paging value passed through verbatim: never construct, decode or validate it client-side.
72
- # @option opts [String] :comment_id (Reddit only) Get replies to a specific comment
72
+ # @option opts [String] :comment_id (Reddit and TikTok only) Get replies to a specific comment
73
73
  # @return [GetInboxPostComments200Response]
74
74
  describe 'get_inbox_post_comments test' do
75
75
  it 'should work' do
@@ -79,7 +79,7 @@ describe 'CommentsApi' do
79
79
 
80
80
  # unit tests for hide_inbox_comment
81
81
  # Hide comment
82
- # Hide a comment on a post. Supported by Facebook, Instagram, Threads, and X. Hidden comments are only visible to the commenter and page admin. For X, the reply must belong to a conversation started by the authenticated user.
82
+ # Hide a comment on a post. Supported by Facebook, Instagram, Threads, X, and TikTok (accounts connected through the TikTok for Business app). Hidden comments are only visible to the commenter and page admin. For X, the reply must belong to a conversation started by the authenticated user.
83
83
  # @param post_id
84
84
  # @param comment_id
85
85
  # @param hide_inbox_comment_request
@@ -138,6 +138,20 @@ describe 'CommentsApi' do
138
138
  end
139
139
  end
140
140
 
141
+ # unit tests for pin_inbox_comment
142
+ # Pin comment
143
+ # Pin a top-level comment to the top of a post's comment section. TikTok accounts connected through the TikTok for Business app only; every other platform returns 400.
144
+ # @param post_id
145
+ # @param comment_id
146
+ # @param pin_inbox_comment_request
147
+ # @param [Hash] opts the optional parameters
148
+ # @return [PinInboxComment200Response]
149
+ describe 'pin_inbox_comment test' do
150
+ it 'should work' do
151
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
152
+ end
153
+ end
154
+
141
155
  # unit tests for reply_to_inbox_post
142
156
  # Reply to comment
143
157
  # Post a reply to a post or specific comment. Requires accountId in request body. **Idempotency:** send an `Idempotency-Key` header to make retries safe (e.g. after a client-side timeout where delivery is unknown): same key + same body replays the original response (with `Idempotent-Replayed: true`) instead of posting the comment a second time; same key + different body returns 422; a key still in flight returns 409. Keys are retained for 24 hours and are scoped to the credential and to this exact path, so reusing a key against a different postId returns 422 rather than replaying the other post's response. Only successful (2xx) responses are stored for replay. If the request throws or returns a non-2xx status the key is released, so the header protects the \"request succeeded but the response was lost\" case. After an ambiguous failure (a 5xx or a network timeout) list the post's comments before retrying with the same key, and treat an empty result as inconclusive rather than as proof nothing was posted.
@@ -182,7 +196,7 @@ describe 'CommentsApi' do
182
196
 
183
197
  # unit tests for unhide_inbox_comment
184
198
  # Unhide comment
185
- # Unhide a previously hidden comment. Supported by Facebook, Instagram, Threads, and X.
199
+ # Unhide a previously hidden comment. Supported by Facebook, Instagram, Threads, X, and TikTok (accounts connected through the TikTok for Business app).
186
200
  # @param post_id
187
201
  # @param comment_id
188
202
  # @param account_id
@@ -223,4 +237,18 @@ describe 'CommentsApi' do
223
237
  end
224
238
  end
225
239
 
240
+ # unit tests for unpin_inbox_comment
241
+ # Unpin comment
242
+ # Unpin a previously pinned comment. TikTok accounts connected through the TikTok for Business app only.
243
+ # @param post_id
244
+ # @param comment_id
245
+ # @param account_id
246
+ # @param [Hash] opts the optional parameters
247
+ # @return [PinInboxComment200Response]
248
+ describe 'unpin_inbox_comment test' do
249
+ it 'should work' do
250
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
251
+ end
252
+ end
253
+
226
254
  end
@@ -0,0 +1,54 @@
1
+ =begin
2
+ #Zernio API
3
+
4
+ #API reference for Zernio. Authenticate with a Bearer API key. Base URL: https://zernio.com/api Versioning and deprecation: all endpoints are versioned in the URL path (current version: /v1). Breaking changes only ship in a new path version; existing versions keep working. Deprecated operations are marked 'deprecated: true' in this spec and announced in the changelog (https://zernio.com/changelog) before removal. Errors: every 4xx/5xx response is application/json with a machine-readable 'code' and a human-readable 'error' message (see the ErrorResponse schema).
5
+
6
+ The version of the OpenAPI document: 1.0.4
7
+ Contact: support@zernio.com
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.19.0
10
+
11
+ =end
12
+
13
+ require 'spec_helper'
14
+ require 'json'
15
+ require 'date'
16
+
17
+ # Unit tests for Zernio::PinInboxComment200Response
18
+ # Automatically generated by openapi-generator (https://openapi-generator.tech)
19
+ # Please update as you see appropriate
20
+ describe Zernio::PinInboxComment200Response do
21
+ #let(:instance) { Zernio::PinInboxComment200Response.new }
22
+
23
+ describe 'test an instance of PinInboxComment200Response' do
24
+ it 'should create an instance of PinInboxComment200Response' do
25
+ # uncomment below to test the instance creation
26
+ #expect(instance).to be_instance_of(Zernio::PinInboxComment200Response)
27
+ end
28
+ end
29
+
30
+ describe 'test attribute "status"' do
31
+ it 'should work' do
32
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
33
+ end
34
+ end
35
+
36
+ describe 'test attribute "comment_id"' do
37
+ it 'should work' do
38
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
39
+ end
40
+ end
41
+
42
+ describe 'test attribute "pinned"' do
43
+ it 'should work' do
44
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
45
+ end
46
+ end
47
+
48
+ describe 'test attribute "platform"' do
49
+ it 'should work' do
50
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
51
+ end
52
+ end
53
+
54
+ end
@@ -0,0 +1,36 @@
1
+ =begin
2
+ #Zernio API
3
+
4
+ #API reference for Zernio. Authenticate with a Bearer API key. Base URL: https://zernio.com/api Versioning and deprecation: all endpoints are versioned in the URL path (current version: /v1). Breaking changes only ship in a new path version; existing versions keep working. Deprecated operations are marked 'deprecated: true' in this spec and announced in the changelog (https://zernio.com/changelog) before removal. Errors: every 4xx/5xx response is application/json with a machine-readable 'code' and a human-readable 'error' message (see the ErrorResponse schema).
5
+
6
+ The version of the OpenAPI document: 1.0.4
7
+ Contact: support@zernio.com
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.19.0
10
+
11
+ =end
12
+
13
+ require 'spec_helper'
14
+ require 'json'
15
+ require 'date'
16
+
17
+ # Unit tests for Zernio::PinInboxCommentRequest
18
+ # Automatically generated by openapi-generator (https://openapi-generator.tech)
19
+ # Please update as you see appropriate
20
+ describe Zernio::PinInboxCommentRequest do
21
+ #let(:instance) { Zernio::PinInboxCommentRequest.new }
22
+
23
+ describe 'test an instance of PinInboxCommentRequest' do
24
+ it 'should create an instance of PinInboxCommentRequest' do
25
+ # uncomment below to test the instance creation
26
+ #expect(instance).to be_instance_of(Zernio::PinInboxCommentRequest)
27
+ end
28
+ end
29
+
30
+ describe 'test attribute "account_id"' do
31
+ it 'should work' do
32
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
33
+ end
34
+ end
35
+
36
+ end
@@ -48,7 +48,7 @@ describe Zernio::WebhookPayloadCommentComment do
48
48
  describe 'test attribute "platform"' do
49
49
  it 'should work' do
50
50
  # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
51
- # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["instagram", "facebook", "twitter", "youtube", "linkedin", "bluesky", "reddit"])
51
+ # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["instagram", "facebook", "twitter", "youtube", "linkedin", "bluesky", "reddit", "tiktok"])
52
52
  # validator.allowable_values.each do |value|
53
53
  # expect { instance.platform = value }.not_to raise_error
54
54
  # end
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: late-sdk
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.913
4
+ version: 0.0.915
5
5
  platform: ruby
6
6
  authors:
7
7
  - OpenAPI-Generator
@@ -1374,6 +1374,8 @@ files:
1374
1374
  - docs/PhoneNumberStockWatch.md
1375
1375
  - docs/PhoneNumbersApi.md
1376
1376
  - docs/PinDiscordMessage200Response.md
1377
+ - docs/PinInboxComment200Response.md
1378
+ - docs/PinInboxCommentRequest.md
1377
1379
  - docs/PinterestPlatformData.md
1378
1380
  - docs/PlatformAnalytics.md
1379
1381
  - docs/PlatformTarget.md
@@ -3492,6 +3494,8 @@ files:
3492
3494
  - lib/zernio-sdk/models/pending.rb
3493
3495
  - lib/zernio-sdk/models/phone_number_stock_watch.rb
3494
3496
  - lib/zernio-sdk/models/pin_discord_message200_response.rb
3497
+ - lib/zernio-sdk/models/pin_inbox_comment200_response.rb
3498
+ - lib/zernio-sdk/models/pin_inbox_comment_request.rb
3495
3499
  - lib/zernio-sdk/models/pinterest_platform_data.rb
3496
3500
  - lib/zernio-sdk/models/platform_analytics.rb
3497
3501
  - lib/zernio-sdk/models/platform_target.rb
@@ -5578,6 +5582,8 @@ files:
5578
5582
  - spec/models/pending_spec.rb
5579
5583
  - spec/models/phone_number_stock_watch_spec.rb
5580
5584
  - spec/models/pin_discord_message200_response_spec.rb
5585
+ - spec/models/pin_inbox_comment200_response_spec.rb
5586
+ - spec/models/pin_inbox_comment_request_spec.rb
5581
5587
  - spec/models/pinterest_platform_data_spec.rb
5582
5588
  - spec/models/platform_analytics_spec.rb
5583
5589
  - spec/models/platform_target_account_id_spec.rb
@@ -6331,7 +6337,7 @@ files:
6331
6337
  - spec/models/you_tube_video_retention_response_retention_curve_inner_spec.rb
6332
6338
  - spec/models/you_tube_video_retention_response_spec.rb
6333
6339
  - spec/spec_helper.rb
6334
- - zernio-sdk-0.0.913.gem
6340
+ - zernio-sdk-0.0.915.gem
6335
6341
  - zernio-sdk.gemspec
6336
6342
  homepage: https://openapi-generator.tech
6337
6343
  licenses:
@@ -6438,6 +6444,7 @@ test_files:
6438
6444
  - spec/models/revoke_connected_app200_response_spec.rb
6439
6445
  - spec/models/update_ad_campaign_status200_response_spec.rb
6440
6446
  - spec/models/targeting_spec_spec.rb
6447
+ - spec/models/pin_inbox_comment200_response_spec.rb
6441
6448
  - spec/models/webhook_payload_external_post_spec.rb
6442
6449
  - spec/models/purchase_whats_app_phone_number_request_spec.rb
6443
6450
  - spec/models/search_tweets200_response_pagination_spec.rb
@@ -7569,6 +7576,7 @@ test_files:
7569
7576
  - spec/models/enroll_contacts_request_spec.rb
7570
7577
  - spec/models/create_custom_field_request_spec.rb
7571
7578
  - spec/models/get_tik_tok_creator_info200_response_commercial_content_types_inner_spec.rb
7579
+ - spec/models/pin_inbox_comment_request_spec.rb
7572
7580
  - spec/models/discord_platform_data_embeds_inner_spec.rb
7573
7581
  - spec/models/attach_campaign_assets201_response_spec.rb
7574
7582
  - spec/models/remove_bookmark200_response_spec.rb
Binary file