@getlatedev/node 0.2.1439 → 0.2.1441
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 +48 -7
- package/dist/index.d.ts +48 -7
- package/dist/index.js +1 -1
- package/dist/index.mjs +1 -1
- package/package.json +1 -1
- package/src/generated/sdk.gen.ts +8 -1
- package/src/generated/types.gen.ts +48 -7
package/dist/index.d.mts
CHANGED
|
@@ -2602,9 +2602,25 @@ type Ad = {
|
|
|
2602
2602
|
*/
|
|
2603
2603
|
description?: string;
|
|
2604
2604
|
/**
|
|
2605
|
-
* Meta: the call to action type (`call_to_action.type`, or the first `asset_feed_spec.call_to_action_types` entry), e.g. LEARN_MORE or SIGN_UP.
|
|
2605
|
+
* Meta: the call to action type (`call_to_action.type`, or the first `asset_feed_spec.call_to_action_types` entry), e.g. LEARN_MORE or SIGN_UP. TikTok: the ad's `call_to_action`.
|
|
2606
2606
|
*/
|
|
2607
2607
|
callToAction?: string;
|
|
2608
|
+
/**
|
|
2609
|
+
* TikTok only, with `live=true` on GET /v1/ads/{adId}: the identity the ad runs as (`identity_id`), the same id GET /v1/ads/tiktok-identities lists.
|
|
2610
|
+
*/
|
|
2611
|
+
identityId?: string;
|
|
2612
|
+
/**
|
|
2613
|
+
* TikTok only, with `live=true`: the identity type (`identity_type`), e.g. TT_USER, BC_AUTH_TT, CUSTOMIZED_USER or AUTH_CODE.
|
|
2614
|
+
*/
|
|
2615
|
+
identityType?: string;
|
|
2616
|
+
/**
|
|
2617
|
+
* TikTok only, with `live=true`: the Business Center that authorized a BC_AUTH_TT identity (`identity_authorized_bc_id`).
|
|
2618
|
+
*/
|
|
2619
|
+
identityAuthorizedBcId?: string;
|
|
2620
|
+
/**
|
|
2621
|
+
* TikTok only, with `live=true`: the TikTok post a Spark ad runs (`tiktok_item_id`).
|
|
2622
|
+
*/
|
|
2623
|
+
tiktokItemId?: string;
|
|
2608
2624
|
/**
|
|
2609
2625
|
* Meta: the instant form the call to action opens (`call_to_action.value.lead_gen_form_id`, or the asset feed's `call_to_actions` on a dynamic creative), the same value as the `leadGenFormId` create input. Absent on ads without a lead form.
|
|
2610
2626
|
*/
|
|
@@ -2657,7 +2673,7 @@ type Ad = {
|
|
|
2657
2673
|
}>;
|
|
2658
2674
|
};
|
|
2659
2675
|
/**
|
|
2660
|
-
* Meta video ID for VIDEO-type ads. Null for non-video ads. Callers that need an embeddable MP4 can call GET /{videoId}?fields=source with the page access token.
|
|
2676
|
+
* Meta video ID for VIDEO-type ads (TikTok: the ad library `video_id`). Null for non-video ads. Callers that need an embeddable MP4 can call GET /{videoId}?fields=source with the page access token.
|
|
2661
2677
|
*/
|
|
2662
2678
|
videoId?: (string) | null;
|
|
2663
2679
|
/**
|
|
@@ -2767,12 +2783,12 @@ type Ad = {
|
|
|
2767
2783
|
*/
|
|
2768
2784
|
isServing?: (boolean) | null;
|
|
2769
2785
|
/**
|
|
2770
|
-
* LinkedIn
|
|
2786
|
+
* LinkedIn (and TikTok with `live=true`). The LinkedIn ad format, in LinkedIn's own vocabulary: STANDARD_UPDATE, SINGLE_VIDEO, CAROUSEL, NATIVE_DOCUMENT, EVENT, TEXT_AD, SPOTLIGHT, FOLLOW_COMPANY, JOBS, SPONSORED_INMAILS and others. The list is open, so treat an unrecognized value as valid.
|
|
2771
2787
|
*
|
|
2772
2788
|
* - On an ad Zernio created: the format it was created as.
|
|
2773
2789
|
* - On an ad synced from Campaign Manager: the parent campaign's raw `format`, which is what LinkedIn actually enforces on its creatives.
|
|
2774
2790
|
*
|
|
2775
|
-
* Absent on LinkedIn ads not yet re-synced
|
|
2791
|
+
* Absent on LinkedIn ads not yet re-synced. On TikTok with `live=true`: the ad's `ad_format` (e.g. SINGLE_VIDEO). Absent on every other platform.
|
|
2776
2792
|
*/
|
|
2777
2793
|
adFormat?: (string) | null;
|
|
2778
2794
|
/**
|
|
@@ -14472,6 +14488,8 @@ type ParameterIdempotencyKeyHeader = string;
|
|
|
14472
14488
|
* - At most 20 platform objects are read per request.
|
|
14473
14489
|
* - Where a read fails (credentials, platform error, no reader on that platform), stored values come back with `statusReadAt: null`.
|
|
14474
14490
|
*
|
|
14491
|
+
* **On GET /v1/ads/{adId} for a TikTok ad** the creative is read live too: ad text, call to action, landing page, video, format and identity, returned over the stored creative and never stored. See "Status freshness" in GET /v1/ads/{adId}.
|
|
14492
|
+
*
|
|
14475
14493
|
* **On X** the budget is read live too:
|
|
14476
14494
|
*
|
|
14477
14495
|
* - GET /v1/ads/{adId}: `budget`, `adSetBudget`, `campaignBudget` and `budgetLevel` are the line item and campaign budgets X holds now (stored like the switches).
|
|
@@ -41313,6 +41331,10 @@ type TransferVoiceCallResponse = ({
|
|
|
41313
41331
|
type TransferVoiceCallError = (ErrorResponse | unknown);
|
|
41314
41332
|
type GetVoiceCallEstimateData = {
|
|
41315
41333
|
query: {
|
|
41334
|
+
/**
|
|
41335
|
+
* Destination the call bridges to: `tel:+E164`, `sip:...` or `wss://...`. Defaults to the dialing number's configured forward. A `tel:` destination adds a second carrier leg to the quote. Encode the `+` as `%2B`.
|
|
41336
|
+
*/
|
|
41337
|
+
forwardTo?: string;
|
|
41316
41338
|
/**
|
|
41317
41339
|
* The number the call would dial from, E.164. When it is verified on a Branded Calling identity and `to` is a US number, the estimate includes the per-call Branded Calling surcharge.
|
|
41318
41340
|
*/
|
|
@@ -50368,6 +50390,8 @@ type ListAdCampaignsData = {
|
|
|
50368
50390
|
* - At most 20 platform objects are read per request.
|
|
50369
50391
|
* - Where a read fails (credentials, platform error, no reader on that platform), stored values come back with `statusReadAt: null`.
|
|
50370
50392
|
*
|
|
50393
|
+
* **On GET /v1/ads/{adId} for a TikTok ad** the creative is read live too: ad text, call to action, landing page, video, format and identity, returned over the stored creative and never stored. See "Status freshness" in GET /v1/ads/{adId}.
|
|
50394
|
+
*
|
|
50371
50395
|
* **On X** the budget is read live too:
|
|
50372
50396
|
*
|
|
50373
50397
|
* - GET /v1/ads/{adId}: `budget`, `adSetBudget`, `campaignBudget` and `budgetLevel` are the line item and campaign budgets X holds now (stored like the switches).
|
|
@@ -51346,6 +51370,8 @@ type ListAdSetsData = {
|
|
|
51346
51370
|
* - At most 20 platform objects are read per request.
|
|
51347
51371
|
* - Where a read fails (credentials, platform error, no reader on that platform), stored values come back with `statusReadAt: null`.
|
|
51348
51372
|
*
|
|
51373
|
+
* **On GET /v1/ads/{adId} for a TikTok ad** the creative is read live too: ad text, call to action, landing page, video, format and identity, returned over the stored creative and never stored. See "Status freshness" in GET /v1/ads/{adId}.
|
|
51374
|
+
*
|
|
51349
51375
|
* **On X** the budget is read live too:
|
|
51350
51376
|
*
|
|
51351
51377
|
* - GET /v1/ads/{adId}: `budget`, `adSetBudget`, `campaignBudget` and `budgetLevel` are the line item and campaign budgets X holds now (stored like the switches).
|
|
@@ -52375,6 +52401,8 @@ type GetAdData = {
|
|
|
52375
52401
|
* - At most 20 platform objects are read per request.
|
|
52376
52402
|
* - Where a read fails (credentials, platform error, no reader on that platform), stored values come back with `statusReadAt: null`.
|
|
52377
52403
|
*
|
|
52404
|
+
* **On GET /v1/ads/{adId} for a TikTok ad** the creative is read live too: ad text, call to action, landing page, video, format and identity, returned over the stored creative and never stored. See "Status freshness" in GET /v1/ads/{adId}.
|
|
52405
|
+
*
|
|
52378
52406
|
* **On X** the budget is read live too:
|
|
52379
52407
|
*
|
|
52380
52408
|
* - GET /v1/ads/{adId}: `budget`, `adSetBudget`, `campaignBudget` and `budgetLevel` are the line item and campaign budgets X holds now (stored like the switches).
|
|
@@ -58121,7 +58149,7 @@ type CreateStandaloneAdData = {
|
|
|
58121
58149
|
*/
|
|
58122
58150
|
aiDisclosure?: 'OPT_IN' | 'OPT_OUT';
|
|
58123
58151
|
/**
|
|
58124
|
-
* Validate the request without creating anything. Any other platform, or a Google campaignType other than pmax or demand_gen, returns 501 `feature_not_available`.
|
|
58152
|
+
* Validate the request without creating anything. Supported on Meta, TikTok, ChatGPT (OpenAI) and Google Performance Max / Demand Gen. Any other platform, or a Google campaignType other than pmax or demand_gen, returns 501 `feature_not_available`.
|
|
58125
58153
|
*
|
|
58126
58154
|
* **Google Performance Max**: validates the complete atomic campaign and asset group, with no resource creation or local persistence. Validation still downloads image URLs and consumes quota.
|
|
58127
58155
|
*
|
|
@@ -58138,6 +58166,16 @@ type CreateStandaloneAdData = {
|
|
|
58138
58166
|
*
|
|
58139
58167
|
* **ChatGPT (OpenAI)**: no platform dry-run. Zernio runs every check it knows (creative lengths, budget, bid strategy, targeting) plus live lookups of the conversion event and target countries, and uploads or creates nothing. OpenAI's own checks (image fetch, currency-specific minimums, ad review) run only on a real create.
|
|
58140
58168
|
*
|
|
58169
|
+
* **TikTok**: TikTok has no dry-run. Zernio runs the input checks and the read-only TikTok calls a real create makes. It uploads or creates nothing: no video, Brand Identity, campaign, ad group or ad. A failure returns the same 4xx a real create would.
|
|
58170
|
+
*
|
|
58171
|
+
* - Advertiser: `message` names its currency when TikTok returns it.
|
|
58172
|
+
* - Identity: `identityId` is authorized on the advertiser (the `identity` node). `message` names the identity and type the ad would run as.
|
|
58173
|
+
* - `existingCampaignId`: exists and is not an Upgraded Smart+ campaign.
|
|
58174
|
+
* - Pixel and optimization event resolve on the advertiser, and the schedule and targeting build.
|
|
58175
|
+
* - Not checked (marked `unverified` with the reason): the video (format, size, length, cover), the ad group as TikTok would create it (the budget minimum for the advertiser currency, location and audience ids, bid), a new campaign, and TikTok's review of the ad text, call to action and landing page.
|
|
58176
|
+
* - A Brand Identity a real create would make from `brandIdentity` is not made: the `identity` node is `unverified`.
|
|
58177
|
+
* - Supported: the single standalone video ad. `smartPlus` and `adSetId` return 400.
|
|
58178
|
+
*
|
|
58141
58179
|
*/
|
|
58142
58180
|
validateOnly?: boolean;
|
|
58143
58181
|
/**
|
|
@@ -59257,13 +59295,16 @@ type CreateStandaloneAdResponse = ({
|
|
|
59257
59295
|
validateOnly?: boolean;
|
|
59258
59296
|
appliedDefaults?: AdAppliedDefaults;
|
|
59259
59297
|
results?: Array<{
|
|
59260
|
-
|
|
59298
|
+
/**
|
|
59299
|
+
* `identity` is TikTok only: the identity the ad would run as.
|
|
59300
|
+
*/
|
|
59301
|
+
node?: 'campaign' | 'adSet' | 'creative' | 'ad' | 'performanceMaxCampaign' | 'identity';
|
|
59261
59302
|
status?: 'validated' | 'skipped' | 'unverified';
|
|
59262
59303
|
/**
|
|
59263
59304
|
* Explanation for the node's result:
|
|
59264
59305
|
*
|
|
59265
59306
|
* - On skipped: why the node could not be validated.
|
|
59266
|
-
* - On unverified: why
|
|
59307
|
+
* - On unverified: why the platform could not dry-run it although the other nodes passed (Meta), or what only a real create checks (TikTok).
|
|
59267
59308
|
* - On validated: what the dry run could not check, and what the request would do as sent. For example, a Performance Max validation with no location targeting reports here that the campaign would run worldwide.
|
|
59268
59309
|
*/
|
|
59269
59310
|
reason?: string;
|
package/dist/index.d.ts
CHANGED
|
@@ -2602,9 +2602,25 @@ type Ad = {
|
|
|
2602
2602
|
*/
|
|
2603
2603
|
description?: string;
|
|
2604
2604
|
/**
|
|
2605
|
-
* Meta: the call to action type (`call_to_action.type`, or the first `asset_feed_spec.call_to_action_types` entry), e.g. LEARN_MORE or SIGN_UP.
|
|
2605
|
+
* Meta: the call to action type (`call_to_action.type`, or the first `asset_feed_spec.call_to_action_types` entry), e.g. LEARN_MORE or SIGN_UP. TikTok: the ad's `call_to_action`.
|
|
2606
2606
|
*/
|
|
2607
2607
|
callToAction?: string;
|
|
2608
|
+
/**
|
|
2609
|
+
* TikTok only, with `live=true` on GET /v1/ads/{adId}: the identity the ad runs as (`identity_id`), the same id GET /v1/ads/tiktok-identities lists.
|
|
2610
|
+
*/
|
|
2611
|
+
identityId?: string;
|
|
2612
|
+
/**
|
|
2613
|
+
* TikTok only, with `live=true`: the identity type (`identity_type`), e.g. TT_USER, BC_AUTH_TT, CUSTOMIZED_USER or AUTH_CODE.
|
|
2614
|
+
*/
|
|
2615
|
+
identityType?: string;
|
|
2616
|
+
/**
|
|
2617
|
+
* TikTok only, with `live=true`: the Business Center that authorized a BC_AUTH_TT identity (`identity_authorized_bc_id`).
|
|
2618
|
+
*/
|
|
2619
|
+
identityAuthorizedBcId?: string;
|
|
2620
|
+
/**
|
|
2621
|
+
* TikTok only, with `live=true`: the TikTok post a Spark ad runs (`tiktok_item_id`).
|
|
2622
|
+
*/
|
|
2623
|
+
tiktokItemId?: string;
|
|
2608
2624
|
/**
|
|
2609
2625
|
* Meta: the instant form the call to action opens (`call_to_action.value.lead_gen_form_id`, or the asset feed's `call_to_actions` on a dynamic creative), the same value as the `leadGenFormId` create input. Absent on ads without a lead form.
|
|
2610
2626
|
*/
|
|
@@ -2657,7 +2673,7 @@ type Ad = {
|
|
|
2657
2673
|
}>;
|
|
2658
2674
|
};
|
|
2659
2675
|
/**
|
|
2660
|
-
* Meta video ID for VIDEO-type ads. Null for non-video ads. Callers that need an embeddable MP4 can call GET /{videoId}?fields=source with the page access token.
|
|
2676
|
+
* Meta video ID for VIDEO-type ads (TikTok: the ad library `video_id`). Null for non-video ads. Callers that need an embeddable MP4 can call GET /{videoId}?fields=source with the page access token.
|
|
2661
2677
|
*/
|
|
2662
2678
|
videoId?: (string) | null;
|
|
2663
2679
|
/**
|
|
@@ -2767,12 +2783,12 @@ type Ad = {
|
|
|
2767
2783
|
*/
|
|
2768
2784
|
isServing?: (boolean) | null;
|
|
2769
2785
|
/**
|
|
2770
|
-
* LinkedIn
|
|
2786
|
+
* LinkedIn (and TikTok with `live=true`). The LinkedIn ad format, in LinkedIn's own vocabulary: STANDARD_UPDATE, SINGLE_VIDEO, CAROUSEL, NATIVE_DOCUMENT, EVENT, TEXT_AD, SPOTLIGHT, FOLLOW_COMPANY, JOBS, SPONSORED_INMAILS and others. The list is open, so treat an unrecognized value as valid.
|
|
2771
2787
|
*
|
|
2772
2788
|
* - On an ad Zernio created: the format it was created as.
|
|
2773
2789
|
* - On an ad synced from Campaign Manager: the parent campaign's raw `format`, which is what LinkedIn actually enforces on its creatives.
|
|
2774
2790
|
*
|
|
2775
|
-
* Absent on LinkedIn ads not yet re-synced
|
|
2791
|
+
* Absent on LinkedIn ads not yet re-synced. On TikTok with `live=true`: the ad's `ad_format` (e.g. SINGLE_VIDEO). Absent on every other platform.
|
|
2776
2792
|
*/
|
|
2777
2793
|
adFormat?: (string) | null;
|
|
2778
2794
|
/**
|
|
@@ -14472,6 +14488,8 @@ type ParameterIdempotencyKeyHeader = string;
|
|
|
14472
14488
|
* - At most 20 platform objects are read per request.
|
|
14473
14489
|
* - Where a read fails (credentials, platform error, no reader on that platform), stored values come back with `statusReadAt: null`.
|
|
14474
14490
|
*
|
|
14491
|
+
* **On GET /v1/ads/{adId} for a TikTok ad** the creative is read live too: ad text, call to action, landing page, video, format and identity, returned over the stored creative and never stored. See "Status freshness" in GET /v1/ads/{adId}.
|
|
14492
|
+
*
|
|
14475
14493
|
* **On X** the budget is read live too:
|
|
14476
14494
|
*
|
|
14477
14495
|
* - GET /v1/ads/{adId}: `budget`, `adSetBudget`, `campaignBudget` and `budgetLevel` are the line item and campaign budgets X holds now (stored like the switches).
|
|
@@ -41313,6 +41331,10 @@ type TransferVoiceCallResponse = ({
|
|
|
41313
41331
|
type TransferVoiceCallError = (ErrorResponse | unknown);
|
|
41314
41332
|
type GetVoiceCallEstimateData = {
|
|
41315
41333
|
query: {
|
|
41334
|
+
/**
|
|
41335
|
+
* Destination the call bridges to: `tel:+E164`, `sip:...` or `wss://...`. Defaults to the dialing number's configured forward. A `tel:` destination adds a second carrier leg to the quote. Encode the `+` as `%2B`.
|
|
41336
|
+
*/
|
|
41337
|
+
forwardTo?: string;
|
|
41316
41338
|
/**
|
|
41317
41339
|
* The number the call would dial from, E.164. When it is verified on a Branded Calling identity and `to` is a US number, the estimate includes the per-call Branded Calling surcharge.
|
|
41318
41340
|
*/
|
|
@@ -50368,6 +50390,8 @@ type ListAdCampaignsData = {
|
|
|
50368
50390
|
* - At most 20 platform objects are read per request.
|
|
50369
50391
|
* - Where a read fails (credentials, platform error, no reader on that platform), stored values come back with `statusReadAt: null`.
|
|
50370
50392
|
*
|
|
50393
|
+
* **On GET /v1/ads/{adId} for a TikTok ad** the creative is read live too: ad text, call to action, landing page, video, format and identity, returned over the stored creative and never stored. See "Status freshness" in GET /v1/ads/{adId}.
|
|
50394
|
+
*
|
|
50371
50395
|
* **On X** the budget is read live too:
|
|
50372
50396
|
*
|
|
50373
50397
|
* - GET /v1/ads/{adId}: `budget`, `adSetBudget`, `campaignBudget` and `budgetLevel` are the line item and campaign budgets X holds now (stored like the switches).
|
|
@@ -51346,6 +51370,8 @@ type ListAdSetsData = {
|
|
|
51346
51370
|
* - At most 20 platform objects are read per request.
|
|
51347
51371
|
* - Where a read fails (credentials, platform error, no reader on that platform), stored values come back with `statusReadAt: null`.
|
|
51348
51372
|
*
|
|
51373
|
+
* **On GET /v1/ads/{adId} for a TikTok ad** the creative is read live too: ad text, call to action, landing page, video, format and identity, returned over the stored creative and never stored. See "Status freshness" in GET /v1/ads/{adId}.
|
|
51374
|
+
*
|
|
51349
51375
|
* **On X** the budget is read live too:
|
|
51350
51376
|
*
|
|
51351
51377
|
* - GET /v1/ads/{adId}: `budget`, `adSetBudget`, `campaignBudget` and `budgetLevel` are the line item and campaign budgets X holds now (stored like the switches).
|
|
@@ -52375,6 +52401,8 @@ type GetAdData = {
|
|
|
52375
52401
|
* - At most 20 platform objects are read per request.
|
|
52376
52402
|
* - Where a read fails (credentials, platform error, no reader on that platform), stored values come back with `statusReadAt: null`.
|
|
52377
52403
|
*
|
|
52404
|
+
* **On GET /v1/ads/{adId} for a TikTok ad** the creative is read live too: ad text, call to action, landing page, video, format and identity, returned over the stored creative and never stored. See "Status freshness" in GET /v1/ads/{adId}.
|
|
52405
|
+
*
|
|
52378
52406
|
* **On X** the budget is read live too:
|
|
52379
52407
|
*
|
|
52380
52408
|
* - GET /v1/ads/{adId}: `budget`, `adSetBudget`, `campaignBudget` and `budgetLevel` are the line item and campaign budgets X holds now (stored like the switches).
|
|
@@ -58121,7 +58149,7 @@ type CreateStandaloneAdData = {
|
|
|
58121
58149
|
*/
|
|
58122
58150
|
aiDisclosure?: 'OPT_IN' | 'OPT_OUT';
|
|
58123
58151
|
/**
|
|
58124
|
-
* Validate the request without creating anything. Any other platform, or a Google campaignType other than pmax or demand_gen, returns 501 `feature_not_available`.
|
|
58152
|
+
* Validate the request without creating anything. Supported on Meta, TikTok, ChatGPT (OpenAI) and Google Performance Max / Demand Gen. Any other platform, or a Google campaignType other than pmax or demand_gen, returns 501 `feature_not_available`.
|
|
58125
58153
|
*
|
|
58126
58154
|
* **Google Performance Max**: validates the complete atomic campaign and asset group, with no resource creation or local persistence. Validation still downloads image URLs and consumes quota.
|
|
58127
58155
|
*
|
|
@@ -58138,6 +58166,16 @@ type CreateStandaloneAdData = {
|
|
|
58138
58166
|
*
|
|
58139
58167
|
* **ChatGPT (OpenAI)**: no platform dry-run. Zernio runs every check it knows (creative lengths, budget, bid strategy, targeting) plus live lookups of the conversion event and target countries, and uploads or creates nothing. OpenAI's own checks (image fetch, currency-specific minimums, ad review) run only on a real create.
|
|
58140
58168
|
*
|
|
58169
|
+
* **TikTok**: TikTok has no dry-run. Zernio runs the input checks and the read-only TikTok calls a real create makes. It uploads or creates nothing: no video, Brand Identity, campaign, ad group or ad. A failure returns the same 4xx a real create would.
|
|
58170
|
+
*
|
|
58171
|
+
* - Advertiser: `message` names its currency when TikTok returns it.
|
|
58172
|
+
* - Identity: `identityId` is authorized on the advertiser (the `identity` node). `message` names the identity and type the ad would run as.
|
|
58173
|
+
* - `existingCampaignId`: exists and is not an Upgraded Smart+ campaign.
|
|
58174
|
+
* - Pixel and optimization event resolve on the advertiser, and the schedule and targeting build.
|
|
58175
|
+
* - Not checked (marked `unverified` with the reason): the video (format, size, length, cover), the ad group as TikTok would create it (the budget minimum for the advertiser currency, location and audience ids, bid), a new campaign, and TikTok's review of the ad text, call to action and landing page.
|
|
58176
|
+
* - A Brand Identity a real create would make from `brandIdentity` is not made: the `identity` node is `unverified`.
|
|
58177
|
+
* - Supported: the single standalone video ad. `smartPlus` and `adSetId` return 400.
|
|
58178
|
+
*
|
|
58141
58179
|
*/
|
|
58142
58180
|
validateOnly?: boolean;
|
|
58143
58181
|
/**
|
|
@@ -59257,13 +59295,16 @@ type CreateStandaloneAdResponse = ({
|
|
|
59257
59295
|
validateOnly?: boolean;
|
|
59258
59296
|
appliedDefaults?: AdAppliedDefaults;
|
|
59259
59297
|
results?: Array<{
|
|
59260
|
-
|
|
59298
|
+
/**
|
|
59299
|
+
* `identity` is TikTok only: the identity the ad would run as.
|
|
59300
|
+
*/
|
|
59301
|
+
node?: 'campaign' | 'adSet' | 'creative' | 'ad' | 'performanceMaxCampaign' | 'identity';
|
|
59261
59302
|
status?: 'validated' | 'skipped' | 'unverified';
|
|
59262
59303
|
/**
|
|
59263
59304
|
* Explanation for the node's result:
|
|
59264
59305
|
*
|
|
59265
59306
|
* - On skipped: why the node could not be validated.
|
|
59266
|
-
* - On unverified: why
|
|
59307
|
+
* - On unverified: why the platform could not dry-run it although the other nodes passed (Meta), or what only a real create checks (TikTok).
|
|
59267
59308
|
* - On validated: what the dry run could not check, and what the request would do as sent. For example, a Performance Max validation with no location targeting reports here that the campaign would run worldwide.
|
|
59268
59309
|
*/
|
|
59269
59310
|
reason?: string;
|
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: "@getlatedev/node",
|
|
39
|
-
version: "0.2.
|
|
39
|
+
version: "0.2.1441",
|
|
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: "@getlatedev/node",
|
|
8
|
-
version: "0.2.
|
|
8
|
+
version: "0.2.1441",
|
|
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
package/src/generated/sdk.gen.ts
CHANGED
|
@@ -8100,7 +8100,11 @@ export const transferVoiceCall = <ThrowOnError extends boolean = false>(options:
|
|
|
8100
8100
|
* Estimate call cost
|
|
8101
8101
|
* Pre-call cost estimate for a PSTN call: the carrier leg plus optional recording and transcription add-ons.
|
|
8102
8102
|
*
|
|
8103
|
-
* It uses the same billing formula as the post-call invoice, so the quote and the final charge can't disagree.
|
|
8103
|
+
* It uses the same billing formula as the post-call invoice, so the quote and the final charge can't disagree.
|
|
8104
|
+
*
|
|
8105
|
+
* The carrier figure follows the carrier's per-destination rate card: a call dialed from a number in the destination country uses the local mobile rate, and a `tel:` forward destination is quoted as a second carrier leg billed from the same number.
|
|
8106
|
+
*
|
|
8107
|
+
* The real cost comes from the settled carrier record after the call.
|
|
8104
8108
|
*
|
|
8105
8109
|
* Parity endpoint of `GET /v1/whatsapp/calls/estimate`, minus the Meta line. PSTN calls have no separate Meta bill, so `totalCostUSD` equals `billableCostUSD`.
|
|
8106
8110
|
*
|
|
@@ -13645,6 +13649,9 @@ export const getAdsTimeline = <ThrowOnError extends boolean = false>(options: Op
|
|
|
13645
13649
|
* - the ad's own switch (`configuredStatus`)
|
|
13646
13650
|
* - its delivery status (`status`, `platformStatus`)
|
|
13647
13651
|
* - its ad set and campaign switches (`platformAdSetStatus`, `platformCampaignStatus`)
|
|
13652
|
+
* - on TikTok, the creative TikTok holds now: `creative.body` (ad text), `creative.callToAction`, `creative.linkUrl` (landing page), `creative.videoId`, `creative.adFormat`, `creative.identityId`, `creative.identityType`, `creative.identityAuthorizedBcId` and, on a Spark ad, `creative.tiktokItemId`.
|
|
13653
|
+
*
|
|
13654
|
+
* The TikTok creative comes from the same TikTok call as the switches. It replaces the stored values in the response only and is never stored. A key TikTok leaves empty keeps its stored value.
|
|
13648
13655
|
*
|
|
13649
13656
|
* ### Meta ads that are not synced yet
|
|
13650
13657
|
*
|
|
@@ -345,9 +345,25 @@ export type Ad = {
|
|
|
345
345
|
*/
|
|
346
346
|
description?: string;
|
|
347
347
|
/**
|
|
348
|
-
* Meta: the call to action type (`call_to_action.type`, or the first `asset_feed_spec.call_to_action_types` entry), e.g. LEARN_MORE or SIGN_UP.
|
|
348
|
+
* Meta: the call to action type (`call_to_action.type`, or the first `asset_feed_spec.call_to_action_types` entry), e.g. LEARN_MORE or SIGN_UP. TikTok: the ad's `call_to_action`.
|
|
349
349
|
*/
|
|
350
350
|
callToAction?: string;
|
|
351
|
+
/**
|
|
352
|
+
* TikTok only, with `live=true` on GET /v1/ads/{adId}: the identity the ad runs as (`identity_id`), the same id GET /v1/ads/tiktok-identities lists.
|
|
353
|
+
*/
|
|
354
|
+
identityId?: string;
|
|
355
|
+
/**
|
|
356
|
+
* TikTok only, with `live=true`: the identity type (`identity_type`), e.g. TT_USER, BC_AUTH_TT, CUSTOMIZED_USER or AUTH_CODE.
|
|
357
|
+
*/
|
|
358
|
+
identityType?: string;
|
|
359
|
+
/**
|
|
360
|
+
* TikTok only, with `live=true`: the Business Center that authorized a BC_AUTH_TT identity (`identity_authorized_bc_id`).
|
|
361
|
+
*/
|
|
362
|
+
identityAuthorizedBcId?: string;
|
|
363
|
+
/**
|
|
364
|
+
* TikTok only, with `live=true`: the TikTok post a Spark ad runs (`tiktok_item_id`).
|
|
365
|
+
*/
|
|
366
|
+
tiktokItemId?: string;
|
|
351
367
|
/**
|
|
352
368
|
* Meta: the instant form the call to action opens (`call_to_action.value.lead_gen_form_id`, or the asset feed's `call_to_actions` on a dynamic creative), the same value as the `leadGenFormId` create input. Absent on ads without a lead form.
|
|
353
369
|
*/
|
|
@@ -400,7 +416,7 @@ export type Ad = {
|
|
|
400
416
|
}>;
|
|
401
417
|
};
|
|
402
418
|
/**
|
|
403
|
-
* Meta video ID for VIDEO-type ads. Null for non-video ads. Callers that need an embeddable MP4 can call GET /{videoId}?fields=source with the page access token.
|
|
419
|
+
* Meta video ID for VIDEO-type ads (TikTok: the ad library `video_id`). Null for non-video ads. Callers that need an embeddable MP4 can call GET /{videoId}?fields=source with the page access token.
|
|
404
420
|
*/
|
|
405
421
|
videoId?: (string) | null;
|
|
406
422
|
/**
|
|
@@ -510,12 +526,12 @@ export type Ad = {
|
|
|
510
526
|
*/
|
|
511
527
|
isServing?: (boolean) | null;
|
|
512
528
|
/**
|
|
513
|
-
* LinkedIn
|
|
529
|
+
* LinkedIn (and TikTok with `live=true`). The LinkedIn ad format, in LinkedIn's own vocabulary: STANDARD_UPDATE, SINGLE_VIDEO, CAROUSEL, NATIVE_DOCUMENT, EVENT, TEXT_AD, SPOTLIGHT, FOLLOW_COMPANY, JOBS, SPONSORED_INMAILS and others. The list is open, so treat an unrecognized value as valid.
|
|
514
530
|
*
|
|
515
531
|
* - On an ad Zernio created: the format it was created as.
|
|
516
532
|
* - On an ad synced from Campaign Manager: the parent campaign's raw `format`, which is what LinkedIn actually enforces on its creatives.
|
|
517
533
|
*
|
|
518
|
-
* Absent on LinkedIn ads not yet re-synced
|
|
534
|
+
* Absent on LinkedIn ads not yet re-synced. On TikTok with `live=true`: the ad's `ad_format` (e.g. SINGLE_VIDEO). Absent on every other platform.
|
|
519
535
|
*/
|
|
520
536
|
adFormat?: (string) | null;
|
|
521
537
|
/**
|
|
@@ -12742,6 +12758,8 @@ export type ParameterIdempotencyKeyHeader = string;
|
|
|
12742
12758
|
* - At most 20 platform objects are read per request.
|
|
12743
12759
|
* - Where a read fails (credentials, platform error, no reader on that platform), stored values come back with `statusReadAt: null`.
|
|
12744
12760
|
*
|
|
12761
|
+
* **On GET /v1/ads/{adId} for a TikTok ad** the creative is read live too: ad text, call to action, landing page, video, format and identity, returned over the stored creative and never stored. See "Status freshness" in GET /v1/ads/{adId}.
|
|
12762
|
+
*
|
|
12745
12763
|
* **On X** the budget is read live too:
|
|
12746
12764
|
*
|
|
12747
12765
|
* - GET /v1/ads/{adId}: `budget`, `adSetBudget`, `campaignBudget` and `budgetLevel` are the line item and campaign budgets X holds now (stored like the switches).
|
|
@@ -41250,6 +41268,10 @@ export type TransferVoiceCallError = (ErrorResponse | unknown);
|
|
|
41250
41268
|
|
|
41251
41269
|
export type GetVoiceCallEstimateData = {
|
|
41252
41270
|
query: {
|
|
41271
|
+
/**
|
|
41272
|
+
* Destination the call bridges to: `tel:+E164`, `sip:...` or `wss://...`. Defaults to the dialing number's configured forward. A `tel:` destination adds a second carrier leg to the quote. Encode the `+` as `%2B`.
|
|
41273
|
+
*/
|
|
41274
|
+
forwardTo?: string;
|
|
41253
41275
|
/**
|
|
41254
41276
|
* The number the call would dial from, E.164. When it is verified on a Branded Calling identity and `to` is a US number, the estimate includes the per-call Branded Calling surcharge.
|
|
41255
41277
|
*/
|
|
@@ -51129,6 +51151,8 @@ export type ListAdCampaignsData = {
|
|
|
51129
51151
|
* - At most 20 platform objects are read per request.
|
|
51130
51152
|
* - Where a read fails (credentials, platform error, no reader on that platform), stored values come back with `statusReadAt: null`.
|
|
51131
51153
|
*
|
|
51154
|
+
* **On GET /v1/ads/{adId} for a TikTok ad** the creative is read live too: ad text, call to action, landing page, video, format and identity, returned over the stored creative and never stored. See "Status freshness" in GET /v1/ads/{adId}.
|
|
51155
|
+
*
|
|
51132
51156
|
* **On X** the budget is read live too:
|
|
51133
51157
|
*
|
|
51134
51158
|
* - GET /v1/ads/{adId}: `budget`, `adSetBudget`, `campaignBudget` and `budgetLevel` are the line item and campaign budgets X holds now (stored like the switches).
|
|
@@ -52152,6 +52176,8 @@ export type ListAdSetsData = {
|
|
|
52152
52176
|
* - At most 20 platform objects are read per request.
|
|
52153
52177
|
* - Where a read fails (credentials, platform error, no reader on that platform), stored values come back with `statusReadAt: null`.
|
|
52154
52178
|
*
|
|
52179
|
+
* **On GET /v1/ads/{adId} for a TikTok ad** the creative is read live too: ad text, call to action, landing page, video, format and identity, returned over the stored creative and never stored. See "Status freshness" in GET /v1/ads/{adId}.
|
|
52180
|
+
*
|
|
52155
52181
|
* **On X** the budget is read live too:
|
|
52156
52182
|
*
|
|
52157
52183
|
* - GET /v1/ads/{adId}: `budget`, `adSetBudget`, `campaignBudget` and `budgetLevel` are the line item and campaign budgets X holds now (stored like the switches).
|
|
@@ -53214,6 +53240,8 @@ export type GetAdData = {
|
|
|
53214
53240
|
* - At most 20 platform objects are read per request.
|
|
53215
53241
|
* - Where a read fails (credentials, platform error, no reader on that platform), stored values come back with `statusReadAt: null`.
|
|
53216
53242
|
*
|
|
53243
|
+
* **On GET /v1/ads/{adId} for a TikTok ad** the creative is read live too: ad text, call to action, landing page, video, format and identity, returned over the stored creative and never stored. See "Status freshness" in GET /v1/ads/{adId}.
|
|
53244
|
+
*
|
|
53217
53245
|
* **On X** the budget is read live too:
|
|
53218
53246
|
*
|
|
53219
53247
|
* - GET /v1/ads/{adId}: `budget`, `adSetBudget`, `campaignBudget` and `budgetLevel` are the line item and campaign budgets X holds now (stored like the switches).
|
|
@@ -59314,7 +59342,7 @@ export type CreateStandaloneAdData = {
|
|
|
59314
59342
|
*/
|
|
59315
59343
|
aiDisclosure?: 'OPT_IN' | 'OPT_OUT';
|
|
59316
59344
|
/**
|
|
59317
|
-
* Validate the request without creating anything. Any other platform, or a Google campaignType other than pmax or demand_gen, returns 501 `feature_not_available`.
|
|
59345
|
+
* Validate the request without creating anything. Supported on Meta, TikTok, ChatGPT (OpenAI) and Google Performance Max / Demand Gen. Any other platform, or a Google campaignType other than pmax or demand_gen, returns 501 `feature_not_available`.
|
|
59318
59346
|
*
|
|
59319
59347
|
* **Google Performance Max**: validates the complete atomic campaign and asset group, with no resource creation or local persistence. Validation still downloads image URLs and consumes quota.
|
|
59320
59348
|
*
|
|
@@ -59331,6 +59359,16 @@ export type CreateStandaloneAdData = {
|
|
|
59331
59359
|
*
|
|
59332
59360
|
* **ChatGPT (OpenAI)**: no platform dry-run. Zernio runs every check it knows (creative lengths, budget, bid strategy, targeting) plus live lookups of the conversion event and target countries, and uploads or creates nothing. OpenAI's own checks (image fetch, currency-specific minimums, ad review) run only on a real create.
|
|
59333
59361
|
*
|
|
59362
|
+
* **TikTok**: TikTok has no dry-run. Zernio runs the input checks and the read-only TikTok calls a real create makes. It uploads or creates nothing: no video, Brand Identity, campaign, ad group or ad. A failure returns the same 4xx a real create would.
|
|
59363
|
+
*
|
|
59364
|
+
* - Advertiser: `message` names its currency when TikTok returns it.
|
|
59365
|
+
* - Identity: `identityId` is authorized on the advertiser (the `identity` node). `message` names the identity and type the ad would run as.
|
|
59366
|
+
* - `existingCampaignId`: exists and is not an Upgraded Smart+ campaign.
|
|
59367
|
+
* - Pixel and optimization event resolve on the advertiser, and the schedule and targeting build.
|
|
59368
|
+
* - Not checked (marked `unverified` with the reason): the video (format, size, length, cover), the ad group as TikTok would create it (the budget minimum for the advertiser currency, location and audience ids, bid), a new campaign, and TikTok's review of the ad text, call to action and landing page.
|
|
59369
|
+
* - A Brand Identity a real create would make from `brandIdentity` is not made: the `identity` node is `unverified`.
|
|
59370
|
+
* - Supported: the single standalone video ad. `smartPlus` and `adSetId` return 400.
|
|
59371
|
+
*
|
|
59334
59372
|
*/
|
|
59335
59373
|
validateOnly?: boolean;
|
|
59336
59374
|
/**
|
|
@@ -60451,13 +60489,16 @@ export type CreateStandaloneAdResponse = ({
|
|
|
60451
60489
|
validateOnly?: boolean;
|
|
60452
60490
|
appliedDefaults?: AdAppliedDefaults;
|
|
60453
60491
|
results?: Array<{
|
|
60454
|
-
|
|
60492
|
+
/**
|
|
60493
|
+
* `identity` is TikTok only: the identity the ad would run as.
|
|
60494
|
+
*/
|
|
60495
|
+
node?: 'campaign' | 'adSet' | 'creative' | 'ad' | 'performanceMaxCampaign' | 'identity';
|
|
60455
60496
|
status?: 'validated' | 'skipped' | 'unverified';
|
|
60456
60497
|
/**
|
|
60457
60498
|
* Explanation for the node's result:
|
|
60458
60499
|
*
|
|
60459
60500
|
* - On skipped: why the node could not be validated.
|
|
60460
|
-
* - On unverified: why
|
|
60501
|
+
* - On unverified: why the platform could not dry-run it although the other nodes passed (Meta), or what only a real create checks (TikTok).
|
|
60461
60502
|
* - On validated: what the dry run could not check, and what the request would do as sent. For example, a Performance Max validation with no location targeting reports here that the campaign would run worldwide.
|
|
60462
60503
|
*/
|
|
60463
60504
|
reason?: string;
|