@getlatedev/node 0.2.1257 → 0.2.1259

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.
@@ -12127,6 +12127,38 @@ export type commercialContentType = 'none' | 'brand_organic' | 'brand_content';
12127
12127
  */
12128
12128
  export type mediaType2 = 'video' | 'photo';
12129
12129
 
12130
+ /**
12131
+ * One TikTok `reject_info` entry.
12132
+ */
12133
+ export type TikTokReviewRejection = {
12134
+ reasons?: Array<(string)>;
12135
+ /**
12136
+ * TikTok's advice for fixing the rejection.
12137
+ */
12138
+ suggestion?: (string) | null;
12139
+ forbiddenPlacements?: Array<(string)>;
12140
+ forbiddenAges?: Array<(string)>;
12141
+ forbiddenLocations?: Array<(string)>;
12142
+ /**
12143
+ * The content TikTok rejected.
12144
+ */
12145
+ content?: {
12146
+ /**
12147
+ * TikTok `content_type`, verbatim (ModeString, ModeImage, ModeVideo, ModeMusic, LandingPage, ...).
12148
+ */
12149
+ type?: (string) | null;
12150
+ text?: (string) | null;
12151
+ imageId?: (string) | null;
12152
+ videoId?: (string) | null;
12153
+ musicId?: (string) | null;
12154
+ } | null;
12155
+ };
12156
+
12157
+ /**
12158
+ * TikTok `review_status` normalized: ALL_AVAILABLE -> approved, PART_AVAILABLE -> partially_approved (delivers in part of the targeted locations), UNAVAILABLE -> rejected, anything else or missing -> unknown (see `rawReviewStatus`).
12159
+ */
12160
+ export type TikTokSmartPlusReviewStatus = 'approved' | 'partially_approved' | 'rejected' | 'unknown';
12161
+
12130
12162
  /**
12131
12163
  * A platform measurement tag: the thing you create, install on a
12132
12164
  * website, send events to, and target ads against. On Meta this is a
@@ -45066,6 +45098,89 @@ export type GetAdReviewResponse = ({
45066
45098
 
45067
45099
  export type GetAdReviewError = (ErrorResponse | unknown);
45068
45100
 
45101
+ export type GetTikTokSmartPlusAdReviewData = {
45102
+ path: {
45103
+ /**
45104
+ * Zernio ad id (24-char hex) or the TikTok ad id: the Smart+ ad id or the ad id of one of its creatives.
45105
+ */
45106
+ adId: string;
45107
+ };
45108
+ };
45109
+
45110
+ export type GetTikTokSmartPlusAdReviewResponse = ({
45111
+ adId?: string;
45112
+ platform?: 'tiktok';
45113
+ platformAdId?: string;
45114
+ /**
45115
+ * The TikTok Smart+ ad whose review this is.
45116
+ */
45117
+ smartPlusAdId?: string;
45118
+ /**
45119
+ * The ad-level verdict (`smart_plus_ad_review_infos`). Null when TikTok returned none.
45120
+ */
45121
+ review?: {
45122
+ reviewStatus?: TikTokSmartPlusReviewStatus;
45123
+ /**
45124
+ * TikTok `review_status`, verbatim.
45125
+ */
45126
+ rawReviewStatus?: (string) | null;
45127
+ /**
45128
+ * Every distinct reason across `rejections`.
45129
+ */
45130
+ rejectReasons?: Array<(string)>;
45131
+ /**
45132
+ * Location codes that passed the review.
45133
+ */
45134
+ passedLocations?: Array<(string)>;
45135
+ /**
45136
+ * TikTok `appeal_status`, verbatim: NOT_APPEALED, APPEALING, APPEAL_SUCCESSFUL, APPEAL_FAILED, APPEAL_DONE.
45137
+ */
45138
+ appealStatus?: (string) | null;
45139
+ appealRejectReasons?: Array<(string)>;
45140
+ rejections?: Array<TikTokReviewRejection>;
45141
+ } | null;
45142
+ /**
45143
+ * One entry per creative TikTok reviewed (`material_review_infos`).
45144
+ */
45145
+ materials?: Array<{
45146
+ /**
45147
+ * TikTok `ad_material_id` of the creative inside this ad.
45148
+ */
45149
+ adMaterialId?: string;
45150
+ /**
45151
+ * Null for a creative TikTok added on its own or a carousel image.
45152
+ */
45153
+ materialType?: ('spark_post' | 'video' | 'carousel' | 'catalog_carousel') | null;
45154
+ /**
45155
+ * The TikTok post id when the creative is a Spark post.
45156
+ */
45157
+ tiktokItemId?: (string) | null;
45158
+ videoId?: (string) | null;
45159
+ name?: (string) | null;
45160
+ /**
45161
+ * TikTok `material_operation_status`: ENABLE or DISABLE.
45162
+ */
45163
+ operationStatus?: (string) | null;
45164
+ reviewStatus?: TikTokSmartPlusReviewStatus;
45165
+ /**
45166
+ * TikTok `review_status`, verbatim.
45167
+ */
45168
+ rawReviewStatus?: (string) | null;
45169
+ /**
45170
+ * Every distinct reason across `rejections`. Empty when approved.
45171
+ */
45172
+ rejectReasons?: Array<(string)>;
45173
+ passedLocations?: Array<(string)>;
45174
+ rejections?: Array<TikTokReviewRejection>;
45175
+ }>;
45176
+ /**
45177
+ * When the verdict was read from TikTok.
45178
+ */
45179
+ readAt?: string;
45180
+ });
45181
+
45182
+ export type GetTikTokSmartPlusAdReviewError = (ErrorResponse | unknown);
45183
+
45069
45184
  export type GetAdMediaData = {
45070
45185
  path: {
45071
45186
  /**
@@ -49585,7 +49700,7 @@ export type CreateStandaloneAdData = {
49585
49700
  */
49586
49701
  aiDisclosure?: 'OPT_IN' | 'OPT_OUT';
49587
49702
  /**
49588
- * Google Performance Max validates the complete atomic campaign and asset group with no resource creation or local persistence. Google validation still downloads image URLs and consumes quota. On Meta, validates the complete inline campaign, ad set, creative and ad with execution_options validate_only. Nothing is uploaded or created, and validation bypasses Idempotency-Key storage. Supports a single image or existing video.id (each also with bodies[] / headlines[] Multiple Text Options), all-image placementAssets with per-rule copy and text pools, or existingCreativeId; dynamicCreative, translations, carouselCards, placement videos, new video uploads, creatives[], adSetId and RESERVED buying return 400. Placement validation uses existing Instagram identities only. Existing campaign or creative nodes are marked skipped. Success returns 200 with per-node results; Meta rejection returns an error. ChatGPT (OpenAI) has 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 write-time checks (image fetch, currency-specific minimums, ad review) still run only on a real create. Any other platform, or a Google campaignType other than pmax or demand_gen, returns 501 `feature_not_available`.
49703
+ * Google Performance Max validates the complete atomic campaign and asset group with no resource creation or local persistence. Google validation still downloads image URLs and consumes quota. On Meta, validates the complete inline campaign, ad set, creative and ad with execution_options validate_only. Nothing is uploaded or created, and validation bypasses Idempotency-Key storage. Supports a single image or existing video.id (each also with bodies[] / headlines[] Multiple Text Options), all-image placementAssets with per-rule copy and text pools, or existingCreativeId; dynamicCreative, translations, carouselCards, placement videos, new video uploads, creatives[], adSetId and RESERVED buying return 400. Placement validation uses existing Instagram identities only. Existing campaign or creative nodes are marked skipped. When Meta cannot dry-run the nested tree (code 2, or an unknown-error code 1 on an OFFSITE_CONVERSIONS ad set nested in a new campaign, which Meta returns for some website-conversion ad sets that it then creates normally), the campaign and creative are validated on their own and the adSet and ad nodes come back unverified with the reason. Success returns 200 with per-node results; Meta rejection returns an error. ChatGPT (OpenAI) has 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 write-time checks (image fetch, currency-specific minimums, ad review) still run only on a real create. Any other platform, or a Google campaignType other than pmax or demand_gen, returns 501 `feature_not_available`.
49589
49704
  */
49590
49705
  validateOnly?: boolean;
49591
49706
  /**