late-sdk 0.0.910 → 0.0.912
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 +3 -0
- data/docs/CreateCommentAutomationRequest.md +1 -1
- data/docs/DownloadTikTokVideo200Response.md +30 -0
- data/docs/DownloadTikTokVideo200ResponseFormatsInner.md +34 -0
- data/docs/GetInboxPostComments200ResponseCommentsInner.md +1 -1
- data/docs/LeadGenApi.md +2 -2
- data/docs/LikeInboxComment200Response.md +4 -0
- data/docs/LikePost200Response.md +5 -1
- data/docs/ToolsApi.md +83 -0
- data/lib/zernio-sdk/api/lead_gen_api.rb +10 -2
- data/lib/zernio-sdk/api/tools_api.rb +96 -0
- data/lib/zernio-sdk/models/create_comment_automation_request.rb +22 -1
- data/lib/zernio-sdk/models/download_tik_tok_video200_response.rb +242 -0
- data/lib/zernio-sdk/models/download_tik_tok_video200_response_formats_inner.rb +219 -0
- data/lib/zernio-sdk/models/get_inbox_post_comments200_response_comments_inner.rb +1 -1
- data/lib/zernio-sdk/models/like_inbox_comment200_response.rb +21 -1
- data/lib/zernio-sdk/models/like_post200_response.rb +24 -4
- data/lib/zernio-sdk/version.rb +1 -1
- data/lib/zernio-sdk.rb +3 -0
- data/openapi.yaml +133 -3
- data/spec/api/lead_gen_api_spec.rb +1 -1
- data/spec/api/tools_api_spec.rb +49 -0
- data/spec/models/download_tik_tok_video200_response_formats_inner_spec.rb +84 -0
- data/spec/models/download_tik_tok_video200_response_spec.rb +72 -0
- data/spec/models/like_inbox_comment200_response_spec.rb +12 -0
- data/spec/models/like_post200_response_spec.rb +12 -0
- data/zernio-sdk-0.0.912.gem +0 -0
- metadata +14 -2
- data/zernio-sdk-0.0.910.gem +0 -0
data/openapi.yaml
CHANGED
|
@@ -217,6 +217,8 @@ servers:
|
|
|
217
217
|
- url: http://localhost:3000/api
|
|
218
218
|
description: Local
|
|
219
219
|
tags:
|
|
220
|
+
- name: Tools
|
|
221
|
+
description: "Media tools for authenticated API consumers."
|
|
220
222
|
- name: Posts
|
|
221
223
|
description: |
|
|
222
224
|
Create, schedule, list, update, and delete posts across all connected accounts.
|
|
@@ -607,6 +609,28 @@ components:
|
|
|
607
609
|
type: invalid_request_error
|
|
608
610
|
code: ads_connection_required
|
|
609
611
|
param: accountId
|
|
612
|
+
TemporarilyUnavailable:
|
|
613
|
+
description: 'An upstream service or database is temporarily unavailable. Retry after the indicated delay. A timed-out write may have completed upstream; check its outcome before resubmitting.'
|
|
614
|
+
headers:
|
|
615
|
+
Retry-After:
|
|
616
|
+
schema: { type: integer, example: 5 }
|
|
617
|
+
description: 'Minimum delay in seconds before retrying.'
|
|
618
|
+
content:
|
|
619
|
+
application/json:
|
|
620
|
+
schema: { $ref: '#/components/schemas/ErrorResponse' }
|
|
621
|
+
example:
|
|
622
|
+
error: 'Temporary connection issue while reaching an upstream service. Please retry the request.'
|
|
623
|
+
type: api_error
|
|
624
|
+
code: temporarily_unavailable
|
|
625
|
+
UpstreamFailure:
|
|
626
|
+
description: 'The platform returned a server error.'
|
|
627
|
+
content:
|
|
628
|
+
application/json:
|
|
629
|
+
schema: { $ref: '#/components/schemas/ErrorResponse' }
|
|
630
|
+
example:
|
|
631
|
+
error: 'The platform could not complete the request.'
|
|
632
|
+
type: platform_error
|
|
633
|
+
code: platform_api_error
|
|
610
634
|
IdempotencyKeyInFlight:
|
|
611
635
|
description: Same Idempotency-Key still processing; retry after a short backoff
|
|
612
636
|
IdempotencyKeyReused:
|
|
@@ -12599,6 +12623,8 @@ paths:
|
|
|
12599
12623
|
application/json:
|
|
12600
12624
|
schema:
|
|
12601
12625
|
$ref: '#/components/schemas/YouTubeScopeMissingResponse'
|
|
12626
|
+
'503': { $ref: '#/components/responses/TemporarilyUnavailable' }
|
|
12627
|
+
'502': { $ref: '#/components/responses/UpstreamFailure' }
|
|
12602
12628
|
|
|
12603
12629
|
/v1/analytics/linkedin/org-aggregate-analytics:
|
|
12604
12630
|
get:
|
|
@@ -13831,6 +13857,8 @@ paths:
|
|
|
13831
13857
|
hasAnalyticsScope: { type: boolean, example: false }
|
|
13832
13858
|
requiresReauthorization: { type: boolean, example: true }
|
|
13833
13859
|
reauthorizeUrl: { type: string }
|
|
13860
|
+
'503': { $ref: '#/components/responses/TemporarilyUnavailable' }
|
|
13861
|
+
'502': { $ref: '#/components/responses/UpstreamFailure' }
|
|
13834
13862
|
|
|
13835
13863
|
/v1/analytics/daily-metrics:
|
|
13836
13864
|
get:
|
|
@@ -14447,6 +14475,8 @@ paths:
|
|
|
14447
14475
|
type: object
|
|
14448
14476
|
properties:
|
|
14449
14477
|
error: { type: string, example: "Access denied to this account" }
|
|
14478
|
+
'503': { $ref: '#/components/responses/TemporarilyUnavailable' }
|
|
14479
|
+
'502': { $ref: '#/components/responses/UpstreamFailure' }
|
|
14450
14480
|
|
|
14451
14481
|
/v1/analytics/googlebusiness/search-keywords:
|
|
14452
14482
|
get:
|
|
@@ -14541,6 +14571,9 @@ paths:
|
|
|
14541
14571
|
properties:
|
|
14542
14572
|
error: { type: string, example: "Access denied to this account" }
|
|
14543
14573
|
|
|
14574
|
+
'503': { $ref: '#/components/responses/TemporarilyUnavailable' }
|
|
14575
|
+
'502': { $ref: '#/components/responses/UpstreamFailure' }
|
|
14576
|
+
|
|
14544
14577
|
# ─── Inbox analytics ───────────────────────────────────────────────────
|
|
14545
14578
|
# Same `[Analytics]` tag as the posting endpoints above so the rendered
|
|
14546
14579
|
# docs keep posting + inbox analytics centralized in one group. Every
|
|
@@ -16831,6 +16864,11 @@ paths:
|
|
|
16831
16864
|
application/json:
|
|
16832
16865
|
schema:
|
|
16833
16866
|
$ref: '#/components/schemas/ErrorResponse'
|
|
16867
|
+
'503': { $ref: '#/components/responses/TemporarilyUnavailable' }
|
|
16868
|
+
'502': { $ref: '#/components/responses/UpstreamFailure' }
|
|
16869
|
+
'401': { description: 'The platform authorization has expired. Reconnect the account.' }
|
|
16870
|
+
'403': { description: 'The account is inactive or the platform denied access.' }
|
|
16871
|
+
|
|
16834
16872
|
/v1/posts/{postId}:
|
|
16835
16873
|
get:
|
|
16836
16874
|
x-resource-group: "publishing"
|
|
@@ -18042,6 +18080,8 @@ paths:
|
|
|
18042
18080
|
hasAnalyticsAccess: false
|
|
18043
18081
|
'400': { $ref: '#/components/responses/BadRequest' }
|
|
18044
18082
|
'401': { $ref: '#/components/responses/Unauthorized' }
|
|
18083
|
+
'503': { $ref: '#/components/responses/TemporarilyUnavailable' }
|
|
18084
|
+
|
|
18045
18085
|
/v1/accounts/follower-stats:
|
|
18046
18086
|
get:
|
|
18047
18087
|
x-resource-group: "analytics"
|
|
@@ -18749,6 +18789,9 @@ paths:
|
|
|
18749
18789
|
'401': { $ref: '#/components/responses/Unauthorized' }
|
|
18750
18790
|
'403': { description: 'X analytics capability not enabled for this account (code X_ANALYTICS_NOT_ENABLED)' }
|
|
18751
18791
|
'404': { $ref: '#/components/responses/NotFound' }
|
|
18792
|
+
'503': { $ref: '#/components/responses/TemporarilyUnavailable' }
|
|
18793
|
+
'502': { $ref: '#/components/responses/UpstreamFailure' }
|
|
18794
|
+
|
|
18752
18795
|
/v1/accounts/{accountId}/follow-status/{userId}:
|
|
18753
18796
|
get:
|
|
18754
18797
|
operationId: getInstagramFollowStatus
|
|
@@ -20552,6 +20595,8 @@ paths:
|
|
|
20552
20595
|
content:
|
|
20553
20596
|
application/json:
|
|
20554
20597
|
schema: { $ref: '#/components/schemas/ErrorResponse' }
|
|
20598
|
+
'503': { $ref: '#/components/responses/TemporarilyUnavailable' }
|
|
20599
|
+
'502': { $ref: '#/components/responses/UpstreamFailure' }
|
|
20555
20600
|
|
|
20556
20601
|
/v1/accounts/{accountId}/gmb-verifications:
|
|
20557
20602
|
get:
|
|
@@ -24518,6 +24563,8 @@ paths:
|
|
|
24518
24563
|
error: "Post not found. The URN may be invalid or the post may have been deleted."
|
|
24519
24564
|
code: "post_not_found"
|
|
24520
24565
|
postUrn: "urn:li:share:123"
|
|
24566
|
+
'503': { $ref: '#/components/responses/TemporarilyUnavailable' }
|
|
24567
|
+
'502': { $ref: '#/components/responses/UpstreamFailure' }
|
|
24521
24568
|
|
|
24522
24569
|
/v1/accounts/{accountId}/linkedin-post-reactions:
|
|
24523
24570
|
get:
|
|
@@ -29329,6 +29376,9 @@ paths:
|
|
|
29329
29376
|
'401': { $ref: '#/components/responses/Unauthorized' }
|
|
29330
29377
|
'403':
|
|
29331
29378
|
description: Inbox addon required
|
|
29379
|
+
'503': { $ref: '#/components/responses/TemporarilyUnavailable' }
|
|
29380
|
+
'502': { $ref: '#/components/responses/UpstreamFailure' }
|
|
29381
|
+
|
|
29332
29382
|
post:
|
|
29333
29383
|
x-resource-group: "messages"
|
|
29334
29384
|
operationId: sendInboxMessage
|
|
@@ -30033,6 +30083,8 @@ paths:
|
|
|
30033
30083
|
schema: { $ref: '#/components/schemas/ErrorResponse' }
|
|
30034
30084
|
'409': { $ref: '#/components/responses/IdempotencyKeyInFlight' }
|
|
30035
30085
|
'422': { $ref: '#/components/responses/IdempotencyKeyReused' }
|
|
30086
|
+
'503': { $ref: '#/components/responses/TemporarilyUnavailable' }
|
|
30087
|
+
'502': { $ref: '#/components/responses/UpstreamFailure' }
|
|
30036
30088
|
|
|
30037
30089
|
/v1/whatsapp/media/{mediaId}:
|
|
30038
30090
|
get:
|
|
@@ -31035,7 +31087,7 @@ paths:
|
|
|
31035
31087
|
canReply: { type: boolean }
|
|
31036
31088
|
canDelete: { type: boolean }
|
|
31037
31089
|
canHide: { type: boolean, description: "Whether this comment can be hidden (Facebook, Instagram, Threads)" }
|
|
31038
|
-
canLike: { type: boolean, description: "Whether this comment can be liked (Facebook, X, Bluesky, Reddit)" }
|
|
31090
|
+
canLike: { type: boolean, description: "Whether this comment can be liked (Facebook, X, Bluesky, Reddit, LinkedIn)" }
|
|
31039
31091
|
isHidden: { type: boolean, description: Whether the comment is currently hidden }
|
|
31040
31092
|
isLiked: { type: boolean, description: Whether the current user has liked this comment }
|
|
31041
31093
|
likeUri: { type: [string, "null"], description: Bluesky like URI for unliking }
|
|
@@ -31504,12 +31556,16 @@ paths:
|
|
|
31504
31556
|
commentId: { type: string }
|
|
31505
31557
|
liked: { type: boolean }
|
|
31506
31558
|
likeUri: { type: string, description: (Bluesky only) URI to use for unliking }
|
|
31559
|
+
alreadyReacted: { type: boolean, description: 'LinkedIn only: the account already had this exact reaction, so nothing was created' }
|
|
31560
|
+
reactionType: { type: string, description: 'LinkedIn only: the reaction type now in effect' }
|
|
31507
31561
|
platform: { type: string }
|
|
31508
31562
|
'400':
|
|
31509
31563
|
description: Platform does not support liking comments
|
|
31510
31564
|
'401': { $ref: '#/components/responses/Unauthorized' }
|
|
31511
31565
|
'403':
|
|
31512
31566
|
description: Inbox addon required, or the account is missing the platform permission
|
|
31567
|
+
'409':
|
|
31568
|
+
description: 'LinkedIn only: the account already holds a different reaction on this target (code invalid_resource_state); remove it before creating another.'
|
|
31513
31569
|
delete:
|
|
31514
31570
|
x-resource-group: "engagement"
|
|
31515
31571
|
operationId: unlikeInboxComment
|
|
@@ -31630,12 +31686,16 @@ paths:
|
|
|
31630
31686
|
platform: { type: string }
|
|
31631
31687
|
liked: { type: boolean }
|
|
31632
31688
|
likeUri: { type: string, description: (Bluesky only) URI to use for unliking }
|
|
31689
|
+
alreadyReacted: { type: boolean, description: 'LinkedIn only: the account already had this exact reaction, so nothing was created' }
|
|
31690
|
+
reactionType: { type: string, description: 'LinkedIn only: the reaction type now in effect' }
|
|
31633
31691
|
'400': { $ref: '#/components/responses/BadRequest' }
|
|
31634
31692
|
'401': { $ref: '#/components/responses/Unauthorized' }
|
|
31635
31693
|
'403':
|
|
31636
31694
|
description: Inbox addon required, or the account is missing the platform scope
|
|
31637
31695
|
'404':
|
|
31638
31696
|
description: Account or post not found
|
|
31697
|
+
'409':
|
|
31698
|
+
description: 'LinkedIn only: the account already holds a different reaction on this target (code invalid_resource_state); remove it before creating another.'
|
|
31639
31699
|
delete:
|
|
31640
31700
|
operationId: unlikePost
|
|
31641
31701
|
summary: Unlike post
|
|
@@ -42397,6 +42457,8 @@ paths:
|
|
|
42397
42457
|
createdAt: { type: string, format: date-time }
|
|
42398
42458
|
'400': { description: Invalid request }
|
|
42399
42459
|
'401': { $ref: '#/components/responses/Unauthorized' }
|
|
42460
|
+
'503': { $ref: '#/components/responses/TemporarilyUnavailable' }
|
|
42461
|
+
|
|
42400
42462
|
post:
|
|
42401
42463
|
x-resource-group: "messages"
|
|
42402
42464
|
operationId: createCommentAutomation
|
|
@@ -42451,7 +42513,7 @@ paths:
|
|
|
42451
42513
|
accountId: { type: string, description: Instagram or Facebook account ID }
|
|
42452
42514
|
trigger: { type: string, enum: [comment, story_reply], default: comment, description: "What fires the automation. 'comment' (keyword comment on a post) or 'story_reply' (keyword reply to an Instagram story). For 'story_reply', platformPostId is the story media id (omit for any story)." }
|
|
42453
42515
|
platformPostId: { type: string, description: "Platform media/post ID (or story media id when trigger=story_reply). Omit for an account-wide (any-post / any-story) automation." }
|
|
42454
|
-
postId: { type: string, description: "Zernio post ID. Optional and never required. Use it INSTEAD of platformPostId to bind a per-post automation to a not-yet-published Zernio post: the automation stays pending and arms itself when that post publishes. For a post already live on the platform, pass platformPostId alone and omit this." }
|
|
42516
|
+
postId: { type: string, pattern: "^[a-fA-F0-9]{24}$", description: "Zernio post ID (24 hexadecimal characters); platform IDs return 400. Optional and never required. Use it INSTEAD of platformPostId to bind a per-post automation to a not-yet-published Zernio post: the automation stays pending and arms itself when that post publishes. For a post already live on the platform, pass platformPostId alone and omit this." }
|
|
42455
42517
|
postTitle: { type: string, description: Post content snippet for display }
|
|
42456
42518
|
name: { type: string, description: Automation label }
|
|
42457
42519
|
keywords:
|
|
@@ -42532,6 +42594,7 @@ paths:
|
|
|
42532
42594
|
'400': { description: Validation error }
|
|
42533
42595
|
'401': { $ref: '#/components/responses/Unauthorized' }
|
|
42534
42596
|
'409': { description: "Active per-post automation already exists for this platformPostId. Does not apply to account-wide automations." }
|
|
42597
|
+
'503': { $ref: '#/components/responses/TemporarilyUnavailable' }
|
|
42535
42598
|
|
|
42536
42599
|
/v1/comment-automations/{automationId}:
|
|
42537
42600
|
get:
|
|
@@ -51798,6 +51861,7 @@ paths:
|
|
|
51798
51861
|
missing poster also carries `creativeIndex` and `videoUrl` to
|
|
51799
51862
|
identify the entry. An upstream 4xx status is forwarded instead
|
|
51800
51863
|
of 502.
|
|
51864
|
+
'503': { $ref: '#/components/responses/TemporarilyUnavailable' }
|
|
51801
51865
|
|
|
51802
51866
|
/v1/ads/leads:
|
|
51803
51867
|
get:
|
|
@@ -51821,7 +51885,7 @@ paths:
|
|
|
51821
51885
|
- { name: accountId, in: query, schema: { type: string }, description: Filter to a single connected account. LinkedIn ads accounts switch to the live fetch. }
|
|
51822
51886
|
- { name: adAccountId, in: query, schema: { type: string }, description: "LinkedIn only: the LinkedIn ad account id whose responses to read (owner-scoped finder)." }
|
|
51823
51887
|
- { name: limit, in: query, schema: { type: integer, minimum: 1, maximum: 100, default: 25 } }
|
|
51824
|
-
- { name: since, in: query, schema: { type: integer }, description: Unix seconds; only leads created at/after this timestamp. }
|
|
51888
|
+
- { name: since, in: query, schema: { type: integer, minimum: 1, maximum: 253402300799, example: 1757404800 }, description: "Unix seconds; only leads created at/after this timestamp. Millisecond timestamps return 400 with instructions to divide by 1000." }
|
|
51825
51889
|
- { name: cursor, in: query, schema: { type: string }, description: "Keyset cursor from a previous response's pagination.cursor (Meta: AdLead id; LinkedIn: numeric start offset)." }
|
|
51826
51890
|
responses:
|
|
51827
51891
|
'200':
|
|
@@ -51857,6 +51921,8 @@ paths:
|
|
|
51857
51921
|
'400': { $ref: '#/components/responses/BadRequest' }
|
|
51858
51922
|
'401': { $ref: '#/components/responses/Unauthorized' }
|
|
51859
51923
|
'403': { description: Ads add-on required. }
|
|
51924
|
+
'503': { $ref: '#/components/responses/TemporarilyUnavailable' }
|
|
51925
|
+
'502': { $ref: '#/components/responses/UpstreamFailure' }
|
|
51860
51926
|
|
|
51861
51927
|
/v1/ads/lead-forms:
|
|
51862
51928
|
get:
|
|
@@ -57626,3 +57692,67 @@ paths:
|
|
|
57626
57692
|
"409": *a5
|
|
57627
57693
|
"422":
|
|
57628
57694
|
description: 'The advertiser Instagram Business Account could not be resolved.'
|
|
57695
|
+
/v1/tools/tiktok/download:
|
|
57696
|
+
get:
|
|
57697
|
+
operationId: downloadTikTokVideo
|
|
57698
|
+
tags: [Tools]
|
|
57699
|
+
x-platforms: ["tiktok"]
|
|
57700
|
+
summary: Download a TikTok video
|
|
57701
|
+
description: 'Get a download URL or list available formats for a TikTok video. Requires Tools API access and uses the Tools API rate limit. Provider gateway failures and provider-side access blocks return 503; an unavailable video returns 404.'
|
|
57702
|
+
parameters:
|
|
57703
|
+
- name: url
|
|
57704
|
+
in: query
|
|
57705
|
+
required: true
|
|
57706
|
+
schema: { type: string }
|
|
57707
|
+
description: 'TikTok video URL or numeric video ID.'
|
|
57708
|
+
example: 'https://www.tiktok.com/@example/video/7412345678901234567'
|
|
57709
|
+
- name: action
|
|
57710
|
+
in: query
|
|
57711
|
+
schema: { type: string, enum: [download, formats], default: download }
|
|
57712
|
+
description: 'Return a download URL or the available formats.'
|
|
57713
|
+
- name: formatId
|
|
57714
|
+
in: query
|
|
57715
|
+
schema: { type: string }
|
|
57716
|
+
description: 'Format ID from the formats response. Omit to select the first available format.'
|
|
57717
|
+
responses:
|
|
57718
|
+
'200':
|
|
57719
|
+
description: 'Download URL or available formats.'
|
|
57720
|
+
content:
|
|
57721
|
+
application/json:
|
|
57722
|
+
schema:
|
|
57723
|
+
type: object
|
|
57724
|
+
required: [success, title]
|
|
57725
|
+
properties:
|
|
57726
|
+
success: { type: boolean }
|
|
57727
|
+
title: { type: string }
|
|
57728
|
+
format: { type: string, description: 'Selected format label for action=download.' }
|
|
57729
|
+
downloadUrl: { type: string, description: 'Media download URL for action=download.' }
|
|
57730
|
+
duration: { type: number, description: 'Duration in seconds for action=formats.' }
|
|
57731
|
+
cover: { type: string, description: 'Thumbnail URL for action=formats.' }
|
|
57732
|
+
formats:
|
|
57733
|
+
type: array
|
|
57734
|
+
description: 'Available formats for action=formats.'
|
|
57735
|
+
items:
|
|
57736
|
+
type: object
|
|
57737
|
+
properties:
|
|
57738
|
+
id: { type: string }
|
|
57739
|
+
label: { type: string }
|
|
57740
|
+
ext: { type: string }
|
|
57741
|
+
type: { type: string }
|
|
57742
|
+
height: { type: number }
|
|
57743
|
+
width: { type: number }
|
|
57744
|
+
fps: { type: number }
|
|
57745
|
+
hasAudio: { type: boolean }
|
|
57746
|
+
hasVideo: { type: boolean }
|
|
57747
|
+
example:
|
|
57748
|
+
success: true
|
|
57749
|
+
title: 'TikTok by @example'
|
|
57750
|
+
format: 'MP4 • No watermark'
|
|
57751
|
+
downloadUrl: 'https://example.com/video.mp4'
|
|
57752
|
+
'400': { description: 'Missing or invalid url, action, or formatId.' }
|
|
57753
|
+
'401': { $ref: '#/components/responses/Unauthorized' }
|
|
57754
|
+
'403': { description: 'Tools API access is required.' }
|
|
57755
|
+
'404': { description: 'The video or a downloadable format was not found.' }
|
|
57756
|
+
'429': { $ref: '#/components/responses/RateLimited' }
|
|
57757
|
+
'502': { $ref: '#/components/responses/UpstreamFailure' }
|
|
57758
|
+
'503': { $ref: '#/components/responses/TemporarilyUnavailable' }
|
|
@@ -121,7 +121,7 @@ describe 'LeadGenApi' do
|
|
|
121
121
|
# @option opts [String] :account_id Filter to a single connected account. LinkedIn ads accounts switch to the live fetch.
|
|
122
122
|
# @option opts [String] :ad_account_id LinkedIn only: the LinkedIn ad account id whose responses to read (owner-scoped finder).
|
|
123
123
|
# @option opts [Integer] :limit
|
|
124
|
-
# @option opts [Integer] :since Unix seconds; only leads created at/after this timestamp.
|
|
124
|
+
# @option opts [Integer] :since Unix seconds; only leads created at/after this timestamp. Millisecond timestamps return 400 with instructions to divide by 1000.
|
|
125
125
|
# @option opts [String] :cursor Keyset cursor from a previous response's pagination.cursor (Meta: AdLead id; LinkedIn: numeric start offset).
|
|
126
126
|
# @return [ListLeads200Response]
|
|
127
127
|
describe 'list_leads test' do
|
|
@@ -0,0 +1,49 @@
|
|
|
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
|
+
|
|
16
|
+
# Unit tests for Zernio::ToolsApi
|
|
17
|
+
# Automatically generated by openapi-generator (https://openapi-generator.tech)
|
|
18
|
+
# Please update as you see appropriate
|
|
19
|
+
describe 'ToolsApi' do
|
|
20
|
+
before do
|
|
21
|
+
# run before each test
|
|
22
|
+
@api_instance = Zernio::ToolsApi.new
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
after do
|
|
26
|
+
# run after each test
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
describe 'test an instance of ToolsApi' do
|
|
30
|
+
it 'should create an instance of ToolsApi' do
|
|
31
|
+
expect(@api_instance).to be_instance_of(Zernio::ToolsApi)
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
# unit tests for download_tik_tok_video
|
|
36
|
+
# Download a TikTok video
|
|
37
|
+
# Get a download URL or list available formats for a TikTok video. Requires Tools API access and uses the Tools API rate limit. Provider gateway failures and provider-side access blocks return 503; an unavailable video returns 404.
|
|
38
|
+
# @param url TikTok video URL or numeric video ID.
|
|
39
|
+
# @param [Hash] opts the optional parameters
|
|
40
|
+
# @option opts [String] :action Return a download URL or the available formats.
|
|
41
|
+
# @option opts [String] :format_id Format ID from the formats response. Omit to select the first available format.
|
|
42
|
+
# @return [DownloadTikTokVideo200Response]
|
|
43
|
+
describe 'download_tik_tok_video test' do
|
|
44
|
+
it 'should work' do
|
|
45
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
end
|
|
@@ -0,0 +1,84 @@
|
|
|
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::DownloadTikTokVideo200ResponseFormatsInner
|
|
18
|
+
# Automatically generated by openapi-generator (https://openapi-generator.tech)
|
|
19
|
+
# Please update as you see appropriate
|
|
20
|
+
describe Zernio::DownloadTikTokVideo200ResponseFormatsInner do
|
|
21
|
+
#let(:instance) { Zernio::DownloadTikTokVideo200ResponseFormatsInner.new }
|
|
22
|
+
|
|
23
|
+
describe 'test an instance of DownloadTikTokVideo200ResponseFormatsInner' do
|
|
24
|
+
it 'should create an instance of DownloadTikTokVideo200ResponseFormatsInner' do
|
|
25
|
+
# uncomment below to test the instance creation
|
|
26
|
+
#expect(instance).to be_instance_of(Zernio::DownloadTikTokVideo200ResponseFormatsInner)
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
describe 'test attribute "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
|
+
describe 'test attribute "label"' 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 "ext"' 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 "type"' 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
|
+
describe 'test attribute "height"' do
|
|
55
|
+
it 'should work' do
|
|
56
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
57
|
+
end
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
describe 'test attribute "width"' do
|
|
61
|
+
it 'should work' do
|
|
62
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
63
|
+
end
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
describe 'test attribute "fps"' do
|
|
67
|
+
it 'should work' do
|
|
68
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
69
|
+
end
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
describe 'test attribute "has_audio"' do
|
|
73
|
+
it 'should work' do
|
|
74
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
75
|
+
end
|
|
76
|
+
end
|
|
77
|
+
|
|
78
|
+
describe 'test attribute "has_video"' do
|
|
79
|
+
it 'should work' do
|
|
80
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
81
|
+
end
|
|
82
|
+
end
|
|
83
|
+
|
|
84
|
+
end
|
|
@@ -0,0 +1,72 @@
|
|
|
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::DownloadTikTokVideo200Response
|
|
18
|
+
# Automatically generated by openapi-generator (https://openapi-generator.tech)
|
|
19
|
+
# Please update as you see appropriate
|
|
20
|
+
describe Zernio::DownloadTikTokVideo200Response do
|
|
21
|
+
#let(:instance) { Zernio::DownloadTikTokVideo200Response.new }
|
|
22
|
+
|
|
23
|
+
describe 'test an instance of DownloadTikTokVideo200Response' do
|
|
24
|
+
it 'should create an instance of DownloadTikTokVideo200Response' do
|
|
25
|
+
# uncomment below to test the instance creation
|
|
26
|
+
#expect(instance).to be_instance_of(Zernio::DownloadTikTokVideo200Response)
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
describe 'test attribute "success"' 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 "title"' 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 "format"' 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 "download_url"' 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
|
+
describe 'test attribute "duration"' do
|
|
55
|
+
it 'should work' do
|
|
56
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
57
|
+
end
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
describe 'test attribute "cover"' do
|
|
61
|
+
it 'should work' do
|
|
62
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
63
|
+
end
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
describe 'test attribute "formats"' do
|
|
67
|
+
it 'should work' do
|
|
68
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
69
|
+
end
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
end
|
|
@@ -51,6 +51,18 @@ describe Zernio::LikeInboxComment200Response do
|
|
|
51
51
|
end
|
|
52
52
|
end
|
|
53
53
|
|
|
54
|
+
describe 'test attribute "already_reacted"' do
|
|
55
|
+
it 'should work' do
|
|
56
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
57
|
+
end
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
describe 'test attribute "reaction_type"' do
|
|
61
|
+
it 'should work' do
|
|
62
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
63
|
+
end
|
|
64
|
+
end
|
|
65
|
+
|
|
54
66
|
describe 'test attribute "platform"' do
|
|
55
67
|
it 'should work' do
|
|
56
68
|
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
@@ -57,4 +57,16 @@ describe Zernio::LikePost200Response do
|
|
|
57
57
|
end
|
|
58
58
|
end
|
|
59
59
|
|
|
60
|
+
describe 'test attribute "already_reacted"' do
|
|
61
|
+
it 'should work' do
|
|
62
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
63
|
+
end
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
describe 'test attribute "reaction_type"' do
|
|
67
|
+
it 'should work' do
|
|
68
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
69
|
+
end
|
|
70
|
+
end
|
|
71
|
+
|
|
60
72
|
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.912
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- OpenAPI-Generator
|
|
@@ -572,6 +572,8 @@ files:
|
|
|
572
572
|
- docs/DiscordScheduledEvent.md
|
|
573
573
|
- docs/DiscordScheduledEventEntityMetadata.md
|
|
574
574
|
- docs/DmButton.md
|
|
575
|
+
- docs/DownloadTikTokVideo200Response.md
|
|
576
|
+
- docs/DownloadTikTokVideo200ResponseFormatsInner.md
|
|
575
577
|
- docs/DuplicateAd200Response.md
|
|
576
578
|
- docs/DuplicateAdCampaign200Response.md
|
|
577
579
|
- docs/DuplicateAdCampaignRequest.md
|
|
@@ -1702,6 +1704,7 @@ files:
|
|
|
1702
1704
|
- docs/TikTokDryRunVerdict.md
|
|
1703
1705
|
- docs/TikTokDryRunVerdictTiktokInner.md
|
|
1704
1706
|
- docs/TikTokPlatformData.md
|
|
1707
|
+
- docs/ToolsApi.md
|
|
1705
1708
|
- docs/TrackingTag.md
|
|
1706
1709
|
- docs/TrackingTagsApi.md
|
|
1707
1710
|
- docs/TransferVoiceCall200Response.md
|
|
@@ -2205,6 +2208,7 @@ files:
|
|
|
2205
2208
|
- lib/zernio-sdk/api/sequences_api.rb
|
|
2206
2209
|
- lib/zernio-sdk/api/slack_api.rb
|
|
2207
2210
|
- lib/zernio-sdk/api/sms_api.rb
|
|
2211
|
+
- lib/zernio-sdk/api/tools_api.rb
|
|
2208
2212
|
- lib/zernio-sdk/api/tracking_tags_api.rb
|
|
2209
2213
|
- lib/zernio-sdk/api/twitter_engagement_api.rb
|
|
2210
2214
|
- lib/zernio-sdk/api/usage_api.rb
|
|
@@ -2705,6 +2709,8 @@ files:
|
|
|
2705
2709
|
- lib/zernio-sdk/models/discord_scheduled_event.rb
|
|
2706
2710
|
- lib/zernio-sdk/models/discord_scheduled_event_entity_metadata.rb
|
|
2707
2711
|
- lib/zernio-sdk/models/dm_button.rb
|
|
2712
|
+
- lib/zernio-sdk/models/download_tik_tok_video200_response.rb
|
|
2713
|
+
- lib/zernio-sdk/models/download_tik_tok_video200_response_formats_inner.rb
|
|
2708
2714
|
- lib/zernio-sdk/models/duplicate_ad200_response.rb
|
|
2709
2715
|
- lib/zernio-sdk/models/duplicate_ad_campaign200_response.rb
|
|
2710
2716
|
- lib/zernio-sdk/models/duplicate_ad_campaign_request.rb
|
|
@@ -4293,6 +4299,7 @@ files:
|
|
|
4293
4299
|
- spec/api/sequences_api_spec.rb
|
|
4294
4300
|
- spec/api/slack_api_spec.rb
|
|
4295
4301
|
- spec/api/sms_api_spec.rb
|
|
4302
|
+
- spec/api/tools_api_spec.rb
|
|
4296
4303
|
- spec/api/tracking_tags_api_spec.rb
|
|
4297
4304
|
- spec/api/twitter_engagement_api_spec.rb
|
|
4298
4305
|
- spec/api/usage_api_spec.rb
|
|
@@ -4788,6 +4795,8 @@ files:
|
|
|
4788
4795
|
- spec/models/discord_scheduled_event_entity_metadata_spec.rb
|
|
4789
4796
|
- spec/models/discord_scheduled_event_spec.rb
|
|
4790
4797
|
- spec/models/dm_button_spec.rb
|
|
4798
|
+
- spec/models/download_tik_tok_video200_response_formats_inner_spec.rb
|
|
4799
|
+
- spec/models/download_tik_tok_video200_response_spec.rb
|
|
4791
4800
|
- spec/models/duplicate_ad200_response_spec.rb
|
|
4792
4801
|
- spec/models/duplicate_ad_campaign200_response_spec.rb
|
|
4793
4802
|
- spec/models/duplicate_ad_campaign_request_spec.rb
|
|
@@ -6322,7 +6331,7 @@ files:
|
|
|
6322
6331
|
- spec/models/you_tube_video_retention_response_retention_curve_inner_spec.rb
|
|
6323
6332
|
- spec/models/you_tube_video_retention_response_spec.rb
|
|
6324
6333
|
- spec/spec_helper.rb
|
|
6325
|
-
- zernio-sdk-0.0.
|
|
6334
|
+
- zernio-sdk-0.0.912.gem
|
|
6326
6335
|
- zernio-sdk.gemspec
|
|
6327
6336
|
homepage: https://openapi-generator.tech
|
|
6328
6337
|
licenses:
|
|
@@ -6411,6 +6420,7 @@ test_files:
|
|
|
6411
6420
|
- spec/api/webhooks_api_spec.rb
|
|
6412
6421
|
- spec/api/gmb_reviews_api_spec.rb
|
|
6413
6422
|
- spec/api/api_keys_api_spec.rb
|
|
6423
|
+
- spec/api/tools_api_spec.rb
|
|
6414
6424
|
- spec/api/whats_app_calling_api_spec.rb
|
|
6415
6425
|
- spec/api/comment_automations_api_spec.rb
|
|
6416
6426
|
- spec/api/voice_api_spec.rb
|
|
@@ -6738,6 +6748,7 @@ test_files:
|
|
|
6738
6748
|
- spec/models/send_inbox_message200_response_data_partial_failure_spec.rb
|
|
6739
6749
|
- spec/models/edit_inbox_message200_response_data_spec.rb
|
|
6740
6750
|
- spec/models/get_facebook_pages200_response_pages_inner_spec.rb
|
|
6751
|
+
- spec/models/download_tik_tok_video200_response_formats_inner_spec.rb
|
|
6741
6752
|
- spec/models/pause_workflow200_response_spec.rb
|
|
6742
6753
|
- spec/models/linked_in_ads_platform_data_conversation_messages_inner_spec.rb
|
|
6743
6754
|
- spec/models/get_ad_previews200_response_spec.rb
|
|
@@ -7857,6 +7868,7 @@ test_files:
|
|
|
7857
7868
|
- spec/models/linked_in_aggregate_analytics_daily_response_analytics_spec.rb
|
|
7858
7869
|
- spec/models/on_whats_app_number_declined_request_spec.rb
|
|
7859
7870
|
- spec/models/list_ad_catalog_product_sets200_response_product_sets_inner_spec.rb
|
|
7871
|
+
- spec/models/download_tik_tok_video200_response_spec.rb
|
|
7860
7872
|
- spec/models/validate_subreddit200_response_one_of_subreddit_spec.rb
|
|
7861
7873
|
- spec/models/get_account_health200_response_token_status_spec.rb
|
|
7862
7874
|
- spec/models/facebook_settings_carousel_cards_inner_spec.rb
|
data/zernio-sdk-0.0.910.gem
DELETED
|
Binary file
|