@zernio/node 0.2.763 → 0.2.764

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.
package/dist/index.d.mts CHANGED
@@ -8463,7 +8463,7 @@ type TikTokPlatformData = {
8463
8463
  */
8464
8464
  videoCoverTimestampMs?: number;
8465
8465
  /**
8466
- * Optional for video posts. URL of a custom thumbnail image (JPG, PNG, or WebP, max 20MB). The image is stitched as a single frame at the start of the video and used as the cover. Accounts connected through the TikTok for Business app instead pass the URL to TikTok as the cover directly, with no stitching, and the URL must resolve on a domain we have verified with TikTok. Overrides videoCoverTimestampMs when provided.
8466
+ * Optional for video posts. URL of a custom thumbnail image (JPG, PNG, or WebP, max 20MB). Any downloadable URL works: we rehost it ourselves. The image is stitched as a single frame at the start of the video to serve as the cover. Accounts connected through the TikTok for Business app hand it to TikTok as the cover instead, with no stitching, falling back to videoCoverTimestampMs without it. Overrides videoCoverTimestampMs when provided.
8467
8467
  */
8468
8468
  videoCoverImageUrl?: string;
8469
8469
  /**
@@ -14117,7 +14117,7 @@ type CreatePostData = {
14117
14117
  */
14118
14118
  isDraft?: boolean;
14119
14119
  /**
14120
- * TikTok only. Preview whether each `tiktok` entry in `platforms` could publish right now under the TikTok Direct Post daily limits, without creating, scheduling or publishing anything: no post is persisted and no upload slot is claimed, so it can be repeated freely. The request still goes through auth, the payment gate and body validation, then returns HTTP 200 with `{ dryRun: true, canPublish, tiktok: [...] }` instead of 201. Only `tiktok` entries are evaluated; other platforms in the body are ignored, and a body with no `tiktok` entry is rejected with 400 `invalid_field_value` on `platforms`. An entry with `platformSpecificData.tiktokSettings.draft: true` (Creator Inbox upload) is not subject to the limit and always reports `canPublish: true`.
14120
+ * TikTok only. Preview whether each `tiktok` entry in `platforms` could publish right now under the TikTok Direct Post daily limits, without creating, scheduling or publishing anything: no post is persisted and no upload slot is claimed, so it can be repeated freely. The request still goes through auth, the payment gate and body validation, then returns HTTP 200 with `{ dryRun: true, canPublish, tiktok: [...] }` instead of 201. Only `tiktok` entries are evaluated; other platforms in the body are ignored, and a body with no `tiktok` entry is rejected with 400 `invalid_field_value` on `platforms`. An entry with `platformSpecificData.tiktokSettings.draft: true` (Creator Inbox upload) is not subject to the limit and always reports `canPublish: true`. Accounts connected through the TikTok for Business app do not go through these limits at all and also always report `canPublish: true`, so on those accounts a dry run confirms the request is well-formed rather than gating it.
14121
14121
  */
14122
14122
  dryRun?: boolean;
14123
14123
  /**
@@ -15497,8 +15497,8 @@ type GetConnectUrlData = {
15497
15497
  * OAuth and callback:
15498
15498
  * oauth_denied, invalid_callback, invalid_state, unsupported_platform, connection_failed,
15499
15499
  * internal_error, token_exchange_failed, byok_config_error, personal_account_not_supported,
15500
- * missing_google_permissions, platform_requires_destination, reconnect_account_mismatch,
15501
- * invalid_request
15500
+ * missing_google_permissions, missing_tiktok_permissions, platform_requires_destination,
15501
+ * reconnect_account_mismatch, invalid_request
15502
15502
  *
15503
15503
  * Access and limits:
15504
15504
  * profile_not_found, invalid_profile_id, access_denied, account_limit_exceeded,
@@ -15539,6 +15539,10 @@ type GetConnectUrlData = {
15539
15539
  * (`tiktokads`, `xads`), not the value used in the request path. The googleads and shopify
15540
15540
  * flows report `googleads` and `shopify`.
15541
15541
  *
15542
+ * 3. `missing_tiktok_permissions` means the TikTok authorization left out a permission the
15543
+ * already-connected account needs, so nothing was changed and it keeps working as before.
15544
+ * It is user-fixable: connect again and accept every permission on TikTok's screen.
15545
+ *
15542
15546
  */
15543
15547
  redirect_url?: string;
15544
15548
  /**
package/dist/index.d.ts CHANGED
@@ -8463,7 +8463,7 @@ type TikTokPlatformData = {
8463
8463
  */
8464
8464
  videoCoverTimestampMs?: number;
8465
8465
  /**
8466
- * Optional for video posts. URL of a custom thumbnail image (JPG, PNG, or WebP, max 20MB). The image is stitched as a single frame at the start of the video and used as the cover. Accounts connected through the TikTok for Business app instead pass the URL to TikTok as the cover directly, with no stitching, and the URL must resolve on a domain we have verified with TikTok. Overrides videoCoverTimestampMs when provided.
8466
+ * Optional for video posts. URL of a custom thumbnail image (JPG, PNG, or WebP, max 20MB). Any downloadable URL works: we rehost it ourselves. The image is stitched as a single frame at the start of the video to serve as the cover. Accounts connected through the TikTok for Business app hand it to TikTok as the cover instead, with no stitching, falling back to videoCoverTimestampMs without it. Overrides videoCoverTimestampMs when provided.
8467
8467
  */
8468
8468
  videoCoverImageUrl?: string;
8469
8469
  /**
@@ -14117,7 +14117,7 @@ type CreatePostData = {
14117
14117
  */
14118
14118
  isDraft?: boolean;
14119
14119
  /**
14120
- * TikTok only. Preview whether each `tiktok` entry in `platforms` could publish right now under the TikTok Direct Post daily limits, without creating, scheduling or publishing anything: no post is persisted and no upload slot is claimed, so it can be repeated freely. The request still goes through auth, the payment gate and body validation, then returns HTTP 200 with `{ dryRun: true, canPublish, tiktok: [...] }` instead of 201. Only `tiktok` entries are evaluated; other platforms in the body are ignored, and a body with no `tiktok` entry is rejected with 400 `invalid_field_value` on `platforms`. An entry with `platformSpecificData.tiktokSettings.draft: true` (Creator Inbox upload) is not subject to the limit and always reports `canPublish: true`.
14120
+ * TikTok only. Preview whether each `tiktok` entry in `platforms` could publish right now under the TikTok Direct Post daily limits, without creating, scheduling or publishing anything: no post is persisted and no upload slot is claimed, so it can be repeated freely. The request still goes through auth, the payment gate and body validation, then returns HTTP 200 with `{ dryRun: true, canPublish, tiktok: [...] }` instead of 201. Only `tiktok` entries are evaluated; other platforms in the body are ignored, and a body with no `tiktok` entry is rejected with 400 `invalid_field_value` on `platforms`. An entry with `platformSpecificData.tiktokSettings.draft: true` (Creator Inbox upload) is not subject to the limit and always reports `canPublish: true`. Accounts connected through the TikTok for Business app do not go through these limits at all and also always report `canPublish: true`, so on those accounts a dry run confirms the request is well-formed rather than gating it.
14121
14121
  */
14122
14122
  dryRun?: boolean;
14123
14123
  /**
@@ -15497,8 +15497,8 @@ type GetConnectUrlData = {
15497
15497
  * OAuth and callback:
15498
15498
  * oauth_denied, invalid_callback, invalid_state, unsupported_platform, connection_failed,
15499
15499
  * internal_error, token_exchange_failed, byok_config_error, personal_account_not_supported,
15500
- * missing_google_permissions, platform_requires_destination, reconnect_account_mismatch,
15501
- * invalid_request
15500
+ * missing_google_permissions, missing_tiktok_permissions, platform_requires_destination,
15501
+ * reconnect_account_mismatch, invalid_request
15502
15502
  *
15503
15503
  * Access and limits:
15504
15504
  * profile_not_found, invalid_profile_id, access_denied, account_limit_exceeded,
@@ -15539,6 +15539,10 @@ type GetConnectUrlData = {
15539
15539
  * (`tiktokads`, `xads`), not the value used in the request path. The googleads and shopify
15540
15540
  * flows report `googleads` and `shopify`.
15541
15541
  *
15542
+ * 3. `missing_tiktok_permissions` means the TikTok authorization left out a permission the
15543
+ * already-connected account needs, so nothing was changed and it keeps working as before.
15544
+ * It is user-fixable: connect again and accept every permission on TikTok's screen.
15545
+ *
15542
15546
  */
15543
15547
  redirect_url?: string;
15544
15548
  /**
package/dist/index.js CHANGED
@@ -36,7 +36,7 @@ module.exports = __toCommonJS(index_exports);
36
36
  // package.json
37
37
  var package_default = {
38
38
  name: "@zernio/node",
39
- version: "0.2.763",
39
+ version: "0.2.764",
40
40
  description: "The official Node.js library for the Zernio API",
41
41
  main: "dist/index.js",
42
42
  module: "dist/index.mjs",
package/dist/index.mjs CHANGED
@@ -5,7 +5,7 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
5
5
  // package.json
6
6
  var package_default = {
7
7
  name: "@zernio/node",
8
- version: "0.2.763",
8
+ version: "0.2.764",
9
9
  description: "The official Node.js library for the Zernio API",
10
10
  main: "dist/index.js",
11
11
  module: "dist/index.mjs",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zernio/node",
3
- "version": "0.2.763",
3
+ "version": "0.2.764",
4
4
  "description": "The official Node.js library for the Zernio API",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.mjs",
@@ -1567,6 +1567,15 @@ export const createInviteToken = <ThrowOnError extends boolean = false>(options:
1567
1567
  * Initiate an OAuth connection flow. Returns an authUrl to redirect the user to.
1568
1568
  * Standard flow: Zernio hosts the selection UI, then redirects to your redirect_url. Headless mode (headless=true): user is redirected to your redirect_url with OAuth data for custom UI. Use the platform-specific selection endpoints to complete.
1569
1569
  *
1570
+ * TikTok: every connection now goes through the TikTok for Business app. One TikTok account per
1571
+ * profile, so connecting on a profile that already holds one replaces it. Reconnecting the SAME
1572
+ * account keeps it and all of its history; authorizing a DIFFERENT TikTok account takes the slot
1573
+ * over and permanently deletes the previous account's analytics, inbox and DM history. The two
1574
+ * are told apart by the `@handle` stored at the last connect, so an account whose handle has
1575
+ * been renamed on TikTok since then reads as a different account. An authorization that leaves
1576
+ * out a permission the connected account needs changes nothing at all and comes back as
1577
+ * `missing_tiktok_permissions`; connect again and accept every permission on TikTok's screen.
1578
+ *
1570
1579
  */
1571
1580
  export const getConnectUrl = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<GetConnectUrlData, ThrowOnError>) => {
1572
1581
  return (options?.client ?? client).get<GetConnectUrlResponse, GetConnectUrlError, ThrowOnError>({
@@ -7160,7 +7160,7 @@ export type TikTokPlatformData = {
7160
7160
  */
7161
7161
  videoCoverTimestampMs?: number;
7162
7162
  /**
7163
- * Optional for video posts. URL of a custom thumbnail image (JPG, PNG, or WebP, max 20MB). The image is stitched as a single frame at the start of the video and used as the cover. Accounts connected through the TikTok for Business app instead pass the URL to TikTok as the cover directly, with no stitching, and the URL must resolve on a domain we have verified with TikTok. Overrides videoCoverTimestampMs when provided.
7163
+ * Optional for video posts. URL of a custom thumbnail image (JPG, PNG, or WebP, max 20MB). Any downloadable URL works: we rehost it ourselves. The image is stitched as a single frame at the start of the video to serve as the cover. Accounts connected through the TikTok for Business app hand it to TikTok as the cover instead, with no stitching, falling back to videoCoverTimestampMs without it. Overrides videoCoverTimestampMs when provided.
7164
7164
  */
7165
7165
  videoCoverImageUrl?: string;
7166
7166
  /**
@@ -13106,7 +13106,7 @@ export type CreatePostData = {
13106
13106
  */
13107
13107
  isDraft?: boolean;
13108
13108
  /**
13109
- * TikTok only. Preview whether each `tiktok` entry in `platforms` could publish right now under the TikTok Direct Post daily limits, without creating, scheduling or publishing anything: no post is persisted and no upload slot is claimed, so it can be repeated freely. The request still goes through auth, the payment gate and body validation, then returns HTTP 200 with `{ dryRun: true, canPublish, tiktok: [...] }` instead of 201. Only `tiktok` entries are evaluated; other platforms in the body are ignored, and a body with no `tiktok` entry is rejected with 400 `invalid_field_value` on `platforms`. An entry with `platformSpecificData.tiktokSettings.draft: true` (Creator Inbox upload) is not subject to the limit and always reports `canPublish: true`.
13109
+ * TikTok only. Preview whether each `tiktok` entry in `platforms` could publish right now under the TikTok Direct Post daily limits, without creating, scheduling or publishing anything: no post is persisted and no upload slot is claimed, so it can be repeated freely. The request still goes through auth, the payment gate and body validation, then returns HTTP 200 with `{ dryRun: true, canPublish, tiktok: [...] }` instead of 201. Only `tiktok` entries are evaluated; other platforms in the body are ignored, and a body with no `tiktok` entry is rejected with 400 `invalid_field_value` on `platforms`. An entry with `platformSpecificData.tiktokSettings.draft: true` (Creator Inbox upload) is not subject to the limit and always reports `canPublish: true`. Accounts connected through the TikTok for Business app do not go through these limits at all and also always report `canPublish: true`, so on those accounts a dry run confirms the request is well-formed rather than gating it.
13110
13110
  */
13111
13111
  dryRun?: boolean;
13112
13112
  /**
@@ -14593,8 +14593,8 @@ export type GetConnectUrlData = {
14593
14593
  * OAuth and callback:
14594
14594
  * oauth_denied, invalid_callback, invalid_state, unsupported_platform, connection_failed,
14595
14595
  * internal_error, token_exchange_failed, byok_config_error, personal_account_not_supported,
14596
- * missing_google_permissions, platform_requires_destination, reconnect_account_mismatch,
14597
- * invalid_request
14596
+ * missing_google_permissions, missing_tiktok_permissions, platform_requires_destination,
14597
+ * reconnect_account_mismatch, invalid_request
14598
14598
  *
14599
14599
  * Access and limits:
14600
14600
  * profile_not_found, invalid_profile_id, access_denied, account_limit_exceeded,
@@ -14635,6 +14635,10 @@ export type GetConnectUrlData = {
14635
14635
  * (`tiktokads`, `xads`), not the value used in the request path. The googleads and shopify
14636
14636
  * flows report `googleads` and `shopify`.
14637
14637
  *
14638
+ * 3. `missing_tiktok_permissions` means the TikTok authorization left out a permission the
14639
+ * already-connected account needs, so nothing was changed and it keeps working as before.
14640
+ * It is user-fixable: connect again and accept every permission on TikTok's screen.
14641
+ *
14638
14642
  */
14639
14643
  redirect_url?: string;
14640
14644
  /**