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.
Files changed (30) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +3 -0
  3. data/docs/CreateCommentAutomationRequest.md +1 -1
  4. data/docs/DownloadTikTokVideo200Response.md +30 -0
  5. data/docs/DownloadTikTokVideo200ResponseFormatsInner.md +34 -0
  6. data/docs/GetInboxPostComments200ResponseCommentsInner.md +1 -1
  7. data/docs/LeadGenApi.md +2 -2
  8. data/docs/LikeInboxComment200Response.md +4 -0
  9. data/docs/LikePost200Response.md +5 -1
  10. data/docs/ToolsApi.md +83 -0
  11. data/lib/zernio-sdk/api/lead_gen_api.rb +10 -2
  12. data/lib/zernio-sdk/api/tools_api.rb +96 -0
  13. data/lib/zernio-sdk/models/create_comment_automation_request.rb +22 -1
  14. data/lib/zernio-sdk/models/download_tik_tok_video200_response.rb +242 -0
  15. data/lib/zernio-sdk/models/download_tik_tok_video200_response_formats_inner.rb +219 -0
  16. data/lib/zernio-sdk/models/get_inbox_post_comments200_response_comments_inner.rb +1 -1
  17. data/lib/zernio-sdk/models/like_inbox_comment200_response.rb +21 -1
  18. data/lib/zernio-sdk/models/like_post200_response.rb +24 -4
  19. data/lib/zernio-sdk/version.rb +1 -1
  20. data/lib/zernio-sdk.rb +3 -0
  21. data/openapi.yaml +133 -3
  22. data/spec/api/lead_gen_api_spec.rb +1 -1
  23. data/spec/api/tools_api_spec.rb +49 -0
  24. data/spec/models/download_tik_tok_video200_response_formats_inner_spec.rb +84 -0
  25. data/spec/models/download_tik_tok_video200_response_spec.rb +72 -0
  26. data/spec/models/like_inbox_comment200_response_spec.rb +12 -0
  27. data/spec/models/like_post200_response_spec.rb +12 -0
  28. data/zernio-sdk-0.0.912.gem +0 -0
  29. metadata +14 -2
  30. 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.910
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.910.gem
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
Binary file