@redonvn/zalo-ads-sdk 0.2.19 → 0.2.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.mts +489 -3
- package/dist/index.d.ts +489 -3
- package/dist/index.js +202 -6
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +186 -6
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -123,18 +123,26 @@ __export(index_exports, {
|
|
|
123
123
|
sanitizeCanvasKeys: () => sanitizeCanvasKeys,
|
|
124
124
|
validateChangeCampaignStatusParams: () => validateChangeCampaignStatusParams,
|
|
125
125
|
validateCloneInstantPageRequest: () => validateCloneInstantPageRequest,
|
|
126
|
+
validateCreateArticleCampaign: () => validateCreateArticleCampaign,
|
|
126
127
|
validateCreateCampaignPayload: () => validateCreateCampaignPayload,
|
|
128
|
+
validateCreateCommerceCampaign: () => validateCreateCommerceCampaign,
|
|
127
129
|
validateCreateCustomAudienceRequest: () => validateCreateCustomAudienceRequest,
|
|
130
|
+
validateCreateDisplayCampaign: () => validateCreateDisplayCampaign,
|
|
128
131
|
validateCreateFlowRequest: () => validateCreateFlowRequest,
|
|
132
|
+
validateCreateFormCampaign: () => validateCreateFormCampaign,
|
|
129
133
|
validateCreateFormEventAudienceRequest: () => validateCreateFormEventAudienceRequest,
|
|
130
134
|
validateCreateFormRequest: () => validateCreateFormRequest,
|
|
131
135
|
validateCreateInstantPageRequest: () => validateCreateInstantPageRequest,
|
|
132
136
|
validateCreateLookalikeAudienceRequest: () => validateCreateLookalikeAudienceRequest,
|
|
137
|
+
validateCreateMessageCampaign: () => validateCreateMessageCampaign,
|
|
133
138
|
validateCreateMessageOaEventAudienceRequest: () => validateCreateMessageOaEventAudienceRequest,
|
|
134
139
|
validateCreateMessagePersonalEventAudienceRequest: () => validateCreateMessagePersonalEventAudienceRequest,
|
|
135
140
|
validateCreateOaPageRequest: () => validateCreateOaPageRequest,
|
|
141
|
+
validateCreateOfficialAccountCampaign: () => validateCreateOfficialAccountCampaign,
|
|
136
142
|
validateCreatePhoneAudienceRequest: () => validateCreatePhoneAudienceRequest,
|
|
137
143
|
validateCreateSavedAudienceRequest: () => validateCreateSavedAudienceRequest,
|
|
144
|
+
validateCreateVideoCampaign: () => validateCreateVideoCampaign,
|
|
145
|
+
validateCreateWebsiteCampaign: () => validateCreateWebsiteCampaign,
|
|
138
146
|
validateCropCoordinates: () => validateCropCoordinates,
|
|
139
147
|
validateDateRangeReportRequest: () => validateDateRangeReportRequest,
|
|
140
148
|
validateDuplicateAdParams: () => validateDuplicateAdParams,
|
|
@@ -157,10 +165,18 @@ __export(index_exports, {
|
|
|
157
165
|
validateSearchInstantPagesRequest: () => validateSearchInstantPagesRequest,
|
|
158
166
|
validateToggleLeadNotificationRequest: () => validateToggleLeadNotificationRequest,
|
|
159
167
|
validateUpdateAdPayload: () => validateUpdateAdPayload,
|
|
168
|
+
validateUpdateArticleAd: () => validateUpdateArticleAd,
|
|
169
|
+
validateUpdateCommerceAd: () => validateUpdateCommerceAd,
|
|
170
|
+
validateUpdateDisplayAd: () => validateUpdateDisplayAd,
|
|
160
171
|
validateUpdateFlowRequest: () => validateUpdateFlowRequest,
|
|
172
|
+
validateUpdateFormAd: () => validateUpdateFormAd,
|
|
161
173
|
validateUpdateInstantPageRequest: () => validateUpdateInstantPageRequest,
|
|
162
174
|
validateUpdateInstantPageSharesRequest: () => validateUpdateInstantPageSharesRequest,
|
|
163
175
|
validateUpdateLeadNotificationIntervalRequest: () => validateUpdateLeadNotificationIntervalRequest,
|
|
176
|
+
validateUpdateMessageAd: () => validateUpdateMessageAd,
|
|
177
|
+
validateUpdateOfficialAccountAd: () => validateUpdateOfficialAccountAd,
|
|
178
|
+
validateUpdateVideoAd: () => validateUpdateVideoAd,
|
|
179
|
+
validateUpdateWebsiteAd: () => validateUpdateWebsiteAd,
|
|
164
180
|
validateUploadCustomAudiencePhoneListRequest: () => validateUploadCustomAudiencePhoneListRequest,
|
|
165
181
|
validateUploadMediaRequest: () => validateUploadMediaRequest,
|
|
166
182
|
validateUpsertCustomReportRequest: () => validateUpsertCustomReportRequest,
|
|
@@ -2287,11 +2303,18 @@ function validateCreateCampaignPayload(payload, options = {}) {
|
|
|
2287
2303
|
`campaignType: ${payload.campaignType} kh\xF4ng h\u1EE3p l\u1EC7. C\xE1c lo\u1EA1i h\u1ED7 tr\u1EE3: 6 (Website), 17 (Form), 18 (Message), 3 (OA), 14 (Video), 22 (Commerce), 4 (Article), 20 (Display).`
|
|
2288
2304
|
);
|
|
2289
2305
|
}
|
|
2290
|
-
|
|
2306
|
+
const OA_REQUIRED_CAMPAIGN_TYPES = [
|
|
2307
|
+
VALID_CAMPAIGN_TYPES.FORM,
|
|
2308
|
+
VALID_CAMPAIGN_TYPES.MESSAGE,
|
|
2309
|
+
VALID_CAMPAIGN_TYPES.OA,
|
|
2310
|
+
VALID_CAMPAIGN_TYPES.COMMERCE,
|
|
2311
|
+
VALID_CAMPAIGN_TYPES.ARTICLE
|
|
2312
|
+
];
|
|
2313
|
+
if (payload.campaignType !== void 0 && OA_REQUIRED_CAMPAIGN_TYPES.includes(payload.campaignType)) {
|
|
2291
2314
|
if (!payload.pageId || payload.pageId <= 0) {
|
|
2292
|
-
errors.push("pageId c\u1EE7a Official Account l\xE0 b\u1EAFt bu\u1ED9c \u0111\u1ED1i v\u1EDBi lo\u1EA1i chi\u1EBFn d\u1ECBch n\xE0y (ph\u1EA3i > 0).");
|
|
2315
|
+
errors.push("pageId c\u1EE7a Official Account l\xE0 b\u1EAFt bu\u1ED9c \u0111\u1ED1i v\u1EDBi lo\u1EA1i chi\u1EBFn d\u1ECBch n\xE0y (ph\u1EA3i > 0, ch\u1ECDn t\u1EEB Danh s\xE1ch t\xE0i kho\u1EA3n OA).");
|
|
2293
2316
|
}
|
|
2294
|
-
} else {
|
|
2317
|
+
} else if (payload.campaignType === VALID_CAMPAIGN_TYPES.DISPLAY) {
|
|
2295
2318
|
if (payload.pageId !== -1 && payload.pageId !== 0 && !payload.pageId) {
|
|
2296
2319
|
warnings.push("Qu\u1EA3ng c\xE1o Display th\u01B0\u1EDDng s\u1EED d\u1EE5ng pageId = -1.");
|
|
2297
2320
|
}
|
|
@@ -2770,14 +2793,171 @@ function validateCropCoordinates(input) {
|
|
|
2770
2793
|
data: errors.length === 0 ? cleanData : void 0
|
|
2771
2794
|
};
|
|
2772
2795
|
}
|
|
2796
|
+
function validateCreateCommerceCampaign(payload, options = {}) {
|
|
2797
|
+
const errors = [];
|
|
2798
|
+
const warnings = [];
|
|
2799
|
+
if (!payload.name || typeof payload.name !== "string" || !payload.name.trim()) {
|
|
2800
|
+
errors.push("T\xEAn chi\u1EBFn d\u1ECBch ('name') l\xE0 b\u1EAFt bu\u1ED9c v\xE0 kh\xF4ng \u0111\u01B0\u1EE3c \u0111\u1EC3 tr\u1ED1ng.");
|
|
2801
|
+
} else if (payload.name.length > 255) {
|
|
2802
|
+
errors.push("T\xEAn chi\u1EBFn d\u1ECBch ('name') kh\xF4ng \u0111\u01B0\u1EE3c v\u01B0\u1EE3t qu\xE1 255 k\xFD t\u1EF1.");
|
|
2803
|
+
}
|
|
2804
|
+
if (!payload.pageId || payload.pageId <= 0) {
|
|
2805
|
+
errors.push("T\xE0i kho\u1EA3n OA ('pageId') l\xE0 b\u1EAFt bu\u1ED9c \u0111\u1ED1i v\u1EDBi Qu\u1EA3ng c\xE1o Commerce (ch\u1ECDn t\u1EEB Danh s\xE1ch t\xE0i kho\u1EA3n OA, ph\u1EA3i > 0).");
|
|
2806
|
+
}
|
|
2807
|
+
if (payload.productId === void 0 || payload.productId === null || payload.productId <= 0) {
|
|
2808
|
+
warnings.push("Qu\u1EA3ng c\xE1o Commerce n\xEAn ch\u1EC9 \u0111\u1ECBnh productId (ho\u1EB7c -1/0 khi d\xF9ng Instant Page s\u1EA3n ph\u1EA9m).");
|
|
2809
|
+
}
|
|
2810
|
+
return { isValid: errors.length === 0, errors, warnings };
|
|
2811
|
+
}
|
|
2812
|
+
function validateCreateDisplayCampaign(payload, options = {}) {
|
|
2813
|
+
const errors = [];
|
|
2814
|
+
const warnings = [];
|
|
2815
|
+
if (!payload.name || typeof payload.name !== "string" || !payload.name.trim()) {
|
|
2816
|
+
errors.push("T\xEAn chi\u1EBFn d\u1ECBch ('name') l\xE0 b\u1EAFt bu\u1ED9c v\xE0 kh\xF4ng \u0111\u01B0\u1EE3c \u0111\u1EC3 tr\u1ED1ng.");
|
|
2817
|
+
} else if (payload.name.length > 255) {
|
|
2818
|
+
errors.push("T\xEAn chi\u1EBFn d\u1ECBch ('name') kh\xF4ng \u0111\u01B0\u1EE3c v\u01B0\u1EE3t qu\xE1 255 k\xFD t\u1EF1.");
|
|
2819
|
+
}
|
|
2820
|
+
if (payload.targetUrl && !/^https?:\/\/.+/i.test(payload.targetUrl)) {
|
|
2821
|
+
errors.push("targetUrl ph\u1EA3i l\xE0 m\u1ED9t \u0111\u01B0\u1EDDng link h\u1EE3p l\u1EC7 b\u1EAFt \u0111\u1EA7u b\u1EB1ng http:// ho\u1EB7c https://.");
|
|
2822
|
+
}
|
|
2823
|
+
return { isValid: errors.length === 0, errors, warnings };
|
|
2824
|
+
}
|
|
2825
|
+
function validateCreateWebsiteCampaign(payload, options = {}) {
|
|
2826
|
+
const errors = [];
|
|
2827
|
+
const warnings = [];
|
|
2828
|
+
if (!payload.name || typeof payload.name !== "string" || !payload.name.trim()) {
|
|
2829
|
+
errors.push("T\xEAn chi\u1EBFn d\u1ECBch ('name') l\xE0 b\u1EAFt bu\u1ED9c v\xE0 kh\xF4ng \u0111\u01B0\u1EE3c \u0111\u1EC3 tr\u1ED1ng.");
|
|
2830
|
+
} else if (payload.name.length > 255) {
|
|
2831
|
+
errors.push("T\xEAn chi\u1EBFn d\u1ECBch ('name') kh\xF4ng \u0111\u01B0\u1EE3c v\u01B0\u1EE3t qu\xE1 255 k\xFD t\u1EF1.");
|
|
2832
|
+
}
|
|
2833
|
+
if (!payload.targetUrl || typeof payload.targetUrl !== "string" || !payload.targetUrl.trim()) {
|
|
2834
|
+
errors.push("Li\xEAn k\u1EBFt website ('targetUrl') l\xE0 b\u1EAFt bu\u1ED9c \u0111\u1ED1i v\u1EDBi Qu\u1EA3ng c\xE1o Website.");
|
|
2835
|
+
} else if (!/^https?:\/\/.+/i.test(payload.targetUrl)) {
|
|
2836
|
+
errors.push("Li\xEAn k\u1EBFt website ('targetUrl') ph\u1EA3i l\xE0 \u0111\u01B0\u1EDDng link h\u1EE3p l\u1EC7 b\u1EAFt \u0111\u1EA7u b\u1EB1ng http:// ho\u1EB7c https://.");
|
|
2837
|
+
}
|
|
2838
|
+
return { isValid: errors.length === 0, errors, warnings };
|
|
2839
|
+
}
|
|
2840
|
+
function validateCreateFormCampaign(payload, options = {}) {
|
|
2841
|
+
const errors = [];
|
|
2842
|
+
const warnings = [];
|
|
2843
|
+
if (!payload.name || typeof payload.name !== "string" || !payload.name.trim()) {
|
|
2844
|
+
errors.push("T\xEAn chi\u1EBFn d\u1ECBch ('name') l\xE0 b\u1EAFt bu\u1ED9c v\xE0 kh\xF4ng \u0111\u01B0\u1EE3c \u0111\u1EC3 tr\u1ED1ng.");
|
|
2845
|
+
} else if (payload.name.length > 255) {
|
|
2846
|
+
errors.push("T\xEAn chi\u1EBFn d\u1ECBch ('name') kh\xF4ng \u0111\u01B0\u1EE3c v\u01B0\u1EE3t qu\xE1 255 k\xFD t\u1EF1.");
|
|
2847
|
+
}
|
|
2848
|
+
if (!payload.pageId || payload.pageId <= 0) {
|
|
2849
|
+
errors.push("T\xE0i kho\u1EA3n OA ('pageId') l\xE0 b\u1EAFt bu\u1ED9c \u0111\u1ED1i v\u1EDBi Qu\u1EA3ng c\xE1o Form (ch\u1ECDn t\u1EEB Danh s\xE1ch t\xE0i kho\u1EA3n OA, ph\u1EA3i > 0).");
|
|
2850
|
+
}
|
|
2851
|
+
return { isValid: errors.length === 0, errors, warnings };
|
|
2852
|
+
}
|
|
2853
|
+
function validateCreateMessageCampaign(payload, options = {}) {
|
|
2854
|
+
const errors = [];
|
|
2855
|
+
const warnings = [];
|
|
2856
|
+
if (!payload.name || typeof payload.name !== "string" || !payload.name.trim()) {
|
|
2857
|
+
errors.push("T\xEAn chi\u1EBFn d\u1ECBch ('name') l\xE0 b\u1EAFt bu\u1ED9c v\xE0 kh\xF4ng \u0111\u01B0\u1EE3c \u0111\u1EC3 tr\u1ED1ng.");
|
|
2858
|
+
} else if (payload.name.length > 255) {
|
|
2859
|
+
errors.push("T\xEAn chi\u1EBFn d\u1ECBch ('name') kh\xF4ng \u0111\u01B0\u1EE3c v\u01B0\u1EE3t qu\xE1 255 k\xFD t\u1EF1.");
|
|
2860
|
+
}
|
|
2861
|
+
if (!payload.pageId || payload.pageId <= 0) {
|
|
2862
|
+
errors.push("T\xE0i kho\u1EA3n OA ('pageId') l\xE0 b\u1EAFt bu\u1ED9c \u0111\u1ED1i v\u1EDBi Qu\u1EA3ng c\xE1o Tin nh\u1EAFn (ch\u1ECDn t\u1EEB Danh s\xE1ch t\xE0i kho\u1EA3n OA, ph\u1EA3i > 0).");
|
|
2863
|
+
}
|
|
2864
|
+
return { isValid: errors.length === 0, errors, warnings };
|
|
2865
|
+
}
|
|
2866
|
+
function validateCreateOfficialAccountCampaign(payload, options = {}) {
|
|
2867
|
+
const errors = [];
|
|
2868
|
+
const warnings = [];
|
|
2869
|
+
if (!payload.name || typeof payload.name !== "string" || !payload.name.trim()) {
|
|
2870
|
+
errors.push("T\xEAn chi\u1EBFn d\u1ECBch ('name') l\xE0 b\u1EAFt bu\u1ED9c v\xE0 kh\xF4ng \u0111\u01B0\u1EE3c \u0111\u1EC3 tr\u1ED1ng.");
|
|
2871
|
+
} else if (payload.name.length > 255) {
|
|
2872
|
+
errors.push("T\xEAn chi\u1EBFn d\u1ECBch ('name') kh\xF4ng \u0111\u01B0\u1EE3c v\u01B0\u1EE3t qu\xE1 255 k\xFD t\u1EF1.");
|
|
2873
|
+
}
|
|
2874
|
+
if (!payload.pageId || payload.pageId <= 0) {
|
|
2875
|
+
errors.push("T\xE0i kho\u1EA3n OA ('pageId') l\xE0 b\u1EAFt bu\u1ED9c \u0111\u1ED1i v\u1EDBi Qu\u1EA3ng c\xE1o Zalo Official Account (ch\u1ECDn t\u1EEB Danh s\xE1ch t\xE0i kho\u1EA3n OA, ph\u1EA3i > 0).");
|
|
2876
|
+
}
|
|
2877
|
+
return { isValid: errors.length === 0, errors, warnings };
|
|
2878
|
+
}
|
|
2879
|
+
function validateCreateArticleCampaign(payload, options = {}) {
|
|
2880
|
+
const errors = [];
|
|
2881
|
+
const warnings = [];
|
|
2882
|
+
if (!payload.name || typeof payload.name !== "string" || !payload.name.trim()) {
|
|
2883
|
+
errors.push("T\xEAn chi\u1EBFn d\u1ECBch ('name') l\xE0 b\u1EAFt bu\u1ED9c v\xE0 kh\xF4ng \u0111\u01B0\u1EE3c \u0111\u1EC3 tr\u1ED1ng.");
|
|
2884
|
+
} else if (payload.name.length > 255) {
|
|
2885
|
+
errors.push("T\xEAn chi\u1EBFn d\u1ECBch ('name') kh\xF4ng \u0111\u01B0\u1EE3c v\u01B0\u1EE3t qu\xE1 255 k\xFD t\u1EF1.");
|
|
2886
|
+
}
|
|
2887
|
+
if (!payload.pageId || payload.pageId <= 0) {
|
|
2888
|
+
errors.push("T\xE0i kho\u1EA3n OA ('pageId') l\xE0 b\u1EAFt bu\u1ED9c \u0111\u1ED1i v\u1EDBi Qu\u1EA3ng c\xE1o B\xE0i vi\u1EBFt (ch\u1ECDn t\u1EEB Danh s\xE1ch t\xE0i kho\u1EA3n OA, ph\u1EA3i > 0).");
|
|
2889
|
+
}
|
|
2890
|
+
if (!payload.articleId || payload.articleId <= 0) {
|
|
2891
|
+
errors.push("B\xE0i vi\u1EBFt ('articleId') l\xE0 b\u1EAFt bu\u1ED9c \u0111\u1ED1i v\u1EDBi Qu\u1EA3ng c\xE1o B\xE0i vi\u1EBFt (ch\u1ECDn t\u1EEB Danh s\xE1ch b\xE0i vi\u1EBFt c\u1EE7a OA \u0111\xF3, l\u1EA5y qua getOwnedArticles).");
|
|
2892
|
+
}
|
|
2893
|
+
return { isValid: errors.length === 0, errors, warnings };
|
|
2894
|
+
}
|
|
2895
|
+
function validateCreateVideoCampaign(payload, options = {}) {
|
|
2896
|
+
const errors = [];
|
|
2897
|
+
const warnings = [];
|
|
2898
|
+
if (!payload.name || typeof payload.name !== "string" || !payload.name.trim()) {
|
|
2899
|
+
errors.push("T\xEAn chi\u1EBFn d\u1ECBch ('name') l\xE0 b\u1EAFt bu\u1ED9c v\xE0 kh\xF4ng \u0111\u01B0\u1EE3c \u0111\u1EC3 tr\u1ED1ng.");
|
|
2900
|
+
} else if (payload.name.length > 255) {
|
|
2901
|
+
errors.push("T\xEAn chi\u1EBFn d\u1ECBch ('name') kh\xF4ng \u0111\u01B0\u1EE3c v\u01B0\u1EE3t qu\xE1 255 k\xFD t\u1EF1.");
|
|
2902
|
+
}
|
|
2903
|
+
if (!payload.targetUrl || typeof payload.targetUrl !== "string" || !payload.targetUrl.trim()) {
|
|
2904
|
+
errors.push("Li\xEAn k\u1EBFt Website ('targetUrl') l\xE0 b\u1EAFt bu\u1ED9c \u0111\u1ED1i v\u1EDBi Qu\u1EA3ng c\xE1o Video.");
|
|
2905
|
+
} else if (!/^https?:\/\/.+/i.test(payload.targetUrl)) {
|
|
2906
|
+
errors.push("Li\xEAn k\u1EBFt Website ('targetUrl') ph\u1EA3i l\xE0 \u0111\u01B0\u1EDDng link h\u1EE3p l\u1EC7 b\u1EAFt \u0111\u1EA7u b\u1EB1ng http:// ho\u1EB7c https://.");
|
|
2907
|
+
}
|
|
2908
|
+
return { isValid: errors.length === 0, errors, warnings };
|
|
2909
|
+
}
|
|
2910
|
+
function validateUpdateWebsiteAd(payload, options = {}) {
|
|
2911
|
+
return validateUpdateAdPayload({ ...payload, Type: VALID_AD_TYPES.WEBSITE }, options);
|
|
2912
|
+
}
|
|
2913
|
+
function validateUpdateDisplayAd(payload, options = {}) {
|
|
2914
|
+
return validateUpdateAdPayload({ ...payload, Type: VALID_AD_TYPES.DISPLAY }, options);
|
|
2915
|
+
}
|
|
2916
|
+
function validateUpdateVideoAd(payload, options = {}) {
|
|
2917
|
+
return validateUpdateAdPayload({ ...payload, Type: VALID_AD_TYPES.VIDEO }, options);
|
|
2918
|
+
}
|
|
2919
|
+
function validateUpdateCommerceAd(payload, options = {}) {
|
|
2920
|
+
return validateUpdateAdPayload({ ...payload, Type: VALID_AD_TYPES.COMMERCE }, options);
|
|
2921
|
+
}
|
|
2922
|
+
function validateUpdateFormAd(payload, options = {}) {
|
|
2923
|
+
return validateUpdateAdPayload({ ...payload, Type: VALID_AD_TYPES.FORM }, options);
|
|
2924
|
+
}
|
|
2925
|
+
function validateUpdateMessageAd(payload, options = {}) {
|
|
2926
|
+
return validateUpdateAdPayload({ ...payload, Type: VALID_AD_TYPES.MESSAGE }, options);
|
|
2927
|
+
}
|
|
2928
|
+
function validateUpdateOfficialAccountAd(payload, options = {}) {
|
|
2929
|
+
return validateUpdateAdPayload({ ...payload, Type: VALID_AD_TYPES.OA }, options);
|
|
2930
|
+
}
|
|
2931
|
+
function validateUpdateArticleAd(payload, options = {}) {
|
|
2932
|
+
return validateUpdateAdPayload({ ...payload, Type: VALID_AD_TYPES.ARTICLE }, options);
|
|
2933
|
+
}
|
|
2773
2934
|
var ZaloCampaignsValidator = {
|
|
2935
|
+
// Generic
|
|
2774
2936
|
createCampaign: validateCreateCampaignPayload,
|
|
2775
2937
|
updateAd: validateUpdateAdPayload,
|
|
2776
2938
|
renameCampaign: validateRenameCampaignParams,
|
|
2777
2939
|
changeStatus: validateChangeCampaignStatusParams,
|
|
2778
2940
|
duplicateAd: validateDuplicateAdParams,
|
|
2779
2941
|
validateCropCoordinates,
|
|
2780
|
-
validateUploadCropAdImage: validateCropCoordinates
|
|
2942
|
+
validateUploadCropAdImage: validateCropCoordinates,
|
|
2943
|
+
// Specific Create Campaign
|
|
2944
|
+
createCommerceCampaign: validateCreateCommerceCampaign,
|
|
2945
|
+
createDisplayCampaign: validateCreateDisplayCampaign,
|
|
2946
|
+
createWebsiteCampaign: validateCreateWebsiteCampaign,
|
|
2947
|
+
createFormCampaign: validateCreateFormCampaign,
|
|
2948
|
+
createMessageCampaign: validateCreateMessageCampaign,
|
|
2949
|
+
createOfficialAccountCampaign: validateCreateOfficialAccountCampaign,
|
|
2950
|
+
createArticleCampaign: validateCreateArticleCampaign,
|
|
2951
|
+
createVideoCampaign: validateCreateVideoCampaign,
|
|
2952
|
+
// Specific Update Ad
|
|
2953
|
+
updateWebsiteAd: validateUpdateWebsiteAd,
|
|
2954
|
+
updateDisplayAd: validateUpdateDisplayAd,
|
|
2955
|
+
updateVideoAd: validateUpdateVideoAd,
|
|
2956
|
+
updateCommerceAd: validateUpdateCommerceAd,
|
|
2957
|
+
updateFormAd: validateUpdateFormAd,
|
|
2958
|
+
updateMessageAd: validateUpdateMessageAd,
|
|
2959
|
+
updateOfficialAccountAd: validateUpdateOfficialAccountAd,
|
|
2960
|
+
updateArticleAd: validateUpdateArticleAd
|
|
2781
2961
|
};
|
|
2782
2962
|
|
|
2783
2963
|
// src/services/campaigns.service.ts
|
|
@@ -5929,8 +6109,8 @@ function validateListFormLeadsRequest(input) {
|
|
|
5929
6109
|
const offset = typeof raw.offset === "number" && raw.offset >= 0 ? Math.floor(raw.offset) : 0;
|
|
5930
6110
|
const status = typeof raw.status === "string" && raw.status.trim() !== "" ? raw.status.trim() : "2,6,1,0,7,4,5,3";
|
|
5931
6111
|
const now = Math.floor(Date.now() / 1e3);
|
|
5932
|
-
const fromTime = typeof raw.fromTime === "number" && raw.fromTime >= 0 ? Math.floor(raw.fromTime) : now - 90 * 86400;
|
|
5933
|
-
const toTime = typeof raw.toTime === "number" && raw.toTime >= 0 ? Math.floor(raw.toTime) : now;
|
|
6112
|
+
const fromTime = typeof raw.fromTime === "number" && raw.fromTime >= 0 ? raw.fromTime >= 1e10 ? Math.floor(raw.fromTime / 1e3) : Math.floor(raw.fromTime) : now - 90 * 86400;
|
|
6113
|
+
const toTime = typeof raw.toTime === "number" && raw.toTime >= 0 ? raw.toTime >= 1e10 ? Math.floor(raw.toTime / 1e3) : Math.floor(raw.toTime) : now;
|
|
5934
6114
|
if (toTime < fromTime) {
|
|
5935
6115
|
errors.push("M\u1ED1c th\u1EDDi gian k\u1EBFt th\xFAc 'toTime' ph\u1EA3i l\u1EDBn h\u01A1n ho\u1EB7c b\u1EB1ng 'fromTime'.");
|
|
5936
6116
|
}
|
|
@@ -8951,18 +9131,26 @@ var ZaloMediaValidator = {
|
|
|
8951
9131
|
sanitizeCanvasKeys,
|
|
8952
9132
|
validateChangeCampaignStatusParams,
|
|
8953
9133
|
validateCloneInstantPageRequest,
|
|
9134
|
+
validateCreateArticleCampaign,
|
|
8954
9135
|
validateCreateCampaignPayload,
|
|
9136
|
+
validateCreateCommerceCampaign,
|
|
8955
9137
|
validateCreateCustomAudienceRequest,
|
|
9138
|
+
validateCreateDisplayCampaign,
|
|
8956
9139
|
validateCreateFlowRequest,
|
|
9140
|
+
validateCreateFormCampaign,
|
|
8957
9141
|
validateCreateFormEventAudienceRequest,
|
|
8958
9142
|
validateCreateFormRequest,
|
|
8959
9143
|
validateCreateInstantPageRequest,
|
|
8960
9144
|
validateCreateLookalikeAudienceRequest,
|
|
9145
|
+
validateCreateMessageCampaign,
|
|
8961
9146
|
validateCreateMessageOaEventAudienceRequest,
|
|
8962
9147
|
validateCreateMessagePersonalEventAudienceRequest,
|
|
8963
9148
|
validateCreateOaPageRequest,
|
|
9149
|
+
validateCreateOfficialAccountCampaign,
|
|
8964
9150
|
validateCreatePhoneAudienceRequest,
|
|
8965
9151
|
validateCreateSavedAudienceRequest,
|
|
9152
|
+
validateCreateVideoCampaign,
|
|
9153
|
+
validateCreateWebsiteCampaign,
|
|
8966
9154
|
validateCropCoordinates,
|
|
8967
9155
|
validateDateRangeReportRequest,
|
|
8968
9156
|
validateDuplicateAdParams,
|
|
@@ -8985,10 +9173,18 @@ var ZaloMediaValidator = {
|
|
|
8985
9173
|
validateSearchInstantPagesRequest,
|
|
8986
9174
|
validateToggleLeadNotificationRequest,
|
|
8987
9175
|
validateUpdateAdPayload,
|
|
9176
|
+
validateUpdateArticleAd,
|
|
9177
|
+
validateUpdateCommerceAd,
|
|
9178
|
+
validateUpdateDisplayAd,
|
|
8988
9179
|
validateUpdateFlowRequest,
|
|
9180
|
+
validateUpdateFormAd,
|
|
8989
9181
|
validateUpdateInstantPageRequest,
|
|
8990
9182
|
validateUpdateInstantPageSharesRequest,
|
|
8991
9183
|
validateUpdateLeadNotificationIntervalRequest,
|
|
9184
|
+
validateUpdateMessageAd,
|
|
9185
|
+
validateUpdateOfficialAccountAd,
|
|
9186
|
+
validateUpdateVideoAd,
|
|
9187
|
+
validateUpdateWebsiteAd,
|
|
8992
9188
|
validateUploadCustomAudiencePhoneListRequest,
|
|
8993
9189
|
validateUploadMediaRequest,
|
|
8994
9190
|
validateUpsertCustomReportRequest,
|