@warriorteam/redai-zalo-sdk 1.23.0 → 1.25.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/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/services/promotion.service.d.ts +10 -13
- package/dist/services/promotion.service.d.ts.map +1 -1
- package/dist/services/promotion.service.js +48 -6
- package/dist/services/promotion.service.js.map +1 -1
- package/dist/types/message.d.ts +1 -86
- package/dist/types/message.d.ts.map +1 -1
- package/dist/types/message.js.map +1 -1
- package/dist/types/promotion.d.ts +186 -0
- package/dist/types/promotion.d.ts.map +1 -0
- package/dist/types/promotion.js +3 -0
- package/dist/types/promotion.js.map +1 -0
- package/docs/BUTTON_TYPES_GUIDE.md +283 -0
- package/docs/PROMOTION_API_V3_MIGRATION.md +30 -3
- package/examples/promotion-examples.ts +117 -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
|
package/dist/index.d.ts
CHANGED
|
@@ -15,8 +15,9 @@ export * from "./types/user";
|
|
|
15
15
|
export * from "./types/zns";
|
|
16
16
|
export * from "./types/article";
|
|
17
17
|
export * from "./types/broadcast";
|
|
18
|
+
export * from "./types/promotion";
|
|
18
19
|
export * from "./constants/zns.constants";
|
|
19
|
-
export type { BaseMessage, TextMessage, ImageMessage, FileMessage, StickerMessage, TemplateMessage as MessageTemplateMessage, ReactionMessage as MessageReactionMessage, Message, MessageRecipient, SendMessageRequest, SendMessageResponse, UploadFileResponse, MessageStatus, MessageEvent, ConsultationTextMessage, ConsultationImageMessage, ConsultationFileMessage, ConsultationStickerMessage, ConsultationQuoteMessage, ConsultationRequestInfoMessage, TransactionMessage,
|
|
20
|
+
export type { BaseMessage, TextMessage, ImageMessage, FileMessage, StickerMessage, TemplateMessage as MessageTemplateMessage, ReactionMessage as MessageReactionMessage, Message, MessageRecipient, SendMessageRequest, SendMessageResponse, UploadFileResponse, MessageStatus, MessageEvent, ConsultationTextMessage, ConsultationImageMessage, ConsultationFileMessage, ConsultationStickerMessage, ConsultationQuoteMessage, ConsultationRequestInfoMessage, TransactionMessage, AnonymousTextMessage, AnonymousImageMessage, AnonymousFileMessage, AnonymousStickerMessage, MiniAppMessage, ExtendedMessage, } from "./types/message";
|
|
20
21
|
export * from "./types/webhook";
|
|
21
22
|
export { UserGroupMessageEvent, isUserSendGroupTextEvent, isUserSendGroupImageEvent, isUserSendGroupVideoEvent, isUserSendGroupAudioEvent, isUserSendGroupFileEvent, isUserGroupMessageEvent, isOASendTextEvent, isOASendImageEvent, isOASendFileEvent, isOASendStickerEvent, isOASendGifEvent, isOASendGroupTextEvent, isOASendGroupImageEvent, isOASendGroupFileEvent, isOASendGroupStickerEvent, isOASendGroupGifEvent, isFromGroup, isFromPersonal, } from "./utils/type-guards";
|
|
22
23
|
export { isUserMessageEvent, isGroupMessageEvent, isOAToUserMessageEvent, isOAToGroupMessageEvent, getMessageDirection, } from "./types/webhook";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAGlC,cAAc,2BAA2B,CAAC;AAG1C,YAAY,EACV,WAAW,EACX,WAAW,EACX,YAAY,EACZ,WAAW,EACX,cAAc,EACd,eAAe,IAAI,sBAAsB,EACzC,eAAe,IAAI,sBAAsB,EACzC,OAAO,EACP,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,aAAa,EACb,YAAY,EACZ,uBAAuB,EACvB,wBAAwB,EACxB,uBAAuB,EACvB,0BAA0B,EAC1B,wBAAwB,EACxB,8BAA8B,EAC9B,kBAAkB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -33,6 +33,7 @@ __exportStar(require("./types/user"), exports);
|
|
|
33
33
|
__exportStar(require("./types/zns"), exports);
|
|
34
34
|
__exportStar(require("./types/article"), exports);
|
|
35
35
|
__exportStar(require("./types/broadcast"), exports);
|
|
36
|
+
__exportStar(require("./types/promotion"), exports);
|
|
36
37
|
// Export ZNS constants and helpers
|
|
37
38
|
__exportStar(require("./constants/zns.constants"), exports);
|
|
38
39
|
// Export webhook types (avoiding conflicts with message and group types)
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;;;;;;;;;;;;;;;AAEH,eAAe;AACf,iDAA+B;AAC/B,+CAA6B;AAC7B,6CAA2B;AAC3B,+CAA6B;AAC7B,8CAA4B;AAC5B,kDAAgC;AAChC,oDAAkC;AAElC,mCAAmC;AACnC,4DAA0C;AAkC1C,yEAAyE;AACzE,kDAAgC;AAEhC,yEAAyE;AACzE,mDAoB6B;AAlB3B,uHAAA,wBAAwB,OAAA;AACxB,wHAAA,yBAAyB,OAAA;AACzB,wHAAA,yBAAyB,OAAA;AACzB,wHAAA,yBAAyB,OAAA;AACzB,uHAAA,wBAAwB,OAAA;AACxB,sHAAA,uBAAuB,OAAA;AACvB,gHAAA,iBAAiB,OAAA;AACjB,iHAAA,kBAAkB,OAAA;AAClB,gHAAA,iBAAiB,OAAA;AACjB,mHAAA,oBAAoB,OAAA;AACpB,+GAAA,gBAAgB,OAAA;AAChB,qHAAA,sBAAsB,OAAA;AACtB,sHAAA,uBAAuB,OAAA;AACvB,qHAAA,sBAAsB,OAAA;AACtB,wHAAA,yBAAyB,OAAA;AACzB,oHAAA,qBAAqB,OAAA;AACrB,0GAAA,WAAW,OAAA;AACX,6GAAA,cAAc,OAAA;AAEhB,kCAAkC;AAClC,2CAMyB;AALvB,6GAAA,kBAAkB,OAAA;AAClB,8GAAA,mBAAmB,OAAA;AACnB,iHAAA,sBAAsB,OAAA;AACtB,kHAAA,uBAAuB,OAAA;AACvB,8GAAA,mBAAmB,OAAA;AAoFrB,iBAAiB;AACjB,qDAAmD;AAA1C,yGAAA,UAAU,OAAA;AACnB,qDAAmD;AAA1C,yGAAA,UAAU,OAAA;AAEnB,kBAAkB;AAClB,wDAAsD;AAA7C,2GAAA,WAAW,OAAA;AACpB,oDAAkD;AAAzC,uGAAA,SAAS,OAAA;AAClB,2GAA2G;AAC3G,wDAAsD;AAA7C,2GAAA,WAAW,OAAA;AACpB,+DAA+D;AAC/D,sDAAoD;AAA3C,yGAAA,UAAU,OAAA;AACnB,0EAAuE;AAA9D,4HAAA,mBAAmB,OAAA;AAC5B,gFAA6E;AAApE,kIAAA,sBAAsB,OAAA;AAC/B,8DAA4D;AAAnD,iHAAA,cAAc,OAAA;AACvB,wEAAqE;AAA5D,0HAAA,kBAAkB,OAAA;AAE3B,iDAAiD;AACjD,wEAAsE;AAA7D,2HAAA,mBAAmB,OAAA;AAC5B,sEAAoE;AAA3D,yHAAA,kBAAkB,OAAA;AAC3B,kEAAgE;AAAvD,qHAAA,gBAAgB,OAAA;AACzB,8EAA2E;AAAlE,gIAAA,qBAAqB,OAAA;AAC9B,oFAQ+C;AAP7C,sIAAA,wBAAwB,OAAA;AAQ1B,kEAAgE;AAAvD,qHAAA,gBAAgB,OAAA;AAEzB,wBAAwB;AACxB,uCAAqC;AAA5B,mGAAA,OAAO,OAAA;AAEhB,iBAAiB;AACjB,uCAAgD;AAAvC,mGAAA,OAAO,OAAW"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;;;;;;;;;;;;;;;AAEH,eAAe;AACf,iDAA+B;AAC/B,+CAA6B;AAC7B,6CAA2B;AAC3B,+CAA6B;AAC7B,8CAA4B;AAC5B,kDAAgC;AAChC,oDAAkC;AAClC,oDAAkC;AAElC,mCAAmC;AACnC,4DAA0C;AAkC1C,yEAAyE;AACzE,kDAAgC;AAEhC,yEAAyE;AACzE,mDAoB6B;AAlB3B,uHAAA,wBAAwB,OAAA;AACxB,wHAAA,yBAAyB,OAAA;AACzB,wHAAA,yBAAyB,OAAA;AACzB,wHAAA,yBAAyB,OAAA;AACzB,uHAAA,wBAAwB,OAAA;AACxB,sHAAA,uBAAuB,OAAA;AACvB,gHAAA,iBAAiB,OAAA;AACjB,iHAAA,kBAAkB,OAAA;AAClB,gHAAA,iBAAiB,OAAA;AACjB,mHAAA,oBAAoB,OAAA;AACpB,+GAAA,gBAAgB,OAAA;AAChB,qHAAA,sBAAsB,OAAA;AACtB,sHAAA,uBAAuB,OAAA;AACvB,qHAAA,sBAAsB,OAAA;AACtB,wHAAA,yBAAyB,OAAA;AACzB,oHAAA,qBAAqB,OAAA;AACrB,0GAAA,WAAW,OAAA;AACX,6GAAA,cAAc,OAAA;AAEhB,kCAAkC;AAClC,2CAMyB;AALvB,6GAAA,kBAAkB,OAAA;AAClB,8GAAA,mBAAmB,OAAA;AACnB,iHAAA,sBAAsB,OAAA;AACtB,kHAAA,uBAAuB,OAAA;AACvB,8GAAA,mBAAmB,OAAA;AAoFrB,iBAAiB;AACjB,qDAAmD;AAA1C,yGAAA,UAAU,OAAA;AACnB,qDAAmD;AAA1C,yGAAA,UAAU,OAAA;AAEnB,kBAAkB;AAClB,wDAAsD;AAA7C,2GAAA,WAAW,OAAA;AACpB,oDAAkD;AAAzC,uGAAA,SAAS,OAAA;AAClB,2GAA2G;AAC3G,wDAAsD;AAA7C,2GAAA,WAAW,OAAA;AACpB,+DAA+D;AAC/D,sDAAoD;AAA3C,yGAAA,UAAU,OAAA;AACnB,0EAAuE;AAA9D,4HAAA,mBAAmB,OAAA;AAC5B,gFAA6E;AAApE,kIAAA,sBAAsB,OAAA;AAC/B,8DAA4D;AAAnD,iHAAA,cAAc,OAAA;AACvB,wEAAqE;AAA5D,0HAAA,kBAAkB,OAAA;AAE3B,iDAAiD;AACjD,wEAAsE;AAA7D,2HAAA,mBAAmB,OAAA;AAC5B,sEAAoE;AAA3D,yHAAA,kBAAkB,OAAA;AAC3B,kEAAgE;AAAvD,qHAAA,gBAAgB,OAAA;AACzB,8EAA2E;AAAlE,gIAAA,qBAAqB,OAAA;AAC9B,oFAQ+C;AAP7C,sIAAA,wBAAwB,OAAA;AAQ1B,kEAAgE;AAAvD,qHAAA,gBAAgB,OAAA;AAEzB,wBAAwB;AACxB,uCAAqC;AAA5B,mGAAA,OAAO,OAAA;AAEhB,iBAAiB;AACjB,uCAAgD;AAAvC,mGAAA,OAAO,OAAW"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { ZaloClient } from "../clients/zalo-client";
|
|
2
|
-
import { SendMessageResponse,
|
|
2
|
+
import { SendMessageResponse, MessageRecipient } from "../types/message";
|
|
3
|
+
import { PromotionMessage, PromotionUserResult, MultiplePromotionProgress, MultiplePromotionResult, PromotionButtonInput } from "../types/promotion";
|
|
3
4
|
/**
|
|
4
5
|
* Service xử lý các API tin nhắn truyền thông/quảng cáo của Zalo Official Account
|
|
5
6
|
*
|
|
@@ -44,6 +45,12 @@ export declare class PromotionService {
|
|
|
44
45
|
private readonly client;
|
|
45
46
|
private readonly promotionApiUrl;
|
|
46
47
|
constructor(client: ZaloClient);
|
|
48
|
+
/**
|
|
49
|
+
* Convert input button to proper typed button for API
|
|
50
|
+
* @param button Input button with flexible typing
|
|
51
|
+
* @returns Properly typed button for API
|
|
52
|
+
*/
|
|
53
|
+
private convertToTypedButton;
|
|
47
54
|
/**
|
|
48
55
|
* Gửi tin nhắn truyền thông/quảng cáo
|
|
49
56
|
* @param accessToken Access token của Official Account
|
|
@@ -120,12 +127,7 @@ export declare class PromotionService {
|
|
|
120
127
|
value: string;
|
|
121
128
|
}>;
|
|
122
129
|
footerText?: string;
|
|
123
|
-
buttons:
|
|
124
|
-
title: string;
|
|
125
|
-
imageIcon?: string;
|
|
126
|
-
type: string;
|
|
127
|
-
payload: Record<string, any> | string;
|
|
128
|
-
}>;
|
|
130
|
+
buttons: PromotionButtonInput[];
|
|
129
131
|
language?: "VI" | "EN";
|
|
130
132
|
}): Promise<SendMessageResponse>;
|
|
131
133
|
/**
|
|
@@ -150,12 +152,7 @@ export declare class PromotionService {
|
|
|
150
152
|
value: string;
|
|
151
153
|
}>;
|
|
152
154
|
footerText?: string;
|
|
153
|
-
buttons:
|
|
154
|
-
title: string;
|
|
155
|
-
imageIcon?: string;
|
|
156
|
-
type: string;
|
|
157
|
-
payload: Record<string, any> | string;
|
|
158
|
-
}>;
|
|
155
|
+
buttons: PromotionButtonInput[];
|
|
159
156
|
language?: "VI" | "EN";
|
|
160
157
|
}, options?: {
|
|
161
158
|
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,
|
|
1
|
+
{"version":3,"file":"promotion.service.d.ts","sourceRoot":"","sources":["../../src/services/promotion.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -47,6 +47,53 @@ 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 using discriminated union
|
|
62
|
+
switch (button.type) {
|
|
63
|
+
case "oa.open.url":
|
|
64
|
+
return {
|
|
65
|
+
...baseButton,
|
|
66
|
+
payload: { url: button.payload.url }
|
|
67
|
+
};
|
|
68
|
+
case "oa.query.show":
|
|
69
|
+
case "oa.query.hide":
|
|
70
|
+
return {
|
|
71
|
+
...baseButton,
|
|
72
|
+
payload: button.payload // Already string type
|
|
73
|
+
};
|
|
74
|
+
case "oa.open.sms":
|
|
75
|
+
return {
|
|
76
|
+
...baseButton,
|
|
77
|
+
payload: {
|
|
78
|
+
content: button.payload.content,
|
|
79
|
+
phone_code: button.payload.phone_code || button.payload.phoneCode || ""
|
|
80
|
+
}
|
|
81
|
+
};
|
|
82
|
+
case "oa.open.phone":
|
|
83
|
+
return {
|
|
84
|
+
...baseButton,
|
|
85
|
+
payload: typeof button.payload === 'string'
|
|
86
|
+
? { phone_code: button.payload }
|
|
87
|
+
: { phone_code: button.payload.phone_code || button.payload.phoneCode || "" }
|
|
88
|
+
};
|
|
89
|
+
default:
|
|
90
|
+
// This should never happen with proper typing
|
|
91
|
+
return {
|
|
92
|
+
...baseButton,
|
|
93
|
+
payload: {}
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
}
|
|
50
97
|
/**
|
|
51
98
|
* Gửi tin nhắn truyền thông/quảng cáo
|
|
52
99
|
* @param accessToken Access token của Official Account
|
|
@@ -380,12 +427,7 @@ class PromotionService {
|
|
|
380
427
|
template_type: "promotion",
|
|
381
428
|
language: promotionData.language || "VI",
|
|
382
429
|
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
|
-
})),
|
|
430
|
+
buttons: promotionData.buttons.map(btn => this.convertToTypedButton(btn)),
|
|
389
431
|
},
|
|
390
432
|
},
|
|
391
433
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"promotion.service.js","sourceRoot":"","sources":["../../src/services/promotion.service.ts"],"names":[],"mappings":"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"}
|
|
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
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Message related types and interfaces
|
|
3
3
|
*/
|
|
4
|
+
import { PromotionMessage } from "./promotion";
|
|
4
5
|
/**
|
|
5
6
|
* Base message interface
|
|
6
7
|
*/
|
|
@@ -263,92 +264,6 @@ export interface TransactionMessage extends BaseMessage {
|
|
|
263
264
|
};
|
|
264
265
|
};
|
|
265
266
|
}
|
|
266
|
-
/**
|
|
267
|
-
* Promotion message element types for v3.0 API
|
|
268
|
-
*/
|
|
269
|
-
export interface PromotionBannerElement {
|
|
270
|
-
type: "banner";
|
|
271
|
-
attachment_id?: string;
|
|
272
|
-
image_url?: string;
|
|
273
|
-
}
|
|
274
|
-
export interface PromotionHeaderElement {
|
|
275
|
-
type: "header";
|
|
276
|
-
content: string;
|
|
277
|
-
align?: "left" | "center" | "right";
|
|
278
|
-
}
|
|
279
|
-
export interface PromotionTextElement {
|
|
280
|
-
type: "text";
|
|
281
|
-
content: string;
|
|
282
|
-
align?: "left" | "center" | "right";
|
|
283
|
-
}
|
|
284
|
-
export interface PromotionTableElement {
|
|
285
|
-
type: "table";
|
|
286
|
-
content: Array<{
|
|
287
|
-
key: string;
|
|
288
|
-
value: string;
|
|
289
|
-
}>;
|
|
290
|
-
}
|
|
291
|
-
export type PromotionElement = PromotionBannerElement | PromotionHeaderElement | PromotionTextElement | PromotionTableElement;
|
|
292
|
-
/**
|
|
293
|
-
* Promotion message button for v3.0 API
|
|
294
|
-
*/
|
|
295
|
-
export interface PromotionButton {
|
|
296
|
-
title: string;
|
|
297
|
-
image_icon?: string;
|
|
298
|
-
type: string;
|
|
299
|
-
payload: Record<string, any> | string;
|
|
300
|
-
}
|
|
301
|
-
/**
|
|
302
|
-
* Promotion message types for v3.0 API
|
|
303
|
-
*/
|
|
304
|
-
export interface PromotionMessage extends BaseMessage {
|
|
305
|
-
type: "promotion";
|
|
306
|
-
attachment: {
|
|
307
|
-
type: "template";
|
|
308
|
-
payload: {
|
|
309
|
-
template_type: "promotion";
|
|
310
|
-
language?: "VI" | "EN";
|
|
311
|
-
elements: PromotionElement[];
|
|
312
|
-
buttons?: PromotionButton[];
|
|
313
|
-
};
|
|
314
|
-
};
|
|
315
|
-
}
|
|
316
|
-
/**
|
|
317
|
-
* Result for individual user in multiple promotion sending
|
|
318
|
-
*/
|
|
319
|
-
export interface PromotionUserResult {
|
|
320
|
-
userId: string;
|
|
321
|
-
success: boolean;
|
|
322
|
-
result: SendMessageResponse | null;
|
|
323
|
-
error: Error | null;
|
|
324
|
-
timestamp: Date;
|
|
325
|
-
}
|
|
326
|
-
/**
|
|
327
|
-
* Progress tracking for multiple promotion sending
|
|
328
|
-
*/
|
|
329
|
-
export interface MultiplePromotionProgress {
|
|
330
|
-
total: number;
|
|
331
|
-
completed: number;
|
|
332
|
-
successful: number;
|
|
333
|
-
failed: number;
|
|
334
|
-
currentUserId: string | null;
|
|
335
|
-
startTime: number;
|
|
336
|
-
estimatedTimeRemaining: number | null;
|
|
337
|
-
}
|
|
338
|
-
/**
|
|
339
|
-
* Final result for multiple promotion sending
|
|
340
|
-
*/
|
|
341
|
-
export interface MultiplePromotionResult {
|
|
342
|
-
total: number;
|
|
343
|
-
successful: number;
|
|
344
|
-
failed: number;
|
|
345
|
-
results: PromotionUserResult[];
|
|
346
|
-
executionTime: number;
|
|
347
|
-
mode: "sequential" | "parallel";
|
|
348
|
-
startTime: Date;
|
|
349
|
-
endTime: Date;
|
|
350
|
-
successRate: number;
|
|
351
|
-
}
|
|
352
267
|
/**
|
|
353
268
|
* Anonymous message types
|
|
354
269
|
*/
|
|
@@ -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;
|
|
1
|
+
{"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../../src/types/message.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message.js","sourceRoot":"","sources":["../../src/types/message.ts"],"names":[],"mappings":";AAAA;;GAEG;;;
|
|
1
|
+
{"version":3,"file":"message.js","sourceRoot":"","sources":["../../src/types/message.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AA8LH;;GAEG;AACH,IAAY,aAKX;AALD,WAAY,aAAa;IACvB,8BAAa,CAAA;IACb,wCAAuB,CAAA;IACvB,8BAAa,CAAA;IACb,kCAAiB,CAAA;AACnB,CAAC,EALW,aAAa,6BAAb,aAAa,QAKxB"}
|
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
import { BaseMessage, SendMessageResponse } from "./message";
|
|
2
|
+
/**
|
|
3
|
+
* Button payload types for different actions
|
|
4
|
+
*/
|
|
5
|
+
export interface OpenUrlPayload {
|
|
6
|
+
url: string;
|
|
7
|
+
}
|
|
8
|
+
export interface OpenSmsPayload {
|
|
9
|
+
content: string;
|
|
10
|
+
phone_code: string;
|
|
11
|
+
}
|
|
12
|
+
export interface OpenPhonePayload {
|
|
13
|
+
phone_code: string;
|
|
14
|
+
}
|
|
15
|
+
export type QueryPayload = string;
|
|
16
|
+
export interface OpenSmsPayloadInput {
|
|
17
|
+
content: string;
|
|
18
|
+
phone_code?: string;
|
|
19
|
+
phoneCode?: string;
|
|
20
|
+
}
|
|
21
|
+
export interface OpenPhonePayloadInput {
|
|
22
|
+
phone_code?: string;
|
|
23
|
+
phoneCode?: string;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Promotion message element types for v3.0 API
|
|
27
|
+
*/
|
|
28
|
+
export interface PromotionBannerElement {
|
|
29
|
+
type: "banner";
|
|
30
|
+
attachment_id?: string;
|
|
31
|
+
image_url?: string;
|
|
32
|
+
}
|
|
33
|
+
export interface PromotionHeaderElement {
|
|
34
|
+
type: "header";
|
|
35
|
+
content: string;
|
|
36
|
+
align?: "left" | "center" | "right";
|
|
37
|
+
}
|
|
38
|
+
export interface PromotionTextElement {
|
|
39
|
+
type: "text";
|
|
40
|
+
content: string;
|
|
41
|
+
align?: "left" | "center" | "right";
|
|
42
|
+
}
|
|
43
|
+
export interface PromotionTableElement {
|
|
44
|
+
type: "table";
|
|
45
|
+
content: Array<{
|
|
46
|
+
key: string;
|
|
47
|
+
value: string;
|
|
48
|
+
}>;
|
|
49
|
+
}
|
|
50
|
+
export type PromotionElement = PromotionBannerElement | PromotionHeaderElement | PromotionTextElement | PromotionTableElement;
|
|
51
|
+
/**
|
|
52
|
+
* Specific button types with proper payload typing
|
|
53
|
+
*/
|
|
54
|
+
export interface OpenUrlButton {
|
|
55
|
+
title: string;
|
|
56
|
+
image_icon?: string;
|
|
57
|
+
type: "oa.open.url";
|
|
58
|
+
payload: OpenUrlPayload;
|
|
59
|
+
}
|
|
60
|
+
export interface QueryShowButton {
|
|
61
|
+
title: string;
|
|
62
|
+
image_icon?: string;
|
|
63
|
+
type: "oa.query.show";
|
|
64
|
+
payload: QueryPayload;
|
|
65
|
+
}
|
|
66
|
+
export interface QueryHideButton {
|
|
67
|
+
title: string;
|
|
68
|
+
image_icon?: string;
|
|
69
|
+
type: "oa.query.hide";
|
|
70
|
+
payload: QueryPayload;
|
|
71
|
+
}
|
|
72
|
+
export interface OpenSmsButton {
|
|
73
|
+
title: string;
|
|
74
|
+
image_icon?: string;
|
|
75
|
+
type: "oa.open.sms";
|
|
76
|
+
payload: OpenSmsPayload;
|
|
77
|
+
}
|
|
78
|
+
export interface OpenPhoneButton {
|
|
79
|
+
title: string;
|
|
80
|
+
image_icon?: string;
|
|
81
|
+
type: "oa.open.phone";
|
|
82
|
+
payload: OpenPhonePayload;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Union type for all supported button types
|
|
86
|
+
*/
|
|
87
|
+
export type PromotionButton = OpenUrlButton | QueryShowButton | QueryHideButton | OpenSmsButton | OpenPhoneButton;
|
|
88
|
+
/**
|
|
89
|
+
* Input button interfaces with proper typing (discriminated union)
|
|
90
|
+
*/
|
|
91
|
+
export interface PromotionButtonInputOpenUrl {
|
|
92
|
+
title: string;
|
|
93
|
+
imageIcon?: string;
|
|
94
|
+
type: "oa.open.url";
|
|
95
|
+
payload: OpenUrlPayload;
|
|
96
|
+
}
|
|
97
|
+
export interface PromotionButtonInputQueryShow {
|
|
98
|
+
title: string;
|
|
99
|
+
imageIcon?: string;
|
|
100
|
+
type: "oa.query.show";
|
|
101
|
+
payload: QueryPayload;
|
|
102
|
+
}
|
|
103
|
+
export interface PromotionButtonInputQueryHide {
|
|
104
|
+
title: string;
|
|
105
|
+
imageIcon?: string;
|
|
106
|
+
type: "oa.query.hide";
|
|
107
|
+
payload: QueryPayload;
|
|
108
|
+
}
|
|
109
|
+
export interface PromotionButtonInputOpenSms {
|
|
110
|
+
title: string;
|
|
111
|
+
imageIcon?: string;
|
|
112
|
+
type: "oa.open.sms";
|
|
113
|
+
payload: OpenSmsPayloadInput;
|
|
114
|
+
}
|
|
115
|
+
export interface PromotionButtonInputOpenPhone {
|
|
116
|
+
title: string;
|
|
117
|
+
imageIcon?: string;
|
|
118
|
+
type: "oa.open.phone";
|
|
119
|
+
payload: OpenPhonePayloadInput | string;
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Union type for all input button types with proper payload typing
|
|
123
|
+
*/
|
|
124
|
+
export type PromotionButtonInput = PromotionButtonInputOpenUrl | PromotionButtonInputQueryShow | PromotionButtonInputQueryHide | PromotionButtonInputOpenSms | PromotionButtonInputOpenPhone;
|
|
125
|
+
/**
|
|
126
|
+
* Promotion message types for v3.0 API
|
|
127
|
+
*/
|
|
128
|
+
export interface PromotionMessage extends BaseMessage {
|
|
129
|
+
type: "promotion";
|
|
130
|
+
attachment: {
|
|
131
|
+
type: "template";
|
|
132
|
+
payload: {
|
|
133
|
+
template_type: "promotion";
|
|
134
|
+
language?: "VI" | "EN";
|
|
135
|
+
elements: PromotionElement[];
|
|
136
|
+
buttons?: PromotionButton[];
|
|
137
|
+
};
|
|
138
|
+
};
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Result for individual user in multiple promotion sending
|
|
142
|
+
*/
|
|
143
|
+
export interface PromotionUserResult {
|
|
144
|
+
userId: string;
|
|
145
|
+
success: boolean;
|
|
146
|
+
result: SendMessageResponse | null;
|
|
147
|
+
error: Error | null;
|
|
148
|
+
timestamp: Date;
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* Progress tracking for multiple promotion sending
|
|
152
|
+
*/
|
|
153
|
+
export interface MultiplePromotionProgress {
|
|
154
|
+
total: number;
|
|
155
|
+
completed: number;
|
|
156
|
+
successful: number;
|
|
157
|
+
failed: number;
|
|
158
|
+
currentUserId: string | null;
|
|
159
|
+
startTime: number;
|
|
160
|
+
estimatedTimeRemaining: number | null;
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* Final result for multiple promotion sending
|
|
164
|
+
*/
|
|
165
|
+
export interface MultiplePromotionResult {
|
|
166
|
+
total: number;
|
|
167
|
+
successful: number;
|
|
168
|
+
failed: number;
|
|
169
|
+
results: PromotionUserResult[];
|
|
170
|
+
executionTime: number;
|
|
171
|
+
mode: "sequential" | "parallel";
|
|
172
|
+
startTime: Date;
|
|
173
|
+
endTime: Date;
|
|
174
|
+
successRate: number;
|
|
175
|
+
}
|
|
176
|
+
/**
|
|
177
|
+
* Generic button interface for flexible usage (backward compatibility)
|
|
178
|
+
*/
|
|
179
|
+
export interface GenericPromotionButton {
|
|
180
|
+
title: string;
|
|
181
|
+
imageIcon?: string;
|
|
182
|
+
image_icon?: string;
|
|
183
|
+
type: "oa.open.url" | "oa.query.show" | "oa.query.hide" | "oa.open.sms" | "oa.open.phone";
|
|
184
|
+
payload: OpenUrlPayload | QueryPayload | OpenSmsPayload | OpenPhonePayload;
|
|
185
|
+
}
|
|
186
|
+
//# sourceMappingURL=promotion.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"promotion.d.ts","sourceRoot":"","sources":["../../src/types/promotion.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"promotion.js","sourceRoot":"","sources":["../../src/types/promotion.ts"],"names":[],"mappings":""}
|
|
@@ -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:
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { PromotionService } from "../src/services/promotion.service";
|
|
2
2
|
import { ZaloClient } from "../src/clients/zalo-client";
|
|
3
|
+
import { PromotionButtonInput } from "../src/types/promotion";
|
|
3
4
|
|
|
4
5
|
/**
|
|
5
6
|
* Examples sử dụng Promotion Service với API v3.0
|
|
@@ -39,7 +40,7 @@ export async function sendStandardPromotion() {
|
|
|
39
40
|
{
|
|
40
41
|
title: "Tham khảo chương trình",
|
|
41
42
|
imageIcon: "",
|
|
42
|
-
type: "oa.open.url",
|
|
43
|
+
type: "oa.open.url" as const,
|
|
43
44
|
payload: {
|
|
44
45
|
url: "https://oa.zalo.me/home"
|
|
45
46
|
}
|
|
@@ -47,7 +48,7 @@ export async function sendStandardPromotion() {
|
|
|
47
48
|
{
|
|
48
49
|
title: "Liên hệ chăm sóc viên",
|
|
49
50
|
imageIcon: "aeqg9SYn3nIUYYeWohGI1fYRF3V9f0GHceig8Ckq4WQVcpmWb-9SL8JLPt-6gX0QbTCfSuQv40UEst1imAm53CwFPsQ1jq9MsOnlQe6rIrZOYcrlWBTAKy_UQsV9vnfGozCuOvFfIbN5rcXddFKM4sSYVM0D50I9eWy3",
|
|
50
|
-
type: "oa.query.hide",
|
|
51
|
+
type: "oa.query.hide" as const,
|
|
51
52
|
payload: "#tuvan" // String trực tiếp theo docs
|
|
52
53
|
}
|
|
53
54
|
],
|
|
@@ -174,22 +175,22 @@ export async function sendAllButtonTypes() {
|
|
|
174
175
|
buttons: [
|
|
175
176
|
{
|
|
176
177
|
title: "Mở URL",
|
|
177
|
-
type: "oa.open.url",
|
|
178
|
+
type: "oa.open.url" as const,
|
|
178
179
|
payload: { url: "https://developers.zalo.me/" }
|
|
179
180
|
},
|
|
180
181
|
{
|
|
181
182
|
title: "Query Show",
|
|
182
|
-
type: "oa.query.show",
|
|
183
|
+
type: "oa.query.show" as const,
|
|
183
184
|
payload: "#callback_show"
|
|
184
185
|
},
|
|
185
186
|
{
|
|
186
187
|
title: "Query Hide",
|
|
187
|
-
type: "oa.query.hide",
|
|
188
|
+
type: "oa.query.hide" as const,
|
|
188
189
|
payload: "#callback_hide"
|
|
189
190
|
},
|
|
190
191
|
{
|
|
191
192
|
title: "Gửi SMS",
|
|
192
|
-
type: "oa.open.sms",
|
|
193
|
+
type: "oa.open.sms" as const,
|
|
193
194
|
payload: {
|
|
194
195
|
content: "Xin chào từ Zalo OA",
|
|
195
196
|
phone_code: "84919018791"
|
|
@@ -197,7 +198,7 @@ export async function sendAllButtonTypes() {
|
|
|
197
198
|
},
|
|
198
199
|
{
|
|
199
200
|
title: "Gọi điện",
|
|
200
|
-
type: "oa.open.phone",
|
|
201
|
+
type: "oa.open.phone" as const,
|
|
201
202
|
payload: { phone_code: "84919018791" }
|
|
202
203
|
}
|
|
203
204
|
],
|
|
@@ -244,12 +245,12 @@ export async function sendPromotionToMultipleUsers() {
|
|
|
244
245
|
buttons: [
|
|
245
246
|
{
|
|
246
247
|
title: "Mua ngay",
|
|
247
|
-
type: "oa.open.url",
|
|
248
|
+
type: "oa.open.url" as const,
|
|
248
249
|
payload: { url: "https://shop.example.com/sale" }
|
|
249
250
|
},
|
|
250
251
|
{
|
|
251
252
|
title: "Xem thêm ưu đãi",
|
|
252
|
-
type: "oa.query.hide",
|
|
253
|
+
type: "oa.query.hide" as const,
|
|
253
254
|
payload: "#xemthem"
|
|
254
255
|
}
|
|
255
256
|
],
|
|
@@ -340,7 +341,7 @@ export async function sendPromotionParallel() {
|
|
|
340
341
|
buttons: [
|
|
341
342
|
{
|
|
342
343
|
title: "Mua ngay",
|
|
343
|
-
type: "oa.open.url",
|
|
344
|
+
type: "oa.open.url" as const,
|
|
344
345
|
payload: { url: "https://flash-sale.example.com" }
|
|
345
346
|
}
|
|
346
347
|
]
|
|
@@ -362,6 +363,112 @@ export async function sendPromotionParallel() {
|
|
|
362
363
|
}
|
|
363
364
|
}
|
|
364
365
|
|
|
366
|
+
/**
|
|
367
|
+
* Example 8: Demo proper TypeScript typing với discriminated union
|
|
368
|
+
*/
|
|
369
|
+
export async function sendProperTypedButtons() {
|
|
370
|
+
try {
|
|
371
|
+
// TypeScript sẽ enforce đúng payload type cho từng button
|
|
372
|
+
const result = await promotionService.sendCustomPromotion(
|
|
373
|
+
ACCESS_TOKEN,
|
|
374
|
+
{ user_id: USER_ID },
|
|
375
|
+
{
|
|
376
|
+
attachmentId: "your_attachment_id",
|
|
377
|
+
headerContent: "🎯 TypeScript Typed Buttons Demo",
|
|
378
|
+
textContent: "Demo các button types với proper TypeScript typing",
|
|
379
|
+
tableData: [
|
|
380
|
+
{ key: "Feature", value: "Type Safety" },
|
|
381
|
+
{ key: "Support", value: "Full IntelliSense" }
|
|
382
|
+
],
|
|
383
|
+
buttons: [
|
|
384
|
+
// URL Button - TypeScript enforces { url: string }
|
|
385
|
+
{
|
|
386
|
+
title: "Open Website",
|
|
387
|
+
type: "oa.open.url",
|
|
388
|
+
payload: { url: "https://typescript.example.com" }
|
|
389
|
+
// payload: "invalid" // ❌ TypeScript error!
|
|
390
|
+
},
|
|
391
|
+
|
|
392
|
+
// Query Hide - TypeScript enforces string payload
|
|
393
|
+
{
|
|
394
|
+
title: "Hidden Query",
|
|
395
|
+
type: "oa.query.hide",
|
|
396
|
+
payload: "#hidden_query"
|
|
397
|
+
// payload: { invalid: true } // ❌ TypeScript error!
|
|
398
|
+
},
|
|
399
|
+
|
|
400
|
+
// SMS Button - TypeScript enforces proper structure
|
|
401
|
+
{
|
|
402
|
+
title: "Send SMS",
|
|
403
|
+
type: "oa.open.sms",
|
|
404
|
+
payload: {
|
|
405
|
+
content: "Hello from typed button!",
|
|
406
|
+
phone_code: "84919018791"
|
|
407
|
+
// phoneCode: "84919018791" // ✅ Also supported (camelCase)
|
|
408
|
+
}
|
|
409
|
+
},
|
|
410
|
+
|
|
411
|
+
// Phone Button - Support both object and string
|
|
412
|
+
{
|
|
413
|
+
title: "Call Phone",
|
|
414
|
+
type: "oa.open.phone",
|
|
415
|
+
payload: { phone_code: "84919018791" }
|
|
416
|
+
// payload: "84919018791" // ✅ Also supported (string)
|
|
417
|
+
}
|
|
418
|
+
],
|
|
419
|
+
language: "VI"
|
|
420
|
+
}
|
|
421
|
+
);
|
|
422
|
+
|
|
423
|
+
console.log("✅ Properly typed buttons sent successfully:", result);
|
|
424
|
+
return result;
|
|
425
|
+
} catch (error) {
|
|
426
|
+
console.error("❌ Failed to send properly typed buttons:", error);
|
|
427
|
+
throw error;
|
|
428
|
+
}
|
|
429
|
+
}
|
|
430
|
+
|
|
431
|
+
/**
|
|
432
|
+
* Example 9: Demo type safety - compile errors
|
|
433
|
+
*/
|
|
434
|
+
export function demoTypeSafety() {
|
|
435
|
+
// These examples show TypeScript compile-time errors
|
|
436
|
+
|
|
437
|
+
/* ❌ This will cause TypeScript error:
|
|
438
|
+
const invalidButtons: PromotionButtonInput[] = [
|
|
439
|
+
{
|
|
440
|
+
title: "Invalid URL",
|
|
441
|
+
type: "oa.open.url",
|
|
442
|
+
payload: "just-a-string" // Error: string not assignable to { url: string }
|
|
443
|
+
},
|
|
444
|
+
{
|
|
445
|
+
title: "Invalid SMS",
|
|
446
|
+
type: "oa.open.sms",
|
|
447
|
+
payload: { url: "wrong-property" } // Error: missing content and phone_code
|
|
448
|
+
}
|
|
449
|
+
];
|
|
450
|
+
*/
|
|
451
|
+
|
|
452
|
+
// ✅ Correct typing:
|
|
453
|
+
const validButtons: PromotionButtonInput[] = [
|
|
454
|
+
{
|
|
455
|
+
title: "Valid URL",
|
|
456
|
+
type: "oa.open.url",
|
|
457
|
+
payload: { url: "https://example.com" }
|
|
458
|
+
},
|
|
459
|
+
{
|
|
460
|
+
title: "Valid SMS",
|
|
461
|
+
type: "oa.open.sms",
|
|
462
|
+
payload: {
|
|
463
|
+
content: "Valid message",
|
|
464
|
+
phone_code: "84919018791"
|
|
465
|
+
}
|
|
466
|
+
}
|
|
467
|
+
];
|
|
468
|
+
|
|
469
|
+
console.log("✅ Valid buttons with proper typing:", validButtons);
|
|
470
|
+
}
|
|
471
|
+
|
|
365
472
|
/**
|
|
366
473
|
* Chạy tất cả examples
|
|
367
474
|
*/
|
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.25.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",
|