@warriorteam/redai-zalo-sdk 1.27.2 → 1.28.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/CHANGELOG.md +31 -0
- package/dist/services/video-upload.service.d.ts.map +1 -1
- package/dist/services/video-upload.service.js +27 -3
- package/dist/services/video-upload.service.js.map +1 -1
- package/dist/services/zns.service.d.ts +100 -0
- package/dist/services/zns.service.d.ts.map +1 -1
- package/dist/services/zns.service.js +612 -16
- package/dist/services/zns.service.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,37 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
|
|
5
|
+
## [1.27.3] - 2025-08-31
|
|
6
|
+
|
|
7
|
+
### 🐛 Critical Bug Fixes
|
|
8
|
+
|
|
9
|
+
#### Fixed Video Upload Service - Direct API Implementation
|
|
10
|
+
- **Issue**: Video upload still failing even after base-client fix
|
|
11
|
+
- **Root Cause**: VideoUploadService was using complex client wrapper instead of direct API call
|
|
12
|
+
- **Solution**: Implemented direct axios call with FormData (same as successful manual upload)
|
|
13
|
+
- **Impact**: Video upload now works exactly like successful direct API calls
|
|
14
|
+
- **Files Changed**: `src/services/video-upload.service.ts`
|
|
15
|
+
|
|
16
|
+
#### Technical Implementation
|
|
17
|
+
```typescript
|
|
18
|
+
// New direct implementation (WORKING)
|
|
19
|
+
const formData = new FormData();
|
|
20
|
+
formData.append('file', bufferToUpload, {
|
|
21
|
+
filename: actualFilename,
|
|
22
|
+
contentType: this.getMimeTypeFromFilename(actualFilename),
|
|
23
|
+
});
|
|
24
|
+
|
|
25
|
+
const response = await axios.post(this.endpoints.video.upload, formData, {
|
|
26
|
+
headers: {
|
|
27
|
+
...formData.getHeaders(),
|
|
28
|
+
'access_token': accessToken,
|
|
29
|
+
},
|
|
30
|
+
timeout: 300000, // 5 minutes
|
|
31
|
+
maxContentLength: Infinity,
|
|
32
|
+
maxBodyLength: Infinity,
|
|
33
|
+
});
|
|
34
|
+
```
|
|
35
|
+
|
|
5
36
|
## [1.27.2] - 2025-08-31
|
|
6
37
|
|
|
7
38
|
### 🐛 Critical Bug Fixes
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"video-upload.service.d.ts","sourceRoot":"","sources":["../../src/services/video-upload.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EAGpB,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"video-upload.service.d.ts","sourceRoot":"","sources":["../../src/services/video-upload.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EAGpB,MAAM,kBAAkB,CAAC;AAK1B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,qBAAa,kBAAkB;IAUjB,OAAO,CAAC,QAAQ,CAAC,MAAM;IARnC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAMf;gBAEkB,MAAM,EAAE,UAAU;IAE/C;;;;;;OAMG;IACG,WAAW,CACf,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,MAAM,GAAG,IAAI,EACnB,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,mBAAmB,CAAC;IAqD/B;;;;;OAKG;IACG,gBAAgB,CACpB,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,mBAAmB,CAAC;IAqB/B;;;;;;;OAOG;IACG,uBAAuB,CAC3B,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,EACb,WAAW,GAAE,MAAsB,EAAE,YAAY;IACjD,YAAY,GAAE,MAAiB,GAC9B,OAAO,CAAC,mBAAmB,CAAC;IA8D/B;;;;;OAKG;IACG,kBAAkB,CACtB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,mBAAmB,CAAC;IAmC/B;;;;;OAKG;IACG,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAkBtE;;;;;;;;OAQG;IACG,+BAA+B,CACnC,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,MAAM,GAAG,IAAI,EACnB,QAAQ,CAAC,EAAE,MAAM,EACjB,WAAW,GAAE,MAAsB,EAAE,YAAY;IACjD,YAAY,GAAE,MAAiB,GAC9B,OAAO,CAAC,mBAAmB,CAAC;IAsB/B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAyDzB,OAAO,CAAC,uBAAuB;IAc/B,OAAO,CAAC,sBAAsB;IAW9B,OAAO,CAAC,KAAK;IAMb,OAAO,CAAC,sBAAsB;CAoB/B"}
|
|
@@ -1,8 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
6
|
exports.VideoUploadService = void 0;
|
|
4
7
|
const article_1 = require("../types/article");
|
|
5
8
|
const common_1 = require("../types/common");
|
|
9
|
+
const axios_1 = __importDefault(require("axios"));
|
|
10
|
+
const form_data_1 = __importDefault(require("form-data"));
|
|
6
11
|
/**
|
|
7
12
|
* Service for handling Zalo Official Account Video Upload APIs
|
|
8
13
|
*
|
|
@@ -60,7 +65,7 @@ class VideoUploadService {
|
|
|
60
65
|
const actualFilename = Buffer.isBuffer(file)
|
|
61
66
|
? filename || "video.mp4"
|
|
62
67
|
: file.name || filename || "video.mp4";
|
|
63
|
-
//
|
|
68
|
+
// Convert file to Buffer if needed
|
|
64
69
|
let bufferToUpload;
|
|
65
70
|
if (Buffer.isBuffer(file)) {
|
|
66
71
|
bufferToUpload = file;
|
|
@@ -70,8 +75,27 @@ class VideoUploadService {
|
|
|
70
75
|
const arrayBuffer = await file.arrayBuffer();
|
|
71
76
|
bufferToUpload = Buffer.from(arrayBuffer);
|
|
72
77
|
}
|
|
73
|
-
|
|
74
|
-
|
|
78
|
+
// Use direct axios call with FormData (same as successful direct upload)
|
|
79
|
+
const formData = new form_data_1.default();
|
|
80
|
+
formData.append('file', bufferToUpload, {
|
|
81
|
+
filename: actualFilename,
|
|
82
|
+
contentType: this.getMimeTypeFromFilename(actualFilename),
|
|
83
|
+
});
|
|
84
|
+
const response = await axios_1.default.post(this.endpoints.video.upload, formData, {
|
|
85
|
+
headers: {
|
|
86
|
+
...formData.getHeaders(),
|
|
87
|
+
'access_token': accessToken,
|
|
88
|
+
},
|
|
89
|
+
timeout: 300000, // 5 minutes timeout
|
|
90
|
+
maxContentLength: Infinity,
|
|
91
|
+
maxBodyLength: Infinity,
|
|
92
|
+
});
|
|
93
|
+
// Parse response according to Zalo API format
|
|
94
|
+
const responseData = response.data;
|
|
95
|
+
if (responseData.error && responseData.error !== 0) {
|
|
96
|
+
throw new common_1.ZaloSDKError(`Zalo API error: ${responseData.message || 'Unknown error'}`, responseData.error);
|
|
97
|
+
}
|
|
98
|
+
return responseData.data;
|
|
75
99
|
}
|
|
76
100
|
catch (error) {
|
|
77
101
|
throw this.handleVideoUploadError(error, "Failed to upload video");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"video-upload.service.js","sourceRoot":"","sources":["../../src/services/video-upload.service.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"video-upload.service.js","sourceRoot":"","sources":["../../src/services/video-upload.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -214,6 +214,106 @@ export declare class ZNSService {
|
|
|
214
214
|
* - Cần quyền "Quản lý tài sản"
|
|
215
215
|
*/
|
|
216
216
|
uploadImage(accessToken: string, imageFile: Buffer | NodeJS.ReadableStream, filename?: string): Promise<ZNSUploadImageResult>;
|
|
217
|
+
/**
|
|
218
|
+
* Comprehensive validation for ZNS template request
|
|
219
|
+
*/
|
|
220
|
+
private validateZNSTemplateRequest;
|
|
221
|
+
/**
|
|
222
|
+
* Validate basic required fields
|
|
223
|
+
*/
|
|
224
|
+
private validateBasicFields;
|
|
225
|
+
/**
|
|
226
|
+
* Validate template_type and tag compatibility
|
|
227
|
+
*/
|
|
228
|
+
private validateTemplateTypeTagCompatibility;
|
|
229
|
+
/**
|
|
230
|
+
* Validate layout structure based on template type
|
|
231
|
+
*/
|
|
232
|
+
private validateLayoutStructure;
|
|
233
|
+
/**
|
|
234
|
+
* Check if component belongs to header
|
|
235
|
+
*/
|
|
236
|
+
private isHeaderComponent;
|
|
237
|
+
/**
|
|
238
|
+
* Check if component belongs to body
|
|
239
|
+
*/
|
|
240
|
+
private isBodyComponent;
|
|
241
|
+
/**
|
|
242
|
+
* Check if component belongs to footer
|
|
243
|
+
*/
|
|
244
|
+
private isFooterComponent;
|
|
245
|
+
/**
|
|
246
|
+
* Validate custom template layout (type 1)
|
|
247
|
+
*/
|
|
248
|
+
private validateCustomTemplateLayout;
|
|
249
|
+
/**
|
|
250
|
+
* Validate auth template layout (type 2)
|
|
251
|
+
*/
|
|
252
|
+
private validateAuthTemplateLayout;
|
|
253
|
+
/**
|
|
254
|
+
* Validate payment template layout (type 3)
|
|
255
|
+
*/
|
|
256
|
+
private validatePaymentTemplateLayout;
|
|
257
|
+
/**
|
|
258
|
+
* Validate voucher template layout (type 4)
|
|
259
|
+
*/
|
|
260
|
+
private validateVoucherTemplateLayout;
|
|
261
|
+
/**
|
|
262
|
+
* Validate rating template layout (type 5)
|
|
263
|
+
*/
|
|
264
|
+
private validateRatingTemplateLayout;
|
|
265
|
+
/**
|
|
266
|
+
* Validate individual component content
|
|
267
|
+
*/
|
|
268
|
+
private validateComponent;
|
|
269
|
+
/**
|
|
270
|
+
* Validate TITLE component
|
|
271
|
+
*/
|
|
272
|
+
private validateTitleComponent;
|
|
273
|
+
/**
|
|
274
|
+
* Validate PARAGRAPH component
|
|
275
|
+
*/
|
|
276
|
+
private validateParagraphComponent;
|
|
277
|
+
/**
|
|
278
|
+
* Validate OTP component
|
|
279
|
+
*/
|
|
280
|
+
private validateOTPComponent;
|
|
281
|
+
/**
|
|
282
|
+
* Validate TABLE component
|
|
283
|
+
*/
|
|
284
|
+
private validateTableComponent;
|
|
285
|
+
/**
|
|
286
|
+
* Validate LOGO component
|
|
287
|
+
*/
|
|
288
|
+
private validateLogoComponent;
|
|
289
|
+
/**
|
|
290
|
+
* Validate IMAGES component
|
|
291
|
+
*/
|
|
292
|
+
private validateImagesComponent;
|
|
293
|
+
/**
|
|
294
|
+
* Validate BUTTONS component
|
|
295
|
+
*/
|
|
296
|
+
private validateButtonsComponent;
|
|
297
|
+
/**
|
|
298
|
+
* Validate PAYMENT component
|
|
299
|
+
*/
|
|
300
|
+
private validatePaymentComponent;
|
|
301
|
+
/**
|
|
302
|
+
* Validate VOUCHER component
|
|
303
|
+
*/
|
|
304
|
+
private validateVoucherComponent;
|
|
305
|
+
/**
|
|
306
|
+
* Validate RATING component
|
|
307
|
+
*/
|
|
308
|
+
private validateRatingComponent;
|
|
309
|
+
/**
|
|
310
|
+
* Validate attachment object
|
|
311
|
+
*/
|
|
312
|
+
private validateAttachment;
|
|
313
|
+
/**
|
|
314
|
+
* Validate params array
|
|
315
|
+
*/
|
|
316
|
+
private validateParams;
|
|
217
317
|
private handleZNSError;
|
|
218
318
|
}
|
|
219
319
|
//# sourceMappingURL=zns.service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zns.service.d.ts","sourceRoot":"","sources":["../../src/services/zns.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EACL,UAAU,EACV,aAAa,EAEb,eAAe,EACf,kBAAkB,EAClB,wBAAwB,EACxB,wBAAwB,EACxB,6BAA6B,EAC7B,oBAAoB,EACpB,mBAAmB,EACnB,iBAAiB,EACjB,aAAa,EACb,iBAAiB,EACjB,oBAAoB,EACpB,YAAY,EACZ,sBAAsB,EACtB,qBAAqB,EACrB,yBAAyB,EACzB,gBAAgB,EACjB,MAAM,cAAc,CAAC;AAEtB;;;;;;;;;;;;GAYG;AACH,qBAAa,UAAU;IA+BT,OAAO,CAAC,QAAQ,CAAC,MAAM;IA7BnC,OAAO,CAAC,QAAQ,CAAC,SAAS,CA2Bf;gBAEkB,MAAM,EAAE,UAAU;IAE/C;;;;;OAKG;IACG,WAAW,CACf,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,UAAU,GAClB,OAAO,CAAC,aAAa,CAAC;IAczB;;;;;OAKG;IACG,oBAAoB,CACxB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,aAAa,CAAC;IAczB;;;;;OAKG;IACG,kBAAkB,CACtB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,aAAa,CAAC;IAczB;;;;;OAKG;IACG,cAAc,CAClB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,aAAa,CAAC;IAczB;;;;;OAKG;IACG,kBAAkB,CACtB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,aAAa,CAAC;IAczB;;;;;;;;;;;;;OAaG;IACG,gBAAgB,CACpB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,oBAAoB,CAAC;IAchC;;;;;;;;;;;;;OAaG;IACG,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAa9D;;;;;;;;;;;OAWG;IACG,sBAAsB,CAC1B,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,sBAAsB,CAAC;IAgBlC;;;;;;;;;;;;;;OAcG;IACG,eAAe,CACnB,WAAW,EAAE,MAAM,EACnB,MAAM,GAAE,MAAU,EAClB,KAAK,GAAE,MAAW,EAClB,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GACrB,OAAO,CAAC,eAAe,CAAC;IAyB3B;;;;;;;;;;;;;;;;;;OAkBG;IACG,kBAAkB,CACtB,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,kBAAkB,CAAC;IAc9B;;;;;;;;;OASG;IACG,qBAAqB,CACzB,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,qBAAqB,CAAC;IAiBjC;;;;;;;;;;;;;;OAcG;IACG,iBAAiB,CACrB,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,yBAAyB,CAAC;IAoBrC;;;;;;;;;;;;;;OAcG;IACG,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAalE;;;;;;;OAOG;IACG,cAAc,CAClB,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,wBAAwB,GACrC,OAAO,CAAC,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"zns.service.d.ts","sourceRoot":"","sources":["../../src/services/zns.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -332,22 +332,8 @@ class ZNSService {
|
|
|
332
332
|
*/
|
|
333
333
|
async createTemplate(accessToken, templateData) {
|
|
334
334
|
try {
|
|
335
|
-
//
|
|
336
|
-
|
|
337
|
-
throw new Error("template_name is required");
|
|
338
|
-
}
|
|
339
|
-
if (!templateData.template_type) {
|
|
340
|
-
throw new Error("template_type is required");
|
|
341
|
-
}
|
|
342
|
-
if (!templateData.tag) {
|
|
343
|
-
throw new Error("tag is required");
|
|
344
|
-
}
|
|
345
|
-
if (!templateData.layout) {
|
|
346
|
-
throw new Error("layout is required");
|
|
347
|
-
}
|
|
348
|
-
if (!templateData.tracking_id) {
|
|
349
|
-
throw new Error("tracking_id is required");
|
|
350
|
-
}
|
|
335
|
+
// Comprehensive validation
|
|
336
|
+
this.validateZNSTemplateRequest(templateData);
|
|
351
337
|
const response = await this.client.apiPost(this.endpoints.template.create, accessToken, templateData);
|
|
352
338
|
return response;
|
|
353
339
|
}
|
|
@@ -436,6 +422,616 @@ class ZNSService {
|
|
|
436
422
|
throw this.handleZNSError(error, "Failed to upload ZNS image");
|
|
437
423
|
}
|
|
438
424
|
}
|
|
425
|
+
/**
|
|
426
|
+
* Comprehensive validation for ZNS template request
|
|
427
|
+
*/
|
|
428
|
+
validateZNSTemplateRequest(templateData) {
|
|
429
|
+
// 1. Basic required fields validation
|
|
430
|
+
this.validateBasicFields(templateData);
|
|
431
|
+
// 2. Template type and tag compatibility
|
|
432
|
+
this.validateTemplateTypeTagCompatibility(templateData.template_type, templateData.tag);
|
|
433
|
+
// 3. Layout structure validation
|
|
434
|
+
this.validateLayoutStructure(templateData.template_type, templateData.layout);
|
|
435
|
+
// 4. Params validation if provided
|
|
436
|
+
if (templateData.params && templateData.params.length > 0) {
|
|
437
|
+
this.validateParams(templateData.params, templateData.layout);
|
|
438
|
+
}
|
|
439
|
+
// 5. Note validation if provided
|
|
440
|
+
if (templateData.note) {
|
|
441
|
+
if (templateData.note.length < 1 || templateData.note.length > 400) {
|
|
442
|
+
throw new Error("note phải có độ dài từ 1 đến 400 ký tự");
|
|
443
|
+
}
|
|
444
|
+
}
|
|
445
|
+
}
|
|
446
|
+
/**
|
|
447
|
+
* Validate basic required fields
|
|
448
|
+
*/
|
|
449
|
+
validateBasicFields(templateData) {
|
|
450
|
+
if (!templateData.template_name) {
|
|
451
|
+
throw new Error("template_name là bắt buộc");
|
|
452
|
+
}
|
|
453
|
+
if (templateData.template_name.length < 10 || templateData.template_name.length > 60) {
|
|
454
|
+
throw new Error("template_name phải có độ dài từ 10 đến 60 ký tự");
|
|
455
|
+
}
|
|
456
|
+
if (!templateData.template_type) {
|
|
457
|
+
throw new Error("template_type là bắt buộc");
|
|
458
|
+
}
|
|
459
|
+
if (![1, 2, 3, 4, 5].includes(templateData.template_type)) {
|
|
460
|
+
throw new Error("template_type phải là 1, 2, 3, 4 hoặc 5");
|
|
461
|
+
}
|
|
462
|
+
if (!templateData.tag) {
|
|
463
|
+
throw new Error("tag là bắt buộc");
|
|
464
|
+
}
|
|
465
|
+
if (!["1", "2", "3"].includes(templateData.tag)) {
|
|
466
|
+
throw new Error("tag phải là '1', '2' hoặc '3'");
|
|
467
|
+
}
|
|
468
|
+
if (!templateData.layout) {
|
|
469
|
+
throw new Error("layout là bắt buộc");
|
|
470
|
+
}
|
|
471
|
+
if (!Array.isArray(templateData.layout) && typeof templateData.layout !== 'object') {
|
|
472
|
+
throw new Error("layout phải là array hoặc object");
|
|
473
|
+
}
|
|
474
|
+
if (!templateData.tracking_id) {
|
|
475
|
+
throw new Error("tracking_id là bắt buộc");
|
|
476
|
+
}
|
|
477
|
+
}
|
|
478
|
+
/**
|
|
479
|
+
* Validate template_type and tag compatibility
|
|
480
|
+
*/
|
|
481
|
+
validateTemplateTypeTagCompatibility(templateType, tag) {
|
|
482
|
+
const compatibility = {
|
|
483
|
+
1: ["1", "2", "3"], // ZNS tùy chỉnh
|
|
484
|
+
2: ["1"], // ZNS xác thực
|
|
485
|
+
3: ["1"], // ZNS yêu cầu thanh toán
|
|
486
|
+
4: ["1", "2", "3"], // ZNS voucher
|
|
487
|
+
5: ["2"] // ZNS đánh giá dịch vụ
|
|
488
|
+
};
|
|
489
|
+
if (!compatibility[templateType]?.includes(tag)) {
|
|
490
|
+
throw new Error(`template_type ${templateType} không tương thích với tag ${tag}`);
|
|
491
|
+
}
|
|
492
|
+
}
|
|
493
|
+
/**
|
|
494
|
+
* Validate layout structure based on template type
|
|
495
|
+
*/
|
|
496
|
+
validateLayoutStructure(templateType, layout) {
|
|
497
|
+
// Handle both array format (Zalo API) and object format (our types)
|
|
498
|
+
let headerComponents = [];
|
|
499
|
+
let bodyComponents = [];
|
|
500
|
+
let footerComponents = [];
|
|
501
|
+
let allComponents = [];
|
|
502
|
+
if (Array.isArray(layout)) {
|
|
503
|
+
// Array format - direct from Zalo API docs
|
|
504
|
+
headerComponents = layout.filter(item => this.isHeaderComponent(item));
|
|
505
|
+
bodyComponents = layout.filter(item => this.isBodyComponent(item));
|
|
506
|
+
footerComponents = layout.filter(item => this.isFooterComponent(item));
|
|
507
|
+
allComponents = layout;
|
|
508
|
+
}
|
|
509
|
+
else if (layout && typeof layout === 'object') {
|
|
510
|
+
// Object format - our structured type
|
|
511
|
+
if (layout.header?.components) {
|
|
512
|
+
headerComponents = layout.header.components;
|
|
513
|
+
}
|
|
514
|
+
if (layout.body?.components) {
|
|
515
|
+
bodyComponents = layout.body.components;
|
|
516
|
+
}
|
|
517
|
+
if (layout.footer?.components) {
|
|
518
|
+
footerComponents = layout.footer.components;
|
|
519
|
+
}
|
|
520
|
+
allComponents = [...headerComponents, ...bodyComponents, ...footerComponents];
|
|
521
|
+
}
|
|
522
|
+
else {
|
|
523
|
+
throw new Error("layout phải là array hoặc object có cấu trúc header/body/footer");
|
|
524
|
+
}
|
|
525
|
+
switch (templateType) {
|
|
526
|
+
case 1: // ZNS tùy chỉnh
|
|
527
|
+
this.validateCustomTemplateLayout(headerComponents, bodyComponents, footerComponents);
|
|
528
|
+
break;
|
|
529
|
+
case 2: // ZNS xác thực
|
|
530
|
+
this.validateAuthTemplateLayout(headerComponents, bodyComponents, footerComponents);
|
|
531
|
+
break;
|
|
532
|
+
case 3: // ZNS yêu cầu thanh toán
|
|
533
|
+
this.validatePaymentTemplateLayout(headerComponents, bodyComponents, footerComponents);
|
|
534
|
+
break;
|
|
535
|
+
case 4: // ZNS voucher
|
|
536
|
+
this.validateVoucherTemplateLayout(headerComponents, bodyComponents, footerComponents);
|
|
537
|
+
break;
|
|
538
|
+
case 5: // ZNS đánh giá dịch vụ
|
|
539
|
+
this.validateRatingTemplateLayout(headerComponents, bodyComponents, footerComponents);
|
|
540
|
+
break;
|
|
541
|
+
}
|
|
542
|
+
// Validate individual components
|
|
543
|
+
allComponents.forEach(component => this.validateComponent(component));
|
|
544
|
+
}
|
|
545
|
+
/**
|
|
546
|
+
* Check if component belongs to header
|
|
547
|
+
*/
|
|
548
|
+
isHeaderComponent(component) {
|
|
549
|
+
return component.LOGO || component.IMAGES;
|
|
550
|
+
}
|
|
551
|
+
/**
|
|
552
|
+
* Check if component belongs to body
|
|
553
|
+
*/
|
|
554
|
+
isBodyComponent(component) {
|
|
555
|
+
return component.TITLE || component.PARAGRAPH || component.TABLE ||
|
|
556
|
+
component.OTP || component.PAYMENT || component.VOUCHER || component.RATING;
|
|
557
|
+
}
|
|
558
|
+
/**
|
|
559
|
+
* Check if component belongs to footer
|
|
560
|
+
*/
|
|
561
|
+
isFooterComponent(component) {
|
|
562
|
+
return component.BUTTONS;
|
|
563
|
+
}
|
|
564
|
+
/**
|
|
565
|
+
* Validate custom template layout (type 1)
|
|
566
|
+
*/
|
|
567
|
+
validateCustomTemplateLayout(header, body, footer) {
|
|
568
|
+
// Header: Logo OR Image (exactly 1)
|
|
569
|
+
if (header.length !== 1) {
|
|
570
|
+
throw new Error("ZNS tùy chỉnh phải có đúng 1 component trong header (Logo hoặc Image)");
|
|
571
|
+
}
|
|
572
|
+
// Body: Title (1) + Paragraph (0-4) + Table (0-1)
|
|
573
|
+
const titles = body.filter(c => c.TITLE);
|
|
574
|
+
const paragraphs = body.filter(c => c.PARAGRAPH);
|
|
575
|
+
const tables = body.filter(c => c.TABLE);
|
|
576
|
+
if (titles.length !== 1) {
|
|
577
|
+
throw new Error("ZNS tùy chỉnh phải có đúng 1 component TITLE");
|
|
578
|
+
}
|
|
579
|
+
if (paragraphs.length > 4) {
|
|
580
|
+
throw new Error("ZNS tùy chỉnh không được có quá 4 component PARAGRAPH");
|
|
581
|
+
}
|
|
582
|
+
if (tables.length > 1) {
|
|
583
|
+
throw new Error("ZNS tùy chỉnh không được có quá 1 component TABLE");
|
|
584
|
+
}
|
|
585
|
+
// Footer: Buttons (0-2)
|
|
586
|
+
if (footer.length > 2) {
|
|
587
|
+
throw new Error("ZNS tùy chỉnh không được có quá 2 button");
|
|
588
|
+
}
|
|
589
|
+
// If has image, must have at least 1 button
|
|
590
|
+
const hasImage = header.some(c => c.IMAGES);
|
|
591
|
+
if (hasImage && footer.length === 0) {
|
|
592
|
+
throw new Error("ZNS có component Image phải có ít nhất 1 button");
|
|
593
|
+
}
|
|
594
|
+
}
|
|
595
|
+
/**
|
|
596
|
+
* Validate auth template layout (type 2)
|
|
597
|
+
*/
|
|
598
|
+
validateAuthTemplateLayout(header, body, footer) {
|
|
599
|
+
// Header: Logo only (1)
|
|
600
|
+
if (header.length !== 1 || !header[0].LOGO) {
|
|
601
|
+
throw new Error("ZNS xác thực phải có đúng 1 component LOGO trong header");
|
|
602
|
+
}
|
|
603
|
+
// Body: OTP (1) + Paragraph (1)
|
|
604
|
+
const otps = body.filter(c => c.OTP);
|
|
605
|
+
const paragraphs = body.filter(c => c.PARAGRAPH);
|
|
606
|
+
if (otps.length !== 1) {
|
|
607
|
+
throw new Error("ZNS xác thực phải có đúng 1 component OTP");
|
|
608
|
+
}
|
|
609
|
+
if (paragraphs.length !== 1) {
|
|
610
|
+
throw new Error("ZNS xác thực phải có đúng 1 component PARAGRAPH");
|
|
611
|
+
}
|
|
612
|
+
// Footer: None
|
|
613
|
+
if (footer.length > 0) {
|
|
614
|
+
throw new Error("ZNS xác thực không được có component trong footer");
|
|
615
|
+
}
|
|
616
|
+
}
|
|
617
|
+
/**
|
|
618
|
+
* Validate payment template layout (type 3)
|
|
619
|
+
*/
|
|
620
|
+
validatePaymentTemplateLayout(header, body, footer) {
|
|
621
|
+
// Header: Logo only (1)
|
|
622
|
+
if (header.length !== 1 || !header[0].LOGO) {
|
|
623
|
+
throw new Error("ZNS yêu cầu thanh toán phải có đúng 1 component LOGO trong header");
|
|
624
|
+
}
|
|
625
|
+
// Body: Title (1) + Paragraph (0-4) + Table (0-1) + Payment (1)
|
|
626
|
+
const titles = body.filter(c => c.TITLE);
|
|
627
|
+
const paragraphs = body.filter(c => c.PARAGRAPH);
|
|
628
|
+
const tables = body.filter(c => c.TABLE);
|
|
629
|
+
const payments = body.filter(c => c.PAYMENT);
|
|
630
|
+
if (titles.length !== 1) {
|
|
631
|
+
throw new Error("ZNS yêu cầu thanh toán phải có đúng 1 component TITLE");
|
|
632
|
+
}
|
|
633
|
+
if (paragraphs.length > 4) {
|
|
634
|
+
throw new Error("ZNS yêu cầu thanh toán không được có quá 4 component PARAGRAPH");
|
|
635
|
+
}
|
|
636
|
+
if (tables.length > 1) {
|
|
637
|
+
throw new Error("ZNS yêu cầu thanh toán không được có quá 1 component TABLE");
|
|
638
|
+
}
|
|
639
|
+
if (payments.length !== 1) {
|
|
640
|
+
throw new Error("ZNS yêu cầu thanh toán phải có đúng 1 component PAYMENT");
|
|
641
|
+
}
|
|
642
|
+
// Footer: Buttons (0-2)
|
|
643
|
+
if (footer.length > 2) {
|
|
644
|
+
throw new Error("ZNS yêu cầu thanh toán không được có quá 2 button");
|
|
645
|
+
}
|
|
646
|
+
}
|
|
647
|
+
/**
|
|
648
|
+
* Validate voucher template layout (type 4)
|
|
649
|
+
*/
|
|
650
|
+
validateVoucherTemplateLayout(header, body, footer) {
|
|
651
|
+
// Header: Logo OR Image (exactly 1)
|
|
652
|
+
if (header.length !== 1) {
|
|
653
|
+
throw new Error("ZNS voucher phải có đúng 1 component trong header (Logo hoặc Image)");
|
|
654
|
+
}
|
|
655
|
+
// Body: Title (1) + Paragraph (0-4) + Table (0-1) + Voucher (1)
|
|
656
|
+
const titles = body.filter(c => c.TITLE);
|
|
657
|
+
const paragraphs = body.filter(c => c.PARAGRAPH);
|
|
658
|
+
const tables = body.filter(c => c.TABLE);
|
|
659
|
+
const vouchers = body.filter(c => c.VOUCHER);
|
|
660
|
+
if (titles.length !== 1) {
|
|
661
|
+
throw new Error("ZNS voucher phải có đúng 1 component TITLE");
|
|
662
|
+
}
|
|
663
|
+
if (paragraphs.length > 4) {
|
|
664
|
+
throw new Error("ZNS voucher không được có quá 4 component PARAGRAPH");
|
|
665
|
+
}
|
|
666
|
+
if (tables.length > 1) {
|
|
667
|
+
throw new Error("ZNS voucher không được có quá 1 component TABLE");
|
|
668
|
+
}
|
|
669
|
+
if (vouchers.length !== 1) {
|
|
670
|
+
throw new Error("ZNS voucher phải có đúng 1 component VOUCHER");
|
|
671
|
+
}
|
|
672
|
+
// Footer: Buttons (0-2)
|
|
673
|
+
if (footer.length > 2) {
|
|
674
|
+
throw new Error("ZNS voucher không được có quá 2 button");
|
|
675
|
+
}
|
|
676
|
+
// If has image, must have at least 1 button, max 2
|
|
677
|
+
const hasImage = header.some(c => c.IMAGES);
|
|
678
|
+
if (hasImage && footer.length === 0) {
|
|
679
|
+
throw new Error("ZNS voucher có component Image phải có ít nhất 1 button");
|
|
680
|
+
}
|
|
681
|
+
}
|
|
682
|
+
/**
|
|
683
|
+
* Validate rating template layout (type 5)
|
|
684
|
+
*/
|
|
685
|
+
validateRatingTemplateLayout(header, body, footer) {
|
|
686
|
+
// Header: Logo only (1)
|
|
687
|
+
if (header.length !== 1 || !header[0].LOGO) {
|
|
688
|
+
throw new Error("ZNS đánh giá dịch vụ phải có đúng 1 component LOGO trong header");
|
|
689
|
+
}
|
|
690
|
+
// Body: Title (1) + Paragraph (0-1) + Rating (1)
|
|
691
|
+
const titles = body.filter(c => c.TITLE);
|
|
692
|
+
const paragraphs = body.filter(c => c.PARAGRAPH);
|
|
693
|
+
const ratings = body.filter(c => c.RATING);
|
|
694
|
+
if (titles.length !== 1) {
|
|
695
|
+
throw new Error("ZNS đánh giá dịch vụ phải có đúng 1 component TITLE");
|
|
696
|
+
}
|
|
697
|
+
if (paragraphs.length > 1) {
|
|
698
|
+
throw new Error("ZNS đánh giá dịch vụ không được có quá 1 component PARAGRAPH");
|
|
699
|
+
}
|
|
700
|
+
if (ratings.length !== 1) {
|
|
701
|
+
throw new Error("ZNS đánh giá dịch vụ phải có đúng 1 component RATING");
|
|
702
|
+
}
|
|
703
|
+
// Footer: Buttons (0-2)
|
|
704
|
+
if (footer.length > 2) {
|
|
705
|
+
throw new Error("ZNS đánh giá dịch vụ không được có quá 2 button");
|
|
706
|
+
}
|
|
707
|
+
}
|
|
708
|
+
/**
|
|
709
|
+
* Validate individual component content
|
|
710
|
+
*/
|
|
711
|
+
validateComponent(component) {
|
|
712
|
+
if (component.TITLE) {
|
|
713
|
+
this.validateTitleComponent(component.TITLE);
|
|
714
|
+
}
|
|
715
|
+
if (component.PARAGRAPH) {
|
|
716
|
+
this.validateParagraphComponent(component.PARAGRAPH);
|
|
717
|
+
}
|
|
718
|
+
if (component.OTP) {
|
|
719
|
+
this.validateOTPComponent(component.OTP);
|
|
720
|
+
}
|
|
721
|
+
if (component.TABLE) {
|
|
722
|
+
this.validateTableComponent(component.TABLE);
|
|
723
|
+
}
|
|
724
|
+
if (component.LOGO) {
|
|
725
|
+
this.validateLogoComponent(component.LOGO);
|
|
726
|
+
}
|
|
727
|
+
if (component.IMAGES) {
|
|
728
|
+
this.validateImagesComponent(component.IMAGES);
|
|
729
|
+
}
|
|
730
|
+
if (component.BUTTONS) {
|
|
731
|
+
this.validateButtonsComponent(component.BUTTONS);
|
|
732
|
+
}
|
|
733
|
+
if (component.PAYMENT) {
|
|
734
|
+
this.validatePaymentComponent(component.PAYMENT);
|
|
735
|
+
}
|
|
736
|
+
if (component.VOUCHER) {
|
|
737
|
+
this.validateVoucherComponent(component.VOUCHER);
|
|
738
|
+
}
|
|
739
|
+
if (component.RATING) {
|
|
740
|
+
this.validateRatingComponent(component.RATING);
|
|
741
|
+
}
|
|
742
|
+
}
|
|
743
|
+
/**
|
|
744
|
+
* Validate TITLE component
|
|
745
|
+
*/
|
|
746
|
+
validateTitleComponent(title) {
|
|
747
|
+
if (!title.value || typeof title.value !== 'string') {
|
|
748
|
+
throw new Error("TITLE component phải có field value kiểu string");
|
|
749
|
+
}
|
|
750
|
+
if (title.value.length < 9 || title.value.length > 65) {
|
|
751
|
+
throw new Error("TITLE value phải có độ dài từ 9 đến 65 ký tự");
|
|
752
|
+
}
|
|
753
|
+
// Check max 4 params
|
|
754
|
+
const paramCount = (title.value.match(/\{\{[^}]+\}\}/g) || []).length;
|
|
755
|
+
if (paramCount > 4) {
|
|
756
|
+
throw new Error("TITLE component không được có quá 4 params");
|
|
757
|
+
}
|
|
758
|
+
}
|
|
759
|
+
/**
|
|
760
|
+
* Validate PARAGRAPH component
|
|
761
|
+
*/
|
|
762
|
+
validateParagraphComponent(paragraph) {
|
|
763
|
+
if (!paragraph.value || typeof paragraph.value !== 'string') {
|
|
764
|
+
throw new Error("PARAGRAPH component phải có field value kiểu string");
|
|
765
|
+
}
|
|
766
|
+
if (paragraph.value.length < 9 || paragraph.value.length > 400) {
|
|
767
|
+
throw new Error("PARAGRAPH value phải có độ dài từ 9 đến 400 ký tự");
|
|
768
|
+
}
|
|
769
|
+
// Check max 10 params
|
|
770
|
+
const paramCount = (paragraph.value.match(/\{\{[^}]+\}\}/g) || []).length;
|
|
771
|
+
if (paramCount > 10) {
|
|
772
|
+
throw new Error("PARAGRAPH component không được có quá 10 params");
|
|
773
|
+
}
|
|
774
|
+
}
|
|
775
|
+
/**
|
|
776
|
+
* Validate OTP component
|
|
777
|
+
*/
|
|
778
|
+
validateOTPComponent(otp) {
|
|
779
|
+
if (!otp.value || typeof otp.value !== 'string') {
|
|
780
|
+
throw new Error("OTP component phải có field value kiểu string");
|
|
781
|
+
}
|
|
782
|
+
if (otp.value.length < 1 || otp.value.length > 10) {
|
|
783
|
+
throw new Error("OTP value phải có độ dài từ 1 đến 10 ký tự");
|
|
784
|
+
}
|
|
785
|
+
}
|
|
786
|
+
/**
|
|
787
|
+
* Validate TABLE component
|
|
788
|
+
*/
|
|
789
|
+
validateTableComponent(table) {
|
|
790
|
+
if (!table.rows || !Array.isArray(table.rows)) {
|
|
791
|
+
throw new Error("TABLE component phải có field rows kiểu array");
|
|
792
|
+
}
|
|
793
|
+
if (table.rows.length < 2 || table.rows.length > 8) {
|
|
794
|
+
throw new Error("TABLE rows phải có từ 2 đến 8 objects");
|
|
795
|
+
}
|
|
796
|
+
table.rows.forEach((row, index) => {
|
|
797
|
+
if (!row.title || typeof row.title !== 'string') {
|
|
798
|
+
throw new Error(`TABLE row ${index + 1} phải có field title kiểu string`);
|
|
799
|
+
}
|
|
800
|
+
if (row.title.length < 3 || row.title.length > 36) {
|
|
801
|
+
throw new Error(`TABLE row ${index + 1} title phải có độ dài từ 3 đến 36 ký tự`);
|
|
802
|
+
}
|
|
803
|
+
if (!row.value || typeof row.value !== 'string') {
|
|
804
|
+
throw new Error(`TABLE row ${index + 1} phải có field value kiểu string`);
|
|
805
|
+
}
|
|
806
|
+
if (row.value.length < 3 || row.value.length > 90) {
|
|
807
|
+
throw new Error(`TABLE row ${index + 1} value phải có độ dài từ 3 đến 90 ký tự`);
|
|
808
|
+
}
|
|
809
|
+
if (row.row_type !== undefined && ![0, 1, 2, 3, 4, 5].includes(row.row_type)) {
|
|
810
|
+
throw new Error(`TABLE row ${index + 1} row_type phải là 0, 1, 2, 3, 4 hoặc 5`);
|
|
811
|
+
}
|
|
812
|
+
});
|
|
813
|
+
}
|
|
814
|
+
/**
|
|
815
|
+
* Validate LOGO component
|
|
816
|
+
*/
|
|
817
|
+
validateLogoComponent(logo) {
|
|
818
|
+
if (!logo.light || !logo.dark) {
|
|
819
|
+
throw new Error("LOGO component phải có cả light và dark attachment");
|
|
820
|
+
}
|
|
821
|
+
this.validateAttachment(logo.light, "LOGO light");
|
|
822
|
+
this.validateAttachment(logo.dark, "LOGO dark");
|
|
823
|
+
}
|
|
824
|
+
/**
|
|
825
|
+
* Validate IMAGES component
|
|
826
|
+
*/
|
|
827
|
+
validateImagesComponent(images) {
|
|
828
|
+
if (!images.items || !Array.isArray(images.items)) {
|
|
829
|
+
throw new Error("IMAGES component phải có field items kiểu array");
|
|
830
|
+
}
|
|
831
|
+
if (images.items.length < 1 || images.items.length > 3) {
|
|
832
|
+
throw new Error("IMAGES items phải có từ 1 đến 3 attachments");
|
|
833
|
+
}
|
|
834
|
+
images.items.forEach((item, index) => {
|
|
835
|
+
this.validateAttachment(item, `IMAGES item ${index + 1}`);
|
|
836
|
+
});
|
|
837
|
+
}
|
|
838
|
+
/**
|
|
839
|
+
* Validate BUTTONS component
|
|
840
|
+
*/
|
|
841
|
+
validateButtonsComponent(buttons) {
|
|
842
|
+
if (!buttons.items || !Array.isArray(buttons.items)) {
|
|
843
|
+
throw new Error("BUTTONS component phải có field items kiểu array");
|
|
844
|
+
}
|
|
845
|
+
if (buttons.items.length < 1 || buttons.items.length > 2) {
|
|
846
|
+
throw new Error("BUTTONS items phải có từ 1 đến 2 objects");
|
|
847
|
+
}
|
|
848
|
+
buttons.items.forEach((button, index) => {
|
|
849
|
+
if (!button.type || ![1, 2, 3, 4, 5, 6, 7, 8, 9].includes(button.type)) {
|
|
850
|
+
throw new Error(`BUTTON ${index + 1} type phải là 1, 2, 3, 4, 5, 6, 7, 8 hoặc 9`);
|
|
851
|
+
}
|
|
852
|
+
if (!button.title || typeof button.title !== 'string') {
|
|
853
|
+
throw new Error(`BUTTON ${index + 1} phải có field title kiểu string`);
|
|
854
|
+
}
|
|
855
|
+
if (button.title.length < 5 || button.title.length > 30) {
|
|
856
|
+
throw new Error(`BUTTON ${index + 1} title phải có độ dài từ 5 đến 30 ký tự`);
|
|
857
|
+
}
|
|
858
|
+
if (!button.content || typeof button.content !== 'string') {
|
|
859
|
+
throw new Error(`BUTTON ${index + 1} phải có field content kiểu string`);
|
|
860
|
+
}
|
|
861
|
+
});
|
|
862
|
+
}
|
|
863
|
+
/**
|
|
864
|
+
* Validate PAYMENT component
|
|
865
|
+
*/
|
|
866
|
+
validatePaymentComponent(payment) {
|
|
867
|
+
if (!payment.bank_code || typeof payment.bank_code !== 'string') {
|
|
868
|
+
throw new Error("PAYMENT component phải có field bank_code kiểu string");
|
|
869
|
+
}
|
|
870
|
+
if (!payment.account_name || typeof payment.account_name !== 'string') {
|
|
871
|
+
throw new Error("PAYMENT component phải có field account_name kiểu string");
|
|
872
|
+
}
|
|
873
|
+
if (payment.account_name.length < 1 || payment.account_name.length > 100) {
|
|
874
|
+
throw new Error("PAYMENT account_name phải có độ dài từ 1 đến 100 ký tự");
|
|
875
|
+
}
|
|
876
|
+
if (!payment.bank_account || typeof payment.bank_account !== 'string') {
|
|
877
|
+
throw new Error("PAYMENT component phải có field bank_account kiểu string");
|
|
878
|
+
}
|
|
879
|
+
if (payment.bank_account.length < 1 || payment.bank_account.length > 100) {
|
|
880
|
+
throw new Error("PAYMENT bank_account phải có độ dài từ 1 đến 100 ký tự");
|
|
881
|
+
}
|
|
882
|
+
if (!payment.amount) {
|
|
883
|
+
throw new Error("PAYMENT component phải có field amount");
|
|
884
|
+
}
|
|
885
|
+
if (payment.note && (payment.note.length < 1 || payment.note.length > 90)) {
|
|
886
|
+
throw new Error("PAYMENT note phải có độ dài từ 1 đến 90 ký tự");
|
|
887
|
+
}
|
|
888
|
+
}
|
|
889
|
+
/**
|
|
890
|
+
* Validate VOUCHER component
|
|
891
|
+
*/
|
|
892
|
+
validateVoucherComponent(voucher) {
|
|
893
|
+
if (!voucher.name || typeof voucher.name !== 'string') {
|
|
894
|
+
throw new Error("VOUCHER component phải có field name kiểu string");
|
|
895
|
+
}
|
|
896
|
+
if (voucher.name.length < 1 || voucher.name.length > 30) {
|
|
897
|
+
throw new Error("VOUCHER name phải có độ dài từ 1 đến 30 ký tự");
|
|
898
|
+
}
|
|
899
|
+
if (!voucher.condition || typeof voucher.condition !== 'string') {
|
|
900
|
+
throw new Error("VOUCHER component phải có field condition kiểu string");
|
|
901
|
+
}
|
|
902
|
+
if (voucher.condition.length < 1 || voucher.condition.length > 40) {
|
|
903
|
+
throw new Error("VOUCHER condition phải có độ dài từ 1 đến 40 ký tự");
|
|
904
|
+
}
|
|
905
|
+
if (!voucher.end_date || typeof voucher.end_date !== 'string') {
|
|
906
|
+
throw new Error("VOUCHER component phải có field end_date kiểu string");
|
|
907
|
+
}
|
|
908
|
+
if (!voucher.voucher_code || typeof voucher.voucher_code !== 'string') {
|
|
909
|
+
throw new Error("VOUCHER component phải có field voucher_code kiểu string");
|
|
910
|
+
}
|
|
911
|
+
if (voucher.voucher_code.length < 1 || voucher.voucher_code.length > 25) {
|
|
912
|
+
throw new Error("VOUCHER voucher_code phải có độ dài từ 1 đến 25 ký tự");
|
|
913
|
+
}
|
|
914
|
+
if (voucher.display_code !== undefined && ![1, 2, 3].includes(voucher.display_code)) {
|
|
915
|
+
throw new Error("VOUCHER display_code phải là 1, 2 hoặc 3");
|
|
916
|
+
}
|
|
917
|
+
}
|
|
918
|
+
/**
|
|
919
|
+
* Validate RATING component
|
|
920
|
+
*/
|
|
921
|
+
validateRatingComponent(rating) {
|
|
922
|
+
if (!rating.items || !Array.isArray(rating.items)) {
|
|
923
|
+
throw new Error("RATING component phải có field items kiểu array");
|
|
924
|
+
}
|
|
925
|
+
if (rating.items.length !== 5) {
|
|
926
|
+
throw new Error("RATING items phải có đúng 5 objects");
|
|
927
|
+
}
|
|
928
|
+
rating.items.forEach((item, index) => {
|
|
929
|
+
const starValue = index + 1;
|
|
930
|
+
if (item.star !== starValue) {
|
|
931
|
+
throw new Error(`RATING item ${index + 1} phải có star = ${starValue}`);
|
|
932
|
+
}
|
|
933
|
+
if (!item.title || typeof item.title !== 'string') {
|
|
934
|
+
throw new Error(`RATING item ${index + 1} phải có field title kiểu string`);
|
|
935
|
+
}
|
|
936
|
+
if (item.title.length < 1 || item.title.length > 50) {
|
|
937
|
+
throw new Error(`RATING item ${index + 1} title phải có độ dài từ 1 đến 50 ký tự`);
|
|
938
|
+
}
|
|
939
|
+
if (item.question && (item.question.length < 1 || item.question.length > 100)) {
|
|
940
|
+
throw new Error(`RATING item ${index + 1} question phải có độ dài từ 1 đến 100 ký tự`);
|
|
941
|
+
}
|
|
942
|
+
if (item.answers && Array.isArray(item.answers)) {
|
|
943
|
+
if (item.answers.length < 1 || item.answers.length > 5) {
|
|
944
|
+
throw new Error(`RATING item ${index + 1} answers phải có từ 1 đến 5 câu trả lời`);
|
|
945
|
+
}
|
|
946
|
+
item.answers.forEach((answer, answerIndex) => {
|
|
947
|
+
if (!answer || answer.length < 1 || answer.length > 50) {
|
|
948
|
+
throw new Error(`RATING item ${index + 1} answer ${answerIndex + 1} phải có độ dài từ 1 đến 50 ký tự`);
|
|
949
|
+
}
|
|
950
|
+
});
|
|
951
|
+
}
|
|
952
|
+
if (!item.thanks || typeof item.thanks !== 'string') {
|
|
953
|
+
throw new Error(`RATING item ${index + 1} phải có field thanks kiểu string`);
|
|
954
|
+
}
|
|
955
|
+
if (item.thanks.length < 1 || item.thanks.length > 100) {
|
|
956
|
+
throw new Error(`RATING item ${index + 1} thanks phải có độ dài từ 1 đến 100 ký tự`);
|
|
957
|
+
}
|
|
958
|
+
if (!item.description || typeof item.description !== 'string') {
|
|
959
|
+
throw new Error(`RATING item ${index + 1} phải có field description kiểu string`);
|
|
960
|
+
}
|
|
961
|
+
if (item.description.length < 1 || item.description.length > 200) {
|
|
962
|
+
throw new Error(`RATING item ${index + 1} description phải có độ dài từ 1 đến 200 ký tự`);
|
|
963
|
+
}
|
|
964
|
+
});
|
|
965
|
+
}
|
|
966
|
+
/**
|
|
967
|
+
* Validate attachment object
|
|
968
|
+
*/
|
|
969
|
+
validateAttachment(attachment, context) {
|
|
970
|
+
if (!attachment.type || !attachment.media_id) {
|
|
971
|
+
throw new Error(`${context} phải có type và media_id`);
|
|
972
|
+
}
|
|
973
|
+
if (attachment.type !== "IMAGE") {
|
|
974
|
+
throw new Error(`${context} type phải là "IMAGE"`);
|
|
975
|
+
}
|
|
976
|
+
}
|
|
977
|
+
/**
|
|
978
|
+
* Validate params array
|
|
979
|
+
*/
|
|
980
|
+
validateParams(params, layout) {
|
|
981
|
+
const paramTypeConstraints = {
|
|
982
|
+
"1": 30, // Tên khách hàng
|
|
983
|
+
"2": 15, // Số điện thoại
|
|
984
|
+
"3": 200, // Địa chỉ
|
|
985
|
+
"4": 30, // Mã số
|
|
986
|
+
"5": 30, // Nhãn tùy chỉnh
|
|
987
|
+
"6": 30, // Trạng thái giao dịch
|
|
988
|
+
"7": 50, // Thông tin liên hệ
|
|
989
|
+
"8": 5, // Giới tính / Danh xưng
|
|
990
|
+
"9": 200, // Tên sản phẩm / Thương hiệu
|
|
991
|
+
"10": 20, // Số lượng / Số tiền
|
|
992
|
+
"11": 20, // Thời gian
|
|
993
|
+
"12": 10, // OTP
|
|
994
|
+
"13": 200, // URL
|
|
995
|
+
"14": 12, // Tiền tệ (VNĐ)
|
|
996
|
+
"15": 90 // Bank transfer note
|
|
997
|
+
};
|
|
998
|
+
// Get all params used in layout
|
|
999
|
+
const layoutString = JSON.stringify(layout);
|
|
1000
|
+
const usedParams = new Set();
|
|
1001
|
+
const paramMatches = layoutString.match(/\{\{([^}]+)\}\}/g);
|
|
1002
|
+
if (paramMatches) {
|
|
1003
|
+
paramMatches.forEach(match => {
|
|
1004
|
+
const paramName = match.replace(/[{}]/g, '');
|
|
1005
|
+
usedParams.add(paramName);
|
|
1006
|
+
});
|
|
1007
|
+
}
|
|
1008
|
+
// Validate each param
|
|
1009
|
+
params.forEach((param, index) => {
|
|
1010
|
+
if (!param.name || typeof param.name !== 'string') {
|
|
1011
|
+
throw new Error(`Param ${index + 1} phải có field name kiểu string`);
|
|
1012
|
+
}
|
|
1013
|
+
if (!param.type || typeof param.type !== 'string') {
|
|
1014
|
+
throw new Error(`Param ${index + 1} phải có field type kiểu string`);
|
|
1015
|
+
}
|
|
1016
|
+
if (!Object.keys(paramTypeConstraints).includes(param.type)) {
|
|
1017
|
+
throw new Error(`Param ${index + 1} type phải là 1-15`);
|
|
1018
|
+
}
|
|
1019
|
+
if (!param.sample_value || typeof param.sample_value !== 'string') {
|
|
1020
|
+
throw new Error(`Param ${index + 1} phải có field sample_value kiểu string`);
|
|
1021
|
+
}
|
|
1022
|
+
// Validate sample_value length based on type
|
|
1023
|
+
const maxLength = paramTypeConstraints[param.type];
|
|
1024
|
+
if (param.sample_value.length > maxLength) {
|
|
1025
|
+
throw new Error(`Param ${index + 1} sample_value không được vượt quá ${maxLength} ký tự cho type ${param.type}`);
|
|
1026
|
+
}
|
|
1027
|
+
// Remove param from used set if found
|
|
1028
|
+
usedParams.delete(param.name);
|
|
1029
|
+
});
|
|
1030
|
+
// Check if all used params are defined
|
|
1031
|
+
if (usedParams.size > 0) {
|
|
1032
|
+
throw new Error(`Các param sau được sử dụng trong layout nhưng chưa được định nghĩa: ${Array.from(usedParams).join(', ')}`);
|
|
1033
|
+
}
|
|
1034
|
+
}
|
|
439
1035
|
handleZNSError(error, defaultMessage) {
|
|
440
1036
|
if (error.response?.data) {
|
|
441
1037
|
const errorData = error.response.data;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zns.service.js","sourceRoot":"","sources":["../../src/services/zns.service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"zns.service.js","sourceRoot":"","sources":["../../src/services/zns.service.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@warriorteam/redai-zalo-sdk",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.28.0",
|
|
4
4
|
"description": "Comprehensive TypeScript/JavaScript SDK for Zalo APIs - Official Account v3.0, ZNS, Consultation Service, Broadcast Service, Group Messaging with List APIs, Social APIs, Enhanced Article Management, Promotion Service v3.0 with Multiple Users Support, Complete Button Types System, and Message Sequence APIs with Real-time Tracking",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|