@getlatedev/node 0.2.937 → 0.2.939

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.
@@ -743,7 +743,18 @@ export type AdFunnelCounts = {
743
743
  };
744
744
 
745
745
  export type AdKeyword = {
746
+ /**
747
+ * Zernio keyword ID. Accepted as `keywordId` by PATCH/DELETE /v1/ads/keywords/{keywordId}.
748
+ */
746
749
  id?: string;
750
+ /**
751
+ * Google ad_group_criterion.criterion_id. Unique only within its ad group (`adSetId`), not across the account.
752
+ */
753
+ platformCriterionId?: string;
754
+ /**
755
+ * Google resource name, customers/{adAccountId}/adGroupCriteria/{adSetId}~{platformCriterionId}.
756
+ */
757
+ resourceName?: string;
747
758
  /**
748
759
  * Account ID owning the sync
749
760
  */
@@ -4671,6 +4682,40 @@ export type GeoRestriction = {
4671
4682
  countries: Array<(string)>;
4672
4683
  };
4673
4684
 
4685
+ /**
4686
+ * Link one asset to the asset group. Send exactly one of asset (an existing asset), text, imageUrl or youtubeVideoId (new content, created in the same request).
4687
+ */
4688
+ export type GoogleAssetGroupAssetLink = {
4689
+ /**
4690
+ * Google AssetFieldType, such as HEADLINE, LONG_HEADLINE, DESCRIPTION, BUSINESS_NAME, MARKETING_IMAGE, SQUARE_MARKETING_IMAGE, PORTRAIT_MARKETING_IMAGE, LOGO, LANDSCAPE_LOGO or YOUTUBE_VIDEO.
4691
+ */
4692
+ fieldType: string;
4693
+ /**
4694
+ * Existing asset id or resource name customers/{customerId}/assets/{assetId}. Must belong to the campaign's ad account.
4695
+ */
4696
+ asset?: string;
4697
+ /**
4698
+ * Text assets link as HEADLINE, LONG_HEADLINE, DESCRIPTION or BUSINESS_NAME.
4699
+ */
4700
+ text?: string;
4701
+ /**
4702
+ * Public http(s) image. Links as an image role or LOGO / LANDSCAPE_LOGO.
4703
+ */
4704
+ imageUrl?: string;
4705
+ /**
4706
+ * Links as YOUTUBE_VIDEO.
4707
+ */
4708
+ youtubeVideoId?: string;
4709
+ };
4710
+
4711
+ export type GoogleAssetGroupAssetUnlink = {
4712
+ fieldType: string;
4713
+ /**
4714
+ * Asset id or resource name, as returned in the asset group's assets.
4715
+ */
4716
+ asset: string;
4717
+ };
4718
+
4674
4719
  /**
4675
4720
  * Supply fields for exactly one asset type per update. finalUrls may accompany sitelinkAsset. Shared asset edits affect every attachment using the asset.
4676
4721
  */
@@ -4852,6 +4897,88 @@ export type GoogleBusinessReview = {
4852
4897
  */
4853
4898
  export type starRating = 'ONE' | 'TWO' | 'THREE' | 'FOUR' | 'FIVE';
4854
4899
 
4900
+ /**
4901
+ * Exactly one key. Omit the value (for example { productBrand: {} }) for the everything-else node of that level.
4902
+ */
4903
+ export type GoogleListingGroupDimension = {
4904
+ productBrand?: {
4905
+ value?: string;
4906
+ };
4907
+ productCategory?: {
4908
+ /**
4909
+ * Google product category id.
4910
+ */
4911
+ categoryId?: string;
4912
+ level: 'LEVEL1' | 'LEVEL2' | 'LEVEL3' | 'LEVEL4' | 'LEVEL5';
4913
+ };
4914
+ productType?: {
4915
+ value?: string;
4916
+ level: 'LEVEL1' | 'LEVEL2' | 'LEVEL3' | 'LEVEL4' | 'LEVEL5';
4917
+ };
4918
+ productItemId?: {
4919
+ value?: string;
4920
+ };
4921
+ productCondition?: {
4922
+ condition?: 'NEW' | 'REFURBISHED' | 'USED';
4923
+ };
4924
+ productChannel?: {
4925
+ channel?: 'ONLINE' | 'LOCAL';
4926
+ };
4927
+ productCustomAttribute?: {
4928
+ value?: string;
4929
+ index: 'INDEX0' | 'INDEX1' | 'INDEX2' | 'INDEX3' | 'INDEX4';
4930
+ };
4931
+ };
4932
+
4933
+ export type level = 'LEVEL1' | 'LEVEL2' | 'LEVEL3' | 'LEVEL4' | 'LEVEL5';
4934
+
4935
+ export type condition = 'NEW' | 'REFURBISHED' | 'USED';
4936
+
4937
+ export type channel3 = 'ONLINE' | 'LOCAL';
4938
+
4939
+ export type index = 'INDEX0' | 'INDEX1' | 'INDEX2' | 'INDEX3' | 'INDEX4';
4940
+
4941
+ export type GoogleListingGroupFilterNode = {
4942
+ id: string;
4943
+ /**
4944
+ * customers/{customerId}/assetGroupListingGroupFilters/{assetGroupId}~{filterId}
4945
+ */
4946
+ resourceName: string;
4947
+ /**
4948
+ * Null for the root node.
4949
+ */
4950
+ parentResourceName: (string) | null;
4951
+ type: 'SUBDIVISION' | 'UNIT_INCLUDED' | 'UNIT_EXCLUDED';
4952
+ listingSource: string;
4953
+ /**
4954
+ * Google's case value for the node, such as { productBrand: { value: 'Acme' } }. A dimension with no value is the everything-else node. Null for the root.
4955
+ */
4956
+ dimension: {
4957
+ [key: string]: unknown;
4958
+ } | null;
4959
+ };
4960
+
4961
+ export type type7 = 'SUBDIVISION' | 'UNIT_INCLUDED' | 'UNIT_EXCLUDED';
4962
+
4963
+ export type GoogleListingGroupNode = {
4964
+ dimension: GoogleListingGroupDimension;
4965
+ /**
4966
+ * Leaf only. true excludes these products.
4967
+ */
4968
+ excluded?: boolean;
4969
+ /**
4970
+ * Makes the node a subdivision. Children share one dimension (and level or index) and include exactly one everything-else node.
4971
+ */
4972
+ children?: Array<GoogleListingGroupNode>;
4973
+ };
4974
+
4975
+ /**
4976
+ * The root of a Performance Max retail listing-group tree (listing source SHOPPING). No children targets all products. Requires a campaign linked to Merchant Center.
4977
+ */
4978
+ export type GoogleListingGroupTree = {
4979
+ children?: Array<GoogleListingGroupNode>;
4980
+ };
4981
+
4855
4982
  /**
4856
4983
  * Google only. Who a campaign's location targeting reaches (Google's
4857
4984
  * `campaign.geo_target_type_setting.positive_geo_target_type`).
@@ -4865,14 +4992,33 @@ export type starRating = 'ONE' | 'TWO' | 'THREE' | 'FOUR' | 'FIVE';
4865
4992
  export type GoogleLocationTargetingType = 'presence' | 'presence_or_interest';
4866
4993
 
4867
4994
  export type GooglePmaxAssetGroup = {
4995
+ /**
4996
+ * Stable Google asset group id. Use it in the asset-group endpoints below.
4997
+ */
4868
4998
  id: string;
4999
+ /**
5000
+ * customers/{customerId}/assetGroups/{assetGroupId}
5001
+ */
4869
5002
  resourceName: string;
5003
+ campaignId: string;
4870
5004
  name: string;
4871
5005
  /**
4872
5006
  * Asset-group status on Google. Campaign status independently controls delivery.
4873
5007
  */
4874
5008
  status: string;
4875
5009
  finalUrls: Array<(string)>;
5010
+ finalMobileUrls: Array<(string)>;
5011
+ path1: (string) | null;
5012
+ path2: (string) | null;
5013
+ /**
5014
+ * Google ad strength, such as POOR, AVERAGE, GOOD or EXCELLENT.
5015
+ */
5016
+ adStrength: (string) | null;
5017
+ /**
5018
+ * Why the group is or is not serving, such as ELIGIBLE, PAUSED or NOT_ELIGIBLE.
5019
+ */
5020
+ primaryStatus: (string) | null;
5021
+ primaryStatusReasons: Array<(string)>;
4876
5022
  assets: Array<{
4877
5023
  resourceName: string;
4878
5024
  /**
@@ -4886,6 +5032,13 @@ export type GooglePmaxAssetGroup = {
4886
5032
  }>;
4887
5033
  };
4888
5034
 
5035
+ export type GooglePmaxAssetGroupDetail = GooglePmaxAssetGroup & {
5036
+ /**
5037
+ * The asset group's listing-group tree as flat nodes (retail campaigns). Empty when the group has none.
5038
+ */
5039
+ listingGroupFilters: Array<GoogleListingGroupFilterNode>;
5040
+ };
5041
+
4889
5042
  /**
4890
5043
  * Google Performance Max creative assets. At least one description must be 60 characters or fewer. Texts within each list must be distinct.
4891
5044
  */
@@ -6250,7 +6403,7 @@ export type MediaItem = {
6250
6403
  tiktokProcessed?: boolean;
6251
6404
  };
6252
6405
 
6253
- export type type7 = 'image' | 'video' | 'gif' | 'document';
6406
+ export type type8 = 'image' | 'video' | 'gif' | 'document';
6254
6407
 
6255
6408
  export type MediaUploadResponse = {
6256
6409
  files?: Array<UploadedFile>;
@@ -6377,7 +6530,7 @@ export type MetaCatalogProductInput = {
6377
6530
 
6378
6531
  export type availability = 'in stock' | 'out of stock' | 'preorder' | 'available for order' | 'discontinued' | 'pending';
6379
6532
 
6380
- export type condition = 'new' | 'refurbished' | 'used';
6533
+ export type condition2 = 'new' | 'refurbished' | 'used';
6381
6534
 
6382
6535
  export type visibility = 'published' | 'staging';
6383
6536
 
@@ -7025,7 +7178,7 @@ export type PortfolioBidStrategy = {
7025
7178
  targetRoas?: (number) | null;
7026
7179
  };
7027
7180
 
7028
- export type type8 = 'TARGET_CPA' | 'TARGET_ROAS' | 'MAXIMIZE_CONVERSIONS' | 'MAXIMIZE_CONVERSION_VALUE';
7181
+ export type type9 = 'TARGET_CPA' | 'TARGET_ROAS' | 'MAXIMIZE_CONVERSIONS' | 'MAXIMIZE_CONVERSION_VALUE';
7029
7182
 
7030
7183
  export type Post = {
7031
7184
  _id?: string;
@@ -8565,7 +8718,7 @@ export type UploadedFile = {
8565
8718
  mimeType?: string;
8566
8719
  };
8567
8720
 
8568
- export type type9 = 'image' | 'video' | 'document';
8721
+ export type type10 = 'image' | 'video' | 'document';
8569
8722
 
8570
8723
  export type UploadTokenResponse = {
8571
8724
  token?: string;
@@ -9075,7 +9228,7 @@ export type Verification = {
9075
9228
 
9076
9229
  export type status17 = 'pending' | 'approved' | 'expired' | 'max_attempts_reached' | 'canceled' | 'delivery_failed';
9077
9230
 
9078
- export type channel3 = 'sms';
9231
+ export type channel4 = 'sms';
9079
9232
 
9080
9233
  /**
9081
9234
  * Individual webhook configuration for receiving real-time notifications
@@ -9522,7 +9675,7 @@ export type event4 = 'ad.status_changed';
9522
9675
  /**
9523
9676
  * Hierarchy level the status applies to. Mirrors Meta's `level`. Creative-level events are not forwarded.
9524
9677
  */
9525
- export type level = 'CAMPAIGN' | 'AD_SET' | 'AD';
9678
+ export type level2 = 'CAMPAIGN' | 'AD_SET' | 'AD';
9526
9679
 
9527
9680
  /**
9528
9681
  * Webhook payload for `analytics.synced`. Fired once per connected account each
@@ -11868,7 +12021,7 @@ export type WhatsAppTemplateButton = {
11868
12021
  navigate_screen?: string;
11869
12022
  };
11870
12023
 
11871
- export type type10 = 'quick_reply' | 'url' | 'phone_number' | 'otp' | 'copy_code' | 'flow' | 'mpm' | 'catalog';
12024
+ export type type11 = 'quick_reply' | 'url' | 'phone_number' | 'otp' | 'copy_code' | 'flow' | 'mpm' | 'catalog';
11872
12025
 
11873
12026
  /**
11874
12027
  * Required when type is otp
@@ -11910,7 +12063,7 @@ export type WhatsAppTemplateLookupError = {
11910
12063
  };
11911
12064
  };
11912
12065
 
11913
- export type type11 = 'platform_error';
12066
+ export type type12 = 'platform_error';
11914
12067
 
11915
12068
  export type code = 'platform_api_error';
11916
12069
 
@@ -12069,7 +12222,7 @@ export type WorkflowNode = {
12069
12222
  * integrations (webhook, ai, handoff, start_call).
12070
12223
  *
12071
12224
  */
12072
- export type type12 = 'trigger' | 'send_message' | 'wait_for_reply' | 'condition' | 'set_variable' | 'delay' | 'webhook' | 'ai' | 'handoff' | 'start_call' | 'a_b_split' | 'set_field' | 'enroll_sequence' | 'add_tag' | 'remove_tag' | 'end';
12225
+ export type type13 = 'trigger' | 'send_message' | 'wait_for_reply' | 'condition' | 'set_variable' | 'delay' | 'webhook' | 'ai' | 'handoff' | 'start_call' | 'a_b_split' | 'set_field' | 'enroll_sequence' | 'add_tag' | 'remove_tag' | 'end';
12073
12226
 
12074
12227
  /**
12075
12228
  * A single X API operation with its per-call price and the Zernio platform methods that trigger it.
@@ -12205,7 +12358,7 @@ export type XArticleBlock = {
12205
12358
  entity_ranges?: Array<XArticleEntityRange>;
12206
12359
  };
12207
12360
 
12208
- export type type13 = 'unstyled' | 'header-one' | 'header-two' | 'header-three' | 'unordered-list-item' | 'ordered-list-item' | 'blockquote' | 'atomic';
12361
+ export type type14 = 'unstyled' | 'header-one' | 'header-two' | 'header-three' | 'unordered-list-item' | 'ordered-list-item' | 'blockquote' | 'atomic';
12209
12362
 
12210
12363
  /**
12211
12364
  * X's snake_case content-state shape. Standard DraftJS camelCase fields such as entityMap, inlineStyleRanges, and entityRanges are rejected.
@@ -12284,7 +12437,7 @@ export type XArticleEntity = {
12284
12437
 
12285
12438
  export type mutability = 'immutable' | 'mutable' | 'segmented';
12286
12439
 
12287
- export type type14 = 'divider' | 'latex';
12440
+ export type type15 = 'divider' | 'latex';
12288
12441
 
12289
12442
  /**
12290
12443
  * The referenced entity must exist, and offset plus length must not exceed the containing block's text length.
@@ -35451,7 +35604,7 @@ export type UpdateAdKeywordData = {
35451
35604
  };
35452
35605
  path: {
35453
35606
  /**
35454
- * Zernio keyword ID (not the Google criterion ID)
35607
+ * Zernio keyword ID (`id`), or Google's native `{adSetId}~{platformCriterionId}` (the tail of `resourceName`, e.g. 1234567890~987654321). A bare criterion id is rejected because it is only unique within its ad group.
35455
35608
  */
35456
35609
  keywordId: string;
35457
35610
  };
@@ -35468,7 +35621,7 @@ export type UpdateAdKeywordError = (ErrorResponse | {
35468
35621
  export type RemoveAdKeywordData = {
35469
35622
  path: {
35470
35623
  /**
35471
- * Zernio keyword ID (not the Google criterion ID)
35624
+ * Zernio keyword ID (`id`), or Google's native `{adSetId}~{platformCriterionId}` (the tail of `resourceName`, e.g. 1234567890~987654321). A bare criterion id is rejected because it is only unique within its ad group.
35472
35625
  */
35473
35626
  keywordId: string;
35474
35627
  };
@@ -35479,7 +35632,26 @@ export type RemoveAdKeywordResponse = ({
35479
35632
  * Always true on success
35480
35633
  */
35481
35634
  removed?: boolean;
35635
+ /**
35636
+ * Zernio keyword ID
35637
+ */
35482
35638
  keywordId?: string;
35639
+ /**
35640
+ * Google ad_group_criterion.criterion_id
35641
+ */
35642
+ platformCriterionId?: string;
35643
+ /**
35644
+ * Google resource name of the removed criterion
35645
+ */
35646
+ resourceName?: string;
35647
+ /**
35648
+ * Google campaign ID
35649
+ */
35650
+ campaignId?: string;
35651
+ /**
35652
+ * Google ad group ID
35653
+ */
35654
+ adSetId?: string;
35483
35655
  });
35484
35656
 
35485
35657
  export type RemoveAdKeywordError = (ErrorResponse | {
@@ -41043,6 +41215,185 @@ export type ListGoogleAssetGroupsError = (ErrorResponse | {
41043
41215
  error?: string;
41044
41216
  } | unknown);
41045
41217
 
41218
+ export type CreateGoogleAssetGroupData = {
41219
+ body: {
41220
+ /**
41221
+ * Unique within the campaign.
41222
+ */
41223
+ name: string;
41224
+ finalUrls: Array<(string)>;
41225
+ finalMobileUrls?: Array<(string)>;
41226
+ path1?: string;
41227
+ /**
41228
+ * Requires path1.
41229
+ */
41230
+ path2?: string;
41231
+ status?: 'ENABLED' | 'PAUSED';
41232
+ assets?: Array<GoogleAssetGroupAssetLink>;
41233
+ listingGroupFilter?: GoogleListingGroupTree;
41234
+ validateOnly?: boolean;
41235
+ };
41236
+ path: {
41237
+ /**
41238
+ * Google Ads campaign id.
41239
+ */
41240
+ campaignId: string;
41241
+ };
41242
+ };
41243
+
41244
+ export type CreateGoogleAssetGroupResponse = ({
41245
+ validateOnly?: boolean;
41246
+ message?: string;
41247
+ } | {
41248
+ assetGroup: {
41249
+ id: string;
41250
+ resourceName: string;
41251
+ campaignId: string;
41252
+ };
41253
+ });
41254
+
41255
+ export type CreateGoogleAssetGroupError = (ErrorResponse | {
41256
+ error?: string;
41257
+ } | unknown);
41258
+
41259
+ export type GetGoogleAssetGroupData = {
41260
+ path: {
41261
+ /**
41262
+ * Google asset group id.
41263
+ */
41264
+ assetGroupId: string;
41265
+ /**
41266
+ * Google Ads campaign id.
41267
+ */
41268
+ campaignId: string;
41269
+ };
41270
+ };
41271
+
41272
+ export type GetGoogleAssetGroupResponse = ({
41273
+ assetGroup: GooglePmaxAssetGroupDetail;
41274
+ cachedAt: (string) | null;
41275
+ stale: boolean;
41276
+ });
41277
+
41278
+ export type GetGoogleAssetGroupError = (ErrorResponse | {
41279
+ error?: string;
41280
+ } | unknown);
41281
+
41282
+ export type UpdateGoogleAssetGroupData = {
41283
+ body: {
41284
+ name?: string;
41285
+ status?: 'ENABLED' | 'PAUSED';
41286
+ finalUrls?: Array<(string)>;
41287
+ finalMobileUrls?: Array<(string)>;
41288
+ path1?: (string) | null;
41289
+ path2?: (string) | null;
41290
+ validateOnly?: boolean;
41291
+ };
41292
+ path: {
41293
+ /**
41294
+ * Google asset group id.
41295
+ */
41296
+ assetGroupId: string;
41297
+ /**
41298
+ * Google Ads campaign id.
41299
+ */
41300
+ campaignId: string;
41301
+ };
41302
+ };
41303
+
41304
+ export type UpdateGoogleAssetGroupResponse = ({
41305
+ assetGroupId?: string;
41306
+ updated?: Array<(string)>;
41307
+ validateOnly?: boolean;
41308
+ });
41309
+
41310
+ export type UpdateGoogleAssetGroupError = (ErrorResponse | {
41311
+ error?: string;
41312
+ } | unknown);
41313
+
41314
+ export type RemoveGoogleAssetGroupData = {
41315
+ path: {
41316
+ assetGroupId: string;
41317
+ campaignId: string;
41318
+ };
41319
+ query?: {
41320
+ validateOnly?: boolean;
41321
+ };
41322
+ };
41323
+
41324
+ export type RemoveGoogleAssetGroupResponse = ({
41325
+ assetGroupId?: string;
41326
+ removed?: boolean;
41327
+ validateOnly?: boolean;
41328
+ });
41329
+
41330
+ export type RemoveGoogleAssetGroupError = (ErrorResponse | {
41331
+ error?: string;
41332
+ } | unknown);
41333
+
41334
+ export type EditGoogleAssetGroupAssetsData = {
41335
+ body: {
41336
+ link?: Array<GoogleAssetGroupAssetLink>;
41337
+ unlink?: Array<GoogleAssetGroupAssetUnlink>;
41338
+ validateOnly?: boolean;
41339
+ };
41340
+ path: {
41341
+ /**
41342
+ * Google asset group id.
41343
+ */
41344
+ assetGroupId: string;
41345
+ /**
41346
+ * Google Ads campaign id.
41347
+ */
41348
+ campaignId: string;
41349
+ };
41350
+ };
41351
+
41352
+ export type EditGoogleAssetGroupAssetsResponse = ({
41353
+ assetGroupId?: string;
41354
+ linked?: number;
41355
+ unlinked?: number;
41356
+ validateOnly?: boolean;
41357
+ });
41358
+
41359
+ export type EditGoogleAssetGroupAssetsError = (ErrorResponse | {
41360
+ error?: string;
41361
+ } | unknown);
41362
+
41363
+ export type ReplaceGoogleListingGroupFiltersData = {
41364
+ body: {
41365
+ tree: GoogleListingGroupTree;
41366
+ validateOnly?: boolean;
41367
+ };
41368
+ path: {
41369
+ /**
41370
+ * Google asset group id.
41371
+ */
41372
+ assetGroupId: string;
41373
+ /**
41374
+ * Google Ads campaign id.
41375
+ */
41376
+ campaignId: string;
41377
+ };
41378
+ };
41379
+
41380
+ export type ReplaceGoogleListingGroupFiltersResponse = ({
41381
+ assetGroupId?: string;
41382
+ /**
41383
+ * Nodes removed from the previous tree.
41384
+ */
41385
+ removed?: number;
41386
+ /**
41387
+ * Nodes in the new tree.
41388
+ */
41389
+ created?: number;
41390
+ validateOnly?: boolean;
41391
+ });
41392
+
41393
+ export type ReplaceGoogleListingGroupFiltersError = (ErrorResponse | {
41394
+ error?: string;
41395
+ } | unknown);
41396
+
41046
41397
  export type CreateStandaloneAdData = {
41047
41398
  body: {
41048
41399
  accountId: string;