@warriorteam/redai-zalo-sdk 1.27.3 → 1.28.1

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.
@@ -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":"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"}
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
- // Validate required fields
336
- if (!templateData.template_name) {
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
  }
@@ -371,25 +357,12 @@ class ZNSService {
371
357
  */
372
358
  async updateTemplate(accessToken, templateData) {
373
359
  try {
374
- // Validate required fields
360
+ // Validate template_id first
375
361
  if (!templateData.template_id) {
376
- throw new Error("template_id is required");
377
- }
378
- if (!templateData.template_name) {
379
- throw new Error("template_name is required");
380
- }
381
- if (!templateData.template_type) {
382
- throw new Error("template_type is required");
383
- }
384
- if (!templateData.tag) {
385
- throw new Error("tag is required");
386
- }
387
- if (!templateData.layout) {
388
- throw new Error("layout is required");
389
- }
390
- if (!templateData.tracking_id) {
391
- throw new Error("tracking_id is required");
362
+ throw new Error("template_id bắt buộc");
392
363
  }
364
+ // Comprehensive validation (same as createTemplate)
365
+ this.validateZNSTemplateRequest(templateData);
393
366
  const response = await this.client.apiPost(this.endpoints.template.edit, accessToken, templateData);
394
367
  return response;
395
368
  }
@@ -436,6 +409,616 @@ class ZNSService {
436
409
  throw this.handleZNSError(error, "Failed to upload ZNS image");
437
410
  }
438
411
  }
412
+ /**
413
+ * Comprehensive validation for ZNS template request
414
+ */
415
+ validateZNSTemplateRequest(templateData) {
416
+ // 1. Basic required fields validation
417
+ this.validateBasicFields(templateData);
418
+ // 2. Template type and tag compatibility
419
+ this.validateTemplateTypeTagCompatibility(templateData.template_type, templateData.tag);
420
+ // 3. Layout structure validation
421
+ this.validateLayoutStructure(templateData.template_type, templateData.layout);
422
+ // 4. Params validation if provided
423
+ if (templateData.params && templateData.params.length > 0) {
424
+ this.validateParams(templateData.params, templateData.layout);
425
+ }
426
+ // 5. Note validation if provided
427
+ if (templateData.note) {
428
+ if (templateData.note.length < 1 || templateData.note.length > 400) {
429
+ throw new Error("note phải có độ dài từ 1 đến 400 ký tự");
430
+ }
431
+ }
432
+ }
433
+ /**
434
+ * Validate basic required fields
435
+ */
436
+ validateBasicFields(templateData) {
437
+ if (!templateData.template_name) {
438
+ throw new Error("template_name là bắt buộc");
439
+ }
440
+ if (templateData.template_name.length < 10 || templateData.template_name.length > 60) {
441
+ throw new Error("template_name phải có độ dài từ 10 đến 60 ký tự");
442
+ }
443
+ if (!templateData.template_type) {
444
+ throw new Error("template_type là bắt buộc");
445
+ }
446
+ if (![1, 2, 3, 4, 5].includes(templateData.template_type)) {
447
+ throw new Error("template_type phải là 1, 2, 3, 4 hoặc 5");
448
+ }
449
+ if (!templateData.tag) {
450
+ throw new Error("tag là bắt buộc");
451
+ }
452
+ if (!["1", "2", "3"].includes(templateData.tag)) {
453
+ throw new Error("tag phải là '1', '2' hoặc '3'");
454
+ }
455
+ if (!templateData.layout) {
456
+ throw new Error("layout là bắt buộc");
457
+ }
458
+ if (!Array.isArray(templateData.layout) && typeof templateData.layout !== 'object') {
459
+ throw new Error("layout phải là array hoặc object");
460
+ }
461
+ if (!templateData.tracking_id) {
462
+ throw new Error("tracking_id là bắt buộc");
463
+ }
464
+ }
465
+ /**
466
+ * Validate template_type and tag compatibility
467
+ */
468
+ validateTemplateTypeTagCompatibility(templateType, tag) {
469
+ const compatibility = {
470
+ 1: ["1", "2", "3"], // ZNS tùy chỉnh
471
+ 2: ["1"], // ZNS xác thực
472
+ 3: ["1"], // ZNS yêu cầu thanh toán
473
+ 4: ["1", "2", "3"], // ZNS voucher
474
+ 5: ["2"] // ZNS đánh giá dịch vụ
475
+ };
476
+ if (!compatibility[templateType]?.includes(tag)) {
477
+ throw new Error(`template_type ${templateType} không tương thích với tag ${tag}`);
478
+ }
479
+ }
480
+ /**
481
+ * Validate layout structure based on template type
482
+ */
483
+ validateLayoutStructure(templateType, layout) {
484
+ // Handle both array format (Zalo API) and object format (our types)
485
+ let headerComponents = [];
486
+ let bodyComponents = [];
487
+ let footerComponents = [];
488
+ let allComponents = [];
489
+ if (Array.isArray(layout)) {
490
+ // Array format - direct from Zalo API docs
491
+ headerComponents = layout.filter(item => this.isHeaderComponent(item));
492
+ bodyComponents = layout.filter(item => this.isBodyComponent(item));
493
+ footerComponents = layout.filter(item => this.isFooterComponent(item));
494
+ allComponents = layout;
495
+ }
496
+ else if (layout && typeof layout === 'object') {
497
+ // Object format - our structured type
498
+ if (layout.header?.components) {
499
+ headerComponents = layout.header.components;
500
+ }
501
+ if (layout.body?.components) {
502
+ bodyComponents = layout.body.components;
503
+ }
504
+ if (layout.footer?.components) {
505
+ footerComponents = layout.footer.components;
506
+ }
507
+ allComponents = [...headerComponents, ...bodyComponents, ...footerComponents];
508
+ }
509
+ else {
510
+ throw new Error("layout phải là array hoặc object có cấu trúc header/body/footer");
511
+ }
512
+ switch (templateType) {
513
+ case 1: // ZNS tùy chỉnh
514
+ this.validateCustomTemplateLayout(headerComponents, bodyComponents, footerComponents);
515
+ break;
516
+ case 2: // ZNS xác thực
517
+ this.validateAuthTemplateLayout(headerComponents, bodyComponents, footerComponents);
518
+ break;
519
+ case 3: // ZNS yêu cầu thanh toán
520
+ this.validatePaymentTemplateLayout(headerComponents, bodyComponents, footerComponents);
521
+ break;
522
+ case 4: // ZNS voucher
523
+ this.validateVoucherTemplateLayout(headerComponents, bodyComponents, footerComponents);
524
+ break;
525
+ case 5: // ZNS đánh giá dịch vụ
526
+ this.validateRatingTemplateLayout(headerComponents, bodyComponents, footerComponents);
527
+ break;
528
+ }
529
+ // Validate individual components
530
+ allComponents.forEach(component => this.validateComponent(component));
531
+ }
532
+ /**
533
+ * Check if component belongs to header
534
+ */
535
+ isHeaderComponent(component) {
536
+ return component.LOGO || component.IMAGES;
537
+ }
538
+ /**
539
+ * Check if component belongs to body
540
+ */
541
+ isBodyComponent(component) {
542
+ return component.TITLE || component.PARAGRAPH || component.TABLE ||
543
+ component.OTP || component.PAYMENT || component.VOUCHER || component.RATING;
544
+ }
545
+ /**
546
+ * Check if component belongs to footer
547
+ */
548
+ isFooterComponent(component) {
549
+ return component.BUTTONS;
550
+ }
551
+ /**
552
+ * Validate custom template layout (type 1)
553
+ */
554
+ validateCustomTemplateLayout(header, body, footer) {
555
+ // Header: Logo OR Image (exactly 1)
556
+ if (header.length !== 1) {
557
+ throw new Error("ZNS tùy chỉnh phải có đúng 1 component trong header (Logo hoặc Image)");
558
+ }
559
+ // Body: Title (1) + Paragraph (0-4) + Table (0-1)
560
+ const titles = body.filter(c => c.TITLE);
561
+ const paragraphs = body.filter(c => c.PARAGRAPH);
562
+ const tables = body.filter(c => c.TABLE);
563
+ if (titles.length !== 1) {
564
+ throw new Error("ZNS tùy chỉnh phải có đúng 1 component TITLE");
565
+ }
566
+ if (paragraphs.length > 4) {
567
+ throw new Error("ZNS tùy chỉnh không được có quá 4 component PARAGRAPH");
568
+ }
569
+ if (tables.length > 1) {
570
+ throw new Error("ZNS tùy chỉnh không được có quá 1 component TABLE");
571
+ }
572
+ // Footer: Buttons (0-2)
573
+ if (footer.length > 2) {
574
+ throw new Error("ZNS tùy chỉnh không được có quá 2 button");
575
+ }
576
+ // If has image, must have at least 1 button
577
+ const hasImage = header.some(c => c.IMAGES);
578
+ if (hasImage && footer.length === 0) {
579
+ throw new Error("ZNS có component Image phải có ít nhất 1 button");
580
+ }
581
+ }
582
+ /**
583
+ * Validate auth template layout (type 2)
584
+ */
585
+ validateAuthTemplateLayout(header, body, footer) {
586
+ // Header: Logo only (1)
587
+ if (header.length !== 1 || !header[0].LOGO) {
588
+ throw new Error("ZNS xác thực phải có đúng 1 component LOGO trong header");
589
+ }
590
+ // Body: OTP (1) + Paragraph (1)
591
+ const otps = body.filter(c => c.OTP);
592
+ const paragraphs = body.filter(c => c.PARAGRAPH);
593
+ if (otps.length !== 1) {
594
+ throw new Error("ZNS xác thực phải có đúng 1 component OTP");
595
+ }
596
+ if (paragraphs.length !== 1) {
597
+ throw new Error("ZNS xác thực phải có đúng 1 component PARAGRAPH");
598
+ }
599
+ // Footer: None
600
+ if (footer.length > 0) {
601
+ throw new Error("ZNS xác thực không được có component trong footer");
602
+ }
603
+ }
604
+ /**
605
+ * Validate payment template layout (type 3)
606
+ */
607
+ validatePaymentTemplateLayout(header, body, footer) {
608
+ // Header: Logo only (1)
609
+ if (header.length !== 1 || !header[0].LOGO) {
610
+ throw new Error("ZNS yêu cầu thanh toán phải có đúng 1 component LOGO trong header");
611
+ }
612
+ // Body: Title (1) + Paragraph (0-4) + Table (0-1) + Payment (1)
613
+ const titles = body.filter(c => c.TITLE);
614
+ const paragraphs = body.filter(c => c.PARAGRAPH);
615
+ const tables = body.filter(c => c.TABLE);
616
+ const payments = body.filter(c => c.PAYMENT);
617
+ if (titles.length !== 1) {
618
+ throw new Error("ZNS yêu cầu thanh toán phải có đúng 1 component TITLE");
619
+ }
620
+ if (paragraphs.length > 4) {
621
+ throw new Error("ZNS yêu cầu thanh toán không được có quá 4 component PARAGRAPH");
622
+ }
623
+ if (tables.length > 1) {
624
+ throw new Error("ZNS yêu cầu thanh toán không được có quá 1 component TABLE");
625
+ }
626
+ if (payments.length !== 1) {
627
+ throw new Error("ZNS yêu cầu thanh toán phải có đúng 1 component PAYMENT");
628
+ }
629
+ // Footer: Buttons (0-2)
630
+ if (footer.length > 2) {
631
+ throw new Error("ZNS yêu cầu thanh toán không được có quá 2 button");
632
+ }
633
+ }
634
+ /**
635
+ * Validate voucher template layout (type 4)
636
+ */
637
+ validateVoucherTemplateLayout(header, body, footer) {
638
+ // Header: Logo OR Image (exactly 1)
639
+ if (header.length !== 1) {
640
+ throw new Error("ZNS voucher phải có đúng 1 component trong header (Logo hoặc Image)");
641
+ }
642
+ // Body: Title (1) + Paragraph (0-4) + Table (0-1) + Voucher (1)
643
+ const titles = body.filter(c => c.TITLE);
644
+ const paragraphs = body.filter(c => c.PARAGRAPH);
645
+ const tables = body.filter(c => c.TABLE);
646
+ const vouchers = body.filter(c => c.VOUCHER);
647
+ if (titles.length !== 1) {
648
+ throw new Error("ZNS voucher phải có đúng 1 component TITLE");
649
+ }
650
+ if (paragraphs.length > 4) {
651
+ throw new Error("ZNS voucher không được có quá 4 component PARAGRAPH");
652
+ }
653
+ if (tables.length > 1) {
654
+ throw new Error("ZNS voucher không được có quá 1 component TABLE");
655
+ }
656
+ if (vouchers.length !== 1) {
657
+ throw new Error("ZNS voucher phải có đúng 1 component VOUCHER");
658
+ }
659
+ // Footer: Buttons (0-2)
660
+ if (footer.length > 2) {
661
+ throw new Error("ZNS voucher không được có quá 2 button");
662
+ }
663
+ // If has image, must have at least 1 button, max 2
664
+ const hasImage = header.some(c => c.IMAGES);
665
+ if (hasImage && footer.length === 0) {
666
+ throw new Error("ZNS voucher có component Image phải có ít nhất 1 button");
667
+ }
668
+ }
669
+ /**
670
+ * Validate rating template layout (type 5)
671
+ */
672
+ validateRatingTemplateLayout(header, body, footer) {
673
+ // Header: Logo only (1)
674
+ if (header.length !== 1 || !header[0].LOGO) {
675
+ throw new Error("ZNS đánh giá dịch vụ phải có đúng 1 component LOGO trong header");
676
+ }
677
+ // Body: Title (1) + Paragraph (0-1) + Rating (1)
678
+ const titles = body.filter(c => c.TITLE);
679
+ const paragraphs = body.filter(c => c.PARAGRAPH);
680
+ const ratings = body.filter(c => c.RATING);
681
+ if (titles.length !== 1) {
682
+ throw new Error("ZNS đánh giá dịch vụ phải có đúng 1 component TITLE");
683
+ }
684
+ if (paragraphs.length > 1) {
685
+ throw new Error("ZNS đánh giá dịch vụ không được có quá 1 component PARAGRAPH");
686
+ }
687
+ if (ratings.length !== 1) {
688
+ throw new Error("ZNS đánh giá dịch vụ phải có đúng 1 component RATING");
689
+ }
690
+ // Footer: Buttons (0-2)
691
+ if (footer.length > 2) {
692
+ throw new Error("ZNS đánh giá dịch vụ không được có quá 2 button");
693
+ }
694
+ }
695
+ /**
696
+ * Validate individual component content
697
+ */
698
+ validateComponent(component) {
699
+ if (component.TITLE) {
700
+ this.validateTitleComponent(component.TITLE);
701
+ }
702
+ if (component.PARAGRAPH) {
703
+ this.validateParagraphComponent(component.PARAGRAPH);
704
+ }
705
+ if (component.OTP) {
706
+ this.validateOTPComponent(component.OTP);
707
+ }
708
+ if (component.TABLE) {
709
+ this.validateTableComponent(component.TABLE);
710
+ }
711
+ if (component.LOGO) {
712
+ this.validateLogoComponent(component.LOGO);
713
+ }
714
+ if (component.IMAGES) {
715
+ this.validateImagesComponent(component.IMAGES);
716
+ }
717
+ if (component.BUTTONS) {
718
+ this.validateButtonsComponent(component.BUTTONS);
719
+ }
720
+ if (component.PAYMENT) {
721
+ this.validatePaymentComponent(component.PAYMENT);
722
+ }
723
+ if (component.VOUCHER) {
724
+ this.validateVoucherComponent(component.VOUCHER);
725
+ }
726
+ if (component.RATING) {
727
+ this.validateRatingComponent(component.RATING);
728
+ }
729
+ }
730
+ /**
731
+ * Validate TITLE component
732
+ */
733
+ validateTitleComponent(title) {
734
+ if (!title.value || typeof title.value !== 'string') {
735
+ throw new Error("TITLE component phải có field value kiểu string");
736
+ }
737
+ if (title.value.length < 9 || title.value.length > 65) {
738
+ throw new Error("TITLE value phải có độ dài từ 9 đến 65 ký tự");
739
+ }
740
+ // Check max 4 params
741
+ const paramCount = (title.value.match(/\{\{[^}]+\}\}/g) || []).length;
742
+ if (paramCount > 4) {
743
+ throw new Error("TITLE component không được có quá 4 params");
744
+ }
745
+ }
746
+ /**
747
+ * Validate PARAGRAPH component
748
+ */
749
+ validateParagraphComponent(paragraph) {
750
+ if (!paragraph.value || typeof paragraph.value !== 'string') {
751
+ throw new Error("PARAGRAPH component phải có field value kiểu string");
752
+ }
753
+ if (paragraph.value.length < 9 || paragraph.value.length > 400) {
754
+ throw new Error("PARAGRAPH value phải có độ dài từ 9 đến 400 ký tự");
755
+ }
756
+ // Check max 10 params
757
+ const paramCount = (paragraph.value.match(/\{\{[^}]+\}\}/g) || []).length;
758
+ if (paramCount > 10) {
759
+ throw new Error("PARAGRAPH component không được có quá 10 params");
760
+ }
761
+ }
762
+ /**
763
+ * Validate OTP component
764
+ */
765
+ validateOTPComponent(otp) {
766
+ if (!otp.value || typeof otp.value !== 'string') {
767
+ throw new Error("OTP component phải có field value kiểu string");
768
+ }
769
+ if (otp.value.length < 1 || otp.value.length > 10) {
770
+ throw new Error("OTP value phải có độ dài từ 1 đến 10 ký tự");
771
+ }
772
+ }
773
+ /**
774
+ * Validate TABLE component
775
+ */
776
+ validateTableComponent(table) {
777
+ if (!table.rows || !Array.isArray(table.rows)) {
778
+ throw new Error("TABLE component phải có field rows kiểu array");
779
+ }
780
+ if (table.rows.length < 2 || table.rows.length > 8) {
781
+ throw new Error("TABLE rows phải có từ 2 đến 8 objects");
782
+ }
783
+ table.rows.forEach((row, index) => {
784
+ if (!row.title || typeof row.title !== 'string') {
785
+ throw new Error(`TABLE row ${index + 1} phải có field title kiểu string`);
786
+ }
787
+ if (row.title.length < 3 || row.title.length > 36) {
788
+ throw new Error(`TABLE row ${index + 1} title phải có độ dài từ 3 đến 36 ký tự`);
789
+ }
790
+ if (!row.value || typeof row.value !== 'string') {
791
+ throw new Error(`TABLE row ${index + 1} phải có field value kiểu string`);
792
+ }
793
+ if (row.value.length < 3 || row.value.length > 90) {
794
+ throw new Error(`TABLE row ${index + 1} value phải có độ dài từ 3 đến 90 ký tự`);
795
+ }
796
+ if (row.row_type !== undefined && ![0, 1, 2, 3, 4, 5].includes(row.row_type)) {
797
+ throw new Error(`TABLE row ${index + 1} row_type phải là 0, 1, 2, 3, 4 hoặc 5`);
798
+ }
799
+ });
800
+ }
801
+ /**
802
+ * Validate LOGO component
803
+ */
804
+ validateLogoComponent(logo) {
805
+ if (!logo.light || !logo.dark) {
806
+ throw new Error("LOGO component phải có cả light và dark attachment");
807
+ }
808
+ this.validateAttachment(logo.light, "LOGO light");
809
+ this.validateAttachment(logo.dark, "LOGO dark");
810
+ }
811
+ /**
812
+ * Validate IMAGES component
813
+ */
814
+ validateImagesComponent(images) {
815
+ if (!images.items || !Array.isArray(images.items)) {
816
+ throw new Error("IMAGES component phải có field items kiểu array");
817
+ }
818
+ if (images.items.length < 1 || images.items.length > 3) {
819
+ throw new Error("IMAGES items phải có từ 1 đến 3 attachments");
820
+ }
821
+ images.items.forEach((item, index) => {
822
+ this.validateAttachment(item, `IMAGES item ${index + 1}`);
823
+ });
824
+ }
825
+ /**
826
+ * Validate BUTTONS component
827
+ */
828
+ validateButtonsComponent(buttons) {
829
+ if (!buttons.items || !Array.isArray(buttons.items)) {
830
+ throw new Error("BUTTONS component phải có field items kiểu array");
831
+ }
832
+ if (buttons.items.length < 1 || buttons.items.length > 2) {
833
+ throw new Error("BUTTONS items phải có từ 1 đến 2 objects");
834
+ }
835
+ buttons.items.forEach((button, index) => {
836
+ if (!button.type || ![1, 2, 3, 4, 5, 6, 7, 8, 9].includes(button.type)) {
837
+ throw new Error(`BUTTON ${index + 1} type phải là 1, 2, 3, 4, 5, 6, 7, 8 hoặc 9`);
838
+ }
839
+ if (!button.title || typeof button.title !== 'string') {
840
+ throw new Error(`BUTTON ${index + 1} phải có field title kiểu string`);
841
+ }
842
+ if (button.title.length < 5 || button.title.length > 30) {
843
+ throw new Error(`BUTTON ${index + 1} title phải có độ dài từ 5 đến 30 ký tự`);
844
+ }
845
+ if (!button.content || typeof button.content !== 'string') {
846
+ throw new Error(`BUTTON ${index + 1} phải có field content kiểu string`);
847
+ }
848
+ });
849
+ }
850
+ /**
851
+ * Validate PAYMENT component
852
+ */
853
+ validatePaymentComponent(payment) {
854
+ if (!payment.bank_code || typeof payment.bank_code !== 'string') {
855
+ throw new Error("PAYMENT component phải có field bank_code kiểu string");
856
+ }
857
+ if (!payment.account_name || typeof payment.account_name !== 'string') {
858
+ throw new Error("PAYMENT component phải có field account_name kiểu string");
859
+ }
860
+ if (payment.account_name.length < 1 || payment.account_name.length > 100) {
861
+ throw new Error("PAYMENT account_name phải có độ dài từ 1 đến 100 ký tự");
862
+ }
863
+ if (!payment.bank_account || typeof payment.bank_account !== 'string') {
864
+ throw new Error("PAYMENT component phải có field bank_account kiểu string");
865
+ }
866
+ if (payment.bank_account.length < 1 || payment.bank_account.length > 100) {
867
+ throw new Error("PAYMENT bank_account phải có độ dài từ 1 đến 100 ký tự");
868
+ }
869
+ if (!payment.amount) {
870
+ throw new Error("PAYMENT component phải có field amount");
871
+ }
872
+ if (payment.note && (payment.note.length < 1 || payment.note.length > 90)) {
873
+ throw new Error("PAYMENT note phải có độ dài từ 1 đến 90 ký tự");
874
+ }
875
+ }
876
+ /**
877
+ * Validate VOUCHER component
878
+ */
879
+ validateVoucherComponent(voucher) {
880
+ if (!voucher.name || typeof voucher.name !== 'string') {
881
+ throw new Error("VOUCHER component phải có field name kiểu string");
882
+ }
883
+ if (voucher.name.length < 1 || voucher.name.length > 30) {
884
+ throw new Error("VOUCHER name phải có độ dài từ 1 đến 30 ký tự");
885
+ }
886
+ if (!voucher.condition || typeof voucher.condition !== 'string') {
887
+ throw new Error("VOUCHER component phải có field condition kiểu string");
888
+ }
889
+ if (voucher.condition.length < 1 || voucher.condition.length > 40) {
890
+ throw new Error("VOUCHER condition phải có độ dài từ 1 đến 40 ký tự");
891
+ }
892
+ if (!voucher.end_date || typeof voucher.end_date !== 'string') {
893
+ throw new Error("VOUCHER component phải có field end_date kiểu string");
894
+ }
895
+ if (!voucher.voucher_code || typeof voucher.voucher_code !== 'string') {
896
+ throw new Error("VOUCHER component phải có field voucher_code kiểu string");
897
+ }
898
+ if (voucher.voucher_code.length < 1 || voucher.voucher_code.length > 25) {
899
+ throw new Error("VOUCHER voucher_code phải có độ dài từ 1 đến 25 ký tự");
900
+ }
901
+ if (voucher.display_code !== undefined && ![1, 2, 3].includes(voucher.display_code)) {
902
+ throw new Error("VOUCHER display_code phải là 1, 2 hoặc 3");
903
+ }
904
+ }
905
+ /**
906
+ * Validate RATING component
907
+ */
908
+ validateRatingComponent(rating) {
909
+ if (!rating.items || !Array.isArray(rating.items)) {
910
+ throw new Error("RATING component phải có field items kiểu array");
911
+ }
912
+ if (rating.items.length !== 5) {
913
+ throw new Error("RATING items phải có đúng 5 objects");
914
+ }
915
+ rating.items.forEach((item, index) => {
916
+ const starValue = index + 1;
917
+ if (item.star !== starValue) {
918
+ throw new Error(`RATING item ${index + 1} phải có star = ${starValue}`);
919
+ }
920
+ if (!item.title || typeof item.title !== 'string') {
921
+ throw new Error(`RATING item ${index + 1} phải có field title kiểu string`);
922
+ }
923
+ if (item.title.length < 1 || item.title.length > 50) {
924
+ throw new Error(`RATING item ${index + 1} title phải có độ dài từ 1 đến 50 ký tự`);
925
+ }
926
+ if (item.question && (item.question.length < 1 || item.question.length > 100)) {
927
+ throw new Error(`RATING item ${index + 1} question phải có độ dài từ 1 đến 100 ký tự`);
928
+ }
929
+ if (item.answers && Array.isArray(item.answers)) {
930
+ if (item.answers.length < 1 || item.answers.length > 5) {
931
+ throw new Error(`RATING item ${index + 1} answers phải có từ 1 đến 5 câu trả lời`);
932
+ }
933
+ item.answers.forEach((answer, answerIndex) => {
934
+ if (!answer || answer.length < 1 || answer.length > 50) {
935
+ throw new Error(`RATING item ${index + 1} answer ${answerIndex + 1} phải có độ dài từ 1 đến 50 ký tự`);
936
+ }
937
+ });
938
+ }
939
+ if (!item.thanks || typeof item.thanks !== 'string') {
940
+ throw new Error(`RATING item ${index + 1} phải có field thanks kiểu string`);
941
+ }
942
+ if (item.thanks.length < 1 || item.thanks.length > 100) {
943
+ throw new Error(`RATING item ${index + 1} thanks phải có độ dài từ 1 đến 100 ký tự`);
944
+ }
945
+ if (!item.description || typeof item.description !== 'string') {
946
+ throw new Error(`RATING item ${index + 1} phải có field description kiểu string`);
947
+ }
948
+ if (item.description.length < 1 || item.description.length > 200) {
949
+ throw new Error(`RATING item ${index + 1} description phải có độ dài từ 1 đến 200 ký tự`);
950
+ }
951
+ });
952
+ }
953
+ /**
954
+ * Validate attachment object
955
+ */
956
+ validateAttachment(attachment, context) {
957
+ if (!attachment.type || !attachment.media_id) {
958
+ throw new Error(`${context} phải có type và media_id`);
959
+ }
960
+ if (attachment.type !== "IMAGE") {
961
+ throw new Error(`${context} type phải là "IMAGE"`);
962
+ }
963
+ }
964
+ /**
965
+ * Validate params array
966
+ */
967
+ validateParams(params, layout) {
968
+ const paramTypeConstraints = {
969
+ "1": 30, // Tên khách hàng
970
+ "2": 15, // Số điện thoại
971
+ "3": 200, // Địa chỉ
972
+ "4": 30, // Mã số
973
+ "5": 30, // Nhãn tùy chỉnh
974
+ "6": 30, // Trạng thái giao dịch
975
+ "7": 50, // Thông tin liên hệ
976
+ "8": 5, // Giới tính / Danh xưng
977
+ "9": 200, // Tên sản phẩm / Thương hiệu
978
+ "10": 20, // Số lượng / Số tiền
979
+ "11": 20, // Thời gian
980
+ "12": 10, // OTP
981
+ "13": 200, // URL
982
+ "14": 12, // Tiền tệ (VNĐ)
983
+ "15": 90 // Bank transfer note
984
+ };
985
+ // Get all params used in layout
986
+ const layoutString = JSON.stringify(layout);
987
+ const usedParams = new Set();
988
+ const paramMatches = layoutString.match(/\{\{([^}]+)\}\}/g);
989
+ if (paramMatches) {
990
+ paramMatches.forEach(match => {
991
+ const paramName = match.replace(/[{}]/g, '');
992
+ usedParams.add(paramName);
993
+ });
994
+ }
995
+ // Validate each param
996
+ params.forEach((param, index) => {
997
+ if (!param.name || typeof param.name !== 'string') {
998
+ throw new Error(`Param ${index + 1} phải có field name kiểu string`);
999
+ }
1000
+ if (!param.type || typeof param.type !== 'string') {
1001
+ throw new Error(`Param ${index + 1} phải có field type kiểu string`);
1002
+ }
1003
+ if (!Object.keys(paramTypeConstraints).includes(param.type)) {
1004
+ throw new Error(`Param ${index + 1} type phải là 1-15`);
1005
+ }
1006
+ if (!param.sample_value || typeof param.sample_value !== 'string') {
1007
+ throw new Error(`Param ${index + 1} phải có field sample_value kiểu string`);
1008
+ }
1009
+ // Validate sample_value length based on type
1010
+ const maxLength = paramTypeConstraints[param.type];
1011
+ if (param.sample_value.length > maxLength) {
1012
+ throw new Error(`Param ${index + 1} sample_value không được vượt quá ${maxLength} ký tự cho type ${param.type}`);
1013
+ }
1014
+ // Remove param from used set if found
1015
+ usedParams.delete(param.name);
1016
+ });
1017
+ // Check if all used params are defined
1018
+ if (usedParams.size > 0) {
1019
+ 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(', ')}`);
1020
+ }
1021
+ }
439
1022
  handleZNSError(error, defaultMessage) {
440
1023
  if (error.response?.data) {
441
1024
  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.27.3",
3
+ "version": "1.28.1",
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",