@warriorteam/redai-zalo-sdk 1.23.0 → 1.24.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 +71 -0
- package/dist/services/promotion.service.d.ts +9 -13
- package/dist/services/promotion.service.d.ts.map +1 -1
- package/dist/services/promotion.service.js +53 -6
- package/dist/services/promotion.service.js.map +1 -1
- package/dist/types/message.d.ts +65 -4
- package/dist/types/message.d.ts.map +1 -1
- package/docs/BUTTON_TYPES_GUIDE.md +283 -0
- package/docs/PROMOTION_API_V3_MIGRATION.md +30 -3
- package/examples/promotion-examples.ts +10 -10
- package/package.json +12 -3
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,77 @@ All notable changes to this project will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [1.24.0] - 2025-08-29
|
|
9
|
+
|
|
10
|
+
### 🎯 ENHANCED BUTTON TYPES SYSTEM - Complete TypeScript Support
|
|
11
|
+
|
|
12
|
+
#### 🔧 Comprehensive Button Type System
|
|
13
|
+
- **ADDED**: 5 specific button interfaces với proper TypeScript typing
|
|
14
|
+
- **ADDED**: `OpenUrlButton`, `QueryShowButton`, `QueryHideButton`, `OpenSmsButton`, `OpenPhoneButton`
|
|
15
|
+
- **UNION TYPE**: `PromotionButton` union type cho strict typing
|
|
16
|
+
- **FLEXIBLE INPUT**: `PromotionButtonInput` interface cho easy usage
|
|
17
|
+
|
|
18
|
+
#### ⚙️ Auto-Conversion System
|
|
19
|
+
- **ADDED**: `convertToTypedButton()` helper function
|
|
20
|
+
- **SMART CONVERSION**: Tự động convert từ flexible input sang proper API format
|
|
21
|
+
- **PAYLOAD VALIDATION**: Validate payload format theo từng button type
|
|
22
|
+
- **BACKWARD COMPATIBLE**: Hỗ trợ cả old và new button formats
|
|
23
|
+
|
|
24
|
+
#### 📊 Button Type Specifications
|
|
25
|
+
- **oa.open.url**: `{ url: string }` payload format
|
|
26
|
+
- **oa.query.show**: `string` payload (max 1000 chars) - tin nhắn HIỂN THỊ
|
|
27
|
+
- **oa.query.hide**: `string` payload (max 1000 chars) - tin nhắn ẨN
|
|
28
|
+
- **oa.open.sms**: `{ content: string, phone_code: string }` (content max 160 chars)
|
|
29
|
+
- **oa.open.phone**: `{ phone_code: string }` payload format
|
|
30
|
+
|
|
31
|
+
#### 🛡️ Enhanced Validation & Limits
|
|
32
|
+
- **TITLE LIMIT**: Max 100 characters per button title
|
|
33
|
+
- **PAYLOAD LIMITS**: Specific limits cho từng button type
|
|
34
|
+
- **BUTTON COUNT**: Max 4 buttons per message
|
|
35
|
+
- **TYPE SAFETY**: Full TypeScript support với proper type checking
|
|
36
|
+
|
|
37
|
+
#### 🎨 Developer Experience Improvements
|
|
38
|
+
- **INTELLISENSE**: Full autocomplete support cho button types
|
|
39
|
+
- **TYPE HINTS**: Clear type hints cho payload structures
|
|
40
|
+
- **ERROR PREVENTION**: Compile-time error checking
|
|
41
|
+
- **FLEXIBLE API**: Support both strict typing và flexible input
|
|
42
|
+
|
|
43
|
+
### 📚 COMPREHENSIVE DOCUMENTATION
|
|
44
|
+
|
|
45
|
+
#### New Documentation
|
|
46
|
+
- **ADDED**: `docs/BUTTON_TYPES_GUIDE.md` - Complete button types reference
|
|
47
|
+
- **DETAILED**: All 5 button types với examples và specifications
|
|
48
|
+
- **BEST PRACTICES**: Guidelines cho button usage và optimization
|
|
49
|
+
|
|
50
|
+
#### Enhanced Documentation
|
|
51
|
+
- **UPDATED**: `docs/PROMOTION_API_V3_MIGRATION.md` - TypeScript support section
|
|
52
|
+
- **UPDATED**: `examples/promotion-examples.ts` - Proper typed examples
|
|
53
|
+
- **TYPE EXAMPLES**: Comprehensive examples cho tất cả button types
|
|
54
|
+
|
|
55
|
+
### 🔄 Migration & Compatibility
|
|
56
|
+
|
|
57
|
+
#### Backward Compatibility
|
|
58
|
+
- **MAINTAINED**: Existing code continues to work without changes
|
|
59
|
+
- **AUTO-CONVERT**: Old button formats automatically converted
|
|
60
|
+
- **GRADUAL MIGRATION**: Developers có thể migrate từ từ
|
|
61
|
+
|
|
62
|
+
#### TypeScript Migration
|
|
63
|
+
```typescript
|
|
64
|
+
// Old (still works)
|
|
65
|
+
buttons: Array<{ title: string; type: string; payload: any }>
|
|
66
|
+
|
|
67
|
+
// New (recommended)
|
|
68
|
+
buttons: PromotionButtonInput[]
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
### 🎯 USE CASES ENHANCED
|
|
72
|
+
- **E-COMMERCE**: Product purchase buttons với proper URL handling
|
|
73
|
+
- **CUSTOMER SERVICE**: Query buttons cho automated responses
|
|
74
|
+
- **COMMUNICATION**: SMS và phone buttons cho direct contact
|
|
75
|
+
- **ENGAGEMENT**: Mixed button types cho comprehensive user interaction
|
|
76
|
+
|
|
77
|
+
---
|
|
78
|
+
|
|
8
79
|
## [1.23.0] - 2025-08-29
|
|
9
80
|
|
|
10
81
|
### 🚀 NEW FEATURE - Multiple Users Promotion với Real-time Tracking
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ZaloClient } from "../clients/zalo-client";
|
|
2
|
-
import { SendMessageResponse, PromotionMessage, MessageRecipient, PromotionUserResult, MultiplePromotionProgress, MultiplePromotionResult } from "../types/message";
|
|
2
|
+
import { SendMessageResponse, PromotionMessage, MessageRecipient, PromotionUserResult, MultiplePromotionProgress, MultiplePromotionResult, PromotionButtonInput } from "../types/message";
|
|
3
3
|
/**
|
|
4
4
|
* Service xử lý các API tin nhắn truyền thông/quảng cáo của Zalo Official Account
|
|
5
5
|
*
|
|
@@ -44,6 +44,12 @@ export declare class PromotionService {
|
|
|
44
44
|
private readonly client;
|
|
45
45
|
private readonly promotionApiUrl;
|
|
46
46
|
constructor(client: ZaloClient);
|
|
47
|
+
/**
|
|
48
|
+
* Convert input button to proper typed button for API
|
|
49
|
+
* @param button Input button with flexible typing
|
|
50
|
+
* @returns Properly typed button for API
|
|
51
|
+
*/
|
|
52
|
+
private convertToTypedButton;
|
|
47
53
|
/**
|
|
48
54
|
* Gửi tin nhắn truyền thông/quảng cáo
|
|
49
55
|
* @param accessToken Access token của Official Account
|
|
@@ -120,12 +126,7 @@ export declare class PromotionService {
|
|
|
120
126
|
value: string;
|
|
121
127
|
}>;
|
|
122
128
|
footerText?: string;
|
|
123
|
-
buttons:
|
|
124
|
-
title: string;
|
|
125
|
-
imageIcon?: string;
|
|
126
|
-
type: string;
|
|
127
|
-
payload: Record<string, any> | string;
|
|
128
|
-
}>;
|
|
129
|
+
buttons: PromotionButtonInput[];
|
|
129
130
|
language?: "VI" | "EN";
|
|
130
131
|
}): Promise<SendMessageResponse>;
|
|
131
132
|
/**
|
|
@@ -150,12 +151,7 @@ export declare class PromotionService {
|
|
|
150
151
|
value: string;
|
|
151
152
|
}>;
|
|
152
153
|
footerText?: string;
|
|
153
|
-
buttons:
|
|
154
|
-
title: string;
|
|
155
|
-
imageIcon?: string;
|
|
156
|
-
type: string;
|
|
157
|
-
payload: Record<string, any> | string;
|
|
158
|
-
}>;
|
|
154
|
+
buttons: PromotionButtonInput[];
|
|
159
155
|
language?: "VI" | "EN";
|
|
160
156
|
}, options?: {
|
|
161
157
|
mode?: "sequential" | "parallel";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"promotion.service.d.ts","sourceRoot":"","sources":["../../src/services/promotion.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,EACnB,yBAAyB,EACzB,uBAAuB,
|
|
1
|
+
{"version":3,"file":"promotion.service.d.ts","sourceRoot":"","sources":["../../src/services/promotion.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,EACnB,yBAAyB,EACzB,uBAAuB,EACvB,oBAAoB,EAErB,MAAM,kBAAkB,CAAC;AAG1B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,qBAAa,gBAAgB;IAIf,OAAO,CAAC,QAAQ,CAAC,MAAM;IAHnC,OAAO,CAAC,QAAQ,CAAC,eAAe,CACsB;gBAEzB,MAAM,EAAE,UAAU;IAE/C;;;;OAIG;IACH,OAAO,CAAC,oBAAoB;IAqD5B;;;;;;OAMG;IACU,oBAAoB,CAC/B,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,gBAAgB,EAC3B,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,mBAAmB,CAAC;IAyC/B;;;;;;OAMG;IACU,oBAAoB,CAC/B,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,gBAAgB,EAC3B,aAAa,EAAE;QACb,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,EAAE,MAAM,CAAC;QACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,aAAa,EAAE,MAAM,CAAC;QACtB,aAAa,EAAE,MAAM,CAAC;QACtB,eAAe,EAAE,MAAM,CAAC;QACxB,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;KACpB,GACA,OAAO,CAAC,mBAAmB,CAAC;IAyF/B;;;;;;OAMG;IACU,qBAAqB,CAChC,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,gBAAgB,EAC3B,SAAS,EAAE;QACT,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,EAAE,MAAM,CAAC;QACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,CAAC;QACjB,eAAe,EAAE,MAAM,CAAC;KACzB,GACA,OAAO,CAAC,mBAAmB,CAAC;IAiF/B;;;;;;OAMG;IACU,cAAc,CACzB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,gBAAgB,EAC3B,cAAc,EAAE;QACd,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,QAAQ,EAAE,KAAK,CAAC;YACd,KAAK,EAAE,MAAM,CAAC;YACd,GAAG,EAAE,MAAM,CAAC;SACb,CAAC,CAAC;QACH,cAAc,EAAE,MAAM,CAAC;KACxB,GACA,OAAO,CAAC,mBAAmB,CAAC;IA6E/B;;;;;;OAMG;IACU,mBAAmB,CAC9B,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,gBAAgB,EAC3B,aAAa,EAAE;QACb,YAAY,EAAE,MAAM,CAAC;QACrB,aAAa,EAAE,MAAM,CAAC;QACtB,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,KAAK,CAAC;YAAE,GAAG,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QACjD,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,OAAO,EAAE,oBAAoB,EAAE,CAAC;QAChC,QAAQ,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;KACxB,GACA,OAAO,CAAC,mBAAmB,CAAC;IA6D/B;;;OAGG;IACH,OAAO,CAAC,wBAAwB;IA2BhC;;;;;;;OAOG;IACU,kCAAkC,CAC7C,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EAAE,EACjB,aAAa,EAAE;QACb,YAAY,EAAE,MAAM,CAAC;QACrB,aAAa,EAAE,MAAM,CAAC;QACtB,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,KAAK,CAAC;YAAE,GAAG,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QACjD,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,OAAO,EAAE,oBAAoB,EAAE,CAAC;QAChC,QAAQ,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;KACxB,EACD,OAAO,CAAC,EAAE;QACR,IAAI,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC;QACjC,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,yBAAyB,KAAK,IAAI,CAAC;QAC3D,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,mBAAmB,KAAK,IAAI,CAAC;QACvD,eAAe,CAAC,EAAE,OAAO,CAAC;KAC3B,GACA,OAAO,CAAC,uBAAuB,CAAC;IA0MnC;;OAEG;IACH,OAAO,CAAC,mBAAmB;CAW5B"}
|
|
@@ -47,6 +47,58 @@ class PromotionService {
|
|
|
47
47
|
this.client = client;
|
|
48
48
|
this.promotionApiUrl = "https://openapi.zalo.me/v3.0/oa/message/promotion";
|
|
49
49
|
}
|
|
50
|
+
/**
|
|
51
|
+
* Convert input button to proper typed button for API
|
|
52
|
+
* @param button Input button with flexible typing
|
|
53
|
+
* @returns Properly typed button for API
|
|
54
|
+
*/
|
|
55
|
+
convertToTypedButton(button) {
|
|
56
|
+
const baseButton = {
|
|
57
|
+
title: button.title,
|
|
58
|
+
image_icon: button.imageIcon || "",
|
|
59
|
+
type: button.type,
|
|
60
|
+
};
|
|
61
|
+
// Convert payload based on button type
|
|
62
|
+
switch (button.type) {
|
|
63
|
+
case "oa.open.url":
|
|
64
|
+
return {
|
|
65
|
+
...baseButton,
|
|
66
|
+
payload: typeof button.payload === 'object' && button.payload.url
|
|
67
|
+
? { url: button.payload.url }
|
|
68
|
+
: { url: button.payload }
|
|
69
|
+
};
|
|
70
|
+
case "oa.query.show":
|
|
71
|
+
case "oa.query.hide":
|
|
72
|
+
return {
|
|
73
|
+
...baseButton,
|
|
74
|
+
payload: typeof button.payload === 'string'
|
|
75
|
+
? button.payload
|
|
76
|
+
: button.payload.content || button.payload
|
|
77
|
+
};
|
|
78
|
+
case "oa.open.sms":
|
|
79
|
+
return {
|
|
80
|
+
...baseButton,
|
|
81
|
+
payload: typeof button.payload === 'object'
|
|
82
|
+
? {
|
|
83
|
+
content: button.payload.content,
|
|
84
|
+
phone_code: button.payload.phone_code || button.payload.phoneCode
|
|
85
|
+
}
|
|
86
|
+
: button.payload
|
|
87
|
+
};
|
|
88
|
+
case "oa.open.phone":
|
|
89
|
+
return {
|
|
90
|
+
...baseButton,
|
|
91
|
+
payload: typeof button.payload === 'object'
|
|
92
|
+
? { phone_code: button.payload.phone_code || button.payload.phoneCode }
|
|
93
|
+
: { phone_code: button.payload }
|
|
94
|
+
};
|
|
95
|
+
default:
|
|
96
|
+
return {
|
|
97
|
+
...baseButton,
|
|
98
|
+
payload: button.payload
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
}
|
|
50
102
|
/**
|
|
51
103
|
* Gửi tin nhắn truyền thông/quảng cáo
|
|
52
104
|
* @param accessToken Access token của Official Account
|
|
@@ -380,12 +432,7 @@ class PromotionService {
|
|
|
380
432
|
template_type: "promotion",
|
|
381
433
|
language: promotionData.language || "VI",
|
|
382
434
|
elements,
|
|
383
|
-
buttons: promotionData.buttons.map(btn => (
|
|
384
|
-
title: btn.title,
|
|
385
|
-
image_icon: btn.imageIcon || "",
|
|
386
|
-
type: btn.type,
|
|
387
|
-
payload: btn.payload,
|
|
388
|
-
})),
|
|
435
|
+
buttons: promotionData.buttons.map(btn => this.convertToTypedButton(btn)),
|
|
389
436
|
},
|
|
390
437
|
},
|
|
391
438
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"promotion.service.js","sourceRoot":"","sources":["../../src/services/promotion.service.ts"],"names":[],"mappings":";;;AASA,4CAA6D;AAE7D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,MAAa,gBAAgB;IAI3B,YAA6B,MAAkB;QAAlB,WAAM,GAAN,MAAM,CAAY;QAH9B,oBAAe,GAC9B,mDAAmD,CAAC;IAEJ,CAAC;IAEnD;;;;;;OAMG;IACI,KAAK,CAAC,oBAAoB,CAC/B,WAAmB,EACnB,SAA2B,EAC3B,OAAyB;QAEzB,IAAI,CAAC;YACH,6BAA6B;YAC7B,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC;YAEvC,oCAAoC;YACpC,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAE3B,MAAM,OAAO,GAAG;gBACd,SAAS;gBACT,OAAO;aACR,CAAC;YAEF,MAAM,MAAM,GACV,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;YAExE,IAAI,MAAM,CAAC,KAAK,KAAK,CAAC,EAAE,CAAC;gBACvB,MAAM,IAAI,qBAAY,CACpB,MAAM,CAAC,OAAO,IAAI,kCAAkC,EACpD,MAAM,CAAC,KAAK,EACZ,MAAM,CACP,CAAC;YACJ,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;gBACjB,MAAM,IAAI,qBAAY,CAAC,2BAA2B,EAAE,CAAC,CAAC,CAAC,CAAC;YAC1D,CAAC;YAED,OAAO,MAAM,CAAC,IAAI,CAAC;QACrB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,qBAAY,EAAE,CAAC;gBAClC,MAAM,KAAK,CAAC;YACd,CAAC;YACD,MAAM,IAAI,qBAAY,CACpB,qCAAsC,KAAe,CAAC,OAAO,EAAE,EAC/D,CAAC,CAAC,EACF,KAAK,CACN,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,oBAAoB,CAC/B,WAAmB,EACnB,SAA2B,EAC3B,aAUC;QAED,IAAI,CAAC;YACH,MAAM,OAAO,GAAqB;gBAChC,IAAI,EAAE,WAAW;gBACjB,UAAU,EAAE;oBACV,IAAI,EAAE,UAAU;oBAChB,OAAO,EAAE;wBACP,aAAa,EAAE,WAAW;wBAC1B,QAAQ,EAAE,IAAI;wBACd,QAAQ,EAAE;4BACR,iBAAiB;4BACjB;gCACE,IAAI,EAAE,QAAQ;gCACd,GAAG,CAAC,aAAa,CAAC,YAAY;oCAC5B,CAAC,CAAC,EAAE,aAAa,EAAE,aAAa,CAAC,YAAY,EAAE;oCAC/C,CAAC,CAAC,EAAE,SAAS,EAAE,aAAa,CAAC,QAAQ,EAAE,CACxC;6BACF;4BACD,iBAAiB;4BACjB;gCACE,IAAI,EAAE,QAAQ;gCACd,OAAO,EAAE,QAAQ,aAAa,CAAC,KAAK,OAAO;gCAC3C,KAAK,EAAE,QAAQ;6BAChB;4BACD,mBAAmB;4BACnB;gCACE,IAAI,EAAE,MAAM;gCACZ,OAAO,EAAE,aAAa,CAAC,WAAW;gCAClC,KAAK,EAAE,MAAM;6BACd;4BACD,cAAc;4BACd;gCACE,IAAI,EAAE,OAAO;gCACb,OAAO,EAAE;oCACP;wCACE,GAAG,EAAE,SAAS;wCACd,KAAK,EAAE,GAAG,aAAa,CAAC,aAAa,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG;qCACjE;oCACD;wCACE,GAAG,EAAE,gBAAgB;wCACrB,KAAK,EAAE,GAAG,aAAa,CAAC,aAAa,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG;qCACjE;oCACD;wCACE,GAAG,EAAE,UAAU;wCACf,KAAK,EAAE,GAAG,aAAa,CAAC,eAAe,GAAG;qCAC3C;oCACD;wCACE,GAAG,EAAE,aAAa;wCAClB,KAAK,EAAE,aAAa,CAAC,UAAU;qCAChC;iCACF;6BACF;4BACD,cAAc;4BACd;gCACE,IAAI,EAAE,MAAM;gCACZ,OAAO,EAAE,8CAA8C;gCACvD,KAAK,EAAE,QAAQ;6BAChB;yBACF;wBACD,OAAO,EAAE;4BACP;gCACE,KAAK,EAAE,UAAU;gCACjB,UAAU,EAAE,EAAE;gCACd,IAAI,EAAE,aAAa;gCACnB,OAAO,EAAE;oCACP,GAAG,EAAE,aAAa,CAAC,UAAU;iCAC9B;6BACF;4BACD;gCACE,KAAK,EAAE,mBAAmB;gCAC1B,UAAU,EAAE,EAAE;gCACd,IAAI,EAAE,eAAe;gCACrB,OAAO,EAAE,UAAU;6BACpB;yBACF;qBACF;iBACF;aACF,CAAC;YAEF,OAAO,IAAI,CAAC,oBAAoB,CAAC,WAAW,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QACpE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,qBAAY,CACpB,qCAAsC,KAAe,CAAC,OAAO,EAAE,EAC/D,CAAC,CAAC,EACF,KAAK,CACN,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,qBAAqB,CAChC,WAAmB,EACnB,SAA2B,EAC3B,SAQC;QAED,IAAI,CAAC;YACH,MAAM,OAAO,GAAqB;gBAChC,IAAI,EAAE,WAAW;gBACjB,UAAU,EAAE;oBACV,IAAI,EAAE,UAAU;oBAChB,OAAO,EAAE;wBACP,aAAa,EAAE,WAAW;wBAC1B,QAAQ,EAAE,IAAI;wBACd,QAAQ,EAAE;4BACR,iBAAiB;4BACjB;gCACE,IAAI,EAAE,QAAQ;gCACd,GAAG,CAAC,SAAS,CAAC,YAAY;oCACxB,CAAC,CAAC,EAAE,aAAa,EAAE,SAAS,CAAC,YAAY,EAAE;oCAC3C,CAAC,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC,QAAQ,EAAE,CACpC;6BACF;4BACD,iBAAiB;4BACjB;gCACE,IAAI,EAAE,QAAQ;gCACd,OAAO,EAAE,MAAM,SAAS,CAAC,KAAK,KAAK;gCACnC,KAAK,EAAE,QAAQ;6BAChB;4BACD,mBAAmB;4BACnB;gCACE,IAAI,EAAE,MAAM;gCACZ,OAAO,EAAE,SAAS,CAAC,WAAW;gCAC9B,KAAK,EAAE,MAAM;6BACd;4BACD,sBAAsB;4BACtB;gCACE,IAAI,EAAE,OAAO;gCACb,OAAO,EAAE;oCACP;wCACE,GAAG,EAAE,WAAW;wCAChB,KAAK,EAAE,SAAS,CAAC,SAAS;qCAC3B;oCACD;wCACE,GAAG,EAAE,UAAU;wCACf,KAAK,EAAE,SAAS,CAAC,QAAQ;qCAC1B;iCACF;6BACF;4BACD,sBAAsB;4BACtB;gCACE,IAAI,EAAE,MAAM;gCACZ,OAAO,EAAE,yCAAyC;gCAClD,KAAK,EAAE,QAAQ;6BAChB;yBACF;wBACD,OAAO,EAAE;4BACP;gCACE,KAAK,EAAE,kBAAkB;gCACzB,UAAU,EAAE,EAAE;gCACd,IAAI,EAAE,aAAa;gCACnB,OAAO,EAAE;oCACP,GAAG,EAAE,SAAS,CAAC,eAAe;iCAC/B;6BACF;4BACD;gCACE,KAAK,EAAE,iBAAiB;gCACxB,UAAU,EAAE,EAAE;gCACd,IAAI,EAAE,eAAe;gCACrB,OAAO,EAAE,SAAS;6BACnB;yBACF;qBACF;iBACF;aACF,CAAC;YAEF,OAAO,IAAI,CAAC,oBAAoB,CAAC,WAAW,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QACpE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,qBAAY,CACpB,sCAAuC,KAAe,CAAC,OAAO,EAAE,EAChE,CAAC,CAAC,EACF,KAAK,CACN,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,cAAc,CACzB,WAAmB,EACnB,SAA2B,EAC3B,cAUC;QAED,IAAI,CAAC;YACH,MAAM,OAAO,GAAqB;gBAChC,IAAI,EAAE,WAAW;gBACjB,UAAU,EAAE;oBACV,IAAI,EAAE,UAAU;oBAChB,OAAO,EAAE;wBACP,aAAa,EAAE,WAAW;wBAC1B,QAAQ,EAAE,IAAI;wBACd,QAAQ,EAAE;4BACR,iBAAiB;4BACjB;gCACE,IAAI,EAAE,QAAQ;gCACd,GAAG,CAAC,cAAc,CAAC,YAAY;oCAC7B,CAAC,CAAC,EAAE,aAAa,EAAE,cAAc,CAAC,YAAY,EAAE;oCAChD,CAAC,CAAC,EAAE,SAAS,EAAE,cAAc,CAAC,QAAQ,EAAE,CACzC;6BACF;4BACD,iBAAiB;4BACjB;gCACE,IAAI,EAAE,QAAQ;gCACd,OAAO,EAAE,MAAM,cAAc,CAAC,KAAK,EAAE;gCACrC,KAAK,EAAE,QAAQ;6BAChB;4BACD,eAAe;4BACf;gCACE,IAAI,EAAE,MAAM;gCACZ,OAAO,EAAE,cAAc,CAAC,OAAO;gCAC/B,KAAK,EAAE,MAAM;6BACd;4BACD,iBAAiB;4BACjB;gCACE,IAAI,EAAE,OAAO;gCACb,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;oCACpE,GAAG,EAAE,YAAY,KAAK,GAAG,CAAC,EAAE;oCAC5B,KAAK,EAAE,OAAO,CAAC,KAAK;iCACrB,CAAC,CAAC;6BACJ;4BACD,cAAc;4BACd;gCACE,IAAI,EAAE,MAAM;gCACZ,OAAO,EAAE,6CAA6C;gCACtD,KAAK,EAAE,QAAQ;6BAChB;yBACF;wBACD,OAAO,EAAE;4BACP;gCACE,KAAK,EAAE,aAAa;gCACpB,UAAU,EAAE,EAAE;gCACd,IAAI,EAAE,aAAa;gCACnB,OAAO,EAAE;oCACP,GAAG,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,GAAG;iCAC5C;6BACF;4BACD;gCACE,KAAK,EAAE,aAAa;gCACpB,UAAU,EAAE,EAAE;gCACd,IAAI,EAAE,aAAa;gCACnB,OAAO,EAAE;oCACP,GAAG,EAAE,cAAc,CAAC,cAAc;iCACnC;6BACF;yBACF;qBACF;iBACF;aACF,CAAC;YAEF,OAAO,IAAI,CAAC,oBAAoB,CAAC,WAAW,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QACpE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,qBAAY,CACpB,8BAA+B,KAAe,CAAC,OAAO,EAAE,EACxD,CAAC,CAAC,EACF,KAAK,CACN,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,mBAAmB,CAC9B,WAAmB,EACnB,SAA2B,EAC3B,aAaC;QAED,IAAI,CAAC;YACH,MAAM,QAAQ,GAAU;gBACtB,iBAAiB;gBACjB;oBACE,aAAa,EAAE,aAAa,CAAC,YAAY;oBACzC,IAAI,EAAE,QAAQ;iBACf;gBACD,iBAAiB;gBACjB;oBACE,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,aAAa,CAAC,aAAa;iBACrC;gBACD,eAAe;gBACf;oBACE,IAAI,EAAE,MAAM;oBACZ,KAAK,EAAE,MAAM;oBACb,OAAO,EAAE,aAAa,CAAC,WAAW;iBACnC;aACF,CAAC;YAEF,wBAAwB;YACxB,IAAI,aAAa,CAAC,SAAS,IAAI,aAAa,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAClE,QAAQ,CAAC,IAAI,CAAC;oBACZ,IAAI,EAAE,OAAO;oBACb,OAAO,EAAE,aAAa,CAAC,SAAS;iBACjC,CAAC,CAAC;YACL,CAAC;YAED,8BAA8B;YAC9B,IAAI,aAAa,CAAC,UAAU,EAAE,CAAC;gBAC7B,QAAQ,CAAC,IAAI,CAAC;oBACZ,IAAI,EAAE,MAAM;oBACZ,KAAK,EAAE,QAAQ;oBACf,OAAO,EAAE,aAAa,CAAC,UAAU;iBAClC,CAAC,CAAC;YACL,CAAC;YAED,MAAM,OAAO,GAAqB;gBAChC,IAAI,EAAE,WAAW;gBACjB,UAAU,EAAE;oBACV,IAAI,EAAE,UAAU;oBAChB,OAAO,EAAE;wBACP,aAAa,EAAE,WAAW;wBAC1B,QAAQ,EAAE,aAAa,CAAC,QAAQ,IAAI,IAAI;wBACxC,QAAQ;wBACR,OAAO,EAAE,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;4BACzC,KAAK,EAAE,GAAG,CAAC,KAAK;4BAChB,UAAU,EAAE,GAAG,CAAC,SAAS,IAAI,EAAE;4BAC/B,IAAI,EAAE,GAAG,CAAC,IAAI;4BACd,OAAO,EAAE,GAAG,CAAC,OAAO;yBACrB,CAAC,CAAC;qBACJ;iBACF;aACF,CAAC;YAEF,OAAO,IAAI,CAAC,oBAAoB,CAAC,WAAW,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QACpE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,qBAAY,CACpB,oCAAqC,KAAe,CAAC,OAAO,EAAE,EAC9D,CAAC,CAAC,EACF,KAAK,CACN,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,wBAAwB,CAAC,OAAyB;QACxD,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;YACxB,MAAM,IAAI,qBAAY,CAAC,wCAAwC,EAAE,CAAC,CAAC,CAAC,CAAC;QACvE,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;YAChC,MAAM,IAAI,qBAAY,CACpB,gDAAgD,EAChD,CAAC,CAAC,CACH,CAAC;QACJ,CAAC;QAED,IAAI,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,aAAa,KAAK,WAAW,EAAE,CAAC;YAC7D,MAAM,IAAI,qBAAY,CACpB,oDAAoD,EACpD,CAAC,CAAC,CACH,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7F,MAAM,IAAI,qBAAY,CACpB,kDAAkD,EAClD,CAAC,CAAC,CACH,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;;;;;OAOG;IACI,KAAK,CAAC,kCAAkC,CAC7C,WAAmB,EACnB,OAAiB,EACjB,aAaC,EACD,OAMC;QAED,IAAI,CAAC;YACH,kBAAkB;YAClB,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACrC,MAAM,IAAI,qBAAY,CAAC,gCAAgC,EAAE,CAAC,CAAC,CAAC,CAAC;YAC/D,CAAC;YAED,oBAAoB;YACpB,MAAM,aAAa,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;YAE5C,wBAAwB;YACxB,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAE3B,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC7B,MAAM,OAAO,GAA0B,EAAE,CAAC;YAC1C,MAAM,IAAI,GAAG,OAAO,EAAE,IAAI,IAAI,YAAY,CAAC;YAC3C,MAAM,OAAO,GAAG,OAAO,EAAE,OAAO,IAAI,IAAI,CAAC;YACzC,MAAM,eAAe,GAAG,OAAO,EAAE,eAAe,KAAK,KAAK,CAAC;YAE3D,4BAA4B;YAC5B,IAAI,OAAO,EAAE,UAAU,EAAE,CAAC;gBACxB,OAAO,CAAC,UAAU,CAAC;oBACjB,KAAK,EAAE,aAAa,CAAC,MAAM;oBAC3B,SAAS,EAAE,CAAC;oBACZ,UAAU,EAAE,CAAC;oBACb,MAAM,EAAE,CAAC;oBACT,aAAa,EAAE,IAAI;oBACnB,SAAS;oBACT,sBAAsB,EAAE,IAAI;iBAC7B,CAAC,CAAC;YACL,CAAC;YAED,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;gBACxB,gBAAgB;gBAChB,MAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;oBAClD,IAAI,CAAC;wBACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAC3C,WAAW,EACX,EAAE,OAAO,EAAE,MAAM,EAAE,EACnB,aAAa,CACd,CAAC;wBAEF,MAAM,UAAU,GAAwB;4BACtC,MAAM;4BACN,OAAO,EAAE,IAAI;4BACb,MAAM;4BACN,KAAK,EAAE,IAAI;4BACX,SAAS,EAAE,IAAI,IAAI,EAAE;yBACtB,CAAC;wBAEF,yBAAyB;wBACzB,IAAI,OAAO,EAAE,cAAc,EAAE,CAAC;4BAC5B,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;wBACrC,CAAC;wBAED,OAAO,UAAU,CAAC;oBACpB,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,MAAM,UAAU,GAAwB;4BACtC,MAAM;4BACN,OAAO,EAAE,KAAK;4BACd,MAAM,EAAE,IAAI;4BACZ,KAAK,EAAE,KAAK,YAAY,qBAAY,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,qBAAY,CAC7D,0BAA0B,MAAM,KAAM,KAAe,CAAC,OAAO,EAAE,EAC/D,CAAC,CAAC,EACF,KAAK,CACN;4BACD,SAAS,EAAE,IAAI,IAAI,EAAE;yBACtB,CAAC;wBAEF,yBAAyB;wBACzB,IAAI,OAAO,EAAE,cAAc,EAAE,CAAC;4BAC5B,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;wBACrC,CAAC;wBAED,IAAI,CAAC,eAAe,EAAE,CAAC;4BACrB,MAAM,UAAU,CAAC,KAAK,CAAC;wBACzB,CAAC;wBAED,OAAO,UAAU,CAAC;oBACpB,CAAC;gBACH,CAAC,CAAC,CAAC;gBAEH,MAAM,eAAe,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBACpD,OAAO,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,CAAC;YACnC,CAAC;iBAAM,CAAC;gBACN,cAAc;gBACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBAC9C,MAAM,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;oBAEhC,IAAI,CAAC;wBACH,oBAAoB;wBACpB,IAAI,OAAO,EAAE,UAAU,EAAE,CAAC;4BACxB,MAAM,SAAS,GAAG,CAAC,CAAC;4BACpB,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;4BACzD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;4BACtD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;4BACvC,MAAM,cAAc,GAAG,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;4BACxD,MAAM,SAAS,GAAG,aAAa,CAAC,MAAM,GAAG,SAAS,CAAC;4BACnD,MAAM,sBAAsB,GAAG,SAAS,GAAG,cAAc,CAAC;4BAE1D,OAAO,CAAC,UAAU,CAAC;gCACjB,KAAK,EAAE,aAAa,CAAC,MAAM;gCAC3B,SAAS;gCACT,UAAU;gCACV,MAAM;gCACN,aAAa,EAAE,MAAM;gCACrB,SAAS;gCACT,sBAAsB;6BACvB,CAAC,CAAC;wBACL,CAAC;wBAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAC3C,WAAW,EACX,EAAE,OAAO,EAAE,MAAM,EAAE,EACnB,aAAa,CACd,CAAC;wBAEF,MAAM,UAAU,GAAwB;4BACtC,MAAM;4BACN,OAAO,EAAE,IAAI;4BACb,MAAM;4BACN,KAAK,EAAE,IAAI;4BACX,SAAS,EAAE,IAAI,IAAI,EAAE;yBACtB,CAAC;wBAEF,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;wBAEzB,yBAAyB;wBACzB,IAAI,OAAO,EAAE,cAAc,EAAE,CAAC;4BAC5B,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;wBACrC,CAAC;wBAED,8CAA8C;wBAC9C,IAAI,CAAC,GAAG,aAAa,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;4BAChD,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;wBAC7D,CAAC;oBAEH,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,MAAM,UAAU,GAAwB;4BACtC,MAAM;4BACN,OAAO,EAAE,KAAK;4BACd,MAAM,EAAE,IAAI;4BACZ,KAAK,EAAE,KAAK,YAAY,qBAAY,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,qBAAY,CAC7D,0BAA0B,MAAM,KAAM,KAAe,CAAC,OAAO,EAAE,EAC/D,CAAC,CAAC,EACF,KAAK,CACN;4BACD,SAAS,EAAE,IAAI,IAAI,EAAE;yBACtB,CAAC;wBAEF,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;wBAEzB,yBAAyB;wBACzB,IAAI,OAAO,EAAE,cAAc,EAAE,CAAC;4BAC5B,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;wBACrC,CAAC;wBAED,IAAI,CAAC,eAAe,EAAE,CAAC;4BACrB,MAAM,UAAU,CAAC,KAAK,CAAC;wBACzB,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;YAED,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC3B,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YAClD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YAE/C,0BAA0B;YAC1B,IAAI,OAAO,EAAE,UAAU,EAAE,CAAC;gBACxB,OAAO,CAAC,UAAU,CAAC;oBACjB,KAAK,EAAE,aAAa,CAAC,MAAM;oBAC3B,SAAS,EAAE,aAAa,CAAC,MAAM;oBAC/B,UAAU,EAAE,UAAU,CAAC,MAAM;oBAC7B,MAAM,EAAE,MAAM,CAAC,MAAM;oBACrB,aAAa,EAAE,IAAI;oBACnB,SAAS;oBACT,sBAAsB,EAAE,CAAC;iBAC1B,CAAC,CAAC;YACL,CAAC;YAED,OAAO;gBACL,KAAK,EAAE,aAAa,CAAC,MAAM;gBAC3B,UAAU,EAAE,UAAU,CAAC,MAAM;gBAC7B,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,OAAO;gBACP,aAAa,EAAE,OAAO,GAAG,SAAS;gBAClC,IAAI;gBACJ,SAAS,EAAE,IAAI,IAAI,CAAC,SAAS,CAAC;gBAC9B,OAAO,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC;gBAC1B,WAAW,EAAE,CAAC,UAAU,CAAC,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,GAAG,GAAG;aAC9D,CAAC;QAEJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,qBAAY,CACpB,+CAAgD,KAAe,CAAC,OAAO,EAAE,EACzE,CAAC,CAAC,EACF,KAAK,CACN,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACK,mBAAmB;QACzB,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,IAAI,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC;QAE5B,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,IAAI,EAAE,EAAE,CAAC;YAC3B,MAAM,IAAI,qBAAY,CACpB,oEAAoE,EACpE,IAAI,CACL,CAAC;QACJ,CAAC;IACH,CAAC;CACF;AA/tBD,4CA+tBC"}
|
|
1
|
+
{"version":3,"file":"promotion.service.js","sourceRoot":"","sources":["../../src/services/promotion.service.ts"],"names":[],"mappings":"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"}
|
package/dist/types/message.d.ts
CHANGED
|
@@ -290,13 +290,74 @@ export interface PromotionTableElement {
|
|
|
290
290
|
}
|
|
291
291
|
export type PromotionElement = PromotionBannerElement | PromotionHeaderElement | PromotionTextElement | PromotionTableElement;
|
|
292
292
|
/**
|
|
293
|
-
*
|
|
293
|
+
* Button payload types for different actions
|
|
294
294
|
*/
|
|
295
|
-
export interface
|
|
295
|
+
export interface OpenUrlPayload {
|
|
296
|
+
url: string;
|
|
297
|
+
}
|
|
298
|
+
export interface OpenSmsPayload {
|
|
299
|
+
content: string;
|
|
300
|
+
phone_code: string;
|
|
301
|
+
}
|
|
302
|
+
export interface OpenPhonePayload {
|
|
303
|
+
phone_code: string;
|
|
304
|
+
}
|
|
305
|
+
export type QueryPayload = string;
|
|
306
|
+
/**
|
|
307
|
+
* Specific button types with proper payload typing
|
|
308
|
+
*/
|
|
309
|
+
export interface OpenUrlButton {
|
|
296
310
|
title: string;
|
|
297
311
|
image_icon?: string;
|
|
298
|
-
type:
|
|
299
|
-
payload:
|
|
312
|
+
type: "oa.open.url";
|
|
313
|
+
payload: OpenUrlPayload;
|
|
314
|
+
}
|
|
315
|
+
export interface QueryShowButton {
|
|
316
|
+
title: string;
|
|
317
|
+
image_icon?: string;
|
|
318
|
+
type: "oa.query.show";
|
|
319
|
+
payload: QueryPayload;
|
|
320
|
+
}
|
|
321
|
+
export interface QueryHideButton {
|
|
322
|
+
title: string;
|
|
323
|
+
image_icon?: string;
|
|
324
|
+
type: "oa.query.hide";
|
|
325
|
+
payload: QueryPayload;
|
|
326
|
+
}
|
|
327
|
+
export interface OpenSmsButton {
|
|
328
|
+
title: string;
|
|
329
|
+
image_icon?: string;
|
|
330
|
+
type: "oa.open.sms";
|
|
331
|
+
payload: OpenSmsPayload;
|
|
332
|
+
}
|
|
333
|
+
export interface OpenPhoneButton {
|
|
334
|
+
title: string;
|
|
335
|
+
image_icon?: string;
|
|
336
|
+
type: "oa.open.phone";
|
|
337
|
+
payload: OpenPhonePayload;
|
|
338
|
+
}
|
|
339
|
+
/**
|
|
340
|
+
* Union type for all supported button types
|
|
341
|
+
*/
|
|
342
|
+
export type PromotionButton = OpenUrlButton | QueryShowButton | QueryHideButton | OpenSmsButton | OpenPhoneButton;
|
|
343
|
+
/**
|
|
344
|
+
* Input button interface for method parameters (flexible typing)
|
|
345
|
+
*/
|
|
346
|
+
export interface PromotionButtonInput {
|
|
347
|
+
title: string;
|
|
348
|
+
imageIcon?: string;
|
|
349
|
+
type: "oa.open.url" | "oa.query.show" | "oa.query.hide" | "oa.open.sms" | "oa.open.phone";
|
|
350
|
+
payload: any;
|
|
351
|
+
}
|
|
352
|
+
/**
|
|
353
|
+
* Generic button interface for flexible usage (backward compatibility)
|
|
354
|
+
*/
|
|
355
|
+
export interface GenericPromotionButton {
|
|
356
|
+
title: string;
|
|
357
|
+
imageIcon?: string;
|
|
358
|
+
image_icon?: string;
|
|
359
|
+
type: "oa.open.url" | "oa.query.show" | "oa.query.hide" | "oa.open.sms" | "oa.open.phone";
|
|
360
|
+
payload: OpenUrlPayload | QueryPayload | OpenSmsPayload | OpenPhonePayload;
|
|
300
361
|
}
|
|
301
362
|
/**
|
|
302
363
|
* Promotion message types for v3.0 API
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../../src/types/message.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,WAAY,SAAQ,WAAW;IAC9C,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,YAAa,SAAQ,WAAW;IAC/C,IAAI,EAAE,OAAO,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE;QACX,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE;YACP,GAAG,EAAE,MAAM,CAAC;SACb,CAAC;KACH,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,WAAY,SAAQ,WAAW;IAC9C,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE;QACX,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE;YACP,GAAG,EAAE,MAAM,CAAC;SACb,CAAC;KACH,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,cAAe,SAAQ,WAAW;IACjD,IAAI,EAAE,SAAS,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE;QACX,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE;YACP,EAAE,EAAE,MAAM,CAAC;SACZ,CAAC;KACH,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,eAAgB,SAAQ,WAAW;IAClD,IAAI,EAAE,UAAU,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACvC;AAED;;GAEG;AACH,MAAM,MAAM,OAAO,GACf,WAAW,GACX,YAAY,GACZ,WAAW,GACX,cAAc,GACd,eAAe,CAAC;AAEpB;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,SAAS,EAAE,gBAAgB,CAAC;IAE5B;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IAEjB;;OAEG;IACH,cAAc,CAAC,EACX,cAAc,GACd,aAAa,GACb,WAAW,GACX,UAAU,GACV,QAAQ,GACR,aAAa,CAAC;IAElB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,KAAK,CAAC,EAAE;QACN,4EAA4E;QAC5E,UAAU,EAAE,OAAO,GAAG,WAAW,GAAG,gBAAgB,GAAG,cAAc,CAAC;QACtE,sDAAsD;QACtD,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,kDAAkD;QAClD,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,2CAA2C;QAC3C,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,6DAA6D;QAC7D,UAAU,CAAC,EAAE,IAAI,GAAG,KAAK,CAAC;QAC1B,2DAA2D;QAC3D,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,aAAa,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,GAAG,EAAE,MAAM,CAAC;IAEZ;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,oBAAY,aAAa;IACvB,IAAI,SAAS;IACb,SAAS,cAAc;IACvB,IAAI,SAAS;IACb,MAAM,WAAW;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,KAAK,EAAE,SAAS,GAAG,UAAU,GAAG,MAAM,CAAC;IAEvC;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,uBAAwB,SAAQ,WAAW;IAC1D,IAAI,EAAE,mBAAmB,CAAC;IAC1B,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,wBAAyB,SAAQ,WAAW;IAC3D,IAAI,EAAE,oBAAoB,CAAC;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,uBAAwB,SAAQ,WAAW;IAC1D,IAAI,EAAE,mBAAmB,CAAC;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,0BAA2B,SAAQ,WAAW;IAC7D,IAAI,EAAE,sBAAsB,CAAC;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,wBAAyB,SAAQ,WAAW;IAC3D,IAAI,EAAE,oBAAoB,CAAC;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE;QACL,UAAU,EAAE,MAAM,CAAC;QACnB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;CACH;AAED,MAAM,WAAW,8BAA+B,SAAQ,WAAW;IACjE,IAAI,EAAE,2BAA2B,CAAC;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,KAAK,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,CAAC;QAC1C,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC,CAAC;CACJ;AAED;;GAEG;AACH,MAAM,WAAW,kBAAmB,SAAQ,WAAW;IACrD,IAAI,EAAE,aAAa,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvC,IAAI,CAAC,EAAE,aAAa,GAAG,YAAY,CAAC;IACpC,UAAU,CAAC,EAAE;QACX,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE;YACP,aAAa,EAAE,MAAM,CAAC;YACtB,QAAQ,EAAE,KAAK,CAAC;gBACd,KAAK,EAAE,MAAM,CAAC;gBACd,QAAQ,CAAC,EAAE,MAAM,CAAC;gBAClB,SAAS,CAAC,EAAE,MAAM,CAAC;gBACnB,cAAc,CAAC,EAAE;oBACf,IAAI,EAAE,MAAM,CAAC;oBACb,GAAG,EAAE,MAAM,CAAC;iBACb,CAAC;gBACF,OAAO,CAAC,EAAE,KAAK,CAAC;oBACd,IAAI,EAAE,MAAM,CAAC;oBACb,KAAK,EAAE,MAAM,CAAC;oBACd,GAAG,CAAC,EAAE,MAAM,CAAC;oBACb,OAAO,CAAC,EAAE,MAAM,CAAC;iBAClB,CAAC,CAAC;aACJ,CAAC,CAAC;SACJ,CAAC;KACH,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,QAAQ,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,QAAQ,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;CACrC;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;CACrC;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,KAAK,CAAC;QACb,GAAG,EAAE,MAAM,CAAC;QACZ,KAAK,EAAE,MAAM,CAAC;KACf,CAAC,CAAC;CACJ;AAED,MAAM,MAAM,gBAAgB,GACxB,sBAAsB,GACtB,sBAAsB,GACtB,oBAAoB,GACpB,qBAAqB,CAAC;AAE1B;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../../src/types/message.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,283 @@
|
|
|
1
|
+
# Button Types Guide - Zalo Promotion API v3.0
|
|
2
|
+
|
|
3
|
+
## Tổng quan
|
|
4
|
+
|
|
5
|
+
Zalo Promotion API v3.0 hỗ trợ 5 loại button với payload format khác nhau. Mỗi button type có cấu trúc payload riêng biệt và giới hạn cụ thể.
|
|
6
|
+
|
|
7
|
+
## Button Types được hỗ trợ
|
|
8
|
+
|
|
9
|
+
### 1. **Open URL Button** (`oa.open.url`)
|
|
10
|
+
|
|
11
|
+
Mở URL trong ứng dụng Zalo khi người dùng bấm vào.
|
|
12
|
+
|
|
13
|
+
```typescript
|
|
14
|
+
interface OpenUrlButton {
|
|
15
|
+
title: string; // Max 100 characters
|
|
16
|
+
image_icon?: string;
|
|
17
|
+
type: "oa.open.url";
|
|
18
|
+
payload: {
|
|
19
|
+
url: string; // URL to open
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
**Example:**
|
|
25
|
+
```typescript
|
|
26
|
+
{
|
|
27
|
+
title: "Mua ngay",
|
|
28
|
+
type: "oa.open.url",
|
|
29
|
+
payload: {
|
|
30
|
+
url: "https://shop.example.com/product/123"
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
### 2. **Query Show Button** (`oa.query.show`)
|
|
36
|
+
|
|
37
|
+
Gửi tin nhắn từ user đến OA, tin nhắn **hiển thị** trên chat.
|
|
38
|
+
|
|
39
|
+
```typescript
|
|
40
|
+
interface QueryShowButton {
|
|
41
|
+
title: string; // Max 100 characters
|
|
42
|
+
image_icon?: string;
|
|
43
|
+
type: "oa.query.show";
|
|
44
|
+
payload: string; // Max 1000 characters
|
|
45
|
+
}
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
**Example:**
|
|
49
|
+
```typescript
|
|
50
|
+
{
|
|
51
|
+
title: "Xem thêm sản phẩm",
|
|
52
|
+
type: "oa.query.show",
|
|
53
|
+
payload: "#xem_san_pham"
|
|
54
|
+
}
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
### 3. **Query Hide Button** (`oa.query.hide`)
|
|
58
|
+
|
|
59
|
+
Gửi tin nhắn từ user đến OA, tin nhắn **ẩn** trên chat.
|
|
60
|
+
|
|
61
|
+
```typescript
|
|
62
|
+
interface QueryHideButton {
|
|
63
|
+
title: string; // Max 100 characters
|
|
64
|
+
image_icon?: string;
|
|
65
|
+
type: "oa.query.hide";
|
|
66
|
+
payload: string; // Max 1000 characters
|
|
67
|
+
}
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
**Example:**
|
|
71
|
+
```typescript
|
|
72
|
+
{
|
|
73
|
+
title: "Liên hệ tư vấn",
|
|
74
|
+
type: "oa.query.hide",
|
|
75
|
+
payload: "#tu_van"
|
|
76
|
+
}
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
### 4. **Open SMS Button** (`oa.open.sms`)
|
|
80
|
+
|
|
81
|
+
Mở ứng dụng SMS với nội dung và số điện thoại có sẵn.
|
|
82
|
+
|
|
83
|
+
```typescript
|
|
84
|
+
interface OpenSmsButton {
|
|
85
|
+
title: string; // Max 100 characters
|
|
86
|
+
image_icon?: string;
|
|
87
|
+
type: "oa.open.sms";
|
|
88
|
+
payload: {
|
|
89
|
+
content: string; // Max 160 characters
|
|
90
|
+
phone_code: string; // Phone number
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
**Example:**
|
|
96
|
+
```typescript
|
|
97
|
+
{
|
|
98
|
+
title: "Gửi SMS",
|
|
99
|
+
type: "oa.open.sms",
|
|
100
|
+
payload: {
|
|
101
|
+
content: "Tôi muốn tư vấn về sản phẩm",
|
|
102
|
+
phone_code: "84919018791"
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
### 5. **Open Phone Button** (`oa.open.phone`)
|
|
108
|
+
|
|
109
|
+
Mở ứng dụng gọi điện với số điện thoại có sẵn.
|
|
110
|
+
|
|
111
|
+
```typescript
|
|
112
|
+
interface OpenPhoneButton {
|
|
113
|
+
title: string; // Max 100 characters
|
|
114
|
+
image_icon?: string;
|
|
115
|
+
type: "oa.open.phone";
|
|
116
|
+
payload: {
|
|
117
|
+
phone_code: string; // Phone number
|
|
118
|
+
};
|
|
119
|
+
}
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
**Example:**
|
|
123
|
+
```typescript
|
|
124
|
+
{
|
|
125
|
+
title: "Gọi ngay",
|
|
126
|
+
type: "oa.open.phone",
|
|
127
|
+
payload: {
|
|
128
|
+
phone_code: "84919018791"
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
## Union Type cho TypeScript
|
|
134
|
+
|
|
135
|
+
```typescript
|
|
136
|
+
type PromotionButton =
|
|
137
|
+
| OpenUrlButton
|
|
138
|
+
| QueryShowButton
|
|
139
|
+
| QueryHideButton
|
|
140
|
+
| OpenSmsButton
|
|
141
|
+
| OpenPhoneButton;
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
## Flexible Input Interface
|
|
145
|
+
|
|
146
|
+
Để dễ sử dụng, SDK cung cấp interface linh hoạt:
|
|
147
|
+
|
|
148
|
+
```typescript
|
|
149
|
+
interface PromotionButtonInput {
|
|
150
|
+
title: string; // Max 100 characters
|
|
151
|
+
imageIcon?: string; // camelCase style
|
|
152
|
+
type: "oa.open.url" | "oa.query.show" | "oa.query.hide" | "oa.open.sms" | "oa.open.phone";
|
|
153
|
+
payload: any; // Flexible payload, will be converted internally
|
|
154
|
+
}
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
## Cách sử dụng trong SDK
|
|
158
|
+
|
|
159
|
+
### Basic Usage
|
|
160
|
+
|
|
161
|
+
```typescript
|
|
162
|
+
const buttons: PromotionButtonInput[] = [
|
|
163
|
+
{
|
|
164
|
+
title: "Mua ngay",
|
|
165
|
+
type: "oa.open.url",
|
|
166
|
+
payload: { url: "https://shop.example.com" }
|
|
167
|
+
},
|
|
168
|
+
{
|
|
169
|
+
title: "Tư vấn",
|
|
170
|
+
type: "oa.query.hide",
|
|
171
|
+
payload: "#tu_van"
|
|
172
|
+
},
|
|
173
|
+
{
|
|
174
|
+
title: "Gọi hotline",
|
|
175
|
+
type: "oa.open.phone",
|
|
176
|
+
payload: { phone_code: "1900123456" }
|
|
177
|
+
}
|
|
178
|
+
];
|
|
179
|
+
|
|
180
|
+
await promotionService.sendCustomPromotion(
|
|
181
|
+
accessToken,
|
|
182
|
+
{ user_id: "user_id" },
|
|
183
|
+
{
|
|
184
|
+
// ... other promotion data
|
|
185
|
+
buttons
|
|
186
|
+
}
|
|
187
|
+
);
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
### All Button Types Example
|
|
191
|
+
|
|
192
|
+
```typescript
|
|
193
|
+
const allButtonTypes: PromotionButtonInput[] = [
|
|
194
|
+
// Open URL
|
|
195
|
+
{
|
|
196
|
+
title: "Mở website",
|
|
197
|
+
type: "oa.open.url",
|
|
198
|
+
payload: { url: "https://example.com" }
|
|
199
|
+
},
|
|
200
|
+
|
|
201
|
+
// Query Show (visible message)
|
|
202
|
+
{
|
|
203
|
+
title: "Xem menu",
|
|
204
|
+
type: "oa.query.show",
|
|
205
|
+
payload: "#menu"
|
|
206
|
+
},
|
|
207
|
+
|
|
208
|
+
// Query Hide (hidden message)
|
|
209
|
+
{
|
|
210
|
+
title: "Liên hệ support",
|
|
211
|
+
type: "oa.query.hide",
|
|
212
|
+
payload: "#support"
|
|
213
|
+
},
|
|
214
|
+
|
|
215
|
+
// Open SMS
|
|
216
|
+
{
|
|
217
|
+
title: "Gửi SMS",
|
|
218
|
+
type: "oa.open.sms",
|
|
219
|
+
payload: {
|
|
220
|
+
content: "Tôi cần hỗ trợ",
|
|
221
|
+
phone_code: "84919018791"
|
|
222
|
+
}
|
|
223
|
+
},
|
|
224
|
+
|
|
225
|
+
// Open Phone
|
|
226
|
+
{
|
|
227
|
+
title: "Gọi điện",
|
|
228
|
+
type: "oa.open.phone",
|
|
229
|
+
payload: { phone_code: "84919018791" }
|
|
230
|
+
}
|
|
231
|
+
];
|
|
232
|
+
```
|
|
233
|
+
|
|
234
|
+
## Giới hạn và Lưu ý
|
|
235
|
+
|
|
236
|
+
### Giới hạn chung
|
|
237
|
+
- **Tối đa 4 buttons** per message
|
|
238
|
+
- **Title**: Tối đa 100 ký tự
|
|
239
|
+
- **Image icon**: URL, attachment_id, hoặc "default"
|
|
240
|
+
|
|
241
|
+
### Giới hạn theo type
|
|
242
|
+
- **Query payload**: Tối đa 1000 ký tự
|
|
243
|
+
- **SMS content**: Tối đa 160 ký tự
|
|
244
|
+
- **Phone code**: Format quốc tế (VD: 84919018791)
|
|
245
|
+
|
|
246
|
+
### Best Practices
|
|
247
|
+
|
|
248
|
+
1. **Button Order**: Đặt button quan trọng nhất đầu tiên
|
|
249
|
+
2. **Title Length**: Giữ title ngắn gọn, dễ hiểu
|
|
250
|
+
3. **Query Payload**: Sử dụng prefix # để dễ phân biệt
|
|
251
|
+
4. **Phone Format**: Luôn sử dụng mã quốc gia
|
|
252
|
+
5. **URL Validation**: Đảm bảo URL hợp lệ và accessible
|
|
253
|
+
|
|
254
|
+
### Error Handling
|
|
255
|
+
|
|
256
|
+
SDK tự động convert và validate button format. Các lỗi thường gặp:
|
|
257
|
+
|
|
258
|
+
- **Invalid type**: Type không được hỗ trợ
|
|
259
|
+
- **Missing payload**: Payload bị thiếu hoặc sai format
|
|
260
|
+
- **Length exceeded**: Title hoặc payload vượt quá giới hạn
|
|
261
|
+
- **Invalid URL**: URL không hợp lệ cho oa.open.url
|
|
262
|
+
|
|
263
|
+
## Migration từ Generic Button
|
|
264
|
+
|
|
265
|
+
Nếu bạn đang sử dụng generic button format:
|
|
266
|
+
|
|
267
|
+
```typescript
|
|
268
|
+
// Cũ (vẫn hoạt động)
|
|
269
|
+
{
|
|
270
|
+
title: "Button",
|
|
271
|
+
type: "oa.open.url",
|
|
272
|
+
payload: { url: "https://example.com" }
|
|
273
|
+
}
|
|
274
|
+
|
|
275
|
+
// Mới (recommended)
|
|
276
|
+
{
|
|
277
|
+
title: "Button",
|
|
278
|
+
type: "oa.open.url" as const, // Type assertion for better typing
|
|
279
|
+
payload: { url: "https://example.com" }
|
|
280
|
+
}
|
|
281
|
+
```
|
|
282
|
+
|
|
283
|
+
SDK sẽ tự động convert và validate tất cả button formats để đảm bảo tương thích với Zalo API v3.0.
|
|
@@ -110,11 +110,38 @@ buttons: [{
|
|
|
110
110
|
|
|
111
111
|
**Payload format theo type:**
|
|
112
112
|
- `oa.open.url`: `{ url: "https://..." }`
|
|
113
|
-
- `oa.query.show`: `"#callback_data"` (string)
|
|
114
|
-
- `oa.query.hide`: `"#callback_data"` (string)
|
|
115
|
-
- `oa.open.sms`: `{ content: "text", phone_code: "84xxx" }`
|
|
113
|
+
- `oa.query.show`: `"#callback_data"` (string, max 1000 chars)
|
|
114
|
+
- `oa.query.hide`: `"#callback_data"` (string, max 1000 chars)
|
|
115
|
+
- `oa.open.sms`: `{ content: "text", phone_code: "84xxx" }` (content max 160 chars)
|
|
116
116
|
- `oa.open.phone`: `{ phone_code: "84xxx" }`
|
|
117
117
|
|
|
118
|
+
**TypeScript Support:**
|
|
119
|
+
```typescript
|
|
120
|
+
// Typed button interfaces
|
|
121
|
+
interface OpenUrlButton {
|
|
122
|
+
title: string; // Max 100 characters
|
|
123
|
+
type: "oa.open.url";
|
|
124
|
+
payload: { url: string };
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
interface QueryHideButton {
|
|
128
|
+
title: string; // Max 100 characters
|
|
129
|
+
type: "oa.query.hide";
|
|
130
|
+
payload: string; // Max 1000 characters
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
// Union type for all buttons
|
|
134
|
+
type PromotionButton = OpenUrlButton | QueryShowButton | QueryHideButton | OpenSmsButton | OpenPhoneButton;
|
|
135
|
+
|
|
136
|
+
// Flexible input interface
|
|
137
|
+
interface PromotionButtonInput {
|
|
138
|
+
title: string;
|
|
139
|
+
imageIcon?: string;
|
|
140
|
+
type: "oa.open.url" | "oa.query.show" | "oa.query.hide" | "oa.open.sms" | "oa.open.phone";
|
|
141
|
+
payload: any; // SDK auto-converts to proper format
|
|
142
|
+
}
|
|
143
|
+
```
|
|
144
|
+
|
|
118
145
|
### 🌐 Hỗ trợ đa ngôn ngữ
|
|
119
146
|
|
|
120
147
|
Thêm thuộc tính `language` trong payload:
|
|
@@ -39,7 +39,7 @@ export async function sendStandardPromotion() {
|
|
|
39
39
|
{
|
|
40
40
|
title: "Tham khảo chương trình",
|
|
41
41
|
imageIcon: "",
|
|
42
|
-
type: "oa.open.url",
|
|
42
|
+
type: "oa.open.url" as const,
|
|
43
43
|
payload: {
|
|
44
44
|
url: "https://oa.zalo.me/home"
|
|
45
45
|
}
|
|
@@ -47,7 +47,7 @@ export async function sendStandardPromotion() {
|
|
|
47
47
|
{
|
|
48
48
|
title: "Liên hệ chăm sóc viên",
|
|
49
49
|
imageIcon: "aeqg9SYn3nIUYYeWohGI1fYRF3V9f0GHceig8Ckq4WQVcpmWb-9SL8JLPt-6gX0QbTCfSuQv40UEst1imAm53CwFPsQ1jq9MsOnlQe6rIrZOYcrlWBTAKy_UQsV9vnfGozCuOvFfIbN5rcXddFKM4sSYVM0D50I9eWy3",
|
|
50
|
-
type: "oa.query.hide",
|
|
50
|
+
type: "oa.query.hide" as const,
|
|
51
51
|
payload: "#tuvan" // String trực tiếp theo docs
|
|
52
52
|
}
|
|
53
53
|
],
|
|
@@ -174,22 +174,22 @@ export async function sendAllButtonTypes() {
|
|
|
174
174
|
buttons: [
|
|
175
175
|
{
|
|
176
176
|
title: "Mở URL",
|
|
177
|
-
type: "oa.open.url",
|
|
177
|
+
type: "oa.open.url" as const,
|
|
178
178
|
payload: { url: "https://developers.zalo.me/" }
|
|
179
179
|
},
|
|
180
180
|
{
|
|
181
181
|
title: "Query Show",
|
|
182
|
-
type: "oa.query.show",
|
|
182
|
+
type: "oa.query.show" as const,
|
|
183
183
|
payload: "#callback_show"
|
|
184
184
|
},
|
|
185
185
|
{
|
|
186
186
|
title: "Query Hide",
|
|
187
|
-
type: "oa.query.hide",
|
|
187
|
+
type: "oa.query.hide" as const,
|
|
188
188
|
payload: "#callback_hide"
|
|
189
189
|
},
|
|
190
190
|
{
|
|
191
191
|
title: "Gửi SMS",
|
|
192
|
-
type: "oa.open.sms",
|
|
192
|
+
type: "oa.open.sms" as const,
|
|
193
193
|
payload: {
|
|
194
194
|
content: "Xin chào từ Zalo OA",
|
|
195
195
|
phone_code: "84919018791"
|
|
@@ -197,7 +197,7 @@ export async function sendAllButtonTypes() {
|
|
|
197
197
|
},
|
|
198
198
|
{
|
|
199
199
|
title: "Gọi điện",
|
|
200
|
-
type: "oa.open.phone",
|
|
200
|
+
type: "oa.open.phone" as const,
|
|
201
201
|
payload: { phone_code: "84919018791" }
|
|
202
202
|
}
|
|
203
203
|
],
|
|
@@ -244,12 +244,12 @@ export async function sendPromotionToMultipleUsers() {
|
|
|
244
244
|
buttons: [
|
|
245
245
|
{
|
|
246
246
|
title: "Mua ngay",
|
|
247
|
-
type: "oa.open.url",
|
|
247
|
+
type: "oa.open.url" as const,
|
|
248
248
|
payload: { url: "https://shop.example.com/sale" }
|
|
249
249
|
},
|
|
250
250
|
{
|
|
251
251
|
title: "Xem thêm ưu đãi",
|
|
252
|
-
type: "oa.query.hide",
|
|
252
|
+
type: "oa.query.hide" as const,
|
|
253
253
|
payload: "#xemthem"
|
|
254
254
|
}
|
|
255
255
|
],
|
|
@@ -340,7 +340,7 @@ export async function sendPromotionParallel() {
|
|
|
340
340
|
buttons: [
|
|
341
341
|
{
|
|
342
342
|
title: "Mua ngay",
|
|
343
|
-
type: "oa.open.url",
|
|
343
|
+
type: "oa.open.url" as const,
|
|
344
344
|
payload: { url: "https://flash-sale.example.com" }
|
|
345
345
|
}
|
|
346
346
|
]
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@warriorteam/redai-zalo-sdk",
|
|
3
|
-
"version": "1.
|
|
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, and Message Sequence APIs with Real-time Tracking",
|
|
3
|
+
"version": "1.24.0",
|
|
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",
|
|
7
7
|
"scripts": {
|
|
@@ -63,7 +63,16 @@
|
|
|
63
63
|
"sequential-sending",
|
|
64
64
|
"parallel-sending",
|
|
65
65
|
"campaign-management",
|
|
66
|
-
"error-isolation"
|
|
66
|
+
"error-isolation",
|
|
67
|
+
"button-types",
|
|
68
|
+
"typescript-support",
|
|
69
|
+
"type-safety",
|
|
70
|
+
"auto-conversion",
|
|
71
|
+
"payload-validation",
|
|
72
|
+
"query-buttons",
|
|
73
|
+
"url-buttons",
|
|
74
|
+
"sms-buttons",
|
|
75
|
+
"phone-buttons"
|
|
67
76
|
],
|
|
68
77
|
"author": "RedAI Team",
|
|
69
78
|
"license": "MIT",
|