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.
- checksums.yaml +4 -4
- data/README.md +4 -0
- data/docs/AnalyticsApi.md +1 -1
- data/docs/CommentsApi.md +153 -5
- data/docs/CreateAdCampaignRequest.md +1 -1
- data/docs/CreateStandaloneAdRequest.md +1 -1
- data/docs/PinInboxComment200Response.md +24 -0
- data/docs/PinInboxCommentRequest.md +18 -0
- data/docs/SyncExternalPosts200ResponseSynced.md +1 -1
- data/docs/TikTokPlatformData.md +1 -1
- data/lib/zernio-sdk/api/analytics_api.rb +2 -2
- data/lib/zernio-sdk/api/comments_api.rb +164 -8
- data/lib/zernio-sdk/models/create_ad_campaign_request.rb +3 -1
- data/lib/zernio-sdk/models/create_standalone_ad_request.rb +3 -1
- data/lib/zernio-sdk/models/pin_inbox_comment200_response.rb +174 -0
- data/lib/zernio-sdk/models/pin_inbox_comment_request.rb +165 -0
- data/lib/zernio-sdk/models/sync_external_posts200_response_synced.rb +1 -1
- data/lib/zernio-sdk/models/tik_tok_platform_data.rb +1 -1
- data/lib/zernio-sdk/models/webhook_payload_comment.rb +1 -1
- data/lib/zernio-sdk/models/webhook_payload_comment_comment.rb +2 -2
- data/lib/zernio-sdk/version.rb +1 -1
- data/lib/zernio-sdk.rb +2 -0
- data/openapi.yaml +116 -12
- data/spec/api/analytics_api_spec.rb +1 -1
- data/spec/api/comments_api_spec.rb +32 -4
- data/spec/models/pin_inbox_comment200_response_spec.rb +54 -0
- data/spec/models/pin_inbox_comment_request_spec.rb +36 -0
- data/spec/models/webhook_payload_comment_comment_spec.rb +1 -1
- data/zernio-sdk-0.0.915.gem +0 -0
- metadata +10 -2
- data/zernio-sdk-0.0.913.gem +0 -0
data/lib/zernio-sdk/version.rb
CHANGED
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
|
-
-
|
|
16800
|
-
-
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
-
|
|
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: -
|
|
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
|
|
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
|
|
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.
|
|
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.
|
|
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
|
data/zernio-sdk-0.0.913.gem
DELETED
|
Binary file
|