@postrun/js 3.2.0 → 3.3.0

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/server.cjs CHANGED
@@ -815,6 +815,8 @@ var zErrorCode = z__namespace.enum([
815
815
  "connection_discovery_failed",
816
816
  "tiktok_creator_info_unavailable",
817
817
  "tiktok_cannot_post_now",
818
+ "cover_unavailable",
819
+ "cover_not_ready",
818
820
  "media_processing",
819
821
  "media_upload_init_failed",
820
822
  "media_upload_incomplete",
@@ -822,11 +824,14 @@ var zErrorCode = z__namespace.enum([
822
824
  "not_publishable",
823
825
  "invalid_connection",
824
826
  "invalid_media",
827
+ "invalid_asset",
828
+ "invalid_audience",
825
829
  "profile_scope_invalid",
826
830
  "media_unprobeable",
827
831
  "media_too_large",
828
832
  "media_aspect_ratio_unsupported",
829
833
  "media_resolution_too_low",
834
+ "media_resolution_too_high",
830
835
  "media_gif_unsupported",
831
836
  "media_format_recompressed",
832
837
  "media_resolution_downscaled",
@@ -835,6 +840,7 @@ var zErrorCode = z__namespace.enum([
835
840
  "video_audio_codec_unsupported",
836
841
  "video_too_large",
837
842
  "video_too_small",
843
+ "video_bitrate_too_low",
838
844
  "video_dimensions_unsupported",
839
845
  "video_dimensions_too_large",
840
846
  "video_fps_unsupported",
@@ -914,6 +920,11 @@ var zErrorCode = z__namespace.enum([
914
920
  "google_auth_expired",
915
921
  "google_permission_denied",
916
922
  "google_request_failed",
923
+ "tiktok_ads_rate_limited",
924
+ "tiktok_ads_server_error",
925
+ "tiktok_ads_auth_expired",
926
+ "tiktok_ads_permission_denied",
927
+ "tiktok_ads_request_failed",
917
928
  "google_conversion_duplicate",
918
929
  "google_conversion_invalid_click_id",
919
930
  "google_conversion_event_too_old",
@@ -1015,6 +1026,7 @@ var zMedia = z__namespace.object({
1015
1026
  "media_too_large",
1016
1027
  "media_aspect_ratio_unsupported",
1017
1028
  "media_resolution_too_low",
1029
+ "media_resolution_too_high",
1018
1030
  "media_gif_unsupported",
1019
1031
  "media_format_recompressed",
1020
1032
  "media_resolution_downscaled",
@@ -1023,6 +1035,7 @@ var zMedia = z__namespace.object({
1023
1035
  "video_audio_codec_unsupported",
1024
1036
  "video_too_large",
1025
1037
  "video_too_small",
1038
+ "video_bitrate_too_low",
1026
1039
  "video_dimensions_unsupported",
1027
1040
  "video_dimensions_too_large",
1028
1041
  "video_fps_unsupported",
@@ -1069,6 +1082,7 @@ var zMedia = z__namespace.object({
1069
1082
  "media_too_large",
1070
1083
  "media_aspect_ratio_unsupported",
1071
1084
  "media_resolution_too_low",
1085
+ "media_resolution_too_high",
1072
1086
  "media_gif_unsupported",
1073
1087
  "media_format_recompressed",
1074
1088
  "media_resolution_downscaled",
@@ -1077,6 +1091,7 @@ var zMedia = z__namespace.object({
1077
1091
  "video_audio_codec_unsupported",
1078
1092
  "video_too_large",
1079
1093
  "video_too_small",
1094
+ "video_bitrate_too_low",
1080
1095
  "video_dimensions_unsupported",
1081
1096
  "video_dimensions_too_large",
1082
1097
  "video_fps_unsupported",
@@ -1105,6 +1120,7 @@ var zMedia = z__namespace.object({
1105
1120
  "media_too_large",
1106
1121
  "media_aspect_ratio_unsupported",
1107
1122
  "media_resolution_too_low",
1123
+ "media_resolution_too_high",
1108
1124
  "media_gif_unsupported",
1109
1125
  "media_format_recompressed",
1110
1126
  "media_resolution_downscaled",
@@ -1113,6 +1129,7 @@ var zMedia = z__namespace.object({
1113
1129
  "video_audio_codec_unsupported",
1114
1130
  "video_too_large",
1115
1131
  "video_too_small",
1132
+ "video_bitrate_too_low",
1116
1133
  "video_dimensions_unsupported",
1117
1134
  "video_dimensions_too_large",
1118
1135
  "video_fps_unsupported",
@@ -1276,6 +1293,8 @@ var zPostVariant = z__namespace.union([
1276
1293
  "connection_discovery_failed",
1277
1294
  "tiktok_creator_info_unavailable",
1278
1295
  "tiktok_cannot_post_now",
1296
+ "cover_unavailable",
1297
+ "cover_not_ready",
1279
1298
  "media_processing",
1280
1299
  "media_upload_init_failed",
1281
1300
  "media_upload_incomplete",
@@ -1283,11 +1302,14 @@ var zPostVariant = z__namespace.union([
1283
1302
  "not_publishable",
1284
1303
  "invalid_connection",
1285
1304
  "invalid_media",
1305
+ "invalid_asset",
1306
+ "invalid_audience",
1286
1307
  "profile_scope_invalid",
1287
1308
  "media_unprobeable",
1288
1309
  "media_too_large",
1289
1310
  "media_aspect_ratio_unsupported",
1290
1311
  "media_resolution_too_low",
1312
+ "media_resolution_too_high",
1291
1313
  "media_gif_unsupported",
1292
1314
  "media_format_recompressed",
1293
1315
  "media_resolution_downscaled",
@@ -1296,6 +1318,7 @@ var zPostVariant = z__namespace.union([
1296
1318
  "video_audio_codec_unsupported",
1297
1319
  "video_too_large",
1298
1320
  "video_too_small",
1321
+ "video_bitrate_too_low",
1299
1322
  "video_dimensions_unsupported",
1300
1323
  "video_dimensions_too_large",
1301
1324
  "video_fps_unsupported",
@@ -1375,6 +1398,11 @@ var zPostVariant = z__namespace.union([
1375
1398
  "google_auth_expired",
1376
1399
  "google_permission_denied",
1377
1400
  "google_request_failed",
1401
+ "tiktok_ads_rate_limited",
1402
+ "tiktok_ads_server_error",
1403
+ "tiktok_ads_auth_expired",
1404
+ "tiktok_ads_permission_denied",
1405
+ "tiktok_ads_request_failed",
1378
1406
  "google_conversion_duplicate",
1379
1407
  "google_conversion_invalid_click_id",
1380
1408
  "google_conversion_event_too_old",
@@ -1457,6 +1485,8 @@ var zPostVariant = z__namespace.union([
1457
1485
  "connection_discovery_failed",
1458
1486
  "tiktok_creator_info_unavailable",
1459
1487
  "tiktok_cannot_post_now",
1488
+ "cover_unavailable",
1489
+ "cover_not_ready",
1460
1490
  "media_processing",
1461
1491
  "media_upload_init_failed",
1462
1492
  "media_upload_incomplete",
@@ -1464,11 +1494,14 @@ var zPostVariant = z__namespace.union([
1464
1494
  "not_publishable",
1465
1495
  "invalid_connection",
1466
1496
  "invalid_media",
1497
+ "invalid_asset",
1498
+ "invalid_audience",
1467
1499
  "profile_scope_invalid",
1468
1500
  "media_unprobeable",
1469
1501
  "media_too_large",
1470
1502
  "media_aspect_ratio_unsupported",
1471
1503
  "media_resolution_too_low",
1504
+ "media_resolution_too_high",
1472
1505
  "media_gif_unsupported",
1473
1506
  "media_format_recompressed",
1474
1507
  "media_resolution_downscaled",
@@ -1477,6 +1510,7 @@ var zPostVariant = z__namespace.union([
1477
1510
  "video_audio_codec_unsupported",
1478
1511
  "video_too_large",
1479
1512
  "video_too_small",
1513
+ "video_bitrate_too_low",
1480
1514
  "video_dimensions_unsupported",
1481
1515
  "video_dimensions_too_large",
1482
1516
  "video_fps_unsupported",
@@ -1556,6 +1590,11 @@ var zPostVariant = z__namespace.union([
1556
1590
  "google_auth_expired",
1557
1591
  "google_permission_denied",
1558
1592
  "google_request_failed",
1593
+ "tiktok_ads_rate_limited",
1594
+ "tiktok_ads_server_error",
1595
+ "tiktok_ads_auth_expired",
1596
+ "tiktok_ads_permission_denied",
1597
+ "tiktok_ads_request_failed",
1559
1598
  "google_conversion_duplicate",
1560
1599
  "google_conversion_invalid_click_id",
1561
1600
  "google_conversion_event_too_old",
@@ -1622,6 +1661,8 @@ var zPostVariant = z__namespace.union([
1622
1661
  "connection_discovery_failed",
1623
1662
  "tiktok_creator_info_unavailable",
1624
1663
  "tiktok_cannot_post_now",
1664
+ "cover_unavailable",
1665
+ "cover_not_ready",
1625
1666
  "media_processing",
1626
1667
  "media_upload_init_failed",
1627
1668
  "media_upload_incomplete",
@@ -1629,11 +1670,14 @@ var zPostVariant = z__namespace.union([
1629
1670
  "not_publishable",
1630
1671
  "invalid_connection",
1631
1672
  "invalid_media",
1673
+ "invalid_asset",
1674
+ "invalid_audience",
1632
1675
  "profile_scope_invalid",
1633
1676
  "media_unprobeable",
1634
1677
  "media_too_large",
1635
1678
  "media_aspect_ratio_unsupported",
1636
1679
  "media_resolution_too_low",
1680
+ "media_resolution_too_high",
1637
1681
  "media_gif_unsupported",
1638
1682
  "media_format_recompressed",
1639
1683
  "media_resolution_downscaled",
@@ -1642,6 +1686,7 @@ var zPostVariant = z__namespace.union([
1642
1686
  "video_audio_codec_unsupported",
1643
1687
  "video_too_large",
1644
1688
  "video_too_small",
1689
+ "video_bitrate_too_low",
1645
1690
  "video_dimensions_unsupported",
1646
1691
  "video_dimensions_too_large",
1647
1692
  "video_fps_unsupported",
@@ -1721,6 +1766,11 @@ var zPostVariant = z__namespace.union([
1721
1766
  "google_auth_expired",
1722
1767
  "google_permission_denied",
1723
1768
  "google_request_failed",
1769
+ "tiktok_ads_rate_limited",
1770
+ "tiktok_ads_server_error",
1771
+ "tiktok_ads_auth_expired",
1772
+ "tiktok_ads_permission_denied",
1773
+ "tiktok_ads_request_failed",
1724
1774
  "google_conversion_duplicate",
1725
1775
  "google_conversion_invalid_click_id",
1726
1776
  "google_conversion_event_too_old",
@@ -1788,6 +1838,8 @@ var zPostVariant = z__namespace.union([
1788
1838
  "connection_discovery_failed",
1789
1839
  "tiktok_creator_info_unavailable",
1790
1840
  "tiktok_cannot_post_now",
1841
+ "cover_unavailable",
1842
+ "cover_not_ready",
1791
1843
  "media_processing",
1792
1844
  "media_upload_init_failed",
1793
1845
  "media_upload_incomplete",
@@ -1795,11 +1847,14 @@ var zPostVariant = z__namespace.union([
1795
1847
  "not_publishable",
1796
1848
  "invalid_connection",
1797
1849
  "invalid_media",
1850
+ "invalid_asset",
1851
+ "invalid_audience",
1798
1852
  "profile_scope_invalid",
1799
1853
  "media_unprobeable",
1800
1854
  "media_too_large",
1801
1855
  "media_aspect_ratio_unsupported",
1802
1856
  "media_resolution_too_low",
1857
+ "media_resolution_too_high",
1803
1858
  "media_gif_unsupported",
1804
1859
  "media_format_recompressed",
1805
1860
  "media_resolution_downscaled",
@@ -1808,6 +1863,7 @@ var zPostVariant = z__namespace.union([
1808
1863
  "video_audio_codec_unsupported",
1809
1864
  "video_too_large",
1810
1865
  "video_too_small",
1866
+ "video_bitrate_too_low",
1811
1867
  "video_dimensions_unsupported",
1812
1868
  "video_dimensions_too_large",
1813
1869
  "video_fps_unsupported",
@@ -1887,6 +1943,11 @@ var zPostVariant = z__namespace.union([
1887
1943
  "google_auth_expired",
1888
1944
  "google_permission_denied",
1889
1945
  "google_request_failed",
1946
+ "tiktok_ads_rate_limited",
1947
+ "tiktok_ads_server_error",
1948
+ "tiktok_ads_auth_expired",
1949
+ "tiktok_ads_permission_denied",
1950
+ "tiktok_ads_request_failed",
1890
1951
  "google_conversion_duplicate",
1891
1952
  "google_conversion_invalid_click_id",
1892
1953
  "google_conversion_event_too_old",
@@ -1958,6 +2019,8 @@ var zPostVariant = z__namespace.union([
1958
2019
  "connection_discovery_failed",
1959
2020
  "tiktok_creator_info_unavailable",
1960
2021
  "tiktok_cannot_post_now",
2022
+ "cover_unavailable",
2023
+ "cover_not_ready",
1961
2024
  "media_processing",
1962
2025
  "media_upload_init_failed",
1963
2026
  "media_upload_incomplete",
@@ -1965,11 +2028,14 @@ var zPostVariant = z__namespace.union([
1965
2028
  "not_publishable",
1966
2029
  "invalid_connection",
1967
2030
  "invalid_media",
2031
+ "invalid_asset",
2032
+ "invalid_audience",
1968
2033
  "profile_scope_invalid",
1969
2034
  "media_unprobeable",
1970
2035
  "media_too_large",
1971
2036
  "media_aspect_ratio_unsupported",
1972
2037
  "media_resolution_too_low",
2038
+ "media_resolution_too_high",
1973
2039
  "media_gif_unsupported",
1974
2040
  "media_format_recompressed",
1975
2041
  "media_resolution_downscaled",
@@ -1978,6 +2044,7 @@ var zPostVariant = z__namespace.union([
1978
2044
  "video_audio_codec_unsupported",
1979
2045
  "video_too_large",
1980
2046
  "video_too_small",
2047
+ "video_bitrate_too_low",
1981
2048
  "video_dimensions_unsupported",
1982
2049
  "video_dimensions_too_large",
1983
2050
  "video_fps_unsupported",
@@ -2057,6 +2124,11 @@ var zPostVariant = z__namespace.union([
2057
2124
  "google_auth_expired",
2058
2125
  "google_permission_denied",
2059
2126
  "google_request_failed",
2127
+ "tiktok_ads_rate_limited",
2128
+ "tiktok_ads_server_error",
2129
+ "tiktok_ads_auth_expired",
2130
+ "tiktok_ads_permission_denied",
2131
+ "tiktok_ads_request_failed",
2060
2132
  "google_conversion_duplicate",
2061
2133
  "google_conversion_invalid_click_id",
2062
2134
  "google_conversion_event_too_old",
@@ -2711,6 +2783,10 @@ z__namespace.object({
2711
2783
  dry_run: z__namespace.boolean(),
2712
2784
  executed: z__namespace.boolean()
2713
2785
  });
2786
+ z__namespace.object({
2787
+ youtube_url: z__namespace.string(),
2788
+ title: z__namespace.string().min(1).max(255).optional()
2789
+ });
2714
2790
  z__namespace.object({
2715
2791
  id: z__namespace.string(),
2716
2792
  resource_name: z__namespace.string(),
@@ -2727,11 +2803,13 @@ z__namespace.union([
2727
2803
  z__namespace.object({
2728
2804
  type: z__namespace.literal("location"),
2729
2805
  geo_target_constant: z__namespace.string().regex(/^geoTargetConstants\/\d+$/),
2730
- negative: z__namespace.boolean().optional().default(false)
2806
+ negative: z__namespace.boolean().optional().default(false),
2807
+ dry_run: z__namespace.boolean().optional().default(false)
2731
2808
  }),
2732
2809
  z__namespace.object({
2733
2810
  type: z__namespace.literal("language"),
2734
- language_constant: z__namespace.string().min(1)
2811
+ language_constant: z__namespace.string().min(1),
2812
+ dry_run: z__namespace.boolean().optional().default(false)
2735
2813
  })
2736
2814
  ]);
2737
2815
  z__namespace.union([
@@ -2746,7 +2824,8 @@ z__namespace.union([
2746
2824
  "AGE_RANGE_65_UP",
2747
2825
  "AGE_RANGE_UNDETERMINED"
2748
2826
  ]),
2749
- negative: z__namespace.boolean().optional().default(false)
2827
+ negative: z__namespace.boolean().optional().default(false),
2828
+ dry_run: z__namespace.boolean().optional().default(false)
2750
2829
  }),
2751
2830
  z__namespace.object({
2752
2831
  type: z__namespace.literal("gender"),
@@ -2755,7 +2834,8 @@ z__namespace.union([
2755
2834
  "FEMALE",
2756
2835
  "UNDETERMINED"
2757
2836
  ]),
2758
- negative: z__namespace.boolean().optional().default(false)
2837
+ negative: z__namespace.boolean().optional().default(false),
2838
+ dry_run: z__namespace.boolean().optional().default(false)
2759
2839
  }),
2760
2840
  z__namespace.object({
2761
2841
  type: z__namespace.literal("income_range"),
@@ -2768,7 +2848,8 @@ z__namespace.union([
2768
2848
  "INCOME_RANGE_90_UP",
2769
2849
  "INCOME_RANGE_UNDETERMINED"
2770
2850
  ]),
2771
- negative: z__namespace.boolean().optional().default(false)
2851
+ negative: z__namespace.boolean().optional().default(false),
2852
+ dry_run: z__namespace.boolean().optional().default(false)
2772
2853
  }),
2773
2854
  z__namespace.object({
2774
2855
  type: z__namespace.literal("parental_status"),
@@ -2777,28 +2858,98 @@ z__namespace.union([
2777
2858
  "NOT_A_PARENT",
2778
2859
  "UNDETERMINED"
2779
2860
  ]),
2780
- negative: z__namespace.boolean().optional().default(false)
2861
+ negative: z__namespace.boolean().optional().default(false),
2862
+ dry_run: z__namespace.boolean().optional().default(false)
2781
2863
  }),
2782
2864
  z__namespace.object({
2783
2865
  type: z__namespace.literal("user_list"),
2784
2866
  user_list: z__namespace.string().regex(/^customers\/\d+\/userLists\/\d+$/),
2785
- negative: z__namespace.boolean().optional().default(false)
2867
+ negative: z__namespace.boolean().optional().default(false),
2868
+ dry_run: z__namespace.boolean().optional().default(false)
2786
2869
  }),
2787
2870
  z__namespace.object({
2788
2871
  type: z__namespace.literal("audience"),
2789
2872
  audience: z__namespace.string().regex(/^customers\/\d+\/audiences\/\d+$/),
2790
- negative: z__namespace.boolean().optional().default(false)
2873
+ negative: z__namespace.boolean().optional().default(false),
2874
+ dry_run: z__namespace.boolean().optional().default(false)
2791
2875
  }),
2792
2876
  z__namespace.object({
2793
2877
  type: z__namespace.literal("custom_audience"),
2794
2878
  custom_audience: z__namespace.string().regex(/^customers\/\d+\/customAudiences\/\d+$/),
2795
- negative: z__namespace.boolean().optional().default(false)
2879
+ negative: z__namespace.boolean().optional().default(false),
2880
+ dry_run: z__namespace.boolean().optional().default(false)
2796
2881
  })
2797
2882
  ]);
2798
2883
  z__namespace.object({
2799
2884
  positive_geo_target_type: z__namespace.enum(["PRESENCE_OR_INTEREST", "PRESENCE"]).optional(),
2800
2885
  negative_geo_target_type: z__namespace.enum(["PRESENCE_OR_INTEREST", "PRESENCE"]).optional()
2801
2886
  });
2887
+ z__namespace.object({
2888
+ final_urls: z__namespace.array(z__namespace.url()).min(1).optional(),
2889
+ headlines: z__namespace.array(z__namespace.object({
2890
+ text: z__namespace.string().min(1).max(30),
2891
+ pinned_field: z__namespace.enum([
2892
+ "HEADLINE_1",
2893
+ "HEADLINE_2",
2894
+ "HEADLINE_3"
2895
+ ]).optional()
2896
+ })).min(3).max(15).optional(),
2897
+ descriptions: z__namespace.array(z__namespace.object({
2898
+ text: z__namespace.string().min(1).max(90)
2899
+ })).min(2).max(4).optional(),
2900
+ path1: z__namespace.string().max(15).optional(),
2901
+ path2: z__namespace.string().max(15).optional(),
2902
+ final_mobile_urls: z__namespace.array(z__namespace.url()).min(1).optional(),
2903
+ tracking_url_template: z__namespace.string().min(1).optional(),
2904
+ final_url_suffix: z__namespace.string().min(1).optional(),
2905
+ url_custom_parameters: z__namespace.array(zGoogleAdsUrlCustomParameter).min(1).max(8).optional()
2906
+ });
2907
+ z__namespace.object({
2908
+ marketing_images: z__namespace.array(z__namespace.object({
2909
+ asset: z__namespace.string().min(1)
2910
+ })).min(1).max(15).optional(),
2911
+ square_marketing_images: z__namespace.array(z__namespace.object({
2912
+ asset: z__namespace.string().min(1)
2913
+ })).min(1).max(15).optional(),
2914
+ logo_images: z__namespace.array(z__namespace.object({
2915
+ asset: z__namespace.string().min(1)
2916
+ })).min(1).max(5).optional(),
2917
+ square_logo_images: z__namespace.array(z__namespace.object({
2918
+ asset: z__namespace.string().min(1)
2919
+ })).min(1).max(5).optional(),
2920
+ final_urls: z__namespace.array(z__namespace.url()).min(1).optional(),
2921
+ headlines: z__namespace.array(z__namespace.object({
2922
+ text: z__namespace.string().min(1).max(30)
2923
+ })).min(1).max(5).optional(),
2924
+ long_headline: z__namespace.object({
2925
+ text: z__namespace.string().min(1).max(90)
2926
+ }).optional(),
2927
+ descriptions: z__namespace.array(z__namespace.object({
2928
+ text: z__namespace.string().min(1).max(90)
2929
+ })).min(1).max(5).optional(),
2930
+ business_name: z__namespace.string().min(1).max(25).optional(),
2931
+ call_to_action_text: z__namespace.string().min(1).optional(),
2932
+ main_color: z__namespace.string().min(1).optional(),
2933
+ accent_color: z__namespace.string().min(1).optional(),
2934
+ final_mobile_urls: z__namespace.array(z__namespace.url()).min(1).optional(),
2935
+ tracking_url_template: z__namespace.string().min(1).optional(),
2936
+ final_url_suffix: z__namespace.string().min(1).optional(),
2937
+ url_custom_parameters: z__namespace.array(zGoogleAdsUrlCustomParameter).min(1).max(8).optional()
2938
+ });
2939
+ var zGoogleAdsCampaignBidding = z__namespace.union([
2940
+ z__namespace.object({
2941
+ strategy: z__namespace.literal("target_cpa"),
2942
+ target_cpa_micros: z__namespace.int().gt(0).lte(9007199254740991)
2943
+ }),
2944
+ z__namespace.object({
2945
+ strategy: z__namespace.literal("target_roas"),
2946
+ target_roas: z__namespace.number().gte(0.01).lte(1e3)
2947
+ }),
2948
+ z__namespace.object({
2949
+ strategy: z__namespace.literal("maximize_conversion_value"),
2950
+ target_roas: z__namespace.number().gte(0.01).lte(1e3)
2951
+ })
2952
+ ]);
2802
2953
  var zGoogleAdsInsightLevel = z__namespace.enum([
2803
2954
  "account",
2804
2955
  "campaign",
@@ -2855,12 +3006,119 @@ z__namespace.object({
2855
3006
  since: z__namespace.iso.date(),
2856
3007
  until: z__namespace.iso.date()
2857
3008
  });
3009
+ var zGoogleAdsPmaxAssetSet = z__namespace.object({
3010
+ headlines: z__namespace.array(z__namespace.string().min(1).max(30)).min(3).max(15),
3011
+ long_headlines: z__namespace.array(z__namespace.string().min(1).max(90)).min(1).max(5),
3012
+ descriptions: z__namespace.array(z__namespace.string().min(1).max(90)).min(2).max(5),
3013
+ business_name: z__namespace.string().min(1).max(25),
3014
+ marketing_images: z__namespace.array(z__namespace.string().regex(/^customers\/\d+\/assets\/\d+$/)).min(1).max(20),
3015
+ square_marketing_images: z__namespace.array(z__namespace.string().regex(/^customers\/\d+\/assets\/\d+$/)).min(1).max(20),
3016
+ logos: z__namespace.array(z__namespace.string().regex(/^customers\/\d+\/assets\/\d+$/)).min(1).max(5),
3017
+ portrait_marketing_images: z__namespace.array(z__namespace.string().regex(/^customers\/\d+\/assets\/\d+$/)).max(20).optional(),
3018
+ landscape_logos: z__namespace.array(z__namespace.string().regex(/^customers\/\d+\/assets\/\d+$/)).max(20).optional(),
3019
+ youtube_videos: z__namespace.array(z__namespace.string().regex(/^customers\/\d+\/assets\/\d+$/)).max(15).optional()
3020
+ });
3021
+ z__namespace.object({
3022
+ name: z__namespace.string().min(1).max(128),
3023
+ budget_micros: z__namespace.int().gt(0).lte(9007199254740991),
3024
+ bidding: z__namespace.enum(["maximize_conversions", "maximize_conversion_value"]),
3025
+ final_urls: z__namespace.array(z__namespace.url()).min(1),
3026
+ asset_group_name: z__namespace.string().min(1).max(128),
3027
+ status: z__namespace.enum(["ENABLED", "PAUSED"]).optional().default("PAUSED"),
3028
+ assets: zGoogleAdsPmaxAssetSet
3029
+ });
3030
+ z__namespace.object({
3031
+ campaign_id: z__namespace.string().nullable(),
3032
+ campaign_resource_name: z__namespace.string().nullable(),
3033
+ asset_group_id: z__namespace.string().nullable(),
3034
+ asset_group_resource_name: z__namespace.string().nullable(),
3035
+ budget_id: z__namespace.string().nullable(),
3036
+ dry_run: z__namespace.boolean(),
3037
+ executed: z__namespace.boolean()
3038
+ });
3039
+ var zGoogleAdsAssetGroup = z__namespace.object({
3040
+ id: z__namespace.string(),
3041
+ name: z__namespace.string().nullable(),
3042
+ status: z__namespace.enum([
3043
+ "UNSPECIFIED",
3044
+ "UNKNOWN",
3045
+ "ENABLED",
3046
+ "PAUSED",
3047
+ "REMOVED"
3048
+ ]),
3049
+ ad_strength: z__namespace.enum([
3050
+ "UNSPECIFIED",
3051
+ "UNKNOWN",
3052
+ "PENDING",
3053
+ "NO_ADS",
3054
+ "POOR",
3055
+ "AVERAGE",
3056
+ "GOOD",
3057
+ "EXCELLENT"
3058
+ ]),
3059
+ campaign: z__namespace.string().nullable(),
3060
+ path1: z__namespace.string().nullable(),
3061
+ path2: z__namespace.string().nullable()
3062
+ });
3063
+ z__namespace.object({
3064
+ asset_group_name: z__namespace.string().min(1).max(128),
3065
+ final_urls: z__namespace.array(z__namespace.url()).min(1),
3066
+ status: z__namespace.enum(["ENABLED", "PAUSED"]).optional().default("PAUSED"),
3067
+ assets: zGoogleAdsPmaxAssetSet
3068
+ });
3069
+ z__namespace.object({
3070
+ name: z__namespace.string().min(1).max(128).optional(),
3071
+ final_urls: z__namespace.array(z__namespace.url()).min(1).optional(),
3072
+ path1: z__namespace.string().min(1).max(15).optional(),
3073
+ path2: z__namespace.string().min(1).max(15).optional()
3074
+ });
3075
+ var zGoogleAdsAssetFieldTypeFull = z__namespace.enum([
3076
+ "UNSPECIFIED",
3077
+ "UNKNOWN",
3078
+ "HEADLINE",
3079
+ "DESCRIPTION",
3080
+ "MANDATORY_AD_TEXT",
3081
+ "MARKETING_IMAGE",
3082
+ "MEDIA_BUNDLE",
3083
+ "YOUTUBE_VIDEO",
3084
+ "BOOK_ON_GOOGLE",
3085
+ "LEAD_FORM",
3086
+ "PROMOTION",
3087
+ "CALLOUT",
3088
+ "STRUCTURED_SNIPPET",
3089
+ "SITELINK",
3090
+ "MOBILE_APP",
3091
+ "HOTEL_CALLOUT",
3092
+ "CALL",
3093
+ "PRICE",
3094
+ "LONG_HEADLINE",
3095
+ "BUSINESS_NAME",
3096
+ "SQUARE_MARKETING_IMAGE",
3097
+ "PORTRAIT_MARKETING_IMAGE",
3098
+ "LOGO",
3099
+ "LANDSCAPE_LOGO",
3100
+ "VIDEO",
3101
+ "CALL_TO_ACTION_SELECTION",
3102
+ "AD_IMAGE",
3103
+ "BUSINESS_LOGO",
3104
+ "HOTEL_PROPERTY",
3105
+ "DEMAND_GEN_CAROUSEL_CARD",
3106
+ "BUSINESS_MESSAGE",
3107
+ "TALL_PORTRAIT_MARKETING_IMAGE",
3108
+ "RELATED_YOUTUBE_VIDEOS",
3109
+ "LANDING_PAGE_PREVIEW",
3110
+ "LONG_DESCRIPTION",
3111
+ "CALL_TO_ACTION",
3112
+ "CLASSIC_DISPLAY_IMAGE"
3113
+ ]);
2858
3114
  var zGoogleAdTreeNode = z__namespace.object({
2859
3115
  level: z__namespace.enum([
2860
3116
  "campaign",
2861
3117
  "ad_group",
2862
3118
  "ad",
2863
- "keyword"
3119
+ "keyword",
3120
+ "asset_group",
3121
+ "asset_group_asset"
2864
3122
  ]),
2865
3123
  id: z__namespace.string().min(1),
2866
3124
  name: z__namespace.string().nullable(),
@@ -2888,6 +3146,17 @@ var zGoogleAdTreeNode = z__namespace.object({
2888
3146
  "TRAVEL",
2889
3147
  "DEMAND_GEN"
2890
3148
  ]).nullable(),
3149
+ field_type: zGoogleAdsAssetFieldTypeFull.nullable(),
3150
+ primary_status: z__namespace.enum([
3151
+ "UNSPECIFIED",
3152
+ "UNKNOWN",
3153
+ "ELIGIBLE",
3154
+ "PAUSED",
3155
+ "REMOVED",
3156
+ "PENDING",
3157
+ "LIMITED",
3158
+ "NOT_ELIGIBLE"
3159
+ ]).nullable(),
2891
3160
  child_kind: z__namespace.enum([
2892
3161
  "ad_group",
2893
3162
  "asset_group",
@@ -2912,6 +3181,107 @@ z__namespace.object({
2912
3181
  object: z__namespace.literal("list"),
2913
3182
  data: z__namespace.array(zGoogleAdTreeNode)
2914
3183
  });
3184
+ var zGoogleAdsAssetGroupAsset = z__namespace.object({
3185
+ id: z__namespace.string().regex(/^\d+~\d+~\d+$/),
3186
+ field_type: zGoogleAdsAssetFieldTypeFull,
3187
+ asset: z__namespace.string(),
3188
+ asset_type: z__namespace.enum([
3189
+ "UNSPECIFIED",
3190
+ "UNKNOWN",
3191
+ "YOUTUBE_VIDEO",
3192
+ "MEDIA_BUNDLE",
3193
+ "IMAGE",
3194
+ "TEXT",
3195
+ "LEAD_FORM",
3196
+ "BOOK_ON_GOOGLE",
3197
+ "PROMOTION",
3198
+ "CALLOUT",
3199
+ "STRUCTURED_SNIPPET",
3200
+ "SITELINK",
3201
+ "PAGE_FEED",
3202
+ "DYNAMIC_EDUCATION",
3203
+ "MOBILE_APP",
3204
+ "HOTEL_CALLOUT",
3205
+ "CALL",
3206
+ "PRICE",
3207
+ "CALL_TO_ACTION",
3208
+ "DYNAMIC_REAL_ESTATE",
3209
+ "DYNAMIC_CUSTOM",
3210
+ "DYNAMIC_HOTELS_AND_RENTALS",
3211
+ "DYNAMIC_FLIGHTS",
3212
+ "DYNAMIC_TRAVEL",
3213
+ "DYNAMIC_LOCAL",
3214
+ "DYNAMIC_JOBS",
3215
+ "LOCATION",
3216
+ "HOTEL_PROPERTY",
3217
+ "DEMAND_GEN_CAROUSEL_CARD",
3218
+ "BUSINESS_MESSAGE",
3219
+ "APP_DEEP_LINK",
3220
+ "YOUTUBE_VIDEO_LIST"
3221
+ ]),
3222
+ text: z__namespace.string().nullable(),
3223
+ status: z__namespace.enum([
3224
+ "UNSPECIFIED",
3225
+ "UNKNOWN",
3226
+ "ENABLED",
3227
+ "REMOVED",
3228
+ "PAUSED"
3229
+ ])
3230
+ });
3231
+ z__namespace.union([
3232
+ z__namespace.object({
3233
+ kind: z__namespace.literal("asset"),
3234
+ field_type: z__namespace.enum([
3235
+ "MARKETING_IMAGE",
3236
+ "SQUARE_MARKETING_IMAGE",
3237
+ "LOGO",
3238
+ "PORTRAIT_MARKETING_IMAGE",
3239
+ "LANDSCAPE_LOGO",
3240
+ "YOUTUBE_VIDEO"
3241
+ ]),
3242
+ asset: z__namespace.string().regex(/^customers\/\d+\/assets\/\d+$/),
3243
+ dry_run: z__namespace.boolean().optional().default(false)
3244
+ }),
3245
+ z__namespace.object({
3246
+ kind: z__namespace.literal("text"),
3247
+ field_type: z__namespace.enum([
3248
+ "HEADLINE",
3249
+ "LONG_HEADLINE",
3250
+ "DESCRIPTION",
3251
+ "BUSINESS_NAME"
3252
+ ]),
3253
+ text: z__namespace.string().min(1),
3254
+ dry_run: z__namespace.boolean().optional().default(false)
3255
+ })
3256
+ ]);
3257
+ var zGoogleAdsAssetGroupSignal = z__namespace.object({
3258
+ id: z__namespace.string().regex(/^\d+~\d+$/),
3259
+ asset_group: z__namespace.string().nullable(),
3260
+ type: z__namespace.enum(["audience", "search_theme"]),
3261
+ audience: z__namespace.string().nullable(),
3262
+ search_theme: z__namespace.string().nullable(),
3263
+ approval_status: z__namespace.enum([
3264
+ "UNSPECIFIED",
3265
+ "UNKNOWN",
3266
+ "APPROVED",
3267
+ "LIMITED",
3268
+ "DISAPPROVED",
3269
+ "UNDER_REVIEW"
3270
+ ]),
3271
+ disapproval_reasons: z__namespace.array(z__namespace.string())
3272
+ });
3273
+ z__namespace.union([
3274
+ z__namespace.object({
3275
+ type: z__namespace.literal("audience"),
3276
+ audience: z__namespace.string().regex(/^customers\/\d+\/audiences\/\d+$/),
3277
+ dry_run: z__namespace.boolean().optional().default(false)
3278
+ }),
3279
+ z__namespace.object({
3280
+ type: z__namespace.literal("search_theme"),
3281
+ text: z__namespace.string().min(1).max(80),
3282
+ dry_run: z__namespace.boolean().optional().default(false)
3283
+ })
3284
+ ]);
2915
3285
  var zGoogleAdsConversionConsent = z__namespace.object({
2916
3286
  ad_user_data: z__namespace.enum(["CONSENT_GRANTED", "CONSENT_DENIED"]).optional(),
2917
3287
  ad_personalization: z__namespace.enum(["CONSENT_GRANTED", "CONSENT_DENIED"]).optional()
@@ -2972,6 +3342,8 @@ var zGoogleAdsConversionStatusReason = z__namespace.object({
2972
3342
  "connection_discovery_failed",
2973
3343
  "tiktok_creator_info_unavailable",
2974
3344
  "tiktok_cannot_post_now",
3345
+ "cover_unavailable",
3346
+ "cover_not_ready",
2975
3347
  "media_processing",
2976
3348
  "media_upload_init_failed",
2977
3349
  "media_upload_incomplete",
@@ -2979,11 +3351,14 @@ var zGoogleAdsConversionStatusReason = z__namespace.object({
2979
3351
  "not_publishable",
2980
3352
  "invalid_connection",
2981
3353
  "invalid_media",
3354
+ "invalid_asset",
3355
+ "invalid_audience",
2982
3356
  "profile_scope_invalid",
2983
3357
  "media_unprobeable",
2984
3358
  "media_too_large",
2985
3359
  "media_aspect_ratio_unsupported",
2986
3360
  "media_resolution_too_low",
3361
+ "media_resolution_too_high",
2987
3362
  "media_gif_unsupported",
2988
3363
  "media_format_recompressed",
2989
3364
  "media_resolution_downscaled",
@@ -2992,6 +3367,7 @@ var zGoogleAdsConversionStatusReason = z__namespace.object({
2992
3367
  "video_audio_codec_unsupported",
2993
3368
  "video_too_large",
2994
3369
  "video_too_small",
3370
+ "video_bitrate_too_low",
2995
3371
  "video_dimensions_unsupported",
2996
3372
  "video_dimensions_too_large",
2997
3373
  "video_fps_unsupported",
@@ -3071,6 +3447,11 @@ var zGoogleAdsConversionStatusReason = z__namespace.object({
3071
3447
  "google_auth_expired",
3072
3448
  "google_permission_denied",
3073
3449
  "google_request_failed",
3450
+ "tiktok_ads_rate_limited",
3451
+ "tiktok_ads_server_error",
3452
+ "tiktok_ads_auth_expired",
3453
+ "tiktok_ads_permission_denied",
3454
+ "tiktok_ads_request_failed",
3074
3455
  "google_conversion_duplicate",
3075
3456
  "google_conversion_invalid_click_id",
3076
3457
  "google_conversion_event_too_old",
@@ -3110,6 +3491,748 @@ var zGoogleAdsConversionRequest = z__namespace.object({
3110
3491
  event_count: z__namespace.int().gte(-9007199254740991).lte(9007199254740991).nullable(),
3111
3492
  created_at: z__namespace.string()
3112
3493
  });
3494
+ var zTikTokAdvertiser = z__namespace.object({
3495
+ advertiser_id: z__namespace.string(),
3496
+ advertiser_name: z__namespace.string()
3497
+ });
3498
+ var zTikTokBusinessCenter = z__namespace.object({
3499
+ bc_id: z__namespace.string(),
3500
+ name: z__namespace.string()
3501
+ });
3502
+ var zTikTokIdentityType = z__namespace.enum([
3503
+ "CUSTOMIZED_USER",
3504
+ "AUTH_CODE",
3505
+ "TT_USER",
3506
+ "BC_AUTH_TT",
3507
+ "TTS_TT"
3508
+ ]);
3509
+ var zTikTokIdentity = z__namespace.object({
3510
+ identity_id: z__namespace.string(),
3511
+ identity_type: zTikTokIdentityType,
3512
+ display_name: z__namespace.string().nullable(),
3513
+ profile_image: z__namespace.string().nullable()
3514
+ });
3515
+ var zTikTokCampaign = z__namespace.object({
3516
+ advertiser_id: z__namespace.string().regex(/^\d+$/),
3517
+ campaign_id: z__namespace.string().regex(/^\d+$/),
3518
+ campaign_name: z__namespace.string(),
3519
+ create_time: z__namespace.string().regex(/^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}$/),
3520
+ operation_status: z__namespace.enum([
3521
+ "ENABLE",
3522
+ "DISABLE",
3523
+ "DELETE"
3524
+ ]).nullable(),
3525
+ secondary_status: z__namespace.enum([
3526
+ "CAMPAIGN_STATUS_DELETE",
3527
+ "CAMPAIGN_STATUS_ADVERTISER_AUDIT_DENY",
3528
+ "CAMPAIGN_STATUS_ADVERTISER_AUDIT",
3529
+ "ADVERTISER_CONTRACT_PENDING",
3530
+ "ADVERTISER_ACCOUNT_PUNISH",
3531
+ "CAMPAIGN_STATUS_BUDGET_EXCEED",
3532
+ "CAMPAIGN_STATUS_DISABLE",
3533
+ "CAMPAIGN_STATUS_AWAITING_RELEASE",
3534
+ "CAMPAIGN_STATUS_IDENTITY_USED_BY_GMV_MAX_AD",
3535
+ "CAMPAIGN_STATUS_ENABLE",
3536
+ "CAMPAIGN_STATUS_TTS_TT_ASSET_UNAVAILABLE",
3537
+ "CAMPAIGN_STATUS_TTS_TT_IDENTITY_UNAVAILABLE",
3538
+ "CAMPAIGN_STATUS_TIKTOK_SHOP_UNAVAILABLE",
3539
+ "CAMPAIGN_STATUS_REVIEW_DISAPPROVED",
3540
+ "CAMPAIGN_STATUS_AD_UNAVAILABLE",
3541
+ "CAMPAIGN_STATUS_PRODUCT_UNAVAILABLE",
3542
+ "CAMPAIGN_STATUS_LIVE_GMV_MAX_AUTHORIZATION_CANCEL",
3543
+ "CAMPAIGN_STATUS_PRODUCT_GMV_MAX_AUTHORIZATION_CANCEL",
3544
+ "CAMPAIGN_STATUS_IDENTITY_USED_BY_LIVE_GMV_MAX",
3545
+ "CAMPAIGN_STATUS_PRODUCT_USED_BY_PRODUCT_GMV_MAX",
3546
+ "CAMPAIGN_STATUS_ALL",
3547
+ "CAMPAIGN_STATUS_NOT_DELETE"
3548
+ ]).nullish(),
3549
+ modify_time: z__namespace.string().regex(/^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}$/).nullish(),
3550
+ objective_type: z__namespace.enum([
3551
+ "APP_PROMOTION",
3552
+ "WEB_CONVERSIONS",
3553
+ "REACH",
3554
+ "TRAFFIC",
3555
+ "VIDEO_VIEWS",
3556
+ "ENGAGEMENT",
3557
+ "PRODUCT_SALES",
3558
+ "LEAD_GENERATION",
3559
+ "RF_REACH",
3560
+ "TOPVIEW_REACH",
3561
+ "BRAND_CONSIDERATION",
3562
+ "APP_INSTALL",
3563
+ "CONVERSIONS",
3564
+ "CATALOG_SALES",
3565
+ "SHOP_PURCHASES",
3566
+ "RF_APP_INSTALL",
3567
+ "RF_ENGAGEMENT",
3568
+ "RF_TRAFFIC",
3569
+ "RF_VIDEO_VIEW"
3570
+ ]).nullish(),
3571
+ objective: z__namespace.enum(["APP", "LANDING_PAGE"]).nullish(),
3572
+ campaign_system_origin: z__namespace.enum(["PROMOTE", "TT_ADS_PLATFORM"]).nullish(),
3573
+ app_promotion_type: z__namespace.enum([
3574
+ "UNSET",
3575
+ "APP_INSTALL",
3576
+ "APP_RETARGETING",
3577
+ "APP_PREREGISTRATION",
3578
+ "APP_POSTS_PROMOTION"
3579
+ ]).nullish(),
3580
+ virtual_objective_type: z__namespace.enum(["SALES"]).nullish(),
3581
+ sales_destination: z__namespace.enum([
3582
+ "TIKTOK_SHOP",
3583
+ "WEBSITE",
3584
+ "APP",
3585
+ "WEB_AND_APP"
3586
+ ]).nullish(),
3587
+ is_search_campaign: z__namespace.boolean().nullish(),
3588
+ campaign_automation_type: z__namespace.enum([
3589
+ "MANUAL",
3590
+ "SMART_PLUS",
3591
+ "UPGRADED_SMART_PLUS"
3592
+ ]).nullish(),
3593
+ is_smart_performance_campaign: z__namespace.boolean().nullish(),
3594
+ campaign_type: z__namespace.enum(["REGULAR_CAMPAIGN", "IOS14_CAMPAIGN"]).nullish(),
3595
+ app_id: z__namespace.string().regex(/^\d+$/).nullish(),
3596
+ is_advanced_dedicated_campaign: z__namespace.boolean().nullish(),
3597
+ disable_skan_campaign: z__namespace.boolean().nullish(),
3598
+ bid_align_type: z__namespace.enum(["SAN", "SKAN"]).nullish(),
3599
+ campaign_app_profile_page_state: z__namespace.enum([
3600
+ "INVALID",
3601
+ "UNSET",
3602
+ "ON",
3603
+ "OFF"
3604
+ ]).nullish(),
3605
+ rf_campaign_type: z__namespace.enum([
3606
+ "STANDARD",
3607
+ "PULSE",
3608
+ "TOPVIEW"
3609
+ ]).nullish(),
3610
+ campaign_product_source: z__namespace.enum(["CATALOG", "STORE"]).nullish(),
3611
+ catalog_enabled: z__namespace.boolean().nullish(),
3612
+ special_industries: z__namespace.unknown().optional(),
3613
+ budget_optimize_on: z__namespace.boolean().nullish(),
3614
+ bid_type: z__namespace.enum(["BID_TYPE_CUSTOM", "BID_TYPE_NO_BID"]).nullish(),
3615
+ deep_bid_type: z__namespace.enum([
3616
+ "DEFAULT",
3617
+ "MIN",
3618
+ "PACING",
3619
+ "VO_MIN",
3620
+ "VO_MIN_ROAS",
3621
+ "VO_HIGHEST_VALUE",
3622
+ "AEO"
3623
+ ]).nullish(),
3624
+ roas_bid: z__namespace.number().nullish(),
3625
+ optimization_goal: z__namespace.enum([
3626
+ "CLICK",
3627
+ "CONVERT",
3628
+ "INSTALL",
3629
+ "IN_APP_EVENT",
3630
+ "SHOW",
3631
+ "REACH",
3632
+ "LEAD_GENERATION",
3633
+ "CONVERSATION",
3634
+ "FOLLOWERS",
3635
+ "PAGE_VISIT",
3636
+ "VALUE",
3637
+ "AUTOMATIC_VALUE_OPTIMIZATION",
3638
+ "MT_LIVE_ROOM",
3639
+ "PRODUCT_CLICK_IN_LIVE",
3640
+ "ENGAGED_VIEW",
3641
+ "ENGAGED_VIEW_FIFTEEN",
3642
+ "TRAFFIC_LANDING_PAGE_VIEW",
3643
+ "DESTINATION_VISIT",
3644
+ "PREFERRED_LEAD",
3645
+ "PROFILE_VIEWS",
3646
+ "VIDEO_VIEW",
3647
+ "CONVERSION_LEADS",
3648
+ "GMV",
3649
+ "PURCHASES",
3650
+ "INITIATE_CHECKOUTS"
3651
+ ]).nullish(),
3652
+ budget_mode: z__namespace.enum([
3653
+ "BUDGET_MODE_DAY",
3654
+ "BUDGET_MODE_DYNAMIC_DAILY_BUDGET",
3655
+ "BUDGET_MODE_TOTAL",
3656
+ "BUDGET_MODE_INFINITE"
3657
+ ]).nullish(),
3658
+ budget: z__namespace.number().nullish(),
3659
+ rta_id: z__namespace.string().nullish(),
3660
+ rta_bid_enabled: z__namespace.boolean().nullish(),
3661
+ rta_product_selection_enabled: z__namespace.boolean().nullish(),
3662
+ postback_window_mode: z__namespace.enum([
3663
+ "POSTBACK_WINDOW_MODE1",
3664
+ "POSTBACK_WINDOW_MODE2",
3665
+ "POSTBACK_WINDOW_MODE3"
3666
+ ]).nullish(),
3667
+ is_new_structure: z__namespace.boolean().nullish(),
3668
+ po_number: z__namespace.string().nullish()
3669
+ });
3670
+ var zTikTokCampaignObjective = z__namespace.enum([
3671
+ "TRAFFIC",
3672
+ "REACH",
3673
+ "VIDEO_VIEWS",
3674
+ "ENGAGEMENT",
3675
+ "WEB_CONVERSIONS"
3676
+ ]);
3677
+ var zTikTokBudgetMode = z__namespace.enum([
3678
+ "BUDGET_MODE_DAY",
3679
+ "BUDGET_MODE_TOTAL",
3680
+ "BUDGET_MODE_INFINITE"
3681
+ ]);
3682
+ var zTikTokOptimizationGoal = z__namespace.enum([
3683
+ "CLICK",
3684
+ "REACH",
3685
+ "ENGAGED_VIEW",
3686
+ "ENGAGED_VIEW_FIFTEEN",
3687
+ "FOLLOWERS",
3688
+ "CONVERT",
3689
+ "VALUE"
3690
+ ]);
3691
+ var zTikTokAdGroupBudgetMode = z__namespace.enum(["BUDGET_MODE_DAY", "BUDGET_MODE_TOTAL"]);
3692
+ var zTikTokDeepBidType = z__namespace.enum(["VO_MIN_ROAS", "VO_HIGHEST_VALUE"]);
3693
+ var zTikTokAdGroupPlacement = z__namespace.enum([
3694
+ "PLACEMENT_TIKTOK",
3695
+ "PLACEMENT_PANGLE",
3696
+ "PLACEMENT_GLOBAL_APP_BUNDLE"
3697
+ ]);
3698
+ var zTikTokPromotionType = z__namespace.enum(["WEBSITE"]);
3699
+ var zTikTokAdIdentityType = z__namespace.enum(["CUSTOMIZED_USER"]);
3700
+ var zTikTokAdFormat = z__namespace.enum(["SINGLE_VIDEO"]);
3701
+ var zTikTokOperationStatus = z__namespace.enum(["ENABLE", "DISABLE"]);
3702
+ z__namespace.object({
3703
+ object: z__namespace.literal("campaign"),
3704
+ campaign_id: z__namespace.string().regex(/^\d+$/),
3705
+ operation_status: zTikTokOperationStatus
3706
+ });
3707
+ z__namespace.object({
3708
+ object: z__namespace.literal("ad_group"),
3709
+ adgroup_id: z__namespace.string().regex(/^\d+$/),
3710
+ operation_status: zTikTokOperationStatus
3711
+ });
3712
+ z__namespace.object({
3713
+ object: z__namespace.literal("ad"),
3714
+ ad_id: z__namespace.string().regex(/^\d+$/),
3715
+ operation_status: zTikTokOperationStatus
3716
+ });
3717
+ var zTikTokAdGroupBudgetKind = z__namespace.enum(["lifetime", "scheduled"]);
3718
+ z__namespace.object({
3719
+ object: z__namespace.literal("campaign"),
3720
+ campaign_id: z__namespace.string().regex(/^\d+$/),
3721
+ budget: z__namespace.number().gt(0)
3722
+ });
3723
+ z__namespace.object({
3724
+ object: z__namespace.literal("ad_group"),
3725
+ adgroup_id: z__namespace.string().regex(/^\d+$/),
3726
+ budget: z__namespace.number().gt(0),
3727
+ budget_kind: zTikTokAdGroupBudgetKind
3728
+ });
3729
+ var zTikTokRemoveOperationStatus = z__namespace.enum(["DELETE"]);
3730
+ z__namespace.object({
3731
+ object: z__namespace.literal("campaign"),
3732
+ campaign_id: z__namespace.string().regex(/^\d+$/),
3733
+ operation_status: zTikTokRemoveOperationStatus
3734
+ });
3735
+ z__namespace.object({
3736
+ object: z__namespace.literal("ad_group"),
3737
+ adgroup_id: z__namespace.string().regex(/^\d+$/),
3738
+ operation_status: zTikTokRemoveOperationStatus
3739
+ });
3740
+ z__namespace.object({
3741
+ object: z__namespace.literal("ad"),
3742
+ ad_id: z__namespace.string().regex(/^\d+$/),
3743
+ operation_status: zTikTokRemoveOperationStatus
3744
+ });
3745
+ var zTikTokAdGroup = z__namespace.object({
3746
+ advertiser_id: z__namespace.string().regex(/^\d+$/),
3747
+ campaign_id: z__namespace.string().regex(/^\d+$/),
3748
+ adgroup_id: z__namespace.string().regex(/^\d+$/),
3749
+ adgroup_name: z__namespace.string(),
3750
+ campaign_name: z__namespace.string(),
3751
+ create_time: z__namespace.string().regex(/^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}$/),
3752
+ operation_status: z__namespace.enum([
3753
+ "ENABLE",
3754
+ "DISABLE",
3755
+ "DELETE"
3756
+ ]).nullable(),
3757
+ secondary_status: z__namespace.enum([
3758
+ "ADGROUP_STATUS_DELETE",
3759
+ "ADGROUP_STATUS_CAMPAIGN_DELETE",
3760
+ "ADGROUP_STATUS_ADVERTISER_AUDIT_DENY",
3761
+ "ADGROUP_STATUS_ADVERTISER_AUDIT",
3762
+ "ADVERTISER_CONTRACT_PENDING",
3763
+ "ADVERTISER_ACCOUNT_PUNISH",
3764
+ "ADGROUP_STATUS_CAMPAIGN_EXCEED",
3765
+ "ADGROUP_STATUS_BUDGET_EXCEED",
3766
+ "ADGROUP_STATUS_BALANCE_EXCEED",
3767
+ "ADGROUP_STATUS_ADGROUP_PRE_ONLINE",
3768
+ "ADGROUP_STATUS_AUDIT_DENY",
3769
+ "ADGROUP_STATUS_REAUDIT",
3770
+ "ADGROUP_STATUS_AUDIT",
3771
+ "ADGROUP_STATUS_CREATE",
3772
+ "ADGROUP_STATUS_FROZEN",
3773
+ "ADGROUP_STATUS_NOT_START",
3774
+ "ADGROUP_STATUS_LIVE_NOT_START",
3775
+ "ADGROUP_STATUS_CAMPAIGN_DISABLE",
3776
+ "ADGROUP_STATUS_DISABLE",
3777
+ "ADGROUP_STATUS_SHADOW_ADGROUP_REAUDIT",
3778
+ "ADGROUP_STATUS_PIXEL_UNBIND",
3779
+ "ADGROUP_STATUS_PARTIAL_AUDIT_NO_DELIVERY",
3780
+ "ADGROUP_STATUS_PARTIAL_AUDIT_DELIVERY_OK",
3781
+ "ADGROUP_STATUS_INDUSTRY_QUALIFICATION_MISSING",
3782
+ "ADGROUP_STATUS_INDUSTRY_QUALIFICATION_EXPIRED",
3783
+ "ADGROUP_STATUS_INDUSTRY_QUALIFICATION_DENY",
3784
+ "ADGROUP_STATUS_ASSET_AUTHORIZATION_LOST",
3785
+ "ADGROUP_STATUS_TRANSCODING_FAIL",
3786
+ "ADGROUP_STATUS_ADGROUP_QUOTA_LIMIT",
3787
+ "ADGROUP_STATUS_IDENTITY_USED_BY_GMV_MAX_AD",
3788
+ "ADGROUP_STATUS_SEARCH_KEYWORDS_IN_REVIEW",
3789
+ "ADGROUP_STATUS_SEARCH_KEYWORDS_NOT_AVAILABLE",
3790
+ "ADGROUP_STATUS_SEARCH_KEYWORDS_PARTIAL_APPROVED",
3791
+ "ADGROUP_STATUS_DELIVERY_OK",
3792
+ "ADGROUP_STATUS_REVIEW_PARTIALLY_APPROVED",
3793
+ "ADGROUP_STATUS_TIME_DONE",
3794
+ "ADGROUP_STATUS_RF_DEDUCTION_FAILED",
3795
+ "ADGROUP_STATUS_RF_NO_VALID_CREATIVE",
3796
+ "ADGROUP_STATUS_RF_CLOSED_OTHERS",
3797
+ "ADGROUP_STATUS_RF_SHORT_BALANCE",
3798
+ "ADGROUP_STATUS_RF_BOOKING",
3799
+ "ADGROUP_STATUS_RF_NO_DELIVERY_CREATIVE",
3800
+ "ADGROUP_STATUS_RF_SCHEDULE",
3801
+ "ADGROUP_STATUS_RF_TERMINATE",
3802
+ "ADGROUP_STATUS_RF_AD_AUDIT_DENY",
3803
+ "ADVERTISER_ACCOUNT_INVALID",
3804
+ "ADGROUP_STATUS_RF_ADGROUP_INVALID",
3805
+ "ADGROUP_STATUS_RF_WITHDRAW_ORDER",
3806
+ "ADGROUP_STATUS_RF_TIME_DONE",
3807
+ "ADGROUP_STATUS_PROMOTE_AD_NOT_APPROVED",
3808
+ "ADGROUP_STATUS_PROMOTE_WITHDRAW_ORDER",
3809
+ "ADGROUP_STATUS_ALL",
3810
+ "ADGROUP_STATUS_NOT_DELETE"
3811
+ ]).nullish(),
3812
+ modify_time: z__namespace.string().regex(/^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}$/).nullish(),
3813
+ optimization_goal: z__namespace.enum([
3814
+ "CLICK",
3815
+ "CONVERT",
3816
+ "INSTALL",
3817
+ "IN_APP_EVENT",
3818
+ "SHOW",
3819
+ "REACH",
3820
+ "LEAD_GENERATION",
3821
+ "CONVERSATION",
3822
+ "FOLLOWERS",
3823
+ "PAGE_VISIT",
3824
+ "VALUE",
3825
+ "AUTOMATIC_VALUE_OPTIMIZATION",
3826
+ "MT_LIVE_ROOM",
3827
+ "PRODUCT_CLICK_IN_LIVE",
3828
+ "ENGAGED_VIEW",
3829
+ "ENGAGED_VIEW_FIFTEEN",
3830
+ "TRAFFIC_LANDING_PAGE_VIEW",
3831
+ "DESTINATION_VISIT",
3832
+ "PREFERRED_LEAD",
3833
+ "PROFILE_VIEWS",
3834
+ "VIDEO_VIEW",
3835
+ "CONVERSION_LEADS",
3836
+ "GMV",
3837
+ "PURCHASES",
3838
+ "INITIATE_CHECKOUTS"
3839
+ ]).nullish(),
3840
+ optimization_event: z__namespace.string().nullish(),
3841
+ secondary_optimization_event: z__namespace.string().nullish(),
3842
+ deep_bid_type: z__namespace.enum([
3843
+ "DEFAULT",
3844
+ "MIN",
3845
+ "PACING",
3846
+ "VO_MIN",
3847
+ "VO_MIN_ROAS",
3848
+ "VO_HIGHEST_VALUE",
3849
+ "AEO"
3850
+ ]).nullish(),
3851
+ bid_type: z__namespace.enum(["BID_TYPE_CUSTOM", "BID_TYPE_NO_BID"]).nullish(),
3852
+ bid_price: z__namespace.number().nullish(),
3853
+ conversion_bid_price: z__namespace.number().nullish(),
3854
+ deep_cpa_bid: z__namespace.number().nullish(),
3855
+ roas_bid: z__namespace.number().nullish(),
3856
+ billing_event: z__namespace.enum([
3857
+ "CPC",
3858
+ "CPM",
3859
+ "CPV",
3860
+ "OCPM",
3861
+ "GD",
3862
+ "OCPC"
3863
+ ]).nullish(),
3864
+ pacing: z__namespace.enum(["PACING_MODE_SMOOTH", "PACING_MODE_FAST"]).nullish(),
3865
+ budget: z__namespace.number().nullish(),
3866
+ budget_mode: z__namespace.enum([
3867
+ "BUDGET_MODE_DAY",
3868
+ "BUDGET_MODE_DYNAMIC_DAILY_BUDGET",
3869
+ "BUDGET_MODE_TOTAL",
3870
+ "BUDGET_MODE_INFINITE"
3871
+ ]).nullish(),
3872
+ schedule_type: z__namespace.enum(["SCHEDULE_FROM_NOW", "SCHEDULE_START_END"]).nullish(),
3873
+ schedule_start_time: z__namespace.string().regex(/^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}$/).nullish(),
3874
+ schedule_end_time: z__namespace.string().regex(/^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}$/).nullish(),
3875
+ dayparting: z__namespace.string().nullish(),
3876
+ promotion_type: z__namespace.enum([
3877
+ "APP_ANDROID",
3878
+ "APP_IOS",
3879
+ "MINI_APP",
3880
+ "MINI_GAME",
3881
+ "GAME",
3882
+ "WEBSITE",
3883
+ "LEAD_GENERATION",
3884
+ "LEAD_GEN_CLICK_TO_TT_DIRECT_MESSAGE",
3885
+ "LEAD_GEN_CLICK_TO_SOCIAL_MEDIA_APP_MESSAGE",
3886
+ "LEAD_GEN_CLICK_TO_CALL",
3887
+ "WEBSITE_OR_DISPLAY",
3888
+ "TIKTOK_SHOP",
3889
+ "VIDEO_SHOPPING",
3890
+ "LIVE_SHOPPING",
3891
+ "PSA_PRODUCT"
3892
+ ]).nullish(),
3893
+ placement_type: z__namespace.enum(["PLACEMENT_TYPE_AUTOMATIC", "PLACEMENT_TYPE_NORMAL"]).nullish(),
3894
+ placements: z__namespace.unknown().optional(),
3895
+ pixel_id: z__namespace.string().regex(/^\d+$/).nullish(),
3896
+ app_id: z__namespace.string().regex(/^\d+$/).nullish(),
3897
+ location_ids: z__namespace.array(z__namespace.string().regex(/^\d+$/)).nullish(),
3898
+ zipcode_ids: z__namespace.array(z__namespace.string().regex(/^\d+$/)).nullish(),
3899
+ languages: z__namespace.array(z__namespace.string()).nullish(),
3900
+ age_groups: z__namespace.unknown().optional(),
3901
+ gender: z__namespace.enum([
3902
+ "GENDER_UNLIMITED",
3903
+ "GENDER_MALE",
3904
+ "GENDER_FEMALE"
3905
+ ]).nullish(),
3906
+ operating_systems: z__namespace.unknown().optional(),
3907
+ audience_ids: z__namespace.array(z__namespace.string().regex(/^\d+$/)).nullish(),
3908
+ excluded_audience_ids: z__namespace.array(z__namespace.string().regex(/^\d+$/)).nullish(),
3909
+ saved_audience_id: z__namespace.string().regex(/^\d+$/).nullish(),
3910
+ comment_disabled: z__namespace.boolean().nullish(),
3911
+ video_download_disabled: z__namespace.boolean().nullish(),
3912
+ share_disabled: z__namespace.boolean().nullish(),
3913
+ creative_material_mode: z__namespace.enum(["CUSTOM", "SMART_CREATIVE"]).nullish(),
3914
+ search_result_enabled: z__namespace.boolean().nullish(),
3915
+ skip_learning_phase: z__namespace.boolean().nullish(),
3916
+ is_new_structure: z__namespace.boolean().nullish()
3917
+ });
3918
+ var zTikTokAd = z__namespace.object({
3919
+ advertiser_id: z__namespace.string().regex(/^\d+$/),
3920
+ campaign_id: z__namespace.string().regex(/^\d+$/),
3921
+ campaign_name: z__namespace.string(),
3922
+ adgroup_id: z__namespace.string().regex(/^\d+$/),
3923
+ adgroup_name: z__namespace.string(),
3924
+ ad_id: z__namespace.string().regex(/^\d+$/),
3925
+ ad_name: z__namespace.string(),
3926
+ create_time: z__namespace.string().regex(/^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}$/),
3927
+ operation_status: z__namespace.enum([
3928
+ "ENABLE",
3929
+ "DISABLE",
3930
+ "FROZEN"
3931
+ ]).nullable(),
3932
+ secondary_status: z__namespace.enum([
3933
+ "AD_STATUS_CAMPAIGN_DELETE",
3934
+ "AD_STATUS_ADGROUP_DELETE",
3935
+ "AD_STATUS_DELETE",
3936
+ "AD_STATUS_ADVERTISER_AUDIT_DENY",
3937
+ "AD_STATUS_ADVERTISER_AUDIT",
3938
+ "ADVERTISER_CONTRACT_PENDING",
3939
+ "ADVERTISER_ACCOUNT_PUNISH",
3940
+ "AD_STATUS_BALANCE_EXCEED",
3941
+ "AD_STATUS_CAMPAIGN_EXCEED",
3942
+ "AD_STATUS_BUDGET_EXCEED",
3943
+ "AD_STATUS_AD_PRE_ONLINE",
3944
+ "AD_STATUS_AUDIT",
3945
+ "AD_STATUS_REAUDIT",
3946
+ "AD_STATUS_AUDIT_DENY",
3947
+ "AD_STATUS_ADGROUP_AUDIT_DENY",
3948
+ "AD_STATUS_ADGROUP_PARTIAL_AUDIT_NO_DELIVERY",
3949
+ "AD_STATUS_REVIEW_PARTIALLY_APPROVED",
3950
+ "AD_STATUS_PARTIAL_AUDIT_DELIVERY_OK",
3951
+ "AD_STATUS_PARTIAL_AUDIT_NO_DELIVERY",
3952
+ "AD_STATUS_ADGROUP_INDUSTRY_QUALIFICATION_MISSING",
3953
+ "AD_STATUS_ADGROUP_INDUSTRY_QUALIFICATION_EXPIRED",
3954
+ "AD_STATUS_ADGROUP_INDUSTRY_QUALIFICATION_DENY",
3955
+ "AD_STATUS_MUSIC_AUTHORIZATION_MISSING",
3956
+ "AD_STATUS_LIVE_OFFLINE",
3957
+ "AD_STATUS_NOT_START",
3958
+ "AD_STATUS_DONE",
3959
+ "AD_STATUS_CAMPAIGN_DISABLE",
3960
+ "AD_STATUS_ADGROUP_DISABLE",
3961
+ "AD_STATUS_DISABLE",
3962
+ "AD_STATUS_DELIVERY_OK",
3963
+ "AD_STATUS_PROCESS_AUDIO",
3964
+ "AD_STATUS_TRANSCODING_FAIL",
3965
+ "AD_STATUS_ADGROUP_ASSET_AUTHORIZATION_LOST",
3966
+ "AD_STATUS_ASSET_AUTHORIZATION_LOST",
3967
+ "AD_STATUS_AD_QUOTA_LIMIT",
3968
+ "AD_STATUS_PRODUCT_UNAVAILABLE",
3969
+ "AD_STATUS_ANCHOR_UNAVAILABLE",
3970
+ "AD_STATUS_NO_AUTHORIZATION_OF_SHOWCASE",
3971
+ "AD_STATUS_RF_ADGROUP_CLOSED",
3972
+ "AD_STATUS_PROMOTE_AD_OFFLINE_AUDIT",
3973
+ "AD_STATUS_PROMOTE_ADGROUP_CLOSED",
3974
+ "AD_STATUS_ALL",
3975
+ "AD_STATUS_NOT_DELETE"
3976
+ ]).nullish(),
3977
+ modify_time: z__namespace.string().regex(/^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}$/).nullish(),
3978
+ identity_id: z__namespace.string().nullish(),
3979
+ identity_type: z__namespace.enum([
3980
+ "CUSTOMIZED_USER",
3981
+ "AUTH_CODE",
3982
+ "TT_USER",
3983
+ "BC_AUTH_TT"
3984
+ ]).nullish(),
3985
+ identity_authorized_bc_id: z__namespace.string().regex(/^\d+$/).nullish(),
3986
+ ad_format: z__namespace.enum([
3987
+ "SINGLE_IMAGE",
3988
+ "SINGLE_VIDEO",
3989
+ "CAROUSEL_ADS",
3990
+ "LIVE_CONTENT",
3991
+ "CATALOG_CAROUSEL",
3992
+ "CAROUSEL"
3993
+ ]).nullish(),
3994
+ video_id: z__namespace.string().nullish(),
3995
+ image_ids: z__namespace.array(z__namespace.string()).nullish(),
3996
+ tiktok_item_id: z__namespace.string().regex(/^\d+$/).nullish(),
3997
+ ad_text: z__namespace.string().nullish(),
3998
+ ad_texts: z__namespace.array(z__namespace.string()).nullish(),
3999
+ call_to_action: z__namespace.enum([
4000
+ "APPLY_NOW",
4001
+ "BOOK_NOW",
4002
+ "CALL_NOW",
4003
+ "CHECK_AVAILABLILITY",
4004
+ "CONTACT_US",
4005
+ "DOWNLOAD_NOW",
4006
+ "EXPERIENCE_NOW",
4007
+ "GET_QUOTE",
4008
+ "GET_SHOWTIMES",
4009
+ "GET_TICKETS_NOW",
4010
+ "INSTALL_NOW",
4011
+ "INTERESTED",
4012
+ "LEARN_MORE",
4013
+ "LISTEN_NOW",
4014
+ "ORDER_NOW",
4015
+ "PLAY_GAME",
4016
+ "PREORDER_NOW",
4017
+ "READ_MORE",
4018
+ "SEND_MESSAGE",
4019
+ "SHOP_NOW",
4020
+ "SIGN_UP",
4021
+ "SUBSCRIBE",
4022
+ "VIEW_NOW",
4023
+ "VIEW_PROFILE",
4024
+ "VISIT_STORE",
4025
+ "WATCH_LIVE",
4026
+ "WATCH_NOW",
4027
+ "JOIN_THIS_HASHTAG",
4028
+ "SHOOT_WITH_THIS_EFFECT",
4029
+ "VIEW_VIDEO_WITH_THIS_EFFECT"
4030
+ ]).nullish(),
4031
+ call_to_action_id: z__namespace.string().regex(/^\d+$/).nullish(),
4032
+ landing_page_url: z__namespace.string().nullish(),
4033
+ display_name: z__namespace.string().nullish(),
4034
+ profile_image_url: z__namespace.string().nullish(),
4035
+ click_tracking_url: z__namespace.string().nullish(),
4036
+ impression_tracking_url: z__namespace.string().nullish(),
4037
+ optimization_event: z__namespace.string().nullish(),
4038
+ is_aco: z__namespace.boolean().nullish(),
4039
+ is_new_structure: z__namespace.boolean().nullish()
4040
+ });
4041
+ z__namespace.object({
4042
+ limit: z__namespace.int().gte(1).lte(100).optional().default(20),
4043
+ offset: z__namespace.int().gte(0).lte(9007199254740991).optional().default(0),
4044
+ level: z__namespace.enum([
4045
+ "advertiser",
4046
+ "campaign",
4047
+ "ad_group",
4048
+ "ad"
4049
+ ]).optional().default("campaign"),
4050
+ dimensions: z__namespace.array(z__namespace.enum([
4051
+ "advertiser_id",
4052
+ "campaign_id",
4053
+ "adgroup_id",
4054
+ "ad_id",
4055
+ "stat_time_day",
4056
+ "stat_time_hour"
4057
+ ])).min(1),
4058
+ metrics: z__namespace.array(z__namespace.enum([
4059
+ "spend",
4060
+ "impressions",
4061
+ "reach",
4062
+ "frequency",
4063
+ "cpm",
4064
+ "cost_per_1000_reached",
4065
+ "clicks",
4066
+ "ctr",
4067
+ "cpc",
4068
+ "conversion",
4069
+ "cost_per_conversion",
4070
+ "conversion_rate_v2",
4071
+ "real_time_conversion",
4072
+ "complete_payment_roas",
4073
+ "total_purchase",
4074
+ "total_purchase_value",
4075
+ "video_play_actions",
4076
+ "video_watched_2s",
4077
+ "video_watched_6s",
4078
+ "video_views_p25",
4079
+ "video_views_p50",
4080
+ "video_views_p75",
4081
+ "video_views_p100",
4082
+ "likes",
4083
+ "comments",
4084
+ "shares",
4085
+ "follows",
4086
+ "profile_visits",
4087
+ "engagements"
4088
+ ])).min(1).optional().default([
4089
+ "spend",
4090
+ "impressions",
4091
+ "clicks",
4092
+ "conversion"
4093
+ ]),
4094
+ filtering: z__namespace.object({
4095
+ campaign_ids: z__namespace.array(z__namespace.string().regex(/^\d+$/)).max(100).optional(),
4096
+ adgroup_ids: z__namespace.array(z__namespace.string().regex(/^\d+$/)).max(100).optional(),
4097
+ ad_ids: z__namespace.array(z__namespace.string().regex(/^\d+$/)).max(100).optional()
4098
+ }).optional(),
4099
+ start_date: z__namespace.iso.date(),
4100
+ end_date: z__namespace.iso.date()
4101
+ });
4102
+ var zTikTokAdsInsightsRow = z__namespace.object({
4103
+ dimensions: z__namespace.object({
4104
+ advertiser_id: z__namespace.string().optional(),
4105
+ campaign_id: z__namespace.string().optional(),
4106
+ adgroup_id: z__namespace.string().optional(),
4107
+ ad_id: z__namespace.string().optional(),
4108
+ stat_time_day: z__namespace.string().optional(),
4109
+ stat_time_hour: z__namespace.string().optional()
4110
+ }),
4111
+ metrics: z__namespace.object({
4112
+ spend: z__namespace.number().nullish(),
4113
+ impressions: z__namespace.number().nullish(),
4114
+ reach: z__namespace.number().nullish(),
4115
+ frequency: z__namespace.number().nullish(),
4116
+ cpm: z__namespace.number().nullish(),
4117
+ cost_per_1000_reached: z__namespace.number().nullish(),
4118
+ clicks: z__namespace.number().nullish(),
4119
+ ctr: z__namespace.number().nullish(),
4120
+ cpc: z__namespace.number().nullish(),
4121
+ conversion: z__namespace.number().nullish(),
4122
+ cost_per_conversion: z__namespace.number().nullish(),
4123
+ conversion_rate_v2: z__namespace.number().nullish(),
4124
+ real_time_conversion: z__namespace.number().nullish(),
4125
+ complete_payment_roas: z__namespace.number().nullish(),
4126
+ total_purchase: z__namespace.number().nullish(),
4127
+ total_purchase_value: z__namespace.number().nullish(),
4128
+ video_play_actions: z__namespace.number().nullish(),
4129
+ video_watched_2s: z__namespace.number().nullish(),
4130
+ video_watched_6s: z__namespace.number().nullish(),
4131
+ video_views_p25: z__namespace.number().nullish(),
4132
+ video_views_p50: z__namespace.number().nullish(),
4133
+ video_views_p75: z__namespace.number().nullish(),
4134
+ video_views_p100: z__namespace.number().nullish(),
4135
+ likes: z__namespace.number().nullish(),
4136
+ comments: z__namespace.number().nullish(),
4137
+ shares: z__namespace.number().nullish(),
4138
+ follows: z__namespace.number().nullish(),
4139
+ profile_visits: z__namespace.number().nullish(),
4140
+ engagements: z__namespace.number().nullish()
4141
+ })
4142
+ });
4143
+ z__namespace.object({
4144
+ campaign_id: z__namespace.string().regex(/^\d+$/).optional(),
4145
+ metrics: z__namespace.array(z__namespace.enum([
4146
+ "spend",
4147
+ "impressions",
4148
+ "reach",
4149
+ "frequency",
4150
+ "cpm",
4151
+ "cost_per_1000_reached",
4152
+ "clicks",
4153
+ "ctr",
4154
+ "cpc",
4155
+ "conversion",
4156
+ "cost_per_conversion",
4157
+ "conversion_rate_v2",
4158
+ "real_time_conversion",
4159
+ "complete_payment_roas",
4160
+ "total_purchase",
4161
+ "total_purchase_value",
4162
+ "video_play_actions",
4163
+ "video_watched_2s",
4164
+ "video_watched_6s",
4165
+ "video_views_p25",
4166
+ "video_views_p50",
4167
+ "video_views_p75",
4168
+ "video_views_p100",
4169
+ "likes",
4170
+ "comments",
4171
+ "shares",
4172
+ "follows",
4173
+ "profile_visits",
4174
+ "engagements"
4175
+ ])).min(1).optional().default([
4176
+ "spend",
4177
+ "impressions",
4178
+ "clicks",
4179
+ "conversion",
4180
+ "complete_payment_roas"
4181
+ ]),
4182
+ start_date: z__namespace.iso.date(),
4183
+ end_date: z__namespace.iso.date()
4184
+ });
4185
+ var zTikTokAdTreeNode = z__namespace.object({
4186
+ level: z__namespace.enum([
4187
+ "campaign",
4188
+ "ad_group",
4189
+ "ad"
4190
+ ]),
4191
+ id: z__namespace.string().regex(/^\d+$/),
4192
+ name: z__namespace.string().nullable(),
4193
+ parent_id: z__namespace.string().regex(/^\d+$/).nullable(),
4194
+ child_kind: z__namespace.enum([
4195
+ "ad_group",
4196
+ "ad",
4197
+ "none"
4198
+ ]),
4199
+ expandable: z__namespace.boolean(),
4200
+ metrics: z__namespace.object({
4201
+ spend: z__namespace.number().nullish(),
4202
+ impressions: z__namespace.number().nullish(),
4203
+ reach: z__namespace.number().nullish(),
4204
+ frequency: z__namespace.number().nullish(),
4205
+ cpm: z__namespace.number().nullish(),
4206
+ cost_per_1000_reached: z__namespace.number().nullish(),
4207
+ clicks: z__namespace.number().nullish(),
4208
+ ctr: z__namespace.number().nullish(),
4209
+ cpc: z__namespace.number().nullish(),
4210
+ conversion: z__namespace.number().nullish(),
4211
+ cost_per_conversion: z__namespace.number().nullish(),
4212
+ conversion_rate_v2: z__namespace.number().nullish(),
4213
+ real_time_conversion: z__namespace.number().nullish(),
4214
+ complete_payment_roas: z__namespace.number().nullish(),
4215
+ total_purchase: z__namespace.number().nullish(),
4216
+ total_purchase_value: z__namespace.number().nullish(),
4217
+ video_play_actions: z__namespace.number().nullish(),
4218
+ video_watched_2s: z__namespace.number().nullish(),
4219
+ video_watched_6s: z__namespace.number().nullish(),
4220
+ video_views_p25: z__namespace.number().nullish(),
4221
+ video_views_p50: z__namespace.number().nullish(),
4222
+ video_views_p75: z__namespace.number().nullish(),
4223
+ video_views_p100: z__namespace.number().nullish(),
4224
+ likes: z__namespace.number().nullish(),
4225
+ comments: z__namespace.number().nullish(),
4226
+ shares: z__namespace.number().nullish(),
4227
+ follows: z__namespace.number().nullish(),
4228
+ profile_visits: z__namespace.number().nullish(),
4229
+ engagements: z__namespace.number().nullish()
4230
+ })
4231
+ });
4232
+ z__namespace.object({
4233
+ object: z__namespace.literal("list"),
4234
+ data: z__namespace.array(zTikTokAdTreeNode)
4235
+ });
3113
4236
  z__namespace.string().min(1).max(255);
3114
4237
  z__namespace.object({
3115
4238
  limit: z__namespace.int().gte(1).lte(100).optional().default(20),
@@ -3218,6 +4341,7 @@ z__namespace.object({
3218
4341
  platform: z__namespace.enum([
3219
4342
  "meta_ads",
3220
4343
  "google_ads",
4344
+ "tiktok_ads",
3221
4345
  "x",
3222
4346
  "linkedin",
3223
4347
  "facebook_page",
@@ -3261,7 +4385,8 @@ z__namespace.object({
3261
4385
  "facebook_page",
3262
4386
  "instagram",
3263
4387
  "tiktok",
3264
- "google_ads"
4388
+ "google_ads",
4389
+ "tiktok_ads"
3265
4390
  ])).min(1).optional(),
3266
4391
  raw: z__namespace.boolean().optional().default(false),
3267
4392
  alt_text: z__namespace.string().max(1e3).optional(),
@@ -3295,6 +4420,7 @@ z__namespace.object({
3295
4420
  "media_too_large",
3296
4421
  "media_aspect_ratio_unsupported",
3297
4422
  "media_resolution_too_low",
4423
+ "media_resolution_too_high",
3298
4424
  "media_gif_unsupported",
3299
4425
  "media_format_recompressed",
3300
4426
  "media_resolution_downscaled",
@@ -3303,6 +4429,7 @@ z__namespace.object({
3303
4429
  "video_audio_codec_unsupported",
3304
4430
  "video_too_large",
3305
4431
  "video_too_small",
4432
+ "video_bitrate_too_low",
3306
4433
  "video_dimensions_unsupported",
3307
4434
  "video_dimensions_too_large",
3308
4435
  "video_fps_unsupported",
@@ -3349,6 +4476,7 @@ z__namespace.object({
3349
4476
  "media_too_large",
3350
4477
  "media_aspect_ratio_unsupported",
3351
4478
  "media_resolution_too_low",
4479
+ "media_resolution_too_high",
3352
4480
  "media_gif_unsupported",
3353
4481
  "media_format_recompressed",
3354
4482
  "media_resolution_downscaled",
@@ -3357,6 +4485,7 @@ z__namespace.object({
3357
4485
  "video_audio_codec_unsupported",
3358
4486
  "video_too_large",
3359
4487
  "video_too_small",
4488
+ "video_bitrate_too_low",
3360
4489
  "video_dimensions_unsupported",
3361
4490
  "video_dimensions_too_large",
3362
4491
  "video_fps_unsupported",
@@ -3385,6 +4514,7 @@ z__namespace.object({
3385
4514
  "media_too_large",
3386
4515
  "media_aspect_ratio_unsupported",
3387
4516
  "media_resolution_too_low",
4517
+ "media_resolution_too_high",
3388
4518
  "media_gif_unsupported",
3389
4519
  "media_format_recompressed",
3390
4520
  "media_resolution_downscaled",
@@ -3393,6 +4523,7 @@ z__namespace.object({
3393
4523
  "video_audio_codec_unsupported",
3394
4524
  "video_too_large",
3395
4525
  "video_too_small",
4526
+ "video_bitrate_too_low",
3396
4527
  "video_dimensions_unsupported",
3397
4528
  "video_dimensions_too_large",
3398
4529
  "video_fps_unsupported",
@@ -3457,7 +4588,8 @@ z__namespace.object({
3457
4588
  "facebook_page",
3458
4589
  "instagram",
3459
4590
  "tiktok",
3460
- "google_ads"
4591
+ "google_ads",
4592
+ "tiktok_ads"
3461
4593
  ])).min(1).optional()
3462
4594
  });
3463
4595
  z__namespace.object({
@@ -3638,6 +4770,8 @@ z__namespace.object({
3638
4770
  "connection_discovery_failed",
3639
4771
  "tiktok_creator_info_unavailable",
3640
4772
  "tiktok_cannot_post_now",
4773
+ "cover_unavailable",
4774
+ "cover_not_ready",
3641
4775
  "media_processing",
3642
4776
  "media_upload_init_failed",
3643
4777
  "media_upload_incomplete",
@@ -3645,11 +4779,14 @@ z__namespace.object({
3645
4779
  "not_publishable",
3646
4780
  "invalid_connection",
3647
4781
  "invalid_media",
4782
+ "invalid_asset",
4783
+ "invalid_audience",
3648
4784
  "profile_scope_invalid",
3649
4785
  "media_unprobeable",
3650
4786
  "media_too_large",
3651
4787
  "media_aspect_ratio_unsupported",
3652
4788
  "media_resolution_too_low",
4789
+ "media_resolution_too_high",
3653
4790
  "media_gif_unsupported",
3654
4791
  "media_format_recompressed",
3655
4792
  "media_resolution_downscaled",
@@ -3658,6 +4795,7 @@ z__namespace.object({
3658
4795
  "video_audio_codec_unsupported",
3659
4796
  "video_too_large",
3660
4797
  "video_too_small",
4798
+ "video_bitrate_too_low",
3661
4799
  "video_dimensions_unsupported",
3662
4800
  "video_dimensions_too_large",
3663
4801
  "video_fps_unsupported",
@@ -3737,6 +4875,11 @@ z__namespace.object({
3737
4875
  "google_auth_expired",
3738
4876
  "google_permission_denied",
3739
4877
  "google_request_failed",
4878
+ "tiktok_ads_rate_limited",
4879
+ "tiktok_ads_server_error",
4880
+ "tiktok_ads_auth_expired",
4881
+ "tiktok_ads_permission_denied",
4882
+ "tiktok_ads_request_failed",
3740
4883
  "google_conversion_duplicate",
3741
4884
  "google_conversion_invalid_click_id",
3742
4885
  "google_conversion_event_too_old",
@@ -4128,6 +5271,7 @@ z__namespace.object({
4128
5271
  bidding: z__namespace.enum([
4129
5272
  "manual_cpc",
4130
5273
  "maximize_conversions",
5274
+ "maximize_conversion_value",
4131
5275
  "target_spend"
4132
5276
  ]),
4133
5277
  status: z__namespace.enum(["ENABLED", "PAUSED"]).optional().default("PAUSED"),
@@ -4215,6 +5359,17 @@ z__namespace.object({
4215
5359
  connection_id: z__namespace.string(),
4216
5360
  id: z__namespace.string().regex(/^\d+$/)
4217
5361
  });
5362
+ z__namespace.object({
5363
+ dry_run: z__namespace.boolean().optional().default(false),
5364
+ bidding: zGoogleAdsCampaignBidding
5365
+ });
5366
+ z__namespace.object({
5367
+ "Idempotency-Key": z__namespace.string().min(1).max(255).optional()
5368
+ });
5369
+ z__namespace.object({
5370
+ connection_id: z__namespace.string(),
5371
+ id: z__namespace.string().regex(/^\d+$/)
5372
+ });
4218
5373
  z__namespace.object({
4219
5374
  dry_run: z__namespace.boolean().optional().default(false)
4220
5375
  });
@@ -4276,16 +5431,6 @@ z__namespace.object({
4276
5431
  object: z__namespace.literal("list"),
4277
5432
  data: z__namespace.array(zGoogleAdsCampaignCriterion)
4278
5433
  });
4279
- z__namespace.object({
4280
- dry_run: z__namespace.boolean().optional().default(false),
4281
- type: z__namespace.union([
4282
- z__namespace.literal("location"),
4283
- z__namespace.literal("language")
4284
- ]),
4285
- geo_target_constant: z__namespace.string().regex(/^geoTargetConstants\/\d+$/).optional(),
4286
- negative: z__namespace.boolean().optional().default(false),
4287
- language_constant: z__namespace.string().min(1).optional()
4288
- });
4289
5434
  z__namespace.object({
4290
5435
  "Idempotency-Key": z__namespace.string().min(1).max(255).optional()
4291
5436
  });
@@ -4419,50 +5564,6 @@ z__namespace.object({
4419
5564
  object: z__namespace.literal("list"),
4420
5565
  data: z__namespace.array(zGoogleAdsAdGroupCriterion)
4421
5566
  });
4422
- z__namespace.object({
4423
- dry_run: z__namespace.boolean().optional().default(false),
4424
- type: z__namespace.union([
4425
- z__namespace.literal("age_range"),
4426
- z__namespace.literal("gender"),
4427
- z__namespace.literal("income_range"),
4428
- z__namespace.literal("parental_status"),
4429
- z__namespace.literal("user_list"),
4430
- z__namespace.literal("audience"),
4431
- z__namespace.literal("custom_audience")
4432
- ]),
4433
- age_range: z__namespace.enum([
4434
- "AGE_RANGE_18_24",
4435
- "AGE_RANGE_25_34",
4436
- "AGE_RANGE_35_44",
4437
- "AGE_RANGE_45_54",
4438
- "AGE_RANGE_55_64",
4439
- "AGE_RANGE_65_UP",
4440
- "AGE_RANGE_UNDETERMINED"
4441
- ]).optional(),
4442
- negative: z__namespace.boolean().optional().default(false),
4443
- gender: z__namespace.enum([
4444
- "MALE",
4445
- "FEMALE",
4446
- "UNDETERMINED"
4447
- ]).optional(),
4448
- income_range: z__namespace.enum([
4449
- "INCOME_RANGE_0_50",
4450
- "INCOME_RANGE_50_60",
4451
- "INCOME_RANGE_60_70",
4452
- "INCOME_RANGE_70_80",
4453
- "INCOME_RANGE_80_90",
4454
- "INCOME_RANGE_90_UP",
4455
- "INCOME_RANGE_UNDETERMINED"
4456
- ]).optional(),
4457
- parental_status: z__namespace.enum([
4458
- "PARENT",
4459
- "NOT_A_PARENT",
4460
- "UNDETERMINED"
4461
- ]).optional(),
4462
- user_list: z__namespace.string().regex(/^customers\/\d+\/userLists\/\d+$/).optional(),
4463
- audience: z__namespace.string().regex(/^customers\/\d+\/audiences\/\d+$/).optional(),
4464
- custom_audience: z__namespace.string().regex(/^customers\/\d+\/customAudiences\/\d+$/).optional()
4465
- });
4466
5567
  z__namespace.object({
4467
5568
  "Idempotency-Key": z__namespace.string().min(1).max(255).optional()
4468
5569
  });
@@ -4557,6 +5658,34 @@ z__namespace.object({
4557
5658
  connection_id: z__namespace.string(),
4558
5659
  id: z__namespace.string().regex(/^\d+~\d+$/)
4559
5660
  });
5661
+ z__namespace.object({
5662
+ final_urls: z__namespace.array(z__namespace.url()).min(1).optional(),
5663
+ headlines: z__namespace.array(z__namespace.object({
5664
+ text: z__namespace.string().min(1).max(30),
5665
+ pinned_field: z__namespace.enum([
5666
+ "HEADLINE_1",
5667
+ "HEADLINE_2",
5668
+ "HEADLINE_3"
5669
+ ]).optional()
5670
+ })).min(3).max(15).optional(),
5671
+ descriptions: z__namespace.array(z__namespace.object({
5672
+ text: z__namespace.string().min(1).max(90)
5673
+ })).min(2).max(4).optional(),
5674
+ path1: z__namespace.string().max(15).optional(),
5675
+ path2: z__namespace.string().max(15).optional(),
5676
+ final_mobile_urls: z__namespace.array(z__namespace.url()).min(1).optional(),
5677
+ tracking_url_template: z__namespace.string().min(1).optional(),
5678
+ final_url_suffix: z__namespace.string().min(1).optional(),
5679
+ url_custom_parameters: z__namespace.array(zGoogleAdsUrlCustomParameter).min(1).max(8).optional(),
5680
+ dry_run: z__namespace.boolean().optional().default(false)
5681
+ });
5682
+ z__namespace.object({
5683
+ "Idempotency-Key": z__namespace.string().min(1).max(255).optional()
5684
+ });
5685
+ z__namespace.object({
5686
+ connection_id: z__namespace.string(),
5687
+ id: z__namespace.string().regex(/^\d+~\d+$/)
5688
+ });
4560
5689
  z__namespace.object({
4561
5690
  ad_group: z__namespace.string().regex(/^\d+$/),
4562
5691
  final_urls: z__namespace.array(z__namespace.url()).min(1),
@@ -4595,7 +5724,47 @@ z__namespace.object({
4595
5724
  connection_id: z__namespace.string()
4596
5725
  });
4597
5726
  z__namespace.object({
4598
- dry_run: z__namespace.boolean().optional().default(false)
5727
+ marketing_images: z__namespace.array(z__namespace.object({
5728
+ asset: z__namespace.string().min(1)
5729
+ })).min(1).max(15).optional(),
5730
+ square_marketing_images: z__namespace.array(z__namespace.object({
5731
+ asset: z__namespace.string().min(1)
5732
+ })).min(1).max(15).optional(),
5733
+ logo_images: z__namespace.array(z__namespace.object({
5734
+ asset: z__namespace.string().min(1)
5735
+ })).min(1).max(5).optional(),
5736
+ square_logo_images: z__namespace.array(z__namespace.object({
5737
+ asset: z__namespace.string().min(1)
5738
+ })).min(1).max(5).optional(),
5739
+ final_urls: z__namespace.array(z__namespace.url()).min(1).optional(),
5740
+ headlines: z__namespace.array(z__namespace.object({
5741
+ text: z__namespace.string().min(1).max(30)
5742
+ })).min(1).max(5).optional(),
5743
+ long_headline: z__namespace.object({
5744
+ text: z__namespace.string().min(1).max(90)
5745
+ }).optional(),
5746
+ descriptions: z__namespace.array(z__namespace.object({
5747
+ text: z__namespace.string().min(1).max(90)
5748
+ })).min(1).max(5).optional(),
5749
+ business_name: z__namespace.string().min(1).max(25).optional(),
5750
+ call_to_action_text: z__namespace.string().min(1).optional(),
5751
+ main_color: z__namespace.string().min(1).optional(),
5752
+ accent_color: z__namespace.string().min(1).optional(),
5753
+ final_mobile_urls: z__namespace.array(z__namespace.url()).min(1).optional(),
5754
+ tracking_url_template: z__namespace.string().min(1).optional(),
5755
+ final_url_suffix: z__namespace.string().min(1).optional(),
5756
+ url_custom_parameters: z__namespace.array(zGoogleAdsUrlCustomParameter).min(1).max(8).optional(),
5757
+ dry_run: z__namespace.boolean().optional().default(false)
5758
+ });
5759
+ z__namespace.object({
5760
+ "Idempotency-Key": z__namespace.string().min(1).max(255).optional()
5761
+ });
5762
+ z__namespace.object({
5763
+ connection_id: z__namespace.string(),
5764
+ id: z__namespace.string().regex(/^\d+~\d+$/)
5765
+ });
5766
+ z__namespace.object({
5767
+ dry_run: z__namespace.boolean().optional().default(false)
4599
5768
  });
4600
5769
  z__namespace.object({
4601
5770
  "Idempotency-Key": z__namespace.string().min(1).max(255).optional()
@@ -5266,9 +6435,791 @@ z__namespace.object({
5266
6435
  z__namespace.object({
5267
6436
  connection_id: z__namespace.string()
5268
6437
  });
6438
+ z__namespace.object({
6439
+ youtube_url: z__namespace.string(),
6440
+ title: z__namespace.string().min(1).max(255).optional(),
6441
+ dry_run: z__namespace.boolean().optional().default(false)
6442
+ });
6443
+ z__namespace.object({
6444
+ "Idempotency-Key": z__namespace.string().min(1).max(255).optional()
6445
+ });
6446
+ z__namespace.object({
6447
+ connection_id: z__namespace.string()
6448
+ });
6449
+ z__namespace.object({
6450
+ connection_id: z__namespace.string()
6451
+ });
6452
+ z__namespace.object({
6453
+ campaign_id: z__namespace.string().regex(/^\d+$/).optional(),
6454
+ status: zGoogleAdsReadStatusFilter.optional()
6455
+ });
6456
+ z__namespace.object({
6457
+ object: z__namespace.literal("list"),
6458
+ data: z__namespace.array(zGoogleAdsAssetGroup)
6459
+ });
6460
+ z__namespace.object({
6461
+ connection_id: z__namespace.string(),
6462
+ id: z__namespace.string().regex(/^\d+$/)
6463
+ });
6464
+ z__namespace.object({
6465
+ name: z__namespace.string().min(1).max(128).optional(),
6466
+ final_urls: z__namespace.array(z__namespace.url()).min(1).optional(),
6467
+ path1: z__namespace.string().min(1).max(15).optional(),
6468
+ path2: z__namespace.string().min(1).max(15).optional(),
6469
+ dry_run: z__namespace.boolean().optional().default(false)
6470
+ });
6471
+ z__namespace.object({
6472
+ "Idempotency-Key": z__namespace.string().min(1).max(255).optional()
6473
+ });
6474
+ z__namespace.object({
6475
+ connection_id: z__namespace.string(),
6476
+ id: z__namespace.string().regex(/^\d+$/)
6477
+ });
6478
+ z__namespace.object({
6479
+ asset_group_name: z__namespace.string().min(1).max(128),
6480
+ final_urls: z__namespace.array(z__namespace.url()).min(1),
6481
+ status: z__namespace.enum(["ENABLED", "PAUSED"]).optional().default("PAUSED"),
6482
+ assets: zGoogleAdsPmaxAssetSet,
6483
+ dry_run: z__namespace.boolean().optional().default(false)
6484
+ });
6485
+ z__namespace.object({
6486
+ "Idempotency-Key": z__namespace.string().min(1).max(255).optional()
6487
+ });
6488
+ z__namespace.object({
6489
+ connection_id: z__namespace.string(),
6490
+ campaign_id: z__namespace.string().regex(/^\d+$/)
6491
+ });
6492
+ z__namespace.object({
6493
+ dry_run: z__namespace.boolean().optional().default(false)
6494
+ });
6495
+ z__namespace.object({
6496
+ "Idempotency-Key": z__namespace.string().min(1).max(255).optional()
6497
+ });
6498
+ z__namespace.object({
6499
+ connection_id: z__namespace.string(),
6500
+ id: z__namespace.string().regex(/^\d+$/)
6501
+ });
6502
+ z__namespace.object({
6503
+ id: z__namespace.string(),
6504
+ status: z__namespace.enum(["ENABLED", "PAUSED"]),
6505
+ dry_run: z__namespace.boolean(),
6506
+ executed: z__namespace.boolean()
6507
+ });
6508
+ z__namespace.object({
6509
+ dry_run: z__namespace.boolean().optional().default(false)
6510
+ });
6511
+ z__namespace.object({
6512
+ "Idempotency-Key": z__namespace.string().min(1).max(255).optional()
6513
+ });
6514
+ z__namespace.object({
6515
+ connection_id: z__namespace.string(),
6516
+ id: z__namespace.string().regex(/^\d+$/)
6517
+ });
6518
+ z__namespace.object({
6519
+ id: z__namespace.string(),
6520
+ status: z__namespace.enum(["ENABLED", "PAUSED"]),
6521
+ dry_run: z__namespace.boolean(),
6522
+ executed: z__namespace.boolean()
6523
+ });
6524
+ z__namespace.object({
6525
+ dry_run: z__namespace.boolean().optional().default(false)
6526
+ });
6527
+ z__namespace.object({
6528
+ "Idempotency-Key": z__namespace.string().min(1).max(255).optional()
6529
+ });
6530
+ z__namespace.object({
6531
+ connection_id: z__namespace.string(),
6532
+ id: z__namespace.string().regex(/^\d+$/)
6533
+ });
6534
+ z__namespace.object({
6535
+ connection_id: z__namespace.string(),
6536
+ asset_group_id: z__namespace.string().regex(/^\d+$/)
6537
+ });
6538
+ z__namespace.object({
6539
+ status: zGoogleAdsReadStatusFilter.optional()
6540
+ });
6541
+ z__namespace.object({
6542
+ object: z__namespace.literal("list"),
6543
+ data: z__namespace.array(zGoogleAdsAssetGroupAsset)
6544
+ });
6545
+ z__namespace.object({
6546
+ "Idempotency-Key": z__namespace.string().min(1).max(255).optional()
6547
+ });
6548
+ z__namespace.object({
6549
+ connection_id: z__namespace.string(),
6550
+ asset_group_id: z__namespace.string().regex(/^\d+$/)
6551
+ });
6552
+ z__namespace.object({
6553
+ dry_run: z__namespace.boolean().optional().default(false)
6554
+ });
6555
+ z__namespace.object({
6556
+ "Idempotency-Key": z__namespace.string().min(1).max(255).optional()
6557
+ });
6558
+ z__namespace.object({
6559
+ connection_id: z__namespace.string(),
6560
+ asset_group_id: z__namespace.string().regex(/^\d+$/),
6561
+ id: z__namespace.string().regex(/^\d+~\d+~\d+$/)
6562
+ });
6563
+ z__namespace.object({
6564
+ connection_id: z__namespace.string(),
6565
+ asset_group_id: z__namespace.string().regex(/^\d+$/)
6566
+ });
6567
+ z__namespace.object({
6568
+ object: z__namespace.literal("list"),
6569
+ data: z__namespace.array(zGoogleAdsAssetGroupSignal)
6570
+ });
6571
+ z__namespace.object({
6572
+ "Idempotency-Key": z__namespace.string().min(1).max(255).optional()
6573
+ });
6574
+ z__namespace.object({
6575
+ connection_id: z__namespace.string(),
6576
+ asset_group_id: z__namespace.string().regex(/^\d+$/)
6577
+ });
6578
+ z__namespace.object({
6579
+ dry_run: z__namespace.boolean().optional().default(false)
6580
+ });
6581
+ z__namespace.object({
6582
+ "Idempotency-Key": z__namespace.string().min(1).max(255).optional()
6583
+ });
6584
+ z__namespace.object({
6585
+ connection_id: z__namespace.string(),
6586
+ asset_group_id: z__namespace.string().regex(/^\d+$/),
6587
+ id: z__namespace.string().regex(/^\d+~\d+$/)
6588
+ });
6589
+ z__namespace.object({
6590
+ name: z__namespace.string().min(1).max(128),
6591
+ budget_micros: z__namespace.int().gt(0).lte(9007199254740991),
6592
+ bidding: z__namespace.enum(["maximize_conversions", "maximize_conversion_value"]),
6593
+ final_urls: z__namespace.array(z__namespace.url()).min(1),
6594
+ asset_group_name: z__namespace.string().min(1).max(128),
6595
+ status: z__namespace.enum(["ENABLED", "PAUSED"]).optional().default("PAUSED"),
6596
+ assets: zGoogleAdsPmaxAssetSet,
6597
+ dry_run: z__namespace.boolean().optional().default(false)
6598
+ });
6599
+ z__namespace.object({
6600
+ "Idempotency-Key": z__namespace.string().min(1).max(255).optional()
6601
+ });
6602
+ z__namespace.object({
6603
+ connection_id: z__namespace.string()
6604
+ });
5269
6605
  z__namespace.object({
5270
6606
  id: z__namespace.string()
5271
6607
  });
6608
+ z__namespace.object({
6609
+ connection_id: z__namespace.string()
6610
+ });
6611
+ z__namespace.object({
6612
+ object: z__namespace.literal("list"),
6613
+ data: z__namespace.array(zTikTokAdvertiser)
6614
+ });
6615
+ z__namespace.object({
6616
+ connection_id: z__namespace.string()
6617
+ });
6618
+ z__namespace.object({
6619
+ object: z__namespace.literal("list"),
6620
+ data: z__namespace.array(zTikTokBusinessCenter)
6621
+ });
6622
+ z__namespace.object({
6623
+ connection_id: z__namespace.string()
6624
+ });
6625
+ z__namespace.object({
6626
+ limit: z__namespace.int().gte(1).lte(100).optional().default(20),
6627
+ offset: z__namespace.int().gte(0).lte(9007199254740991).optional().default(0),
6628
+ campaign_ids: z__namespace.array(z__namespace.string().regex(/^\d+$/)).max(100).optional(),
6629
+ campaign_name: z__namespace.string().optional(),
6630
+ objective_type: z__namespace.enum([
6631
+ "APP_PROMOTION",
6632
+ "WEB_CONVERSIONS",
6633
+ "REACH",
6634
+ "TRAFFIC",
6635
+ "VIDEO_VIEWS",
6636
+ "ENGAGEMENT",
6637
+ "PRODUCT_SALES",
6638
+ "LEAD_GENERATION",
6639
+ "RF_REACH",
6640
+ "TOPVIEW_REACH",
6641
+ "BRAND_CONSIDERATION",
6642
+ "APP_INSTALL",
6643
+ "CONVERSIONS",
6644
+ "CATALOG_SALES",
6645
+ "SHOP_PURCHASES",
6646
+ "RF_APP_INSTALL",
6647
+ "RF_ENGAGEMENT",
6648
+ "RF_TRAFFIC",
6649
+ "RF_VIDEO_VIEW"
6650
+ ]).optional(),
6651
+ primary_status: z__namespace.enum([
6652
+ "STATUS_DELETE",
6653
+ "STATUS_DELIVERY_OK",
6654
+ "STATUS_DISABLE",
6655
+ "STATUS_NOT_DELIVERY",
6656
+ "STATUS_RF_CLOSED",
6657
+ "STATUS_FROZEN",
6658
+ "STATUS_ALL",
6659
+ "STATUS_NOT_DELETE"
6660
+ ]).optional(),
6661
+ secondary_status: z__namespace.enum([
6662
+ "CAMPAIGN_STATUS_DELETE",
6663
+ "CAMPAIGN_STATUS_ADVERTISER_AUDIT_DENY",
6664
+ "CAMPAIGN_STATUS_ADVERTISER_AUDIT",
6665
+ "ADVERTISER_CONTRACT_PENDING",
6666
+ "ADVERTISER_ACCOUNT_PUNISH",
6667
+ "CAMPAIGN_STATUS_BUDGET_EXCEED",
6668
+ "CAMPAIGN_STATUS_DISABLE",
6669
+ "CAMPAIGN_STATUS_AWAITING_RELEASE",
6670
+ "CAMPAIGN_STATUS_IDENTITY_USED_BY_GMV_MAX_AD",
6671
+ "CAMPAIGN_STATUS_ENABLE",
6672
+ "CAMPAIGN_STATUS_TTS_TT_ASSET_UNAVAILABLE",
6673
+ "CAMPAIGN_STATUS_TTS_TT_IDENTITY_UNAVAILABLE",
6674
+ "CAMPAIGN_STATUS_TIKTOK_SHOP_UNAVAILABLE",
6675
+ "CAMPAIGN_STATUS_REVIEW_DISAPPROVED",
6676
+ "CAMPAIGN_STATUS_AD_UNAVAILABLE",
6677
+ "CAMPAIGN_STATUS_PRODUCT_UNAVAILABLE",
6678
+ "CAMPAIGN_STATUS_LIVE_GMV_MAX_AUTHORIZATION_CANCEL",
6679
+ "CAMPAIGN_STATUS_PRODUCT_GMV_MAX_AUTHORIZATION_CANCEL",
6680
+ "CAMPAIGN_STATUS_IDENTITY_USED_BY_LIVE_GMV_MAX",
6681
+ "CAMPAIGN_STATUS_PRODUCT_USED_BY_PRODUCT_GMV_MAX",
6682
+ "CAMPAIGN_STATUS_ALL",
6683
+ "CAMPAIGN_STATUS_NOT_DELETE"
6684
+ ]).optional()
6685
+ });
6686
+ z__namespace.object({
6687
+ object: z__namespace.literal("list"),
6688
+ data: z__namespace.array(zTikTokCampaign),
6689
+ total: z__namespace.int().gte(-9007199254740991).lte(9007199254740991),
6690
+ limit: z__namespace.int().gte(-9007199254740991).lte(9007199254740991),
6691
+ offset: z__namespace.int().gte(-9007199254740991).lte(9007199254740991),
6692
+ has_more: z__namespace.boolean()
6693
+ });
6694
+ z__namespace.object({
6695
+ objective_type: zTikTokCampaignObjective,
6696
+ campaign_name: z__namespace.string().min(1).max(512),
6697
+ budget_mode: zTikTokBudgetMode,
6698
+ budget: z__namespace.number().gt(0).optional(),
6699
+ budget_optimize_on: z__namespace.boolean().optional(),
6700
+ operation_status: zTikTokOperationStatus.optional().default("ENABLE")
6701
+ });
6702
+ z__namespace.object({
6703
+ "Idempotency-Key": z__namespace.string().min(1).max(255).optional()
6704
+ });
6705
+ z__namespace.object({
6706
+ connection_id: z__namespace.string()
6707
+ });
6708
+ z__namespace.object({
6709
+ operation_status: zTikTokOperationStatus
6710
+ });
6711
+ z__namespace.object({
6712
+ "Idempotency-Key": z__namespace.string().min(1).max(255).optional()
6713
+ });
6714
+ z__namespace.object({
6715
+ connection_id: z__namespace.string(),
6716
+ campaign_id: z__namespace.string().regex(/^\d+$/)
6717
+ });
6718
+ z__namespace.object({
6719
+ budget: z__namespace.number().gt(0)
6720
+ });
6721
+ z__namespace.object({
6722
+ "Idempotency-Key": z__namespace.string().min(1).max(255).optional()
6723
+ });
6724
+ z__namespace.object({
6725
+ connection_id: z__namespace.string(),
6726
+ campaign_id: z__namespace.string().regex(/^\d+$/)
6727
+ });
6728
+ z__namespace.object({
6729
+ "Idempotency-Key": z__namespace.string().min(1).max(255).optional()
6730
+ });
6731
+ z__namespace.object({
6732
+ connection_id: z__namespace.string(),
6733
+ campaign_id: z__namespace.string().regex(/^\d+$/)
6734
+ });
6735
+ z__namespace.object({
6736
+ connection_id: z__namespace.string()
6737
+ });
6738
+ z__namespace.object({
6739
+ limit: z__namespace.int().gte(1).lte(100).optional().default(20),
6740
+ offset: z__namespace.int().gte(0).lte(9007199254740991).optional().default(0),
6741
+ campaign_ids: z__namespace.array(z__namespace.string().regex(/^\d+$/)).max(100).optional(),
6742
+ adgroup_ids: z__namespace.array(z__namespace.string().regex(/^\d+$/)).max(100).optional(),
6743
+ adgroup_name: z__namespace.string().optional(),
6744
+ objective_type: z__namespace.enum([
6745
+ "APP_PROMOTION",
6746
+ "WEB_CONVERSIONS",
6747
+ "REACH",
6748
+ "TRAFFIC",
6749
+ "VIDEO_VIEWS",
6750
+ "ENGAGEMENT",
6751
+ "PRODUCT_SALES",
6752
+ "LEAD_GENERATION",
6753
+ "RF_REACH",
6754
+ "TOPVIEW_REACH",
6755
+ "BRAND_CONSIDERATION",
6756
+ "APP_INSTALL",
6757
+ "CONVERSIONS",
6758
+ "CATALOG_SALES",
6759
+ "SHOP_PURCHASES",
6760
+ "RF_APP_INSTALL",
6761
+ "RF_ENGAGEMENT",
6762
+ "RF_TRAFFIC",
6763
+ "RF_VIDEO_VIEW"
6764
+ ]).optional(),
6765
+ primary_status: z__namespace.enum([
6766
+ "STATUS_DELIVERY_OK",
6767
+ "STATUS_DISABLE",
6768
+ "STATUS_NOT_DELIVERY",
6769
+ "STATUS_DELETE",
6770
+ "STATUS_TIME_DONE",
6771
+ "STATUS_RF_CLOSED",
6772
+ "STATUS_FROZEN",
6773
+ "STATUS_ALL",
6774
+ "STATUS_NOT_DELETE"
6775
+ ]).optional(),
6776
+ secondary_status: z__namespace.enum([
6777
+ "ADGROUP_STATUS_DELETE",
6778
+ "ADGROUP_STATUS_CAMPAIGN_DELETE",
6779
+ "ADGROUP_STATUS_ADVERTISER_AUDIT_DENY",
6780
+ "ADGROUP_STATUS_ADVERTISER_AUDIT",
6781
+ "ADVERTISER_CONTRACT_PENDING",
6782
+ "ADVERTISER_ACCOUNT_PUNISH",
6783
+ "ADGROUP_STATUS_CAMPAIGN_EXCEED",
6784
+ "ADGROUP_STATUS_BUDGET_EXCEED",
6785
+ "ADGROUP_STATUS_BALANCE_EXCEED",
6786
+ "ADGROUP_STATUS_ADGROUP_PRE_ONLINE",
6787
+ "ADGROUP_STATUS_AUDIT_DENY",
6788
+ "ADGROUP_STATUS_REAUDIT",
6789
+ "ADGROUP_STATUS_AUDIT",
6790
+ "ADGROUP_STATUS_CREATE",
6791
+ "ADGROUP_STATUS_FROZEN",
6792
+ "ADGROUP_STATUS_NOT_START",
6793
+ "ADGROUP_STATUS_LIVE_NOT_START",
6794
+ "ADGROUP_STATUS_CAMPAIGN_DISABLE",
6795
+ "ADGROUP_STATUS_DISABLE",
6796
+ "ADGROUP_STATUS_SHADOW_ADGROUP_REAUDIT",
6797
+ "ADGROUP_STATUS_PIXEL_UNBIND",
6798
+ "ADGROUP_STATUS_PARTIAL_AUDIT_NO_DELIVERY",
6799
+ "ADGROUP_STATUS_PARTIAL_AUDIT_DELIVERY_OK",
6800
+ "ADGROUP_STATUS_INDUSTRY_QUALIFICATION_MISSING",
6801
+ "ADGROUP_STATUS_INDUSTRY_QUALIFICATION_EXPIRED",
6802
+ "ADGROUP_STATUS_INDUSTRY_QUALIFICATION_DENY",
6803
+ "ADGROUP_STATUS_ASSET_AUTHORIZATION_LOST",
6804
+ "ADGROUP_STATUS_TRANSCODING_FAIL",
6805
+ "ADGROUP_STATUS_ADGROUP_QUOTA_LIMIT",
6806
+ "ADGROUP_STATUS_IDENTITY_USED_BY_GMV_MAX_AD",
6807
+ "ADGROUP_STATUS_SEARCH_KEYWORDS_IN_REVIEW",
6808
+ "ADGROUP_STATUS_SEARCH_KEYWORDS_NOT_AVAILABLE",
6809
+ "ADGROUP_STATUS_SEARCH_KEYWORDS_PARTIAL_APPROVED",
6810
+ "ADGROUP_STATUS_DELIVERY_OK",
6811
+ "ADGROUP_STATUS_REVIEW_PARTIALLY_APPROVED",
6812
+ "ADGROUP_STATUS_TIME_DONE",
6813
+ "ADGROUP_STATUS_RF_DEDUCTION_FAILED",
6814
+ "ADGROUP_STATUS_RF_NO_VALID_CREATIVE",
6815
+ "ADGROUP_STATUS_RF_CLOSED_OTHERS",
6816
+ "ADGROUP_STATUS_RF_SHORT_BALANCE",
6817
+ "ADGROUP_STATUS_RF_BOOKING",
6818
+ "ADGROUP_STATUS_RF_NO_DELIVERY_CREATIVE",
6819
+ "ADGROUP_STATUS_RF_SCHEDULE",
6820
+ "ADGROUP_STATUS_RF_TERMINATE",
6821
+ "ADGROUP_STATUS_RF_AD_AUDIT_DENY",
6822
+ "ADVERTISER_ACCOUNT_INVALID",
6823
+ "ADGROUP_STATUS_RF_ADGROUP_INVALID",
6824
+ "ADGROUP_STATUS_RF_WITHDRAW_ORDER",
6825
+ "ADGROUP_STATUS_RF_TIME_DONE",
6826
+ "ADGROUP_STATUS_PROMOTE_AD_NOT_APPROVED",
6827
+ "ADGROUP_STATUS_PROMOTE_WITHDRAW_ORDER",
6828
+ "ADGROUP_STATUS_ALL",
6829
+ "ADGROUP_STATUS_NOT_DELETE"
6830
+ ]).optional()
6831
+ });
6832
+ z__namespace.object({
6833
+ object: z__namespace.literal("list"),
6834
+ data: z__namespace.array(zTikTokAdGroup),
6835
+ total: z__namespace.int().gte(-9007199254740991).lte(9007199254740991),
6836
+ limit: z__namespace.int().gte(-9007199254740991).lte(9007199254740991),
6837
+ offset: z__namespace.int().gte(-9007199254740991).lte(9007199254740991),
6838
+ has_more: z__namespace.boolean()
6839
+ });
6840
+ z__namespace.object({
6841
+ campaign_id: z__namespace.string().regex(/^\d+$/),
6842
+ adgroup_name: z__namespace.string().min(1).max(512),
6843
+ optimization_goal: zTikTokOptimizationGoal,
6844
+ operation_status: z__namespace.enum(["ENABLE", "DISABLE"]).optional().default("ENABLE"),
6845
+ bid_type: z__namespace.enum(["BID_TYPE_CUSTOM", "BID_TYPE_NO_BID"]).optional(),
6846
+ bid_price: z__namespace.number().gt(0).optional(),
6847
+ conversion_bid_price: z__namespace.number().gt(0).optional(),
6848
+ deep_bid_type: zTikTokDeepBidType.optional(),
6849
+ roas_bid: z__namespace.number().gt(0).optional(),
6850
+ pacing: z__namespace.enum(["PACING_MODE_SMOOTH", "PACING_MODE_FAST"]),
6851
+ budget_mode: zTikTokAdGroupBudgetMode,
6852
+ budget: z__namespace.number().gt(0),
6853
+ schedule_type: z__namespace.enum(["SCHEDULE_FROM_NOW", "SCHEDULE_START_END"]),
6854
+ schedule_start_time: z__namespace.string().regex(/^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}$/),
6855
+ schedule_end_time: z__namespace.string().regex(/^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}$/).optional(),
6856
+ promotion_type: zTikTokPromotionType.optional(),
6857
+ placement_type: z__namespace.enum(["PLACEMENT_TYPE_AUTOMATIC", "PLACEMENT_TYPE_NORMAL"]).optional(),
6858
+ placements: z__namespace.array(zTikTokAdGroupPlacement).min(1).optional(),
6859
+ pixel_id: z__namespace.string().regex(/^\d+$/).optional(),
6860
+ optimization_event: z__namespace.string().optional(),
6861
+ gender: z__namespace.enum([
6862
+ "GENDER_UNLIMITED",
6863
+ "GENDER_MALE",
6864
+ "GENDER_FEMALE"
6865
+ ]).optional(),
6866
+ age_groups: z__namespace.array(z__namespace.enum([
6867
+ "AGE_13_17",
6868
+ "AGE_18_24",
6869
+ "AGE_25_34",
6870
+ "AGE_35_44",
6871
+ "AGE_45_54",
6872
+ "AGE_55_100"
6873
+ ])).min(1).optional(),
6874
+ languages: z__namespace.array(z__namespace.string()).optional(),
6875
+ operating_systems: z__namespace.array(z__namespace.enum(["ANDROID", "IOS"])).max(1).optional(),
6876
+ location_ids: z__namespace.array(z__namespace.string().regex(/^\d+$/)).max(3e3).optional(),
6877
+ zipcode_ids: z__namespace.array(z__namespace.string().regex(/^\d+$/)).max(3e3).optional(),
6878
+ audience_ids: z__namespace.array(z__namespace.string().regex(/^\d+$/)).optional(),
6879
+ excluded_audience_ids: z__namespace.array(z__namespace.string().regex(/^\d+$/)).optional(),
6880
+ saved_audience_id: z__namespace.string().regex(/^\d+$/).optional(),
6881
+ comment_disabled: z__namespace.boolean().optional(),
6882
+ video_download_disabled: z__namespace.boolean().optional(),
6883
+ share_disabled: z__namespace.boolean().optional()
6884
+ });
6885
+ z__namespace.object({
6886
+ "Idempotency-Key": z__namespace.string().min(1).max(255).optional()
6887
+ });
6888
+ z__namespace.object({
6889
+ connection_id: z__namespace.string()
6890
+ });
6891
+ z__namespace.object({
6892
+ operation_status: zTikTokOperationStatus
6893
+ });
6894
+ z__namespace.object({
6895
+ "Idempotency-Key": z__namespace.string().min(1).max(255).optional()
6896
+ });
6897
+ z__namespace.object({
6898
+ connection_id: z__namespace.string(),
6899
+ adgroup_id: z__namespace.string().regex(/^\d+$/)
6900
+ });
6901
+ z__namespace.object({
6902
+ budget: z__namespace.number().gt(0),
6903
+ budget_kind: zTikTokAdGroupBudgetKind
6904
+ });
6905
+ z__namespace.object({
6906
+ "Idempotency-Key": z__namespace.string().min(1).max(255).optional()
6907
+ });
6908
+ z__namespace.object({
6909
+ connection_id: z__namespace.string(),
6910
+ adgroup_id: z__namespace.string().regex(/^\d+$/)
6911
+ });
6912
+ z__namespace.object({
6913
+ "Idempotency-Key": z__namespace.string().min(1).max(255).optional()
6914
+ });
6915
+ z__namespace.object({
6916
+ connection_id: z__namespace.string(),
6917
+ adgroup_id: z__namespace.string().regex(/^\d+$/)
6918
+ });
6919
+ z__namespace.object({
6920
+ connection_id: z__namespace.string()
6921
+ });
6922
+ z__namespace.object({
6923
+ limit: z__namespace.int().gte(1).lte(100).optional().default(20),
6924
+ offset: z__namespace.int().gte(0).lte(9007199254740991).optional().default(0),
6925
+ campaign_ids: z__namespace.array(z__namespace.string().regex(/^\d+$/)).max(100).optional(),
6926
+ adgroup_ids: z__namespace.array(z__namespace.string().regex(/^\d+$/)).max(100).optional(),
6927
+ ad_ids: z__namespace.array(z__namespace.string().regex(/^\d+$/)).max(100).optional(),
6928
+ ad_name: z__namespace.string().optional(),
6929
+ objective_type: z__namespace.enum([
6930
+ "APP_PROMOTION",
6931
+ "WEB_CONVERSIONS",
6932
+ "REACH",
6933
+ "TRAFFIC",
6934
+ "VIDEO_VIEWS",
6935
+ "ENGAGEMENT",
6936
+ "PRODUCT_SALES",
6937
+ "LEAD_GENERATION",
6938
+ "RF_REACH",
6939
+ "TOPVIEW_REACH",
6940
+ "BRAND_CONSIDERATION",
6941
+ "APP_INSTALL",
6942
+ "CONVERSIONS",
6943
+ "CATALOG_SALES",
6944
+ "SHOP_PURCHASES",
6945
+ "RF_APP_INSTALL",
6946
+ "RF_ENGAGEMENT",
6947
+ "RF_TRAFFIC",
6948
+ "RF_VIDEO_VIEW"
6949
+ ]).optional(),
6950
+ primary_status: z__namespace.enum([
6951
+ "STATUS_DELIVERY_OK",
6952
+ "STATUS_DISABLE",
6953
+ "STATUS_NOT_DELIVERY",
6954
+ "STATUS_DELETE",
6955
+ "STATUS_TIME_DONE",
6956
+ "STATUS_RF_CLOSED",
6957
+ "STATUS_FROZEN",
6958
+ "STATUS_ALL",
6959
+ "STATUS_NOT_DELETE"
6960
+ ]).optional(),
6961
+ secondary_status: z__namespace.enum([
6962
+ "AD_STATUS_CAMPAIGN_DELETE",
6963
+ "AD_STATUS_ADGROUP_DELETE",
6964
+ "AD_STATUS_DELETE",
6965
+ "AD_STATUS_ADVERTISER_AUDIT_DENY",
6966
+ "AD_STATUS_ADVERTISER_AUDIT",
6967
+ "ADVERTISER_CONTRACT_PENDING",
6968
+ "ADVERTISER_ACCOUNT_PUNISH",
6969
+ "AD_STATUS_BALANCE_EXCEED",
6970
+ "AD_STATUS_CAMPAIGN_EXCEED",
6971
+ "AD_STATUS_BUDGET_EXCEED",
6972
+ "AD_STATUS_AD_PRE_ONLINE",
6973
+ "AD_STATUS_AUDIT",
6974
+ "AD_STATUS_REAUDIT",
6975
+ "AD_STATUS_AUDIT_DENY",
6976
+ "AD_STATUS_ADGROUP_AUDIT_DENY",
6977
+ "AD_STATUS_ADGROUP_PARTIAL_AUDIT_NO_DELIVERY",
6978
+ "AD_STATUS_REVIEW_PARTIALLY_APPROVED",
6979
+ "AD_STATUS_PARTIAL_AUDIT_DELIVERY_OK",
6980
+ "AD_STATUS_PARTIAL_AUDIT_NO_DELIVERY",
6981
+ "AD_STATUS_ADGROUP_INDUSTRY_QUALIFICATION_MISSING",
6982
+ "AD_STATUS_ADGROUP_INDUSTRY_QUALIFICATION_EXPIRED",
6983
+ "AD_STATUS_ADGROUP_INDUSTRY_QUALIFICATION_DENY",
6984
+ "AD_STATUS_MUSIC_AUTHORIZATION_MISSING",
6985
+ "AD_STATUS_LIVE_OFFLINE",
6986
+ "AD_STATUS_NOT_START",
6987
+ "AD_STATUS_DONE",
6988
+ "AD_STATUS_CAMPAIGN_DISABLE",
6989
+ "AD_STATUS_ADGROUP_DISABLE",
6990
+ "AD_STATUS_DISABLE",
6991
+ "AD_STATUS_DELIVERY_OK",
6992
+ "AD_STATUS_PROCESS_AUDIO",
6993
+ "AD_STATUS_TRANSCODING_FAIL",
6994
+ "AD_STATUS_ADGROUP_ASSET_AUTHORIZATION_LOST",
6995
+ "AD_STATUS_ASSET_AUTHORIZATION_LOST",
6996
+ "AD_STATUS_AD_QUOTA_LIMIT",
6997
+ "AD_STATUS_PRODUCT_UNAVAILABLE",
6998
+ "AD_STATUS_ANCHOR_UNAVAILABLE",
6999
+ "AD_STATUS_NO_AUTHORIZATION_OF_SHOWCASE",
7000
+ "AD_STATUS_RF_ADGROUP_CLOSED",
7001
+ "AD_STATUS_PROMOTE_AD_OFFLINE_AUDIT",
7002
+ "AD_STATUS_PROMOTE_ADGROUP_CLOSED",
7003
+ "AD_STATUS_ALL",
7004
+ "AD_STATUS_NOT_DELETE"
7005
+ ]).optional()
7006
+ });
7007
+ z__namespace.object({
7008
+ object: z__namespace.literal("list"),
7009
+ data: z__namespace.array(zTikTokAd),
7010
+ total: z__namespace.int().gte(-9007199254740991).lte(9007199254740991),
7011
+ limit: z__namespace.int().gte(-9007199254740991).lte(9007199254740991),
7012
+ offset: z__namespace.int().gte(-9007199254740991).lte(9007199254740991),
7013
+ has_more: z__namespace.boolean()
7014
+ });
7015
+ z__namespace.object({
7016
+ adgroup_id: z__namespace.string().regex(/^\d+$/),
7017
+ ad_name: z__namespace.string().max(512),
7018
+ identity_type: zTikTokAdIdentityType,
7019
+ identity_id: z__namespace.string().min(1),
7020
+ ad_format: zTikTokAdFormat,
7021
+ ad_text: z__namespace.string().max(100),
7022
+ call_to_action: z__namespace.enum([
7023
+ "APPLY_NOW",
7024
+ "BOOK_NOW",
7025
+ "CALL_NOW",
7026
+ "CHECK_AVAILABLILITY",
7027
+ "CONTACT_US",
7028
+ "DOWNLOAD_NOW",
7029
+ "EXPERIENCE_NOW",
7030
+ "GET_QUOTE",
7031
+ "GET_SHOWTIMES",
7032
+ "GET_TICKETS_NOW",
7033
+ "INSTALL_NOW",
7034
+ "INTERESTED",
7035
+ "LEARN_MORE",
7036
+ "LISTEN_NOW",
7037
+ "ORDER_NOW",
7038
+ "PLAY_GAME",
7039
+ "PREORDER_NOW",
7040
+ "READ_MORE",
7041
+ "SEND_MESSAGE",
7042
+ "SHOP_NOW",
7043
+ "SIGN_UP",
7044
+ "SUBSCRIBE",
7045
+ "VIEW_NOW",
7046
+ "VIEW_PROFILE",
7047
+ "VISIT_STORE",
7048
+ "WATCH_LIVE",
7049
+ "WATCH_NOW",
7050
+ "JOIN_THIS_HASHTAG",
7051
+ "SHOOT_WITH_THIS_EFFECT",
7052
+ "VIEW_VIDEO_WITH_THIS_EFFECT"
7053
+ ]).optional(),
7054
+ call_to_action_id: z__namespace.string().regex(/^\d+$/).optional(),
7055
+ landing_page_url: z__namespace.url().optional(),
7056
+ display_name: z__namespace.string().min(1).max(40).optional(),
7057
+ operation_status: z__namespace.enum(["ENABLE", "DISABLE"]).optional().default("ENABLE"),
7058
+ video_media_id: z__namespace.string(),
7059
+ cover_media_id: z__namespace.string().optional()
7060
+ });
7061
+ z__namespace.object({
7062
+ "Idempotency-Key": z__namespace.string().min(1).max(255).optional()
7063
+ });
7064
+ z__namespace.object({
7065
+ connection_id: z__namespace.string()
7066
+ });
7067
+ z__namespace.object({
7068
+ operation_status: zTikTokOperationStatus
7069
+ });
7070
+ z__namespace.object({
7071
+ "Idempotency-Key": z__namespace.string().min(1).max(255).optional()
7072
+ });
7073
+ z__namespace.object({
7074
+ connection_id: z__namespace.string(),
7075
+ ad_id: z__namespace.string().regex(/^\d+$/)
7076
+ });
7077
+ z__namespace.object({
7078
+ "Idempotency-Key": z__namespace.string().min(1).max(255).optional()
7079
+ });
7080
+ z__namespace.object({
7081
+ connection_id: z__namespace.string(),
7082
+ ad_id: z__namespace.string().regex(/^\d+$/)
7083
+ });
7084
+ z__namespace.object({
7085
+ limit: z__namespace.int().gte(1).lte(100).optional().default(20),
7086
+ offset: z__namespace.int().gte(0).lte(9007199254740991).optional().default(0),
7087
+ level: z__namespace.enum([
7088
+ "advertiser",
7089
+ "campaign",
7090
+ "ad_group",
7091
+ "ad"
7092
+ ]).optional().default("campaign"),
7093
+ dimensions: z__namespace.array(z__namespace.enum([
7094
+ "advertiser_id",
7095
+ "campaign_id",
7096
+ "adgroup_id",
7097
+ "ad_id",
7098
+ "stat_time_day",
7099
+ "stat_time_hour"
7100
+ ])).min(1),
7101
+ metrics: z__namespace.array(z__namespace.enum([
7102
+ "spend",
7103
+ "impressions",
7104
+ "reach",
7105
+ "frequency",
7106
+ "cpm",
7107
+ "cost_per_1000_reached",
7108
+ "clicks",
7109
+ "ctr",
7110
+ "cpc",
7111
+ "conversion",
7112
+ "cost_per_conversion",
7113
+ "conversion_rate_v2",
7114
+ "real_time_conversion",
7115
+ "complete_payment_roas",
7116
+ "total_purchase",
7117
+ "total_purchase_value",
7118
+ "video_play_actions",
7119
+ "video_watched_2s",
7120
+ "video_watched_6s",
7121
+ "video_views_p25",
7122
+ "video_views_p50",
7123
+ "video_views_p75",
7124
+ "video_views_p100",
7125
+ "likes",
7126
+ "comments",
7127
+ "shares",
7128
+ "follows",
7129
+ "profile_visits",
7130
+ "engagements"
7131
+ ])).min(1).optional().default([
7132
+ "spend",
7133
+ "impressions",
7134
+ "clicks",
7135
+ "conversion"
7136
+ ]),
7137
+ filtering: z__namespace.object({
7138
+ campaign_ids: z__namespace.array(z__namespace.string().regex(/^\d+$/)).max(100).optional(),
7139
+ adgroup_ids: z__namespace.array(z__namespace.string().regex(/^\d+$/)).max(100).optional(),
7140
+ ad_ids: z__namespace.array(z__namespace.string().regex(/^\d+$/)).max(100).optional()
7141
+ }).optional(),
7142
+ start_date: z__namespace.iso.date(),
7143
+ end_date: z__namespace.iso.date()
7144
+ });
7145
+ z__namespace.object({
7146
+ connection_id: z__namespace.string()
7147
+ });
7148
+ z__namespace.object({
7149
+ object: z__namespace.literal("list"),
7150
+ data: z__namespace.array(zTikTokAdsInsightsRow),
7151
+ total: z__namespace.int().gte(-9007199254740991).lte(9007199254740991),
7152
+ limit: z__namespace.int().gte(-9007199254740991).lte(9007199254740991),
7153
+ offset: z__namespace.int().gte(-9007199254740991).lte(9007199254740991),
7154
+ has_more: z__namespace.boolean()
7155
+ });
7156
+ z__namespace.object({
7157
+ connection_id: z__namespace.string()
7158
+ });
7159
+ z__namespace.object({
7160
+ campaign_id: z__namespace.string().regex(/^\d+$/).optional(),
7161
+ metrics: z__namespace.array(z__namespace.enum([
7162
+ "spend",
7163
+ "impressions",
7164
+ "reach",
7165
+ "frequency",
7166
+ "cpm",
7167
+ "cost_per_1000_reached",
7168
+ "clicks",
7169
+ "ctr",
7170
+ "cpc",
7171
+ "conversion",
7172
+ "cost_per_conversion",
7173
+ "conversion_rate_v2",
7174
+ "real_time_conversion",
7175
+ "complete_payment_roas",
7176
+ "total_purchase",
7177
+ "total_purchase_value",
7178
+ "video_play_actions",
7179
+ "video_watched_2s",
7180
+ "video_watched_6s",
7181
+ "video_views_p25",
7182
+ "video_views_p50",
7183
+ "video_views_p75",
7184
+ "video_views_p100",
7185
+ "likes",
7186
+ "comments",
7187
+ "shares",
7188
+ "follows",
7189
+ "profile_visits",
7190
+ "engagements"
7191
+ ])).min(1).optional().default([
7192
+ "spend",
7193
+ "impressions",
7194
+ "clicks",
7195
+ "conversion",
7196
+ "complete_payment_roas"
7197
+ ]),
7198
+ start_date: z__namespace.iso.date(),
7199
+ end_date: z__namespace.iso.date()
7200
+ });
7201
+ z__namespace.object({
7202
+ connection_id: z__namespace.string()
7203
+ });
7204
+ z__namespace.object({
7205
+ identity_type: zTikTokIdentityType.optional(),
7206
+ page: z__namespace.int().gte(1).lte(9007199254740991).optional(),
7207
+ page_size: z__namespace.int().gte(1).lte(100).optional()
7208
+ });
7209
+ z__namespace.object({
7210
+ object: z__namespace.literal("list"),
7211
+ data: z__namespace.array(zTikTokIdentity)
7212
+ });
7213
+ z__namespace.object({
7214
+ display_name: z__namespace.string().min(1).max(100),
7215
+ image_url: z__namespace.url()
7216
+ });
7217
+ z__namespace.object({
7218
+ "Idempotency-Key": z__namespace.string().min(1).max(255).optional()
7219
+ });
7220
+ z__namespace.object({
7221
+ connection_id: z__namespace.string()
7222
+ });
5272
7223
  z__namespace.object({
5273
7224
  limit: z__namespace.int().gte(1).lte(100).optional().default(20),
5274
7225
  offset: z__namespace.int().gte(0).lte(9007199254740991).optional().default(0),
@@ -5349,6 +7300,8 @@ z__namespace.object({
5349
7300
  "connection_discovery_failed",
5350
7301
  "tiktok_creator_info_unavailable",
5351
7302
  "tiktok_cannot_post_now",
7303
+ "cover_unavailable",
7304
+ "cover_not_ready",
5352
7305
  "media_processing",
5353
7306
  "media_upload_init_failed",
5354
7307
  "media_upload_incomplete",
@@ -5356,11 +7309,14 @@ z__namespace.object({
5356
7309
  "not_publishable",
5357
7310
  "invalid_connection",
5358
7311
  "invalid_media",
7312
+ "invalid_asset",
7313
+ "invalid_audience",
5359
7314
  "profile_scope_invalid",
5360
7315
  "media_unprobeable",
5361
7316
  "media_too_large",
5362
7317
  "media_aspect_ratio_unsupported",
5363
7318
  "media_resolution_too_low",
7319
+ "media_resolution_too_high",
5364
7320
  "media_gif_unsupported",
5365
7321
  "media_format_recompressed",
5366
7322
  "media_resolution_downscaled",
@@ -5369,6 +7325,7 @@ z__namespace.object({
5369
7325
  "video_audio_codec_unsupported",
5370
7326
  "video_too_large",
5371
7327
  "video_too_small",
7328
+ "video_bitrate_too_low",
5372
7329
  "video_dimensions_unsupported",
5373
7330
  "video_dimensions_too_large",
5374
7331
  "video_fps_unsupported",
@@ -5448,6 +7405,11 @@ z__namespace.object({
5448
7405
  "google_auth_expired",
5449
7406
  "google_permission_denied",
5450
7407
  "google_request_failed",
7408
+ "tiktok_ads_rate_limited",
7409
+ "tiktok_ads_server_error",
7410
+ "tiktok_ads_auth_expired",
7411
+ "tiktok_ads_permission_denied",
7412
+ "tiktok_ads_request_failed",
5451
7413
  "google_conversion_duplicate",
5452
7414
  "google_conversion_invalid_click_id",
5453
7415
  "google_conversion_event_too_old",
@@ -5509,6 +7471,8 @@ z__namespace.object({
5509
7471
  "connection_discovery_failed",
5510
7472
  "tiktok_creator_info_unavailable",
5511
7473
  "tiktok_cannot_post_now",
7474
+ "cover_unavailable",
7475
+ "cover_not_ready",
5512
7476
  "media_processing",
5513
7477
  "media_upload_init_failed",
5514
7478
  "media_upload_incomplete",
@@ -5516,11 +7480,14 @@ z__namespace.object({
5516
7480
  "not_publishable",
5517
7481
  "invalid_connection",
5518
7482
  "invalid_media",
7483
+ "invalid_asset",
7484
+ "invalid_audience",
5519
7485
  "profile_scope_invalid",
5520
7486
  "media_unprobeable",
5521
7487
  "media_too_large",
5522
7488
  "media_aspect_ratio_unsupported",
5523
7489
  "media_resolution_too_low",
7490
+ "media_resolution_too_high",
5524
7491
  "media_gif_unsupported",
5525
7492
  "media_format_recompressed",
5526
7493
  "media_resolution_downscaled",
@@ -5529,6 +7496,7 @@ z__namespace.object({
5529
7496
  "video_audio_codec_unsupported",
5530
7497
  "video_too_large",
5531
7498
  "video_too_small",
7499
+ "video_bitrate_too_low",
5532
7500
  "video_dimensions_unsupported",
5533
7501
  "video_dimensions_too_large",
5534
7502
  "video_fps_unsupported",
@@ -5608,6 +7576,11 @@ z__namespace.object({
5608
7576
  "google_auth_expired",
5609
7577
  "google_permission_denied",
5610
7578
  "google_request_failed",
7579
+ "tiktok_ads_rate_limited",
7580
+ "tiktok_ads_server_error",
7581
+ "tiktok_ads_auth_expired",
7582
+ "tiktok_ads_permission_denied",
7583
+ "tiktok_ads_request_failed",
5611
7584
  "google_conversion_duplicate",
5612
7585
  "google_conversion_invalid_click_id",
5613
7586
  "google_conversion_event_too_old",
@@ -5690,6 +7663,8 @@ z__namespace.object({
5690
7663
  "connection_discovery_failed",
5691
7664
  "tiktok_creator_info_unavailable",
5692
7665
  "tiktok_cannot_post_now",
7666
+ "cover_unavailable",
7667
+ "cover_not_ready",
5693
7668
  "media_processing",
5694
7669
  "media_upload_init_failed",
5695
7670
  "media_upload_incomplete",
@@ -5697,11 +7672,14 @@ z__namespace.object({
5697
7672
  "not_publishable",
5698
7673
  "invalid_connection",
5699
7674
  "invalid_media",
7675
+ "invalid_asset",
7676
+ "invalid_audience",
5700
7677
  "profile_scope_invalid",
5701
7678
  "media_unprobeable",
5702
7679
  "media_too_large",
5703
7680
  "media_aspect_ratio_unsupported",
5704
7681
  "media_resolution_too_low",
7682
+ "media_resolution_too_high",
5705
7683
  "media_gif_unsupported",
5706
7684
  "media_format_recompressed",
5707
7685
  "media_resolution_downscaled",
@@ -5710,6 +7688,7 @@ z__namespace.object({
5710
7688
  "video_audio_codec_unsupported",
5711
7689
  "video_too_large",
5712
7690
  "video_too_small",
7691
+ "video_bitrate_too_low",
5713
7692
  "video_dimensions_unsupported",
5714
7693
  "video_dimensions_too_large",
5715
7694
  "video_fps_unsupported",
@@ -5789,6 +7768,11 @@ z__namespace.object({
5789
7768
  "google_auth_expired",
5790
7769
  "google_permission_denied",
5791
7770
  "google_request_failed",
7771
+ "tiktok_ads_rate_limited",
7772
+ "tiktok_ads_server_error",
7773
+ "tiktok_ads_auth_expired",
7774
+ "tiktok_ads_permission_denied",
7775
+ "tiktok_ads_request_failed",
5792
7776
  "google_conversion_duplicate",
5793
7777
  "google_conversion_invalid_click_id",
5794
7778
  "google_conversion_event_too_old",
@@ -5850,6 +7834,8 @@ z__namespace.object({
5850
7834
  "connection_discovery_failed",
5851
7835
  "tiktok_creator_info_unavailable",
5852
7836
  "tiktok_cannot_post_now",
7837
+ "cover_unavailable",
7838
+ "cover_not_ready",
5853
7839
  "media_processing",
5854
7840
  "media_upload_init_failed",
5855
7841
  "media_upload_incomplete",
@@ -5857,11 +7843,14 @@ z__namespace.object({
5857
7843
  "not_publishable",
5858
7844
  "invalid_connection",
5859
7845
  "invalid_media",
7846
+ "invalid_asset",
7847
+ "invalid_audience",
5860
7848
  "profile_scope_invalid",
5861
7849
  "media_unprobeable",
5862
7850
  "media_too_large",
5863
7851
  "media_aspect_ratio_unsupported",
5864
7852
  "media_resolution_too_low",
7853
+ "media_resolution_too_high",
5865
7854
  "media_gif_unsupported",
5866
7855
  "media_format_recompressed",
5867
7856
  "media_resolution_downscaled",
@@ -5870,6 +7859,7 @@ z__namespace.object({
5870
7859
  "video_audio_codec_unsupported",
5871
7860
  "video_too_large",
5872
7861
  "video_too_small",
7862
+ "video_bitrate_too_low",
5873
7863
  "video_dimensions_unsupported",
5874
7864
  "video_dimensions_too_large",
5875
7865
  "video_fps_unsupported",
@@ -5949,6 +7939,11 @@ z__namespace.object({
5949
7939
  "google_auth_expired",
5950
7940
  "google_permission_denied",
5951
7941
  "google_request_failed",
7942
+ "tiktok_ads_rate_limited",
7943
+ "tiktok_ads_server_error",
7944
+ "tiktok_ads_auth_expired",
7945
+ "tiktok_ads_permission_denied",
7946
+ "tiktok_ads_request_failed",
5952
7947
  "google_conversion_duplicate",
5953
7948
  "google_conversion_invalid_click_id",
5954
7949
  "google_conversion_event_too_old",
@@ -6091,14 +8086,19 @@ z__namespace.object({
6091
8086
  scopes: z__namespace.array(z__namespace.enum([
6092
8087
  "profiles:read",
6093
8088
  "profiles:write",
8089
+ "profiles:delete",
6094
8090
  "connections:read",
6095
8091
  "connections:write",
8092
+ "connections:delete",
6096
8093
  "ads:read",
6097
8094
  "ads:write",
8095
+ "ads:delete",
6098
8096
  "posts:read",
6099
8097
  "posts:write",
8098
+ "posts:delete",
6100
8099
  "media:read",
6101
- "media:write"
8100
+ "media:write",
8101
+ "media:delete"
6102
8102
  ])).min(1),
6103
8103
  ttl_seconds: z__namespace.int().gte(60).lte(1800).optional().default(900)
6104
8104
  });